snice 7.8.0 → 7.9.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 (302) hide show
  1. package/README.md +1 -1
  2. package/adapters/react/SniceProvider.js +1 -1
  3. package/adapters/react/SniceRouter.js +1 -1
  4. package/adapters/react/matchRoute.js +1 -1
  5. package/adapters/react/table.d.ts +1 -0
  6. package/adapters/react/table.d.ts.map +1 -1
  7. package/adapters/react/table.js +1 -1
  8. package/adapters/react/table.js.map +1 -1
  9. package/adapters/react/table.tsx +2 -1
  10. package/adapters/react/useRequestHandler.js +1 -1
  11. package/bin/analyzer-contracts.js +17 -1
  12. package/custom-elements.json +57 -3
  13. package/dist/cdn/accordion/snice-accordion.js +1 -1
  14. package/dist/cdn/action-bar/snice-action-bar.js +1 -1
  15. package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
  16. package/dist/cdn/alert/snice-alert.js +1 -1
  17. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  18. package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
  19. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  20. package/dist/cdn/availability/snice-availability.js +1 -1
  21. package/dist/cdn/avatar/snice-avatar.js +1 -1
  22. package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
  23. package/dist/cdn/badge/snice-badge.js +1 -1
  24. package/dist/cdn/banner/snice-banner.js +1 -1
  25. package/dist/cdn/binpack/snice-binpack.js +1 -1
  26. package/dist/cdn/book/snice-book.js +1 -1
  27. package/dist/cdn/booking/snice-booking.js +1 -1
  28. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  29. package/dist/cdn/button/snice-button.js +1 -1
  30. package/dist/cdn/calendar/README.md +2 -2
  31. package/dist/cdn/calendar/snice-calendar.js +537 -44
  32. package/dist/cdn/calendar/snice-calendar.js.map +1 -1
  33. package/dist/cdn/calendar/snice-calendar.min.js +2 -2
  34. package/dist/cdn/calendar/snice-calendar.min.js.map +1 -1
  35. package/dist/cdn/camera/snice-camera.js +1 -1
  36. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  37. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  38. package/dist/cdn/card/snice-card.js +1 -1
  39. package/dist/cdn/carousel/snice-carousel.js +1 -1
  40. package/dist/cdn/cart/snice-cart.js +1 -1
  41. package/dist/cdn/chart/snice-chart.js +1 -1
  42. package/dist/cdn/chat/snice-chat.js +1 -1
  43. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  44. package/dist/cdn/chip/snice-chip.js +1 -1
  45. package/dist/cdn/code-block/README.md +2 -2
  46. package/dist/cdn/code-block/snice-code-block.js +177 -167
  47. package/dist/cdn/code-block/snice-code-block.js.map +1 -1
  48. package/dist/cdn/code-block/snice-code-block.min.js +2 -2
  49. package/dist/cdn/code-block/snice-code-block.min.js.map +1 -1
  50. package/dist/cdn/color-display/snice-color-display.js +1 -1
  51. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  52. package/dist/cdn/command-palette/README.md +1 -1
  53. package/dist/cdn/command-palette/snice-command-palette.js +2 -2
  54. package/dist/cdn/command-palette/snice-command-palette.js.map +1 -1
  55. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  56. package/dist/cdn/command-palette/snice-command-palette.min.js.map +1 -1
  57. package/dist/cdn/comments/snice-comments.js +1 -1
  58. package/dist/cdn/countdown/snice-countdown.js +1 -1
  59. package/dist/cdn/cropper/snice-cropper.js +1 -1
  60. package/dist/cdn/data-card/snice-data-card.js +1 -1
  61. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  62. package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
  63. package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
  64. package/dist/cdn/diff/snice-diff.js +1 -1
  65. package/dist/cdn/divider/snice-divider.js +1 -1
  66. package/dist/cdn/doc/snice-doc.js +1 -1
  67. package/dist/cdn/draw/snice-draw.js +1 -1
  68. package/dist/cdn/drawer/snice-drawer.js +1 -1
  69. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  70. package/dist/cdn/estimate/snice-estimate.js +1 -1
  71. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  72. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  73. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  74. package/dist/cdn/flow/snice-flow.js +1 -1
  75. package/dist/cdn/form-layout/snice-form-layout.js +1 -1
  76. package/dist/cdn/funnel/snice-funnel.js +1 -1
  77. package/dist/cdn/gantt/snice-gantt.js +1 -1
  78. package/dist/cdn/gauge/snice-gauge.js +1 -1
  79. package/dist/cdn/grid/snice-grid.js +1 -1
  80. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  81. package/dist/cdn/image/snice-image.js +1 -1
  82. package/dist/cdn/input/snice-input.js +1 -1
  83. package/dist/cdn/invoice/snice-invoice.js +1 -1
  84. package/dist/cdn/kanban/snice-kanban.js +1 -1
  85. package/dist/cdn/key-value/snice-key-value.js +1 -1
  86. package/dist/cdn/kpi/snice-kpi.js +1 -1
  87. package/dist/cdn/layout/snice-layout.js +1 -1
  88. package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
  89. package/dist/cdn/link/snice-link.js +1 -1
  90. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  91. package/dist/cdn/list/snice-list.js +1 -1
  92. package/dist/cdn/location/snice-location.js +1 -1
  93. package/dist/cdn/login/snice-login.js +1 -1
  94. package/dist/cdn/map/snice-map.js +1 -1
  95. package/dist/cdn/markdown/snice-markdown.js +1 -1
  96. package/dist/cdn/masonry/snice-masonry.js +1 -1
  97. package/dist/cdn/menu/snice-menu.js +1 -1
  98. package/dist/cdn/message-strip/snice-message-strip.js +1 -1
  99. package/dist/cdn/modal/snice-modal.js +1 -1
  100. package/dist/cdn/music-player/snice-music-player.js +1 -1
  101. package/dist/cdn/nav/snice-nav.js +1 -1
  102. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  103. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  104. package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
  105. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  106. package/dist/cdn/pagination/snice-pagination.js +1 -1
  107. package/dist/cdn/paint/snice-paint.js +1 -1
  108. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  109. package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
  110. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  111. package/dist/cdn/popover/snice-popover.js +1 -1
  112. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  113. package/dist/cdn/product-card/snice-product-card.js +1 -1
  114. package/dist/cdn/progress/snice-progress.js +2 -2
  115. package/dist/cdn/progress/snice-progress.js.map +1 -1
  116. package/dist/cdn/progress/snice-progress.min.js +1 -1
  117. package/dist/cdn/progress/snice-progress.min.js.map +1 -1
  118. package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
  119. package/dist/cdn/qr-code/README.md +2 -2
  120. package/dist/cdn/qr-code/snice-qr-code.js +19 -3
  121. package/dist/cdn/qr-code/snice-qr-code.js.map +1 -1
  122. package/dist/cdn/qr-code/snice-qr-code.min.js +2 -2
  123. package/dist/cdn/qr-code/snice-qr-code.min.js.map +1 -1
  124. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  125. package/dist/cdn/radio/snice-radio.js +1 -1
  126. package/dist/cdn/range-slider/snice-range-slider.js +1 -1
  127. package/dist/cdn/rating/snice-rating.js +1 -1
  128. package/dist/cdn/receipt/snice-receipt.js +5 -2
  129. package/dist/cdn/receipt/snice-receipt.js.map +1 -1
  130. package/dist/cdn/receipt/snice-receipt.min.js +1 -1
  131. package/dist/cdn/receipt/snice-receipt.min.js.map +1 -1
  132. package/dist/cdn/recipe/snice-recipe.js +1 -1
  133. package/dist/cdn/runtime/snice-runtime.esm.js +4 -4
  134. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  135. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  136. package/dist/cdn/runtime/snice-runtime.js +4 -4
  137. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  138. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  139. package/dist/cdn/sankey/snice-sankey.js +1 -1
  140. package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
  141. package/dist/cdn/select/README.md +2 -2
  142. package/dist/cdn/select/snice-select.js +6 -9
  143. package/dist/cdn/select/snice-select.js.map +1 -1
  144. package/dist/cdn/select/snice-select.min.js +2 -2
  145. package/dist/cdn/select/snice-select.min.js.map +1 -1
  146. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  147. package/dist/cdn/slider/snice-slider.js +1 -1
  148. package/dist/cdn/sortable/snice-sortable.js +1 -1
  149. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  150. package/dist/cdn/spinner/snice-spinner.js +1 -1
  151. package/dist/cdn/split-button/snice-split-button.js +1 -1
  152. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  153. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  154. package/dist/cdn/stat-group/snice-stat-group.js +1 -1
  155. package/dist/cdn/step-input/snice-step-input.js +1 -1
  156. package/dist/cdn/stepper/snice-stepper.js +1 -1
  157. package/dist/cdn/switch/snice-switch.js +1 -1
  158. package/dist/cdn/table/README.md +2 -2
  159. package/dist/cdn/table/snice-table.esm.js +1940 -407
  160. package/dist/cdn/table/snice-table.esm.js.map +1 -1
  161. package/dist/cdn/table/snice-table.esm.min.js +242 -53
  162. package/dist/cdn/table/snice-table.esm.min.js.map +1 -1
  163. package/dist/cdn/table/snice-table.js +1940 -407
  164. package/dist/cdn/table/snice-table.js.map +1 -1
  165. package/dist/cdn/table/snice-table.min.js +234 -45
  166. package/dist/cdn/table/snice-table.min.js.map +1 -1
  167. package/dist/cdn/tabs/snice-tabs.js +1 -1
  168. package/dist/cdn/tag/snice-tag.js +1 -1
  169. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  170. package/dist/cdn/terminal/snice-terminal.js +1 -1
  171. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  172. package/dist/cdn/textarea/snice-textarea.js +1 -1
  173. package/dist/cdn/time-picker/snice-time-picker.js +1 -1
  174. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  175. package/dist/cdn/timeline/snice-timeline.js +1 -1
  176. package/dist/cdn/timer/snice-timer.js +1 -1
  177. package/dist/cdn/toast/snice-toast.js +1 -1
  178. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  179. package/dist/cdn/tree/snice-tree.js +1 -1
  180. package/dist/cdn/treemap/snice-treemap.js +1 -1
  181. package/dist/cdn/user-card/snice-user-card.js +1 -1
  182. package/dist/cdn/video-player/snice-video-player.js +1 -1
  183. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  184. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  185. package/dist/cdn/weather/snice-weather.js +1 -1
  186. package/dist/cdn/work-order/snice-work-order.js +1 -1
  187. package/dist/components/calendar/snice-calendar.d.ts +187 -5
  188. package/dist/components/calendar/snice-calendar.js +537 -44
  189. package/dist/components/calendar/snice-calendar.js.map +1 -1
  190. package/dist/components/calendar/snice-calendar.types.d.ts +2 -1
  191. package/dist/components/code-block/formatter.d.ts +6 -0
  192. package/dist/components/code-block/formatter.js +174 -164
  193. package/dist/components/code-block/formatter.js.map +1 -1
  194. package/dist/components/code-block/grammars/snice.json +1 -1
  195. package/dist/components/code-block/grammars/typescript.json +1 -1
  196. package/dist/components/command-palette/snice-command-palette.js +1 -1
  197. package/dist/components/command-palette/snice-command-palette.js.map +1 -1
  198. package/dist/components/progress/snice-progress.js +1 -1
  199. package/dist/components/progress/snice-progress.js.map +1 -1
  200. package/dist/components/qr-code/qrcode.d.ts +1 -1
  201. package/dist/components/qr-code/qrcode.js +18 -2
  202. package/dist/components/qr-code/qrcode.js.map +1 -1
  203. package/dist/components/receipt/snice-receipt.js +4 -1
  204. package/dist/components/receipt/snice-receipt.js.map +1 -1
  205. package/dist/components/select/snice-select.d.ts +1 -1
  206. package/dist/components/select/snice-select.js +5 -8
  207. package/dist/components/select/snice-select.js.map +1 -1
  208. package/dist/components/table/snice-cell-actions.js +1 -1
  209. package/dist/components/table/snice-cell-actions.js.map +1 -1
  210. package/dist/components/table/snice-cell-color.js +1 -1
  211. package/dist/components/table/snice-cell-color.js.map +1 -1
  212. package/dist/components/table/snice-cell-date.js +20 -8
  213. package/dist/components/table/snice-cell-date.js.map +1 -1
  214. package/dist/components/table/snice-cell-email.js +1 -1
  215. package/dist/components/table/snice-cell-email.js.map +1 -1
  216. package/dist/components/table/snice-cell-image.js +1 -1
  217. package/dist/components/table/snice-cell-image.js.map +1 -1
  218. package/dist/components/table/snice-cell-json.js +1 -1
  219. package/dist/components/table/snice-cell-json.js.map +1 -1
  220. package/dist/components/table/snice-cell-link.js +1 -1
  221. package/dist/components/table/snice-cell-link.js.map +1 -1
  222. package/dist/components/table/snice-cell-location.js +1 -1
  223. package/dist/components/table/snice-cell-location.js.map +1 -1
  224. package/dist/components/table/snice-cell-phone.js +1 -1
  225. package/dist/components/table/snice-cell-phone.js.map +1 -1
  226. package/dist/components/table/snice-cell-status.js +1 -1
  227. package/dist/components/table/snice-cell-status.js.map +1 -1
  228. package/dist/components/table/snice-cell.d.ts +10 -0
  229. package/dist/components/table/snice-cell.js +59 -13
  230. package/dist/components/table/snice-cell.js.map +1 -1
  231. package/dist/components/table/snice-row.d.ts +0 -1
  232. package/dist/components/table/snice-row.js +4 -10
  233. package/dist/components/table/snice-row.js.map +1 -1
  234. package/dist/components/table/snice-table.d.ts +170 -2
  235. package/dist/components/table/snice-table.js +868 -189
  236. package/dist/components/table/snice-table.js.map +1 -1
  237. package/dist/components/table/snice-table.types.d.ts +17 -0
  238. package/dist/components/table/table-cell-presentation.d.ts +17 -4
  239. package/dist/components/table/table-cell-presentation.js +37 -11
  240. package/dist/components/table/table-cell-presentation.js.map +1 -1
  241. package/dist/components/table/table-column-manager.d.ts +153 -2
  242. package/dist/components/table/table-column-manager.js +364 -43
  243. package/dist/components/table/table-column-manager.js.map +1 -1
  244. package/dist/components/table/table-date.d.ts +29 -0
  245. package/dist/components/table/table-date.js +78 -0
  246. package/dist/components/table/table-date.js.map +1 -0
  247. package/dist/components/table/table-export.js +6 -2
  248. package/dist/components/table/table-export.js.map +1 -1
  249. package/dist/components/table/table-filter-engine.d.ts +9 -0
  250. package/dist/components/table/table-filter-engine.js +58 -14
  251. package/dist/components/table/table-filter-engine.js.map +1 -1
  252. package/dist/components/table/table-keyboard.d.ts +8 -0
  253. package/dist/components/table/table-keyboard.js +14 -3
  254. package/dist/components/table/table-keyboard.js.map +1 -1
  255. package/dist/components/table/table-toolbar.js +1 -0
  256. package/dist/components/table/table-toolbar.js.map +1 -1
  257. package/dist/components/table/table-tree-data.d.ts +2 -0
  258. package/dist/components/table/table-tree-data.js +35 -9
  259. package/dist/components/table/table-tree-data.js.map +1 -1
  260. package/dist/components/table/table-virtualizer.d.ts +44 -7
  261. package/dist/components/table/table-virtualizer.js +101 -54
  262. package/dist/components/table/table-virtualizer.js.map +1 -1
  263. package/dist/components/theme/theme.css +9 -0
  264. package/dist/index.cjs +1 -1
  265. package/dist/index.esm.js +1 -1
  266. package/dist/index.iife.js +1 -1
  267. package/dist/react/SniceProvider.js +1 -1
  268. package/dist/react/SniceRouter.js +1 -1
  269. package/dist/react/index.js +1 -1
  270. package/dist/react/matchRoute.js +1 -1
  271. package/dist/react/useRequestHandler.js +1 -1
  272. package/dist/symbols.cjs +1 -1
  273. package/dist/symbols.esm.js +1 -1
  274. package/dist/testing-dom.cjs +1 -1
  275. package/dist/testing-dom.esm.js +1 -1
  276. package/dist/transitions.cjs +1 -1
  277. package/dist/transitions.esm.js +1 -1
  278. package/docs/ai/DEVELOPMENT.md +93 -2
  279. package/docs/ai/components/calendar.md +113 -10
  280. package/docs/ai/components/code-block.md +4 -0
  281. package/docs/ai/components/doc.md +1 -1
  282. package/docs/ai/components/progress.md +1 -0
  283. package/docs/ai/components/receipt.md +1 -1
  284. package/docs/ai/components/table.md +29 -30
  285. package/docs/ai/components/theme.md +1 -0
  286. package/docs/ai/events.md +30 -0
  287. package/docs/ai/theme.md +1 -0
  288. package/docs/components/calendar.md +171 -11
  289. package/docs/components/code-block.md +2 -0
  290. package/docs/components/doc.md +1 -1
  291. package/docs/components/progress.md +13 -0
  292. package/docs/components/receipt.md +1 -0
  293. package/docs/components/table.md +274 -15
  294. package/docs/components/theme.md +5 -0
  295. package/docs/events.md +49 -0
  296. package/docs/plans/2026-03-06-date-range-picker-plan.md +4 -4
  297. package/docs/plans/2026-03-07-table-mui-parity-design.md +1 -1
  298. package/docs/plans/2026-03-09-action-bar-plan.md +11 -11
  299. package/docs/superpowers/specs/2026-07-09-table-incredible-design.md +1 -1
  300. package/docs/superpowers/specs/2026-07-09-table-phase0-implementation.md +2 -2
  301. package/package.json +3 -1
  302. package/vscode.html-custom-data.json +13 -1
@@ -1 +1 @@
1
- {"version":3,"file":"snice-calendar.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/avatar/snice-avatar.js","../../components/calendar/snice-calendar.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __runInitializers, __esDecorate } from 'tslib';\nimport { element, property, query, render, styles, html, css } from 'snice';\n\nvar cssContent = \":host([hidden]){display:none}:host{display:inline-block;--avatar-size:2.5rem;--avatar-bg:var(--snice-color-text-tertiary, rgb(115 115 115));--avatar-color:var(--snice-color-text-inverse, rgb(255 255 255))}case,default,if,when{display:contents}.avatar{position:relative;width:var(--avatar-size);height:var(--avatar-size);overflow:hidden;background:var(--avatar-bg);color:var(--avatar-color);display:flex;align-items:center;justify-content:center;font-weight:var(--snice-font-weight-semibold,600);user-select:none}:host([shape=circle]) .avatar{border-radius:50%}:host([shape=square]) .avatar{border-radius:0}:host([shape=rounded]) .avatar{border-radius:var(--snice-border-radius-lg,.5rem)}:host([size=xs]){--avatar-size:1.5rem;font-size:.625rem}:host([size=small]){--avatar-size:2rem;font-size:.75rem}:host([size=medium]){--avatar-size:2.5rem;font-size:.875rem}:host([size=large]){--avatar-size:3rem;font-size:1rem}:host([size=xl]){--avatar-size:4rem;font-size:1.25rem}:host([size=xxl]){--avatar-size:6rem;font-size:2rem}.avatar-image{width:100%;height:100%;object-fit:cover;display:block}.avatar-image--error{display:none}.avatar-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s}.avatar-fallback--visible{opacity:1;visibility:visible}.avatar-icon{width:60%;height:60%;opacity:.9;display:block}.avatar--red{background:var(--avatar-palette-red,rgb(239 68 68))}.avatar--orange{background:var(--avatar-palette-orange,rgb(251 146 60))}.avatar--yellow{background:var(--avatar-palette-yellow,rgb(234 179 8))}.avatar--lime{background:var(--avatar-palette-lime,rgb(163 230 53))}.avatar--green{background:var(--avatar-palette-green,rgb(34 197 94))}.avatar--teal{background:var(--avatar-palette-teal,rgb(20 184 166))}.avatar--cyan{background:var(--avatar-palette-cyan,rgb(6 182 212))}.avatar--sky{background:var(--avatar-palette-sky,rgb(14 165 233))}.avatar--blue{background:var(--avatar-palette-blue,rgb(59 130 246))}.avatar--indigo{background:var(--avatar-palette-indigo,rgb(99 102 241))}.avatar--violet{background:var(--avatar-palette-violet,rgb(139 92 246))}.avatar--purple{background:var(--avatar-palette-purple,rgb(168 85 247))}.avatar--fuchsia{background:var(--avatar-palette-fuchsia,rgb(217 70 239))}.avatar--pink{background:var(--avatar-palette-pink,rgb(236 72 153))}.avatar--rose{background:var(--avatar-palette-rose,rgb(244 63 94))}:host(.avatar-group-item){margin-left:-.5rem;border:2px solid var(--snice-color-surface,rgb(255 255 255));border-radius:50%}:host(.avatar-group-item:first-child){margin-left:0}:host(.avatar-group-item) .avatar{border:2px solid var(--snice-color-surface,rgb(255 255 255))}\";\n\nlet SniceAvatar = (() => {\n let _classDecorators = [element('snice-avatar')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _src_decorators;\n let _src_initializers = [];\n let _src_extraInitializers = [];\n let _alt_decorators;\n let _alt_initializers = [];\n let _alt_extraInitializers = [];\n let _name_decorators;\n let _name_initializers = [];\n let _name_extraInitializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _size_extraInitializers = [];\n let _shape_decorators;\n let _shape_initializers = [];\n let _shape_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _fallbackColor_decorators;\n let _fallbackColor_initializers = [];\n let _fallbackColor_extraInitializers = [];\n let _fallbackBackground_decorators;\n let _fallbackBackground_initializers = [];\n let _fallbackBackground_extraInitializers = [];\n let _imageElement_decorators;\n let _imageElement_initializers = [];\n let _imageElement_extraInitializers = [];\n let _fallbackElement_decorators;\n let _fallbackElement_initializers = [];\n let _fallbackElement_extraInitializers = [];\n let _imageError_decorators;\n let _imageError_initializers = [];\n let _imageError_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.src = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _src_initializers, ''));\n this.alt = (__runInitializers(this, _src_extraInitializers), __runInitializers(this, _alt_initializers, ''));\n this.name = (__runInitializers(this, _alt_extraInitializers), __runInitializers(this, _name_initializers, ''));\n this.size = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));\n this.shape = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _shape_initializers, 'circle'));\n this.loading = (__runInitializers(this, _shape_extraInitializers), __runInitializers(this, _loading_initializers, 'lazy'));\n this.fallbackColor = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _fallbackColor_initializers, '#ffffff'));\n this.fallbackBackground = (__runInitializers(this, _fallbackColor_extraInitializers), __runInitializers(this, _fallbackBackground_initializers, ''));\n this.imageElement = (__runInitializers(this, _fallbackBackground_extraInitializers), __runInitializers(this, _imageElement_initializers, void 0));\n this.fallbackElement = (__runInitializers(this, _imageElement_extraInitializers), __runInitializers(this, _fallbackElement_initializers, void 0));\n this.imageError = (__runInitializers(this, _fallbackElement_extraInitializers), __runInitializers(this, _imageError_initializers, false));\n this.handleImageLoad = (__runInitializers(this, _imageError_extraInitializers), () => {\n this.imageError = false;\n });\n this.handleImageError = () => {\n this.imageError = true;\n };\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _src_decorators = [property({})];\n _alt_decorators = [property({})];\n _name_decorators = [property({})];\n _size_decorators = [property({})];\n _shape_decorators = [property({})];\n _loading_decorators = [property({})];\n _fallbackColor_decorators = [property({ attribute: 'fallback-color', })];\n _fallbackBackground_decorators = [property({ attribute: 'fallback-background', })];\n _imageElement_decorators = [query('.avatar-image')];\n _fallbackElement_decorators = [query('.avatar-fallback')];\n _imageError_decorators = [property({ type: Boolean, attribute: false })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n __esDecorate(this, null, _render_decorators, { kind: \"method\", name: \"render\", static: false, private: false, access: { has: obj => \"render\" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _src_decorators, { kind: \"field\", name: \"src\", static: false, private: false, access: { has: obj => \"src\" in obj, get: obj => obj.src, set: (obj, value) => { obj.src = value; } }, metadata: _metadata }, _src_initializers, _src_extraInitializers);\n __esDecorate(null, null, _alt_decorators, { kind: \"field\", name: \"alt\", static: false, private: false, access: { has: obj => \"alt\" in obj, get: obj => obj.alt, set: (obj, value) => { obj.alt = value; } }, metadata: _metadata }, _alt_initializers, _alt_extraInitializers);\n __esDecorate(null, null, _name_decorators, { kind: \"field\", name: \"name\", static: false, private: false, access: { has: obj => \"name\" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);\n __esDecorate(null, null, _size_decorators, { kind: \"field\", name: \"size\", static: false, private: false, access: { has: obj => \"size\" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);\n __esDecorate(null, null, _shape_decorators, { kind: \"field\", name: \"shape\", static: false, private: false, access: { has: obj => \"shape\" in obj, get: obj => obj.shape, set: (obj, value) => { obj.shape = value; } }, metadata: _metadata }, _shape_initializers, _shape_extraInitializers);\n __esDecorate(null, null, _loading_decorators, { kind: \"field\", name: \"loading\", static: false, private: false, access: { has: obj => \"loading\" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);\n __esDecorate(null, null, _fallbackColor_decorators, { kind: \"field\", name: \"fallbackColor\", static: false, private: false, access: { has: obj => \"fallbackColor\" in obj, get: obj => obj.fallbackColor, set: (obj, value) => { obj.fallbackColor = value; } }, metadata: _metadata }, _fallbackColor_initializers, _fallbackColor_extraInitializers);\n __esDecorate(null, null, _fallbackBackground_decorators, { kind: \"field\", name: \"fallbackBackground\", static: false, private: false, access: { has: obj => \"fallbackBackground\" in obj, get: obj => obj.fallbackBackground, set: (obj, value) => { obj.fallbackBackground = value; } }, metadata: _metadata }, _fallbackBackground_initializers, _fallbackBackground_extraInitializers);\n __esDecorate(null, null, _imageElement_decorators, { kind: \"field\", name: \"imageElement\", static: false, private: false, access: { has: obj => \"imageElement\" in obj, get: obj => obj.imageElement, set: (obj, value) => { obj.imageElement = value; } }, metadata: _metadata }, _imageElement_initializers, _imageElement_extraInitializers);\n __esDecorate(null, null, _fallbackElement_decorators, { kind: \"field\", name: \"fallbackElement\", static: false, private: false, access: { has: obj => \"fallbackElement\" in obj, get: obj => obj.fallbackElement, set: (obj, value) => { obj.fallbackElement = value; } }, metadata: _metadata }, _fallbackElement_initializers, _fallbackElement_extraInitializers);\n __esDecorate(null, null, _imageError_decorators, { kind: \"field\", name: \"imageError\", static: false, private: false, access: { has: obj => \"imageError\" in obj, get: obj => obj.imageError, set: (obj, value) => { obj.imageError = value; } }, metadata: _metadata }, _imageError_initializers, _imageError_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n render() {\n const colorClass = this.fallbackBackground ? '' : this.getColorClass(this.name);\n const bgStyle = this.fallbackBackground ? `--avatar-bg: ${this.fallbackBackground}; --avatar-color: ${this.fallbackColor}` : '';\n const initials = this.getInitials(this.name);\n const avatarClasses = ['avatar', colorClass].filter(Boolean).join(' ');\n const imageClasses = ['avatar-image', this.imageError ? 'avatar-image--error' : ''].filter(Boolean).join(' ');\n const fallbackClasses = ['avatar-fallback', !this.src || this.imageError ? 'avatar-fallback--visible' : ''].filter(Boolean).join(' ');\n return html /*html*/ `\n <div part=\"base\" class=\"${avatarClasses}\" style=\"${bgStyle}\">\n <if ${this.src}>\n <img part=\"image\" class=\"${imageClasses}\"\n src=\"${this.src}\"\n alt=\"${this.alt || this.name}\"\n loading=\"${this.loading}\"\n @load=${this.handleImageLoad}\n @error=${this.handleImageError}>\n </if>\n <div part=\"fallback\" class=\"${fallbackClasses}\">\n <case ${initials}>\n <when value=\"\">\n <svg class=\"avatar-icon\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"/>\n </svg>\n </when>\n <default>\n ${initials}\n </default>\n </case>\n </div>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n getInitials(name) {\n if (!name)\n return '';\n const words = name.trim().split(/\\s+/).filter(w => w.length > 0);\n if (words.length === 0)\n return '';\n if (words.length === 1) {\n return words[0][0].toUpperCase();\n }\n // Use first and second word (not first and last)\n return (words[0][0] + words[1][0]).toUpperCase();\n }\n getColorClass(name) {\n if (!name)\n return '';\n const colors = [\n 'red', 'orange', 'yellow', 'lime', 'green',\n 'teal', 'cyan', 'sky', 'blue', 'indigo',\n 'violet', 'purple', 'fuchsia', 'pink', 'rose'\n ];\n // Hash the name to get a consistent index\n let hash = 0;\n for (let i = 0; i < name.length; i++) {\n hash = name.charCodeAt(i) + ((hash << 5) - hash);\n }\n const colorIndex = Math.abs(hash) % colors.length;\n return `avatar--${colors[colorIndex]}`;\n }\n renderIcon() {\n return html /*html*/ `\n <svg class=\"avatar-icon\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"/>\n </svg>\n `;\n }\n });\n return _classThis;\n})();\n\nexport { SniceAvatar };\n//# sourceMappingURL=snice-avatar.js.map\n","import { __runInitializers, __esDecorate } from 'tslib';\nimport { element, property, dispatch, styles, ready, request, dispose, watch, css } from 'snice';\nimport '../avatar/snice-avatar.js';\n\nvar cssContent = \":host([hidden]){display:none}:host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style}.calendar{width:100%;max-width:37.5rem}.calendar__header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);display:flex;align-items:center;justify-content:space-between;padding:var(--snice-spacing-md,1rem);background:var(--snice-color-surface,rgb(255 255 255));border-bottom:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar__title{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);font-size:var(--snice-heading-md, 1.125rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,rgb(23 23 23))}.calendar__nav{display:flex;gap:var(--snice-spacing-xs,.5rem)}.calendar__nav-button{padding:var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);border:1px solid var(--snice-color-border,rgb(226 226 226));background:var(--snice-color-surface,rgb(255 255 255));border-radius:var(--snice-border-radius-md,.25rem);cursor:pointer;transition:background-color var(--snice-transition-fast, 150ms) ease,border-color var(--snice-transition-fast, 150ms) ease;font-size:var(--snice-font-size-sm, .875rem);color:var(--snice-color-text,rgb(23 23 23));font-family:inherit}.calendar__nav-button:hover{background:var(--snice-color-surface-container-low,rgb(250 250 250));border-color:var(--snice-color-border-hover,rgb(204 204 204))}.calendar__nav-button:focus-visible{outline:0;box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--snice-color-surface,rgb(255 255 255));container-type:inline-size}.calendar__weekday{padding:var(--snice-spacing-sm,.75rem);text-align:center;font-size:var(--snice-font-size-xs, .75rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text-secondary,rgb(82 82 82));text-transform:uppercase;letter-spacing:var(--snice-tracking-widest, .1em);border-bottom:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar__day{box-sizing:border-box;min-width:0;min-height:max(calc(100cqw / 7),3rem,calc(2.125rem + var(--calendar-week-lanes,0) * 1.375rem + var(--calendar-week-more,0rem)));padding:var(--snice-spacing-xs,.5rem);border:1px solid var(--snice-color-border,rgb(226 226 226));border-top:none;border-left:none;cursor:pointer;transition:background-color var(--snice-transition-fast, 150ms) ease;position:relative;background:var(--snice-color-surface,rgb(255 255 255));color:var(--snice-color-text,rgb(23 23 23));overflow:hidden}.calendar__day:hover{background:var(--snice-color-surface-container-low,rgb(250 250 250))}.calendar__day:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__day:nth-child(7n+1){border-left:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar__day--stretch{min-height:max(3rem,calc(2.125rem + var(--calendar-week-lanes,0) * 1.375rem + var(--calendar-week-more,0rem)))}.calendar__day--static{cursor:default}.calendar__day--static:hover{background:var(--snice-color-surface,rgb(255 255 255))}.calendar__day--static.calendar__day--today:hover{background:var(--snice-color-primary-subtle,rgb(239 246 255))}.calendar__day--other-month{background:var(--snice-color-surface,rgb(255 255 255));color:var(--snice-color-text-tertiary,rgb(115 115 115));opacity:.5}.calendar__day--other-month:hover{opacity:.7}.calendar__day--today{background:var(--snice-color-primary-subtle,rgb(239 246 255))}.calendar__day--today:hover{background:var(--snice-color-primary-subtle-hover,rgb(219 234 254))}.calendar__day--selected{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250))}.calendar__day--selected:hover{background:var(--snice-color-primary-hover,rgb(29 78 216))}.calendar__day--disabled{background:var(--snice-color-surface-container,rgb(241 241 241));color:var(--snice-color-text-tertiary,rgb(115 115 115));opacity:.5;cursor:not-allowed}.calendar__day--disabled:hover{background:var(--snice-color-surface-container,rgb(241 241 241))}.calendar__day-number{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);margin-bottom:var(--snice-spacing-2xs,.25rem)}.calendar__day--selected .calendar__day-number{color:var(--snice-color-text-inverse,rgb(250 250 250))}.calendar__event-bar{display:flex;align-items:center;gap:var(--snice-spacing-3xs,.125rem);align-self:start;margin-top:calc(1.875rem + var(--calendar-event-lane,0) * 1.375rem);margin-inline:var(--snice-spacing-3xs,0.125rem);height:1.125rem;line-height:1.125rem;font-size:var(--snice-font-size-2xs, .625rem);padding:0 var(--snice-spacing-2xs,.25rem);border-radius:var(--snice-border-radius-sm,.125rem);background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));white-space:nowrap;overflow:hidden;cursor:pointer;z-index:1;transition:opacity var(--snice-transition-fast, 150ms) ease}.calendar__event-title{overflow:hidden;text-overflow:ellipsis;min-width:0}.calendar__event-avatar{flex:none;--avatar-size:0.875rem;font-size:.375rem;border-radius:50%;overflow:hidden}.calendar__popover{position:fixed;z-index:var(--snice-z-floating,1000);min-width:14rem;max-width:22rem;padding:var(--snice-spacing-sm,.75rem);border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.25rem);background:var(--snice-color-surface,rgb(255 255 255));color:var(--snice-color-text,rgb(23 23 23));font-size:var(--snice-font-size-sm, .875rem);line-height:1.5;box-shadow:var(--snice-shadow-lg,0 10px 15px -3px rgb(0 0 0 / .1))}.calendar__popover:focus-visible{outline:0;box-shadow:var(--snice-shadow-lg,0 10px 15px -3px rgb(0 0 0 / .1)),0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__popover-loading{color:var(--snice-color-text-secondary,rgb(82 82 82));font-size:var(--snice-font-size-xs, .75rem)}.calendar__tooltip{position:fixed;z-index:var(--snice-z-floating,1000);max-width:18rem;padding:var(--snice-spacing-2xs,.25rem) var(--snice-spacing-xs,.5rem);border-radius:var(--snice-border-radius-md,.25rem);background:var(--snice-tooltip-bg,rgb(51 51 51));color:var(--snice-color-text-inverse,rgb(250 250 250));font-size:var(--snice-font-size-xs, .75rem);line-height:1.4;box-shadow:var(--snice-shadow-md,0 4px 6px -1px rgb(0 0 0 / .1));pointer-events:none}.calendar__event-bar:hover{opacity:.8}.calendar__event-bar--continues-left{border-top-left-radius:0;border-bottom-left-radius:0;margin-inline-start:0}.calendar__event-bar--continues-right{border-top-right-radius:0;border-bottom-right-radius:0;margin-inline-end:0}.calendar__more{position:absolute;bottom:var(--snice-spacing-3xs,.125rem);left:var(--snice-spacing-2xs,.25rem);font-size:var(--snice-font-size-xs, .75rem);font-weight:var(--snice-font-weight-medium,500);color:var(--snice-color-text,rgb(23 23 23));cursor:pointer}.calendar__more:hover{text-decoration:underline}.calendar__more:focus-visible{outline:0;box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__week-number{padding:var(--snice-spacing-sm,.75rem) var(--snice-spacing-xs,.5rem);text-align:center;font-size:var(--snice-font-size-xs, .75rem);color:var(--snice-color-text-tertiary,rgb(115 115 115));background:var(--snice-color-surface-container-low,rgb(250 250 250));border-right:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar--week .calendar__grid{grid-template-columns:repeat(7,1fr)}.calendar--week .calendar__day{min-height:7.5rem}.calendar--day .calendar__grid{grid-template-columns:1fr}.calendar--day .calendar__day{min-height:25rem}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}}\";\n\nlet SniceCalendar = (() => {\n let _classDecorators = [element('snice-calendar')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _view_decorators;\n let _view_initializers = [];\n let _view_extraInitializers = [];\n let _events_decorators;\n let _events_initializers = [];\n let _events_extraInitializers = [];\n let _minDate_decorators;\n let _minDate_initializers = [];\n let _minDate_extraInitializers = [];\n let _maxDate_decorators;\n let _maxDate_initializers = [];\n let _maxDate_extraInitializers = [];\n let _disabledDates_decorators;\n let _disabledDates_initializers = [];\n let _disabledDates_extraInitializers = [];\n let _highlightToday_decorators;\n let _highlightToday_initializers = [];\n let _highlightToday_extraInitializers = [];\n let _showWeekNumbers_decorators;\n let _showWeekNumbers_initializers = [];\n let _showWeekNumbers_extraInitializers = [];\n let _firstDayOfWeek_decorators;\n let _firstDayOfWeek_initializers = [];\n let _firstDayOfWeek_extraInitializers = [];\n let _locale_decorators;\n let _locale_initializers = [];\n let _locale_extraInitializers = [];\n let _noDaySelect_decorators;\n let _noDaySelect_initializers = [];\n let _noDaySelect_extraInitializers = [];\n let _cellSizing_decorators;\n let _cellSizing_initializers = [];\n let _cellSizing_extraInitializers = [];\n let _eventTooltip_decorators;\n let _eventTooltip_initializers = [];\n let _eventTooltip_extraInitializers = [];\n let _eventPopover_decorators;\n let _eventPopover_initializers = [];\n let _eventPopover_extraInitializers = [];\n let _dispatchChange_decorators;\n let _dispatchEventClick_decorators;\n let _dispatchMoreClick_decorators;\n let _styles_decorators;\n let _initialize_decorators;\n let _requestEventPopoverContent_decorators;\n let _cleanupPopover_decorators;\n let _handlePropertyChange_decorators;\n let _handleWeekdayInputsChange_decorators;\n var SniceCalendar = class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, new Date()));\n this.view = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _view_initializers, 'month'));\n this.events = (__runInitializers(this, _view_extraInitializers), __runInitializers(this, _events_initializers, []));\n this.minDate = (__runInitializers(this, _events_extraInitializers), __runInitializers(this, _minDate_initializers, ''));\n this.maxDate = (__runInitializers(this, _minDate_extraInitializers), __runInitializers(this, _maxDate_initializers, ''));\n this.disabledDates = (__runInitializers(this, _maxDate_extraInitializers), __runInitializers(this, _disabledDates_initializers, []));\n this.highlightToday = (__runInitializers(this, _disabledDates_extraInitializers), __runInitializers(this, _highlightToday_initializers, true));\n this.showWeekNumbers = (__runInitializers(this, _highlightToday_extraInitializers), __runInitializers(this, _showWeekNumbers_initializers, false));\n this.firstDayOfWeek = (__runInitializers(this, _showWeekNumbers_extraInitializers), __runInitializers(this, _firstDayOfWeek_initializers, 0)); // 0 = Sunday, 1 = Monday\n this.locale = (__runInitializers(this, _firstDayOfWeek_extraInitializers), __runInitializers(this, _locale_initializers, 'en-US'));\n this.noDaySelect = (__runInitializers(this, _locale_extraInitializers), __runInitializers(this, _noDaySelect_initializers, false));\n this.cellSizing = (__runInitializers(this, _noDaySelect_extraInitializers), __runInitializers(this, _cellSizing_initializers, 'square'));\n this.eventTooltip = (__runInitializers(this, _cellSizing_extraInitializers), __runInitializers(this, _eventTooltip_initializers, null));\n this.eventPopover = (__runInitializers(this, _eventTooltip_extraInitializers), __runInitializers(this, _eventPopover_initializers, null));\n this.displayDate = (__runInitializers(this, _eventPopover_extraInitializers), new Date());\n this.tooltipToken = 0;\n this.tooltipBar = null;\n this.popoverToken = 0;\n this.popoverBar = null;\n this.boundPopoverEscape = (e) => {\n if (e.key === 'Escape' && this.popoverBar)\n this.closeEventPopover();\n };\n this.boundPopoverOutside = (e) => {\n if (!this.popoverBar)\n return;\n if (e.composedPath().includes(this.popoverEl))\n return;\n this.closeEventPopover({ returnFocus: false });\n };\n this.dayCells = [];\n this.focusedDate = null;\n this.handleGridKeydown = (e) => {\n const target = e.target;\n const currentDate = target.__date;\n if (!currentDate)\n return;\n let delta = null;\n let monthStep = null;\n switch (e.key) {\n case 'ArrowLeft':\n delta = -1;\n break;\n case 'ArrowRight':\n delta = 1;\n break;\n case 'ArrowUp':\n delta = -7;\n break;\n case 'ArrowDown':\n delta = 7;\n break;\n case 'Home':\n delta = -currentDate.getDay();\n break;\n case 'End':\n delta = 6 - currentDate.getDay();\n break;\n case 'PageUp':\n monthStep = -1;\n break;\n case 'PageDown':\n monthStep = 1;\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n this.handleDayClick(currentDate);\n return;\n default: return;\n }\n e.preventDefault();\n const next = new Date(currentDate);\n if (delta !== null)\n next.setDate(currentDate.getDate() + delta);\n if (monthStep !== null)\n next.setMonth(currentDate.getMonth() + monthStep);\n // If moved outside the displayed month, navigate.\n if (next.getMonth() !== this.displayDate.getMonth() ||\n next.getFullYear() !== this.displayDate.getFullYear()) {\n this.displayDate = new Date(next.getFullYear(), next.getMonth(), 1);\n }\n this.focusedDate = next;\n this.updateView();\n // Move focus to the newly-selected cell after DOM update.\n const sameAs = (d, e2) => d.getFullYear() === e2.getFullYear() &&\n d.getMonth() === e2.getMonth() &&\n d.getDate() === e2.getDate();\n requestAnimationFrame(() => {\n const cell = this.dayCells.find(c => sameAs(c.__date, next));\n cell?.focus();\n });\n };\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _value_decorators = [property({ type: Date })];\n _view_decorators = [property({ attribute: 'view' })];\n _events_decorators = [property({ type: Array, attribute: false })];\n _minDate_decorators = [property({ type: Date, attribute: 'min-date' })];\n _maxDate_decorators = [property({ type: Date, attribute: 'max-date' })];\n _disabledDates_decorators = [property({ type: Array, attribute: false })];\n _highlightToday_decorators = [property({ type: Boolean, attribute: 'highlight-today' })];\n _showWeekNumbers_decorators = [property({ type: Boolean, attribute: 'show-week-numbers' })];\n _firstDayOfWeek_decorators = [property({ type: Number, attribute: 'first-day-of-week' })];\n _locale_decorators = [property({ attribute: 'locale' })];\n _noDaySelect_decorators = [property({ type: Boolean, attribute: 'no-day-select' })];\n _cellSizing_decorators = [property({ attribute: 'cell-sizing' })];\n _eventTooltip_decorators = [property({ attribute: false })];\n _eventPopover_decorators = [property({ attribute: false })];\n _dispatchChange_decorators = [dispatch('calendar-change', { bubbles: true, composed: true })];\n _dispatchEventClick_decorators = [dispatch('calendar-event-click', { bubbles: true, composed: true })];\n _dispatchMoreClick_decorators = [dispatch('calendar-more-click', { bubbles: true, composed: true })];\n _styles_decorators = [styles()];\n _initialize_decorators = [ready()];\n _requestEventPopoverContent_decorators = [request('calendar/event-popover')];\n _cleanupPopover_decorators = [dispose()];\n _handlePropertyChange_decorators = [watch('value'), watch('events'), watch('eventTooltip'), watch('noDaySelect'), watch('cellSizing')];\n _handleWeekdayInputsChange_decorators = [watch('locale'), watch('firstDayOfWeek')];\n __esDecorate(this, null, _dispatchChange_decorators, { kind: \"method\", name: \"dispatchChange\", static: false, private: false, access: { has: obj => \"dispatchChange\" in obj, get: obj => obj.dispatchChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchEventClick_decorators, { kind: \"method\", name: \"dispatchEventClick\", static: false, private: false, access: { has: obj => \"dispatchEventClick\" in obj, get: obj => obj.dispatchEventClick }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchMoreClick_decorators, { kind: \"method\", name: \"dispatchMoreClick\", static: false, private: false, access: { has: obj => \"dispatchMoreClick\" in obj, get: obj => obj.dispatchMoreClick }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _initialize_decorators, { kind: \"method\", name: \"initialize\", static: false, private: false, access: { has: obj => \"initialize\" in obj, get: obj => obj.initialize }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _requestEventPopoverContent_decorators, { kind: \"method\", name: \"requestEventPopoverContent\", static: false, private: false, access: { has: obj => \"requestEventPopoverContent\" in obj, get: obj => obj.requestEventPopoverContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _cleanupPopover_decorators, { kind: \"method\", name: \"cleanupPopover\", static: false, private: false, access: { has: obj => \"cleanupPopover\" in obj, get: obj => obj.cleanupPopover }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handlePropertyChange_decorators, { kind: \"method\", name: \"handlePropertyChange\", static: false, private: false, access: { has: obj => \"handlePropertyChange\" in obj, get: obj => obj.handlePropertyChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleWeekdayInputsChange_decorators, { kind: \"method\", name: \"handleWeekdayInputsChange\", static: false, private: false, access: { has: obj => \"handleWeekdayInputsChange\" in obj, get: obj => obj.handleWeekdayInputsChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _value_decorators, { kind: \"field\", name: \"value\", static: false, private: false, access: { has: obj => \"value\" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);\n __esDecorate(null, null, _view_decorators, { kind: \"field\", name: \"view\", static: false, private: false, access: { has: obj => \"view\" in obj, get: obj => obj.view, set: (obj, value) => { obj.view = value; } }, metadata: _metadata }, _view_initializers, _view_extraInitializers);\n __esDecorate(null, null, _events_decorators, { kind: \"field\", name: \"events\", static: false, private: false, access: { has: obj => \"events\" in obj, get: obj => obj.events, set: (obj, value) => { obj.events = value; } }, metadata: _metadata }, _events_initializers, _events_extraInitializers);\n __esDecorate(null, null, _minDate_decorators, { kind: \"field\", name: \"minDate\", static: false, private: false, access: { has: obj => \"minDate\" in obj, get: obj => obj.minDate, set: (obj, value) => { obj.minDate = value; } }, metadata: _metadata }, _minDate_initializers, _minDate_extraInitializers);\n __esDecorate(null, null, _maxDate_decorators, { kind: \"field\", name: \"maxDate\", static: false, private: false, access: { has: obj => \"maxDate\" in obj, get: obj => obj.maxDate, set: (obj, value) => { obj.maxDate = value; } }, metadata: _metadata }, _maxDate_initializers, _maxDate_extraInitializers);\n __esDecorate(null, null, _disabledDates_decorators, { kind: \"field\", name: \"disabledDates\", static: false, private: false, access: { has: obj => \"disabledDates\" in obj, get: obj => obj.disabledDates, set: (obj, value) => { obj.disabledDates = value; } }, metadata: _metadata }, _disabledDates_initializers, _disabledDates_extraInitializers);\n __esDecorate(null, null, _highlightToday_decorators, { kind: \"field\", name: \"highlightToday\", static: false, private: false, access: { has: obj => \"highlightToday\" in obj, get: obj => obj.highlightToday, set: (obj, value) => { obj.highlightToday = value; } }, metadata: _metadata }, _highlightToday_initializers, _highlightToday_extraInitializers);\n __esDecorate(null, null, _showWeekNumbers_decorators, { kind: \"field\", name: \"showWeekNumbers\", static: false, private: false, access: { has: obj => \"showWeekNumbers\" in obj, get: obj => obj.showWeekNumbers, set: (obj, value) => { obj.showWeekNumbers = value; } }, metadata: _metadata }, _showWeekNumbers_initializers, _showWeekNumbers_extraInitializers);\n __esDecorate(null, null, _firstDayOfWeek_decorators, { kind: \"field\", name: \"firstDayOfWeek\", static: false, private: false, access: { has: obj => \"firstDayOfWeek\" in obj, get: obj => obj.firstDayOfWeek, set: (obj, value) => { obj.firstDayOfWeek = value; } }, metadata: _metadata }, _firstDayOfWeek_initializers, _firstDayOfWeek_extraInitializers);\n __esDecorate(null, null, _locale_decorators, { kind: \"field\", name: \"locale\", static: false, private: false, access: { has: obj => \"locale\" in obj, get: obj => obj.locale, set: (obj, value) => { obj.locale = value; } }, metadata: _metadata }, _locale_initializers, _locale_extraInitializers);\n __esDecorate(null, null, _noDaySelect_decorators, { kind: \"field\", name: \"noDaySelect\", static: false, private: false, access: { has: obj => \"noDaySelect\" in obj, get: obj => obj.noDaySelect, set: (obj, value) => { obj.noDaySelect = value; } }, metadata: _metadata }, _noDaySelect_initializers, _noDaySelect_extraInitializers);\n __esDecorate(null, null, _cellSizing_decorators, { kind: \"field\", name: \"cellSizing\", static: false, private: false, access: { has: obj => \"cellSizing\" in obj, get: obj => obj.cellSizing, set: (obj, value) => { obj.cellSizing = value; } }, metadata: _metadata }, _cellSizing_initializers, _cellSizing_extraInitializers);\n __esDecorate(null, null, _eventTooltip_decorators, { kind: \"field\", name: \"eventTooltip\", static: false, private: false, access: { has: obj => \"eventTooltip\" in obj, get: obj => obj.eventTooltip, set: (obj, value) => { obj.eventTooltip = value; } }, metadata: _metadata }, _eventTooltip_initializers, _eventTooltip_extraInitializers);\n __esDecorate(null, null, _eventPopover_decorators, { kind: \"field\", name: \"eventPopover\", static: false, private: false, access: { has: obj => \"eventPopover\" in obj, get: obj => obj.eventPopover, set: (obj, value) => { obj.eventPopover = value; } }, metadata: _metadata }, _eventPopover_initializers, _eventPopover_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n SniceCalendar = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n }\n computeRovingIndex(days) {\n // Prefer: focused → selected → today → first in-month day\n const same = (a, b) => a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate();\n if (this.focusedDate) {\n const idx = days.findIndex(d => same(d, this.focusedDate));\n if (idx >= 0)\n return idx;\n }\n if (this.value) {\n const s = this.value instanceof Date ? this.value : new Date(this.value);\n if (!isNaN(s.getTime())) {\n const idx = days.findIndex(d => same(d, s));\n if (idx >= 0)\n return idx;\n }\n }\n const today = new Date();\n const tIdx = days.findIndex(d => same(d, today));\n if (tIdx >= 0)\n return tIdx;\n return days.findIndex(d => d.getMonth() === this.displayDate.getMonth());\n }\n dispatchChange() {\n return { value: this.value, calendar: this };\n }\n dispatchEventClick(event) {\n return { event, calendar: this };\n }\n dispatchMoreClick(date, count) {\n return { date, count, calendar: this };\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n initialize() {\n this.createDOM();\n this.updateView();\n }\n createDOM() {\n const shadow = this.shadowRoot;\n // Create container\n this.container = document.createElement('div');\n this.container.className = `calendar calendar--${this.view}`;\n this.container.setAttribute('part', 'base');\n // Create header\n this.header = document.createElement('div');\n this.header.className = 'calendar__header';\n this.header.setAttribute('part', 'header');\n const title = document.createElement('div');\n title.className = 'calendar__title';\n const nav = document.createElement('div');\n nav.className = 'calendar__nav';\n const todayBtn = document.createElement('button');\n todayBtn.className = 'calendar__nav-button';\n todayBtn.textContent = 'Today';\n todayBtn.onclick = () => this.goToToday();\n const prevBtn = document.createElement('button');\n prevBtn.className = 'calendar__nav-button';\n prevBtn.textContent = '‹';\n prevBtn.onclick = () => this.previousMonth();\n const nextBtn = document.createElement('button');\n nextBtn.className = 'calendar__nav-button';\n nextBtn.textContent = '›';\n nextBtn.onclick = () => this.nextMonth();\n nav.appendChild(todayBtn);\n nav.appendChild(prevBtn);\n nav.appendChild(nextBtn);\n this.header.appendChild(title);\n this.header.appendChild(nav);\n // Create grid\n this.grid = document.createElement('div');\n this.grid.className = 'calendar__grid';\n this.grid.setAttribute('part', 'grid');\n // Add weekday headers. Every grid child gets an explicit position —\n // event stripe bars are placed explicitly, and mixing explicit items\n // with auto-flow would push auto-placed cells out of their slots.\n const weekdays = this.getWeekdays();\n weekdays.forEach((day, i) => {\n const weekdayEl = document.createElement('div');\n weekdayEl.className = 'calendar__weekday';\n weekdayEl.textContent = day;\n weekdayEl.style.gridRow = '1';\n weekdayEl.style.gridColumn = String(i + 1);\n this.grid.appendChild(weekdayEl);\n });\n // Mark grid for a11y\n this.grid.setAttribute('role', 'grid');\n this.grid.setAttribute('aria-label', 'Calendar');\n this.grid.addEventListener('keydown', this.handleGridKeydown);\n // Create 42 day cells\n for (let i = 0; i < 42; i++) {\n const dayCell = document.createElement('div');\n dayCell.className = 'calendar__day';\n dayCell.setAttribute('role', 'gridcell');\n // Roving tabindex: only one cell is tabbable at a time. Start by\n // making the first cell tabbable; updateView re-targets the focused\n // date so today/selected gets the 0.\n dayCell.setAttribute('tabindex', i === 0 ? '0' : '-1');\n dayCell.style.gridRow = String(Math.floor(i / 7) + 2);\n dayCell.style.gridColumn = String((i % 7) + 1);\n const dayNumber = document.createElement('div');\n dayNumber.className = 'calendar__day-number';\n dayCell.appendChild(dayNumber);\n this.grid.appendChild(dayCell);\n this.dayCells.push(dayCell);\n }\n // Shared tooltip overlay for event bars — one element, repositioned per\n // bar, so rich content can load lazily without a tooltip instance per bar.\n this.tooltipEl = document.createElement('div');\n this.tooltipEl.className = 'calendar__tooltip';\n this.tooltipEl.setAttribute('part', 'event-tooltip');\n this.tooltipEl.setAttribute('role', 'tooltip');\n this.tooltipEl.id = 'calendar-event-tooltip';\n this.tooltipEl.hidden = true;\n // Interactive click-to-open popover for event details. One shared panel,\n // anchored per bar; content may load lazily (provider or the\n // calendar/event-popover request channel).\n this.popoverEl = document.createElement('div');\n this.popoverEl.className = 'calendar__popover';\n this.popoverEl.setAttribute('part', 'event-popover');\n this.popoverEl.setAttribute('role', 'dialog');\n this.popoverEl.setAttribute('aria-label', 'Event details');\n this.popoverEl.tabIndex = -1;\n this.popoverEl.hidden = true;\n this.container.appendChild(this.header);\n this.container.appendChild(this.grid);\n this.container.appendChild(this.tooltipEl);\n this.container.appendChild(this.popoverEl);\n shadow.appendChild(this.container);\n }\n /**\n * Dynamic popover channel: yields `{ event }` so any\n * `@respond('calendar/event-popover')` controller can return the content.\n */\n async *requestEventPopoverContent(event) {\n return await (yield { event });\n }\n async openEventPopover(bar, event) {\n const token = ++this.popoverToken;\n this.hideEventTooltip();\n // Anchor + loading shell first, so slow content still feels responsive.\n this.popoverBar = bar;\n this.popoverEl.replaceChildren();\n const loading = document.createElement('div');\n loading.className = 'calendar__popover-loading';\n loading.textContent = 'Loading…';\n this.popoverEl.appendChild(loading);\n this.popoverEl.hidden = false;\n this.positionPopover(bar);\n document.addEventListener('keydown', this.boundPopoverEscape, true);\n document.addEventListener('mousedown', this.boundPopoverOutside, true);\n let content;\n try {\n if (event.popover !== true && event.popover) {\n content = typeof event.popover === 'function' ? event.popover() : event.popover;\n }\n else if (this.eventPopover) {\n content = await this.eventPopover(event);\n }\n else {\n content = await this.requestEventPopoverContent(event);\n }\n }\n catch {\n // No responder discovered (or the provider failed) — close quietly.\n content = undefined;\n }\n if (token !== this.popoverToken)\n return; // closed (or replaced) meanwhile\n if (content == null) {\n console.warn(`[snice-calendar] event \"${String(event.id)}\" enables a popover but no content was provided — set eventPopover, event.popover content, or a @respond('calendar/event-popover') handler.`);\n this.closeEventPopover({ returnFocus: false });\n return;\n }\n if (typeof content === 'string')\n this.popoverEl.textContent = content;\n else\n this.popoverEl.replaceChildren(content);\n this.positionPopover(bar);\n this.popoverEl.focus();\n }\n positionPopover(bar) {\n const rect = bar.getBoundingClientRect();\n this.popoverEl.style.left = `${Math.max(4, rect.left)}px`;\n this.popoverEl.style.top = `${rect.bottom + 6}px`;\n }\n closeEventPopover(options = {}) {\n if (!this.popoverBar)\n return;\n this.popoverToken++;\n const bar = this.popoverBar;\n this.popoverBar = null;\n this.popoverEl.hidden = true;\n this.popoverEl.replaceChildren();\n document.removeEventListener('keydown', this.boundPopoverEscape, true);\n document.removeEventListener('mousedown', this.boundPopoverOutside, true);\n if (options.returnFocus !== false && bar.isConnected)\n bar.focus();\n }\n cleanupPopover() {\n document.removeEventListener('keydown', this.boundPopoverEscape, true);\n document.removeEventListener('mousedown', this.boundPopoverOutside, true);\n }\n async showEventTooltip(bar, event) {\n const token = ++this.tooltipToken;\n const provider = this.eventTooltip;\n let content;\n if (provider) {\n try {\n content = await provider(event);\n }\n catch {\n content = event.tooltip;\n }\n }\n else {\n content = event.tooltip;\n }\n // Pointer already left (or moved to another bar) while loading.\n if (token !== this.tooltipToken || content == null)\n return;\n if (typeof content === 'string')\n this.tooltipEl.textContent = content;\n else\n this.tooltipEl.replaceChildren(content);\n this.tooltipEl.hidden = false;\n this.tooltipBar = bar;\n bar.setAttribute('aria-describedby', this.tooltipEl.id);\n // Fixed positioning above the bar, clamped to the viewport.\n const rect = bar.getBoundingClientRect();\n this.tooltipEl.style.left = `${Math.max(4, rect.left)}px`;\n this.tooltipEl.style.top = `${Math.max(4, rect.top - this.tooltipEl.offsetHeight - 6)}px`;\n }\n hideEventTooltip() {\n this.tooltipToken++;\n this.tooltipEl.hidden = true;\n this.tooltipBar?.removeAttribute('aria-describedby');\n this.tooltipBar = null;\n }\n updateView() {\n // Update header title\n const monthName = this.displayDate.toLocaleDateString(this.locale, { month: 'long', year: 'numeric' });\n const titleEl = this.header.querySelector('.calendar__title');\n if (titleEl)\n titleEl.textContent = monthName;\n // Update day cells\n const days = this.getMonthDays();\n const currentMonth = this.displayDate.getMonth();\n // Resolve which cell should be tab-stoppable (roving tabindex).\n const rovingIndex = this.computeRovingIndex(days);\n days.forEach((date, i) => {\n const cell = this.dayCells[i];\n if (!cell)\n return;\n const isOtherMonth = date.getMonth() !== currentMonth;\n const isToday = this.highlightToday && this.isToday(date);\n // Display-only mode never shows a selection highlight.\n const isSelected = !this.noDaySelect && this.isSelected(date);\n const isDisabled = this.isDisabled(date);\n // Update classes (preserving role)\n cell.className = 'calendar__day';\n if (isOtherMonth)\n cell.classList.add('calendar__day--other-month');\n if (isToday)\n cell.classList.add('calendar__day--today');\n if (isSelected)\n cell.classList.add('calendar__day--selected');\n if (isDisabled)\n cell.classList.add('calendar__day--disabled');\n if (this.noDaySelect)\n cell.classList.add('calendar__day--static');\n if (this.cellSizing === 'stretch')\n cell.classList.add('calendar__day--stretch');\n cell.setAttribute('role', 'gridcell');\n cell.setAttribute('aria-selected', isSelected ? 'true' : 'false');\n cell.setAttribute('aria-disabled', isDisabled ? 'true' : 'false');\n cell.setAttribute('aria-current', isToday && !isOtherMonth ? 'date' : 'false');\n cell.setAttribute('tabindex', i === rovingIndex ? '0' : '-1');\n cell.setAttribute('aria-label', date.toLocaleDateString(this.locale, { dateStyle: 'full' }));\n cell.__date = date;\n // Update day number\n const dayNumber = cell.querySelector('.calendar__day-number');\n if (dayNumber)\n dayNumber.textContent = String(date.getDate());\n // Update click handler\n cell.onclick = () => this.handleDayClick(date);\n });\n this.renderEventStripes(days);\n }\n /** Visible stacking depth for event stripes; deeper lanes collapse into a\n * per-day \"+N more\" chip. */\n static { this.MAX_EVENT_LANES = 3; }\n /**\n * Render events as continuous stripes: one bar per (event × week row),\n * spanning the event's days in that week and chopped at week boundaries\n * with continues-left/right styling. Overlapping events stack into lanes\n * per week — earlier start first, longer event first on ties — like\n * professional calendars.\n */\n renderEventStripes(days) {\n this.closeEventPopover({ returnFocus: false }); // anchors are re-created\n this.grid.querySelectorAll('.calendar__event-bar').forEach(el => el.remove());\n this.dayCells.forEach(cell => {\n cell.querySelector('.calendar__more')?.remove();\n cell.style.removeProperty('--calendar-week-lanes');\n cell.style.removeProperty('--calendar-week-more');\n });\n if (!this.events || this.events.length === 0)\n return;\n // Local-midnight timestamps for the visible grid; events normalize to the\n // same construction so lookups are exact (and DST-safe).\n const dayTimes = days.map(d => new Date(d.getFullYear(), d.getMonth(), d.getDate()).getTime());\n const dayIndex = new Map(dayTimes.map((t, i) => [t, i]));\n const gridStart = dayTimes[0];\n const gridEnd = dayTimes[dayTimes.length - 1];\n const normalize = (d) => {\n const date = typeof d === 'string' ? new Date(d) : d;\n return new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime();\n };\n const resolved = [];\n this.events.forEach((event, order) => {\n if (!event.start)\n return;\n const startTime = normalize(event.start);\n if (isNaN(startTime))\n return;\n const endTime = event.end ? Math.max(normalize(event.end), startTime) : startTime;\n if (isNaN(endTime) || endTime < gridStart || startTime > gridEnd)\n return;\n const startsBeforeGrid = startTime < gridStart;\n const endsAfterGrid = endTime > gridEnd;\n const startIdx = startsBeforeGrid ? 0 : dayIndex.get(startTime);\n const endIdx = endsAfterGrid ? dayTimes.length - 1 : dayIndex.get(endTime);\n resolved.push({\n event, startIdx, endIdx, startsBeforeGrid, endsAfterGrid,\n startTime, duration: endTime - startTime, order,\n });\n });\n resolved.sort((a, b) => a.startTime - b.startTime || b.duration - a.duration || a.order - b.order);\n const hiddenPerDay = new Array(dayTimes.length).fill(0);\n const weekCount = Math.floor(dayTimes.length / 7);\n const weekLaneCounts = new Array(weekCount).fill(0);\n for (let week = 0; week < weekCount; week++) {\n const weekStart = week * 7;\n const weekEnd = weekStart + 6;\n // lanes[lane] holds the occupied [startCol, endCol] ranges in this week.\n const lanes = [];\n for (const item of resolved) {\n if (item.endIdx < weekStart || item.startIdx > weekEnd)\n continue;\n const segStart = Math.max(item.startIdx, weekStart);\n const segEnd = Math.min(item.endIdx, weekEnd);\n const startCol = segStart - weekStart;\n const endCol = segEnd - weekStart;\n let lane = 0;\n while (lanes[lane]?.some(([s, e]) => startCol <= e && endCol >= s))\n lane++;\n (lanes[lane] ??= []).push([startCol, endCol]);\n weekLaneCounts[week] = Math.min(Math.max(weekLaneCounts[week], lane + 1), SniceCalendar.MAX_EVENT_LANES);\n if (lane >= SniceCalendar.MAX_EVENT_LANES) {\n for (let i = segStart; i <= segEnd; i++)\n hiddenPerDay[i]++;\n continue;\n }\n const continuesLeft = segStart > item.startIdx\n || (segStart === item.startIdx && item.startsBeforeGrid);\n const continuesRight = segEnd < item.endIdx\n || (segEnd === item.endIdx && item.endsAfterGrid);\n const bar = document.createElement('div');\n bar.className = 'calendar__event-bar';\n if (continuesLeft)\n bar.classList.add('calendar__event-bar--continues-left');\n if (continuesRight)\n bar.classList.add('calendar__event-bar--continues-right');\n // A custom className rides along on both the class list and the part\n // attribute, so events are styleable from outside via\n // ::part(<className>).\n const customClasses = item.event.className\n ? item.event.className.split(/\\s+/).filter(Boolean)\n : [];\n bar.classList.add(...customClasses);\n bar.setAttribute('part', ['event-bar', ...customClasses].join(' '));\n bar.setAttribute('data-event-id', String(item.event.id));\n bar.setAttribute('data-lane', String(lane));\n bar.style.gridRow = String(week + 2); // row 1 is the weekday header\n bar.style.gridColumn = `${startCol + 1} / ${endCol + 2}`;\n bar.style.setProperty('--calendar-event-lane', String(lane));\n if (item.event.color)\n bar.style.background = item.event.color;\n if (item.event.avatar) {\n const spec = typeof item.event.avatar === 'string'\n ? { src: item.event.avatar }\n : item.event.avatar;\n const avatar = document.createElement('snice-avatar');\n avatar.className = 'calendar__event-avatar';\n avatar.setAttribute('part', 'event-avatar');\n // Attributes, not property assignments: the avatar's shape/size CSS\n // matches on :host([shape])/:host([size]) attribute selectors.\n avatar.setAttribute('size', 'xs');\n avatar.setAttribute('shape', 'circle');\n // Tiny thumbnail — eager: lazy-load buys nothing at this size and\n // stalls on very tall pages.\n avatar.setAttribute('loading', 'eager');\n if (spec.src)\n avatar.src = spec.src;\n if (spec.name)\n avatar.name = spec.name;\n if (spec.alt)\n avatar.alt = spec.alt;\n bar.appendChild(avatar);\n }\n const titleEl = document.createElement('span');\n titleEl.className = 'calendar__event-title';\n titleEl.textContent = item.event.title;\n bar.appendChild(titleEl);\n // Tooltip: static string, or lazy/rich content from eventTooltip.\n // The native title attribute stays only when no tooltip is configured.\n if (item.event.tooltip || this.eventTooltip) {\n bar.onmouseenter = () => this.showEventTooltip(bar, item.event);\n bar.onmouseleave = () => this.hideEventTooltip();\n }\n else {\n bar.title = item.event.title;\n }\n // Popover: strictly per-event opt-in — without `popover`, a click\n // only dispatches calendar-event-click and no request is issued.\n if (item.event.popover) {\n bar.setAttribute('role', 'button');\n bar.setAttribute('tabindex', '0');\n bar.setAttribute('aria-haspopup', 'dialog');\n bar.onkeydown = (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.openEventPopover(bar, item.event);\n }\n };\n bar.onclick = (e) => {\n this.handleEventClick(item.event, e);\n this.openEventPopover(bar, item.event);\n };\n }\n else {\n bar.onclick = (e) => this.handleEventClick(item.event, e);\n }\n this.grid.appendChild(bar);\n }\n }\n hiddenPerDay.forEach((count, i) => {\n if (count === 0)\n return;\n const cell = this.dayCells[i];\n if (!cell)\n return;\n const date = days[i];\n const more = document.createElement('div');\n more.className = 'calendar__more';\n more.setAttribute('part', 'more-chip');\n more.textContent = `+${count} more`;\n // The chip is its own control: it reports its day and hidden count, and\n // its clicks never fall through to the day cell's selection handler.\n more.setAttribute('role', 'button');\n more.setAttribute('tabindex', '0');\n more.setAttribute('aria-label', `${count} more event${count === 1 ? '' : 's'} on ${date.toLocaleDateString(this.locale, { dateStyle: 'full' })}`);\n more.onclick = (e) => this.handleMoreClick(date, count, e);\n more.onkeydown = (e) => {\n if (e.key !== 'Enter' && e.key !== ' ')\n return;\n e.preventDefault();\n this.handleMoreClick(date, count, e);\n };\n cell.appendChild(more);\n });\n // Reserve row height for the lane stack (and the \"+N more\" chip) so\n // stripes never spill past their week row — every cell in a week shares\n // the reservation, since the grid row is as tall as its tallest cell.\n for (let week = 0; week < weekCount; week++) {\n if (weekLaneCounts[week] === 0)\n continue;\n const weekHasMore = hiddenPerDay\n .slice(week * 7, week * 7 + 7).some(count => count > 0);\n for (let i = week * 7; i < week * 7 + 7; i++) {\n const cell = this.dayCells[i];\n if (!cell)\n continue;\n cell.style.setProperty('--calendar-week-lanes', String(weekLaneCounts[week]));\n if (weekHasMore)\n cell.style.setProperty('--calendar-week-more', '1rem');\n }\n }\n }\n goToToday() {\n this.displayDate = new Date();\n this.value = new Date();\n this.updateView();\n this.dispatchChange();\n }\n goToDate(date) {\n this.displayDate = typeof date === 'string' ? new Date(date) : date;\n this.value = this.displayDate;\n this.updateView();\n this.dispatchChange();\n }\n previousMonth() {\n this.displayDate = new Date(this.displayDate.getFullYear(), this.displayDate.getMonth() - 1);\n this.updateView();\n }\n nextMonth() {\n this.displayDate = new Date(this.displayDate.getFullYear(), this.displayDate.getMonth() + 1);\n this.updateView();\n }\n previousWeek() {\n this.displayDate = new Date(this.displayDate.getTime() - 7 * 24 * 60 * 60 * 1000);\n this.updateView();\n }\n nextWeek() {\n this.displayDate = new Date(this.displayDate.getTime() + 7 * 24 * 60 * 60 * 1000);\n this.updateView();\n }\n previousDay() {\n this.displayDate = new Date(this.displayDate.getTime() - 24 * 60 * 60 * 1000);\n this.updateView();\n }\n nextDay() {\n this.displayDate = new Date(this.displayDate.getTime() + 24 * 60 * 60 * 1000);\n this.updateView();\n }\n getDisplayedMonth() {\n return {\n month: this.displayDate.getMonth(),\n year: this.displayDate.getFullYear()\n };\n }\n getEventsForDate(date) {\n const targetDate = typeof date === 'string' ? new Date(date) : date;\n const targetTime = targetDate.getTime();\n return this.events.filter(event => {\n if (!event.start)\n return false;\n const startDate = typeof event.start === 'string' ? new Date(event.start) : event.start;\n const startTime = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate()).getTime();\n // If no end date, event is single day\n if (!event.end) {\n return this.isSameDay(targetDate, startDate);\n }\n // Multi-day event: check if target date falls between start and end\n const endDate = typeof event.end === 'string' ? new Date(event.end) : event.end;\n const endTime = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate()).getTime();\n return targetTime >= startTime && targetTime <= endTime;\n });\n }\n formatDate(date) {\n return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;\n }\n isSameDay(date1, date2) {\n return this.formatDate(date1) === this.formatDate(date2);\n }\n isToday(date) {\n return this.isSameDay(date, new Date());\n }\n isSelected(date) {\n const valueDate = typeof this.value === 'string' ? new Date(this.value) : this.value;\n return this.isSameDay(date, valueDate);\n }\n isDisabled(date) {\n if (this.minDate) {\n const min = typeof this.minDate === 'string' ? new Date(this.minDate) : this.minDate;\n if (date < min)\n return true;\n }\n if (this.maxDate) {\n const max = typeof this.maxDate === 'string' ? new Date(this.maxDate) : this.maxDate;\n if (date > max)\n return true;\n }\n return this.disabledDates.some(d => {\n const disabledDate = typeof d === 'string' ? new Date(d) : d;\n return this.isSameDay(date, disabledDate);\n });\n }\n handleDayClick(date) {\n // Display-only calendars: days are not selectable at all.\n if (this.noDaySelect)\n return;\n if (this.isDisabled(date))\n return;\n this.value = date;\n this.updateView();\n this.dispatchChange();\n }\n handleEventClick(event, e) {\n e.stopPropagation();\n this.dispatchEventClick(event);\n }\n handleMoreClick(date, count, e) {\n e.stopPropagation();\n this.dispatchMoreClick(date, count);\n }\n getMonthDays() {\n const year = this.displayDate.getFullYear();\n const month = this.displayDate.getMonth();\n // First day of the month\n const firstDay = new Date(year, month, 1);\n const firstDayOfWeek = firstDay.getDay();\n // Adjust for first day of week setting\n const daysToSubtract = (firstDayOfWeek - this.firstDayOfWeek + 7) % 7;\n const startDate = new Date(year, month, 1 - daysToSubtract);\n // Generate 42 days (6 weeks)\n const days = [];\n for (let i = 0; i < 42; i++) {\n days.push(new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() + i));\n }\n return days;\n }\n getWeekdays() {\n const weekdays = [];\n const baseDate = new Date(2024, 0, this.firstDayOfWeek); // Start from a Sunday\n for (let i = 0; i < 7; i++) {\n const date = new Date(baseDate);\n date.setDate(baseDate.getDate() + i);\n weekdays.push(date.toLocaleDateString(this.locale, { weekday: 'short' }));\n }\n return weekdays;\n }\n handlePropertyChange() {\n if (this.grid) {\n this.updateView();\n }\n }\n handleWeekdayInputsChange() {\n if (!this.grid)\n return;\n // Rebuild the weekday header row so the new locale / start-of-week is reflected.\n const existing = this.grid.querySelectorAll('.calendar__weekday');\n existing.forEach(el => el.remove());\n const weekdays = this.getWeekdays();\n weekdays.forEach((day, i) => {\n const weekdayEl = document.createElement('div');\n weekdayEl.className = 'calendar__weekday';\n weekdayEl.textContent = day;\n weekdayEl.style.gridRow = '1';\n weekdayEl.style.gridColumn = String(i + 1);\n // Insert before the first day cell so header row stays at the top\n this.grid.insertBefore(weekdayEl, this.grid.children[i] || null);\n });\n this.updateView();\n }\n static {\n __runInitializers(_classThis, _classExtraInitializers);\n }\n };\n return SniceCalendar = _classThis;\n})();\n\nexport { SniceCalendar };\n//# sourceMappingURL=snice-calendar.js.map\n"],"names":["cssContent","element","property","query","render","styles","html","css","dispatch","ready","request","dispose","watch"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"snice-calendar.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/avatar/snice-avatar.js","../../components/calendar/snice-calendar.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __runInitializers, __esDecorate } from 'tslib';\nimport { element, property, query, render, styles, html, css } from 'snice';\n\nvar cssContent = \":host([hidden]){display:none}:host{display:inline-block;--avatar-size:2.5rem;--avatar-bg:var(--snice-color-text-tertiary, rgb(115 115 115));--avatar-color:var(--snice-color-text-inverse, rgb(255 255 255))}case,default,if,when{display:contents}.avatar{position:relative;width:var(--avatar-size);height:var(--avatar-size);overflow:hidden;background:var(--avatar-bg);color:var(--avatar-color);display:flex;align-items:center;justify-content:center;font-weight:var(--snice-font-weight-semibold,600);user-select:none}:host([shape=circle]) .avatar{border-radius:50%}:host([shape=square]) .avatar{border-radius:0}:host([shape=rounded]) .avatar{border-radius:var(--snice-border-radius-lg,.5rem)}:host([size=xs]){--avatar-size:1.5rem;font-size:.625rem}:host([size=small]){--avatar-size:2rem;font-size:.75rem}:host([size=medium]){--avatar-size:2.5rem;font-size:.875rem}:host([size=large]){--avatar-size:3rem;font-size:1rem}:host([size=xl]){--avatar-size:4rem;font-size:1.25rem}:host([size=xxl]){--avatar-size:6rem;font-size:2rem}.avatar-image{width:100%;height:100%;object-fit:cover;display:block}.avatar-image--error{display:none}.avatar-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s}.avatar-fallback--visible{opacity:1;visibility:visible}.avatar-icon{width:60%;height:60%;opacity:.9;display:block}.avatar--red{background:var(--avatar-palette-red,rgb(239 68 68))}.avatar--orange{background:var(--avatar-palette-orange,rgb(251 146 60))}.avatar--yellow{background:var(--avatar-palette-yellow,rgb(234 179 8))}.avatar--lime{background:var(--avatar-palette-lime,rgb(163 230 53))}.avatar--green{background:var(--avatar-palette-green,rgb(34 197 94))}.avatar--teal{background:var(--avatar-palette-teal,rgb(20 184 166))}.avatar--cyan{background:var(--avatar-palette-cyan,rgb(6 182 212))}.avatar--sky{background:var(--avatar-palette-sky,rgb(14 165 233))}.avatar--blue{background:var(--avatar-palette-blue,rgb(59 130 246))}.avatar--indigo{background:var(--avatar-palette-indigo,rgb(99 102 241))}.avatar--violet{background:var(--avatar-palette-violet,rgb(139 92 246))}.avatar--purple{background:var(--avatar-palette-purple,rgb(168 85 247))}.avatar--fuchsia{background:var(--avatar-palette-fuchsia,rgb(217 70 239))}.avatar--pink{background:var(--avatar-palette-pink,rgb(236 72 153))}.avatar--rose{background:var(--avatar-palette-rose,rgb(244 63 94))}:host(.avatar-group-item){margin-left:-.5rem;border:2px solid var(--snice-color-surface,rgb(255 255 255));border-radius:50%}:host(.avatar-group-item:first-child){margin-left:0}:host(.avatar-group-item) .avatar{border:2px solid var(--snice-color-surface,rgb(255 255 255))}\";\n\nlet SniceAvatar = (() => {\n let _classDecorators = [element('snice-avatar')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _src_decorators;\n let _src_initializers = [];\n let _src_extraInitializers = [];\n let _alt_decorators;\n let _alt_initializers = [];\n let _alt_extraInitializers = [];\n let _name_decorators;\n let _name_initializers = [];\n let _name_extraInitializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _size_extraInitializers = [];\n let _shape_decorators;\n let _shape_initializers = [];\n let _shape_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _fallbackColor_decorators;\n let _fallbackColor_initializers = [];\n let _fallbackColor_extraInitializers = [];\n let _fallbackBackground_decorators;\n let _fallbackBackground_initializers = [];\n let _fallbackBackground_extraInitializers = [];\n let _imageElement_decorators;\n let _imageElement_initializers = [];\n let _imageElement_extraInitializers = [];\n let _fallbackElement_decorators;\n let _fallbackElement_initializers = [];\n let _fallbackElement_extraInitializers = [];\n let _imageError_decorators;\n let _imageError_initializers = [];\n let _imageError_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.src = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _src_initializers, ''));\n this.alt = (__runInitializers(this, _src_extraInitializers), __runInitializers(this, _alt_initializers, ''));\n this.name = (__runInitializers(this, _alt_extraInitializers), __runInitializers(this, _name_initializers, ''));\n this.size = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));\n this.shape = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _shape_initializers, 'circle'));\n this.loading = (__runInitializers(this, _shape_extraInitializers), __runInitializers(this, _loading_initializers, 'lazy'));\n this.fallbackColor = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _fallbackColor_initializers, '#ffffff'));\n this.fallbackBackground = (__runInitializers(this, _fallbackColor_extraInitializers), __runInitializers(this, _fallbackBackground_initializers, ''));\n this.imageElement = (__runInitializers(this, _fallbackBackground_extraInitializers), __runInitializers(this, _imageElement_initializers, void 0));\n this.fallbackElement = (__runInitializers(this, _imageElement_extraInitializers), __runInitializers(this, _fallbackElement_initializers, void 0));\n this.imageError = (__runInitializers(this, _fallbackElement_extraInitializers), __runInitializers(this, _imageError_initializers, false));\n this.handleImageLoad = (__runInitializers(this, _imageError_extraInitializers), () => {\n this.imageError = false;\n });\n this.handleImageError = () => {\n this.imageError = true;\n };\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _src_decorators = [property({})];\n _alt_decorators = [property({})];\n _name_decorators = [property({})];\n _size_decorators = [property({})];\n _shape_decorators = [property({})];\n _loading_decorators = [property({})];\n _fallbackColor_decorators = [property({ attribute: 'fallback-color', })];\n _fallbackBackground_decorators = [property({ attribute: 'fallback-background', })];\n _imageElement_decorators = [query('.avatar-image')];\n _fallbackElement_decorators = [query('.avatar-fallback')];\n _imageError_decorators = [property({ type: Boolean, attribute: false })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n __esDecorate(this, null, _render_decorators, { kind: \"method\", name: \"render\", static: false, private: false, access: { has: obj => \"render\" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _src_decorators, { kind: \"field\", name: \"src\", static: false, private: false, access: { has: obj => \"src\" in obj, get: obj => obj.src, set: (obj, value) => { obj.src = value; } }, metadata: _metadata }, _src_initializers, _src_extraInitializers);\n __esDecorate(null, null, _alt_decorators, { kind: \"field\", name: \"alt\", static: false, private: false, access: { has: obj => \"alt\" in obj, get: obj => obj.alt, set: (obj, value) => { obj.alt = value; } }, metadata: _metadata }, _alt_initializers, _alt_extraInitializers);\n __esDecorate(null, null, _name_decorators, { kind: \"field\", name: \"name\", static: false, private: false, access: { has: obj => \"name\" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);\n __esDecorate(null, null, _size_decorators, { kind: \"field\", name: \"size\", static: false, private: false, access: { has: obj => \"size\" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);\n __esDecorate(null, null, _shape_decorators, { kind: \"field\", name: \"shape\", static: false, private: false, access: { has: obj => \"shape\" in obj, get: obj => obj.shape, set: (obj, value) => { obj.shape = value; } }, metadata: _metadata }, _shape_initializers, _shape_extraInitializers);\n __esDecorate(null, null, _loading_decorators, { kind: \"field\", name: \"loading\", static: false, private: false, access: { has: obj => \"loading\" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);\n __esDecorate(null, null, _fallbackColor_decorators, { kind: \"field\", name: \"fallbackColor\", static: false, private: false, access: { has: obj => \"fallbackColor\" in obj, get: obj => obj.fallbackColor, set: (obj, value) => { obj.fallbackColor = value; } }, metadata: _metadata }, _fallbackColor_initializers, _fallbackColor_extraInitializers);\n __esDecorate(null, null, _fallbackBackground_decorators, { kind: \"field\", name: \"fallbackBackground\", static: false, private: false, access: { has: obj => \"fallbackBackground\" in obj, get: obj => obj.fallbackBackground, set: (obj, value) => { obj.fallbackBackground = value; } }, metadata: _metadata }, _fallbackBackground_initializers, _fallbackBackground_extraInitializers);\n __esDecorate(null, null, _imageElement_decorators, { kind: \"field\", name: \"imageElement\", static: false, private: false, access: { has: obj => \"imageElement\" in obj, get: obj => obj.imageElement, set: (obj, value) => { obj.imageElement = value; } }, metadata: _metadata }, _imageElement_initializers, _imageElement_extraInitializers);\n __esDecorate(null, null, _fallbackElement_decorators, { kind: \"field\", name: \"fallbackElement\", static: false, private: false, access: { has: obj => \"fallbackElement\" in obj, get: obj => obj.fallbackElement, set: (obj, value) => { obj.fallbackElement = value; } }, metadata: _metadata }, _fallbackElement_initializers, _fallbackElement_extraInitializers);\n __esDecorate(null, null, _imageError_decorators, { kind: \"field\", name: \"imageError\", static: false, private: false, access: { has: obj => \"imageError\" in obj, get: obj => obj.imageError, set: (obj, value) => { obj.imageError = value; } }, metadata: _metadata }, _imageError_initializers, _imageError_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n render() {\n const colorClass = this.fallbackBackground ? '' : this.getColorClass(this.name);\n const bgStyle = this.fallbackBackground ? `--avatar-bg: ${this.fallbackBackground}; --avatar-color: ${this.fallbackColor}` : '';\n const initials = this.getInitials(this.name);\n const avatarClasses = ['avatar', colorClass].filter(Boolean).join(' ');\n const imageClasses = ['avatar-image', this.imageError ? 'avatar-image--error' : ''].filter(Boolean).join(' ');\n const fallbackClasses = ['avatar-fallback', !this.src || this.imageError ? 'avatar-fallback--visible' : ''].filter(Boolean).join(' ');\n return html /*html*/ `\n <div part=\"base\" class=\"${avatarClasses}\" style=\"${bgStyle}\">\n <if ${this.src}>\n <img part=\"image\" class=\"${imageClasses}\"\n src=\"${this.src}\"\n alt=\"${this.alt || this.name}\"\n loading=\"${this.loading}\"\n @load=${this.handleImageLoad}\n @error=${this.handleImageError}>\n </if>\n <div part=\"fallback\" class=\"${fallbackClasses}\">\n <case ${initials}>\n <when value=\"\">\n <svg class=\"avatar-icon\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"/>\n </svg>\n </when>\n <default>\n ${initials}\n </default>\n </case>\n </div>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n getInitials(name) {\n if (!name)\n return '';\n const words = name.trim().split(/\\s+/).filter(w => w.length > 0);\n if (words.length === 0)\n return '';\n if (words.length === 1) {\n return words[0][0].toUpperCase();\n }\n // Use first and second word (not first and last)\n return (words[0][0] + words[1][0]).toUpperCase();\n }\n getColorClass(name) {\n if (!name)\n return '';\n const colors = [\n 'red', 'orange', 'yellow', 'lime', 'green',\n 'teal', 'cyan', 'sky', 'blue', 'indigo',\n 'violet', 'purple', 'fuchsia', 'pink', 'rose'\n ];\n // Hash the name to get a consistent index\n let hash = 0;\n for (let i = 0; i < name.length; i++) {\n hash = name.charCodeAt(i) + ((hash << 5) - hash);\n }\n const colorIndex = Math.abs(hash) % colors.length;\n return `avatar--${colors[colorIndex]}`;\n }\n renderIcon() {\n return html /*html*/ `\n <svg class=\"avatar-icon\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"/>\n </svg>\n `;\n }\n });\n return _classThis;\n})();\n\nexport { SniceAvatar };\n//# sourceMappingURL=snice-avatar.js.map\n","import { __runInitializers, __esDecorate } from 'tslib';\nimport { element, property, dispatch, styles, ready, request, dispose, watch, observe, css } from 'snice';\nimport '../avatar/snice-avatar.js';\n\nvar cssContent = \":host([hidden]){display:none}:host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style}:host([overlay-open]){position:relative;z-index:var(--snice-z-floating,1000)}.calendar{width:100%;max-width:37.5rem;position:relative;height:100%;display:flex;flex-direction:column}.calendar__header{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);display:flex;align-items:center;justify-content:space-between;padding:var(--snice-spacing-md,1rem);background:var(--snice-color-surface,rgb(255 255 255));border-bottom:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar__title{font-family:var(--snice-font-family-display, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);font-size:var(--snice-heading-md, 1.125rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,rgb(23 23 23))}.calendar__nav{display:flex;gap:var(--snice-spacing-xs,.5rem)}.calendar__nav-button{padding:var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);border:1px solid var(--snice-color-border,rgb(226 226 226));background:var(--snice-color-surface,rgb(255 255 255));border-radius:var(--snice-border-radius-md,.25rem);cursor:pointer;transition:background-color var(--snice-transition-fast, 150ms) ease,border-color var(--snice-transition-fast, 150ms) ease;font-size:var(--snice-font-size-sm, .875rem);color:var(--snice-color-text,rgb(23 23 23));font-family:inherit}.calendar__nav-button:hover{background:var(--snice-color-surface-container-low,rgb(250 250 250));border-color:var(--snice-color-border-hover,rgb(204 204 204))}.calendar__nav-button:focus-visible{outline:0;box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:min-content repeat(6,var(--calendar-row-cap,auto));flex:1 1 auto;position:relative;background:var(--snice-color-surface,rgb(255 255 255));container-type:inline-size}.calendar__weekday{box-sizing:border-box;min-width:0;overflow:hidden;padding:var(--snice-spacing-sm,.75rem);text-align:center;font-size:var(--snice-font-size-xs, .75rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text-secondary,rgb(82 82 82));text-transform:uppercase;letter-spacing:var(--snice-tracking-widest, .1em);border-bottom:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar__day{box-sizing:border-box;min-width:0;min-height:min(max(calc(100cqw / 7),3rem,calc(2.125rem + var(--calendar-week-lanes,0) * 1.375rem + var(--calendar-week-more,0rem))),var(--calendar-row-cap,100000px));padding:var(--snice-spacing-xs,.5rem);border:1px solid var(--snice-color-border,rgb(226 226 226));border-top:none;border-left:none;cursor:pointer;transition:background-color var(--snice-transition-fast, 150ms) ease;position:relative;background:var(--snice-color-surface,rgb(255 255 255));color:var(--snice-color-text,rgb(23 23 23));overflow:hidden}.calendar__day:hover{background:var(--snice-color-surface-container-low,rgb(250 250 250))}.calendar__day:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__day--week-start{border-left:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar--week-numbers .calendar__day--week-start{border-left:none}.calendar__day--stretch{min-height:min(max(3rem,calc(2.125rem + var(--calendar-week-lanes,0) * 1.375rem + var(--calendar-week-more,0rem))),var(--calendar-row-cap,100000px))}.calendar__day--static{cursor:default}.calendar__day--static:hover{background:var(--snice-color-surface,rgb(255 255 255))}.calendar__day--static.calendar__day--today:hover{background:var(--snice-color-primary-subtle,rgb(239 246 255))}.calendar__day--other-month{background:var(--snice-color-surface,rgb(255 255 255));color:var(--snice-color-text-tertiary,rgb(115 115 115));opacity:.5}.calendar__day--other-month:hover{opacity:.7}.calendar__day--today{background:var(--snice-color-primary-subtle,rgb(239 246 255))}.calendar__day--today:hover{background:var(--snice-color-primary-subtle-hover,rgb(219 234 254))}.calendar__day--selected{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250))}.calendar__day--selected:hover{background:var(--snice-color-primary-hover,rgb(29 78 216))}.calendar__day--disabled{background:var(--snice-color-surface-container,rgb(241 241 241));color:var(--snice-color-text-tertiary,rgb(115 115 115));opacity:.5;cursor:not-allowed}.calendar__day--disabled:hover{background:var(--snice-color-surface-container,rgb(241 241 241))}.calendar__day-number{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);margin-bottom:var(--snice-spacing-2xs,.25rem)}.calendar__day--selected .calendar__day-number{color:var(--snice-color-text-inverse,rgb(250 250 250))}.calendar__event-bar{display:flex;align-items:center;gap:var(--snice-spacing-3xs,.125rem);position:absolute;inset:0 0 auto 0;margin-top:calc(1.875rem + var(--calendar-event-lane,0) * 1.375rem);margin-inline:var(--snice-spacing-3xs,0.125rem);height:1.125rem;line-height:1.125rem;font-size:var(--snice-font-size-2xs, .625rem);padding:0 var(--snice-spacing-2xs,.25rem);border-radius:var(--snice-border-radius-sm,.125rem);background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));white-space:nowrap;overflow:hidden;cursor:pointer;z-index:1;transition:opacity var(--snice-transition-fast, 150ms) ease}.calendar__event-bar--compact{padding-inline:var(--snice-spacing-3xs,0.125rem)}.calendar__event-title{overflow:hidden;text-overflow:ellipsis;min-width:0}.calendar__event-avatar{flex:none;--avatar-size:0.875rem;font-size:.375rem;border-radius:50%;overflow:hidden}.calendar__popover{position:absolute;z-index:var(--snice-z-floating,1000);min-width:14rem;max-width:22rem;padding:var(--snice-spacing-sm,.75rem);border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.25rem);background:var(--snice-color-surface,rgb(255 255 255));color:var(--snice-color-text,rgb(23 23 23));font-size:var(--snice-font-size-sm, .875rem);line-height:1.5;box-shadow:var(--snice-shadow-lg,0 10px 15px -3px rgb(0 0 0 / .1))}.calendar__popover:focus-visible{outline:0;box-shadow:var(--snice-shadow-lg,0 10px 15px -3px rgb(0 0 0 / .1)),0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__popover-loading{color:var(--snice-color-text-secondary,rgb(82 82 82));font-size:var(--snice-font-size-xs, .75rem)}.calendar__more-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--snice-spacing-3xs,.125rem);max-height:15rem;overflow-y:auto}.calendar__more-item{display:flex;align-items:center;gap:var(--snice-spacing-xs,.5rem);width:100%;padding:var(--snice-spacing-2xs,.25rem) var(--snice-spacing-xs,.5rem);border:none;border-radius:var(--snice-border-radius-sm,.125rem);background:0 0;color:var(--snice-color-text,rgb(23 23 23));font-family:inherit;font-size:var(--snice-font-size-sm, .875rem);text-align:start;cursor:pointer;transition:background-color var(--snice-transition-fast, 150ms) ease}.calendar__more-item:hover{background:var(--snice-color-surface-container-low,rgb(250 250 250))}.calendar__more-item:focus-visible{outline:0;box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__more-dot{flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--snice-color-primary,rgb(37 99 235))}.calendar__more-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.calendar__more-date{margin:0 0 var(--snice-spacing-2xs,.25rem);font-size:var(--snice-font-size-xs, .75rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text-secondary,rgb(82 82 82))}.calendar__tooltip{position:absolute;z-index:var(--snice-z-floating,1000);max-width:18rem;padding:var(--snice-spacing-2xs,.25rem) var(--snice-spacing-xs,.5rem);border-radius:var(--snice-border-radius-md,.25rem);background:var(--snice-tooltip-bg,rgb(51 51 51));color:var(--snice-tooltip-color,rgb(255 255 255));font-size:var(--snice-font-size-xs, .75rem);line-height:1.4;box-shadow:var(--snice-shadow-md,0 4px 6px -1px rgb(0 0 0 / .1));pointer-events:none}.calendar__event-bar:hover{opacity:.8}.calendar__event-bar--continues-left{border-top-left-radius:0;border-bottom-left-radius:0;margin-inline-start:0}.calendar__event-bar--continues-right{border-top-right-radius:0;border-bottom-right-radius:0;margin-inline-end:0}.calendar__more{position:absolute;bottom:var(--snice-spacing-3xs,.125rem);left:var(--snice-spacing-2xs,.25rem);font-size:var(--snice-font-size-xs, .75rem);font-weight:var(--snice-font-weight-medium,500);color:var(--snice-color-text,rgb(23 23 23));cursor:pointer}.calendar__more:hover{text-decoration:underline}.calendar__more:focus-visible{outline:0;box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar--week-numbers .calendar__grid{grid-template-columns:var(--calendar-week-number-width,2.25rem) repeat(7,minmax(0,1fr))}.calendar--week-numbers .calendar__weekday{padding-inline:var(--snice-spacing-2xs,0.25rem)}.calendar--week-numbers .calendar__day{min-height:min(max(calc((100cqw - var(--calendar-week-number-width,2.25rem))/ 7),3rem,calc(2.125rem + var(--calendar-week-lanes,0) * 1.375rem + var(--calendar-week-more,0rem))),var(--calendar-row-cap,100000px))}.calendar__week-number{box-sizing:border-box;display:flex;align-items:flex-start;justify-content:center;padding:var(--snice-spacing-xs,.5rem) var(--snice-spacing-2xs,.25rem);text-align:center;font-size:var(--snice-font-size-xs, .75rem);font-variant-numeric:tabular-nums;color:var(--snice-color-text-tertiary,rgb(115 115 115));background:var(--snice-color-surface-container-low,rgb(250 250 250));border:1px solid var(--snice-color-border,rgb(226 226 226));border-top:none}.calendar__week-number--header{background:var(--snice-color-surface,rgb(255 255 255));border:none;border-bottom:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar--week .calendar__grid{grid-template-columns:repeat(7,1fr)}.calendar--week .calendar__day{min-height:7.5rem}.calendar--day .calendar__grid{grid-template-columns:1fr}.calendar--day .calendar__day{min-height:25rem}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}}\";\n\nlet SniceCalendar = (() => {\n let _classDecorators = [element('snice-calendar')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _view_decorators;\n let _view_initializers = [];\n let _view_extraInitializers = [];\n let _events_decorators;\n let _events_initializers = [];\n let _events_extraInitializers = [];\n let _minDate_decorators;\n let _minDate_initializers = [];\n let _minDate_extraInitializers = [];\n let _maxDate_decorators;\n let _maxDate_initializers = [];\n let _maxDate_extraInitializers = [];\n let _disabledDates_decorators;\n let _disabledDates_initializers = [];\n let _disabledDates_extraInitializers = [];\n let _highlightToday_decorators;\n let _highlightToday_initializers = [];\n let _highlightToday_extraInitializers = [];\n let _showWeekNumbers_decorators;\n let _showWeekNumbers_initializers = [];\n let _showWeekNumbers_extraInitializers = [];\n let _firstDayOfWeek_decorators;\n let _firstDayOfWeek_initializers = [];\n let _firstDayOfWeek_extraInitializers = [];\n let _locale_decorators;\n let _locale_initializers = [];\n let _locale_extraInitializers = [];\n let _noDaySelect_decorators;\n let _noDaySelect_initializers = [];\n let _noDaySelect_extraInitializers = [];\n let _cellSizing_decorators;\n let _cellSizing_initializers = [];\n let _cellSizing_extraInitializers = [];\n let _eventTooltip_decorators;\n let _eventTooltip_initializers = [];\n let _eventTooltip_extraInitializers = [];\n let _eventPopover_decorators;\n let _eventPopover_initializers = [];\n let _eventPopover_extraInitializers = [];\n let _dispatchChange_decorators;\n let _dispatchEventClick_decorators;\n let _styles_decorators;\n let _initialize_decorators;\n let _requestEventPopoverContent_decorators;\n let _cleanupPopover_decorators;\n let _handlePropertyChange_decorators;\n let _handleCalendarResize_decorators;\n let _handleWeekdayInputsChange_decorators;\n var SniceCalendar = class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n /**\n * The selected day, or `null` for \"nothing selected yet\" — the state a\n * calendar starts in. A default of today would paint the selected\n * background over today's own highlight, making `highlight-today` invisible\n * and announcing `aria-selected` for a choice the user never made.\n */\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, null));\n this.view = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _view_initializers, 'month'));\n this.events = (__runInitializers(this, _view_extraInitializers), __runInitializers(this, _events_initializers, []));\n this.minDate = (__runInitializers(this, _events_extraInitializers), __runInitializers(this, _minDate_initializers, ''));\n this.maxDate = (__runInitializers(this, _minDate_extraInitializers), __runInitializers(this, _maxDate_initializers, ''));\n this.disabledDates = (__runInitializers(this, _maxDate_extraInitializers), __runInitializers(this, _disabledDates_initializers, []));\n this.highlightToday = (__runInitializers(this, _disabledDates_extraInitializers), __runInitializers(this, _highlightToday_initializers, true));\n this.showWeekNumbers = (__runInitializers(this, _highlightToday_extraInitializers), __runInitializers(this, _showWeekNumbers_initializers, false));\n this.firstDayOfWeek = (__runInitializers(this, _showWeekNumbers_extraInitializers), __runInitializers(this, _firstDayOfWeek_initializers, 0)); // 0 = Sunday, 1 = Monday\n this.locale = (__runInitializers(this, _firstDayOfWeek_extraInitializers), __runInitializers(this, _locale_initializers, 'en-US'));\n this.noDaySelect = (__runInitializers(this, _locale_extraInitializers), __runInitializers(this, _noDaySelect_initializers, false));\n this.cellSizing = (__runInitializers(this, _noDaySelect_extraInitializers), __runInitializers(this, _cellSizing_initializers, 'square'));\n this.eventTooltip = (__runInitializers(this, _cellSizing_extraInitializers), __runInitializers(this, _eventTooltip_initializers, null));\n this.eventPopover = (__runInitializers(this, _eventTooltip_extraInitializers), __runInitializers(this, _eventPopover_initializers, null));\n this.displayDate = (__runInitializers(this, _eventPopover_extraInitializers), new Date());\n this.tooltipToken = 0;\n this.tooltipBar = null;\n this.popoverToken = 0;\n this.popoverBar = null;\n this.boundPopoverEscape = (e) => {\n if (e.key === 'Escape' && this.popoverBar)\n this.closeEventPopover();\n };\n this.boundPopoverOutside = (e) => {\n if (!this.popoverBar)\n return;\n if (e.composedPath().includes(this.popoverEl))\n return;\n this.closeEventPopover({ returnFocus: false });\n };\n this.dayCells = [];\n this.weekNumberCells = [];\n this.focusedDate = null;\n this.handleGridKeydown = (e) => {\n const target = e.target;\n const currentDate = target.__date;\n if (!currentDate)\n return;\n let delta = null;\n let monthStep = null;\n switch (e.key) {\n case 'ArrowLeft':\n delta = -1;\n break;\n case 'ArrowRight':\n delta = 1;\n break;\n case 'ArrowUp':\n delta = -7;\n break;\n case 'ArrowDown':\n delta = 7;\n break;\n case 'Home':\n delta = -currentDate.getDay();\n break;\n case 'End':\n delta = 6 - currentDate.getDay();\n break;\n case 'PageUp':\n monthStep = -1;\n break;\n case 'PageDown':\n monthStep = 1;\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n this.handleDayClick(currentDate);\n return;\n default: return;\n }\n e.preventDefault();\n const next = new Date(currentDate);\n if (delta !== null)\n next.setDate(currentDate.getDate() + delta);\n if (monthStep !== null)\n next.setMonth(currentDate.getMonth() + monthStep);\n // If moved outside the displayed month, navigate.\n if (next.getMonth() !== this.displayDate.getMonth() ||\n next.getFullYear() !== this.displayDate.getFullYear()) {\n this.displayDate = new Date(next.getFullYear(), next.getMonth(), 1);\n }\n this.focusedDate = next;\n this.updateView();\n // Move focus to the newly-selected cell after DOM update.\n const sameAs = (d, e2) => d.getFullYear() === e2.getFullYear() &&\n d.getMonth() === e2.getMonth() &&\n d.getDate() === e2.getDate();\n requestAnimationFrame(() => {\n const cell = this.dayCells.find(c => sameAs(c.__date, next));\n cell?.focus();\n });\n };\n /** True while `--calendar-row-cap` is holding the week rows below the size\n * they would take of their own accord. */\n this.rowCapped = false;\n /** Box the stripes were last laid out against, so a resize that changes\n * nothing (including the one the render itself causes) is a no-op. */\n this.laidOutFor = '';\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _value_decorators = [property({ type: Date })];\n _view_decorators = [property({ attribute: 'view' })];\n _events_decorators = [property({ type: Array, attribute: false })];\n _minDate_decorators = [property({ type: Date, attribute: 'min-date' })];\n _maxDate_decorators = [property({ type: Date, attribute: 'max-date' })];\n _disabledDates_decorators = [property({ type: Array, attribute: false })];\n _highlightToday_decorators = [property({ type: Boolean, attribute: 'highlight-today' })];\n _showWeekNumbers_decorators = [property({ type: Boolean, attribute: 'show-week-numbers' })];\n _firstDayOfWeek_decorators = [property({ type: Number, attribute: 'first-day-of-week' })];\n _locale_decorators = [property({ attribute: 'locale' })];\n _noDaySelect_decorators = [property({ type: Boolean, attribute: 'no-day-select' })];\n _cellSizing_decorators = [property({ attribute: 'cell-sizing' })];\n _eventTooltip_decorators = [property({ attribute: false })];\n _eventPopover_decorators = [property({ attribute: false })];\n _dispatchChange_decorators = [dispatch('calendar-change', { bubbles: true, composed: true })];\n _dispatchEventClick_decorators = [dispatch('calendar-event-click', { bubbles: true, composed: true })];\n _styles_decorators = [styles()];\n _initialize_decorators = [ready()];\n _requestEventPopoverContent_decorators = [request('calendar/event-popover')];\n _cleanupPopover_decorators = [dispose()];\n _handlePropertyChange_decorators = [watch('value'), watch('events'), watch('eventTooltip'), watch('noDaySelect'), watch('cellSizing'), watch('showWeekNumbers'), watch('highlightToday')];\n _handleCalendarResize_decorators = [observe('resize', { throttle: 100 })];\n _handleWeekdayInputsChange_decorators = [watch('locale'), watch('firstDayOfWeek')];\n __esDecorate(this, null, _dispatchChange_decorators, { kind: \"method\", name: \"dispatchChange\", static: false, private: false, access: { has: obj => \"dispatchChange\" in obj, get: obj => obj.dispatchChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchEventClick_decorators, { kind: \"method\", name: \"dispatchEventClick\", static: false, private: false, access: { has: obj => \"dispatchEventClick\" in obj, get: obj => obj.dispatchEventClick }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _initialize_decorators, { kind: \"method\", name: \"initialize\", static: false, private: false, access: { has: obj => \"initialize\" in obj, get: obj => obj.initialize }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _requestEventPopoverContent_decorators, { kind: \"method\", name: \"requestEventPopoverContent\", static: false, private: false, access: { has: obj => \"requestEventPopoverContent\" in obj, get: obj => obj.requestEventPopoverContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _cleanupPopover_decorators, { kind: \"method\", name: \"cleanupPopover\", static: false, private: false, access: { has: obj => \"cleanupPopover\" in obj, get: obj => obj.cleanupPopover }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handlePropertyChange_decorators, { kind: \"method\", name: \"handlePropertyChange\", static: false, private: false, access: { has: obj => \"handlePropertyChange\" in obj, get: obj => obj.handlePropertyChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleCalendarResize_decorators, { kind: \"method\", name: \"handleCalendarResize\", static: false, private: false, access: { has: obj => \"handleCalendarResize\" in obj, get: obj => obj.handleCalendarResize }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleWeekdayInputsChange_decorators, { kind: \"method\", name: \"handleWeekdayInputsChange\", static: false, private: false, access: { has: obj => \"handleWeekdayInputsChange\" in obj, get: obj => obj.handleWeekdayInputsChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _value_decorators, { kind: \"field\", name: \"value\", static: false, private: false, access: { has: obj => \"value\" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);\n __esDecorate(null, null, _view_decorators, { kind: \"field\", name: \"view\", static: false, private: false, access: { has: obj => \"view\" in obj, get: obj => obj.view, set: (obj, value) => { obj.view = value; } }, metadata: _metadata }, _view_initializers, _view_extraInitializers);\n __esDecorate(null, null, _events_decorators, { kind: \"field\", name: \"events\", static: false, private: false, access: { has: obj => \"events\" in obj, get: obj => obj.events, set: (obj, value) => { obj.events = value; } }, metadata: _metadata }, _events_initializers, _events_extraInitializers);\n __esDecorate(null, null, _minDate_decorators, { kind: \"field\", name: \"minDate\", static: false, private: false, access: { has: obj => \"minDate\" in obj, get: obj => obj.minDate, set: (obj, value) => { obj.minDate = value; } }, metadata: _metadata }, _minDate_initializers, _minDate_extraInitializers);\n __esDecorate(null, null, _maxDate_decorators, { kind: \"field\", name: \"maxDate\", static: false, private: false, access: { has: obj => \"maxDate\" in obj, get: obj => obj.maxDate, set: (obj, value) => { obj.maxDate = value; } }, metadata: _metadata }, _maxDate_initializers, _maxDate_extraInitializers);\n __esDecorate(null, null, _disabledDates_decorators, { kind: \"field\", name: \"disabledDates\", static: false, private: false, access: { has: obj => \"disabledDates\" in obj, get: obj => obj.disabledDates, set: (obj, value) => { obj.disabledDates = value; } }, metadata: _metadata }, _disabledDates_initializers, _disabledDates_extraInitializers);\n __esDecorate(null, null, _highlightToday_decorators, { kind: \"field\", name: \"highlightToday\", static: false, private: false, access: { has: obj => \"highlightToday\" in obj, get: obj => obj.highlightToday, set: (obj, value) => { obj.highlightToday = value; } }, metadata: _metadata }, _highlightToday_initializers, _highlightToday_extraInitializers);\n __esDecorate(null, null, _showWeekNumbers_decorators, { kind: \"field\", name: \"showWeekNumbers\", static: false, private: false, access: { has: obj => \"showWeekNumbers\" in obj, get: obj => obj.showWeekNumbers, set: (obj, value) => { obj.showWeekNumbers = value; } }, metadata: _metadata }, _showWeekNumbers_initializers, _showWeekNumbers_extraInitializers);\n __esDecorate(null, null, _firstDayOfWeek_decorators, { kind: \"field\", name: \"firstDayOfWeek\", static: false, private: false, access: { has: obj => \"firstDayOfWeek\" in obj, get: obj => obj.firstDayOfWeek, set: (obj, value) => { obj.firstDayOfWeek = value; } }, metadata: _metadata }, _firstDayOfWeek_initializers, _firstDayOfWeek_extraInitializers);\n __esDecorate(null, null, _locale_decorators, { kind: \"field\", name: \"locale\", static: false, private: false, access: { has: obj => \"locale\" in obj, get: obj => obj.locale, set: (obj, value) => { obj.locale = value; } }, metadata: _metadata }, _locale_initializers, _locale_extraInitializers);\n __esDecorate(null, null, _noDaySelect_decorators, { kind: \"field\", name: \"noDaySelect\", static: false, private: false, access: { has: obj => \"noDaySelect\" in obj, get: obj => obj.noDaySelect, set: (obj, value) => { obj.noDaySelect = value; } }, metadata: _metadata }, _noDaySelect_initializers, _noDaySelect_extraInitializers);\n __esDecorate(null, null, _cellSizing_decorators, { kind: \"field\", name: \"cellSizing\", static: false, private: false, access: { has: obj => \"cellSizing\" in obj, get: obj => obj.cellSizing, set: (obj, value) => { obj.cellSizing = value; } }, metadata: _metadata }, _cellSizing_initializers, _cellSizing_extraInitializers);\n __esDecorate(null, null, _eventTooltip_decorators, { kind: \"field\", name: \"eventTooltip\", static: false, private: false, access: { has: obj => \"eventTooltip\" in obj, get: obj => obj.eventTooltip, set: (obj, value) => { obj.eventTooltip = value; } }, metadata: _metadata }, _eventTooltip_initializers, _eventTooltip_extraInitializers);\n __esDecorate(null, null, _eventPopover_decorators, { kind: \"field\", name: \"eventPopover\", static: false, private: false, access: { has: obj => \"eventPopover\" in obj, get: obj => obj.eventPopover, set: (obj, value) => { obj.eventPopover = value; } }, metadata: _metadata }, _eventPopover_initializers, _eventPopover_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n SniceCalendar = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n }\n /**\n * Columns the day grid is shifted by. The week-number column occupies the\n * grid's first column, so every explicitly-placed child — weekday headers,\n * day cells, event stripes — moves one column right while it is shown.\n */\n get columnOffset() {\n return this.showWeekNumbers ? 1 : 0;\n }\n computeRovingIndex(days) {\n // Prefer: focused → selected → today → first in-month day\n const same = (a, b) => a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate();\n if (this.focusedDate) {\n const idx = days.findIndex(d => same(d, this.focusedDate));\n if (idx >= 0)\n return idx;\n }\n if (this.value) {\n const s = this.value instanceof Date ? this.value : new Date(this.value);\n if (!isNaN(s.getTime())) {\n const idx = days.findIndex(d => same(d, s));\n if (idx >= 0)\n return idx;\n }\n }\n const today = new Date();\n const tIdx = days.findIndex(d => same(d, today));\n if (tIdx >= 0)\n return tIdx;\n return days.findIndex(d => d.getMonth() === this.displayDate.getMonth());\n }\n dispatchChange() {\n return { value: this.value, calendar: this };\n }\n dispatchEventClick(event) {\n return { event, calendar: this };\n }\n /**\n * `calendar-more-click` carries a default action (the built-in day panel),\n * so it is cancelable and the component has to read the result of the\n * dispatch. `@dispatch` accepts `cancelable` — it is EventInit passthrough —\n * but the decorated method returns the detail, not `dispatchEvent`'s\n * boolean, so a cancelable default action cannot be observed through it.\n * Dispatched by hand for that reason, the same way `snice-link`'s `navigate`\n * and `snice-stepper`'s `step-change` are.\n *\n * @returns `false` when a listener called `preventDefault()`.\n */\n dispatchMoreClick(date, count) {\n return this.dispatchEvent(new CustomEvent('calendar-more-click', {\n detail: { date, count, calendar: this },\n bubbles: true,\n composed: true,\n cancelable: true,\n }));\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n initialize() {\n this.createDOM();\n this.updateView();\n }\n createDOM() {\n const shadow = this.shadowRoot;\n // Create container\n this.container = document.createElement('div');\n this.container.className = `calendar calendar--${this.view}`;\n this.container.setAttribute('part', 'base');\n // Create header\n this.header = document.createElement('div');\n this.header.className = 'calendar__header';\n this.header.setAttribute('part', 'header');\n const title = document.createElement('div');\n title.className = 'calendar__title';\n const nav = document.createElement('div');\n nav.className = 'calendar__nav';\n const todayBtn = document.createElement('button');\n todayBtn.className = 'calendar__nav-button';\n todayBtn.textContent = 'Today';\n todayBtn.onclick = () => this.goToToday();\n const prevBtn = document.createElement('button');\n prevBtn.className = 'calendar__nav-button';\n prevBtn.textContent = '‹';\n prevBtn.onclick = () => this.previousMonth();\n const nextBtn = document.createElement('button');\n nextBtn.className = 'calendar__nav-button';\n nextBtn.textContent = '›';\n nextBtn.onclick = () => this.nextMonth();\n nav.appendChild(todayBtn);\n nav.appendChild(prevBtn);\n nav.appendChild(nextBtn);\n this.header.appendChild(title);\n this.header.appendChild(nav);\n // Create grid\n this.grid = document.createElement('div');\n this.grid.className = 'calendar__grid';\n this.grid.setAttribute('part', 'grid');\n // Add weekday headers. Every grid child gets an explicit position —\n // event stripe bars are placed explicitly, and mixing explicit items\n // with auto-flow would push auto-placed cells out of their slots.\n const weekdays = this.getWeekdays();\n weekdays.forEach((day, i) => {\n const weekdayEl = document.createElement('div');\n weekdayEl.className = 'calendar__weekday';\n weekdayEl.textContent = day;\n weekdayEl.style.gridRow = '1';\n weekdayEl.style.gridColumn = String(i + 1 + this.columnOffset);\n this.grid.appendChild(weekdayEl);\n });\n // Mark grid for a11y\n this.grid.setAttribute('role', 'grid');\n this.grid.setAttribute('aria-label', 'Calendar');\n this.grid.addEventListener('keydown', this.handleGridKeydown);\n // Create 42 day cells\n for (let i = 0; i < 42; i++) {\n const dayCell = document.createElement('div');\n dayCell.className = 'calendar__day';\n dayCell.setAttribute('role', 'gridcell');\n // Roving tabindex: only one cell is tabbable at a time. Start by\n // making the first cell tabbable; updateView re-targets the focused\n // date so today/selected gets the 0.\n dayCell.setAttribute('tabindex', i === 0 ? '0' : '-1');\n dayCell.style.gridRow = String(Math.floor(i / 7) + 2);\n dayCell.style.gridColumn = String((i % 7) + 1 + this.columnOffset);\n const dayNumber = document.createElement('div');\n dayNumber.className = 'calendar__day-number';\n dayCell.appendChild(dayNumber);\n this.grid.appendChild(dayCell);\n this.dayCells.push(dayCell);\n }\n // Week-number column: a header corner cell plus one row header per week\n // row, all in the reserved first column. Built once here and attached only\n // while `show-week-numbers` is on, so a calendar without it carries no\n // extra nodes.\n this.weekNumberHeader = document.createElement('div');\n this.weekNumberHeader.className =\n 'calendar__week-number calendar__week-number--header';\n this.weekNumberHeader.setAttribute('part', 'week-number-header');\n this.weekNumberHeader.setAttribute('aria-hidden', 'true');\n this.weekNumberHeader.style.gridRow = '1';\n this.weekNumberHeader.style.gridColumn = '1';\n for (let week = 0; week < 6; week++) {\n const weekCell = document.createElement('div');\n weekCell.className = 'calendar__week-number';\n weekCell.setAttribute('part', 'week-number');\n weekCell.setAttribute('role', 'rowheader');\n weekCell.style.gridRow = String(week + 2);\n weekCell.style.gridColumn = '1';\n this.weekNumberCells.push(weekCell);\n }\n // Shared tooltip overlay for event bars — one element, repositioned per\n // bar, so rich content can load lazily without a tooltip instance per bar.\n this.tooltipEl = document.createElement('div');\n this.tooltipEl.className = 'calendar__tooltip';\n this.tooltipEl.setAttribute('part', 'event-tooltip');\n this.tooltipEl.setAttribute('role', 'tooltip');\n this.tooltipEl.id = 'calendar-event-tooltip';\n this.tooltipEl.hidden = true;\n // Interactive click-to-open popover for event details. One shared panel,\n // anchored per bar; content may load lazily (provider or the\n // calendar/event-popover request channel).\n this.popoverEl = document.createElement('div');\n this.popoverEl.className = 'calendar__popover';\n this.popoverEl.setAttribute('part', 'event-popover');\n this.popoverEl.setAttribute('role', 'dialog');\n this.popoverEl.setAttribute('aria-label', 'Event details');\n this.popoverEl.tabIndex = -1;\n this.popoverEl.hidden = true;\n this.container.appendChild(this.header);\n this.container.appendChild(this.grid);\n this.container.appendChild(this.tooltipEl);\n this.container.appendChild(this.popoverEl);\n shadow.appendChild(this.container);\n }\n /**\n * Dynamic popover channel: yields `{ event }` so any\n * `@respond('calendar/event-popover')` controller can return the content.\n */\n async *requestEventPopoverContent(event) {\n return await (yield { event });\n }\n /**\n * Opens the shared overlay, empty, anchored on `anchor`, and arms its\n * Escape / outside-press dismissal. Both panels the calendar owns — the\n * event popover and the \"+N more\" day list — go through here, so they share\n * one dismissal contract and one focus-return target.\n *\n * @returns the token identifying this opening; async content must check it\n * against `popoverToken` before painting.\n */\n beginPopover(anchor, label) {\n const token = ++this.popoverToken;\n this.hideEventTooltip();\n // A trigger that advertises aria-haspopup owes the reader the panel's\n // state too — and the previous anchor is stale the moment this one opens\n // (an entry in the day panel re-anchors the overlay on the same chip).\n this.setAnchorExpanded(this.popoverBar, false);\n this.setAnchorExpanded(anchor, true);\n this.popoverBar = anchor;\n this.popoverEl.setAttribute('aria-label', label);\n this.popoverEl.replaceChildren();\n this.popoverEl.hidden = false;\n this.syncOverlayLift();\n document.addEventListener('keydown', this.boundPopoverEscape, true);\n document.addEventListener('mousedown', this.boundPopoverOutside, true);\n return token;\n }\n async openEventPopover(bar, event) {\n // Anchor + loading shell first, so slow content still feels responsive.\n const token = this.beginPopover(bar, event.title || 'Event details');\n const loading = document.createElement('div');\n loading.className = 'calendar__popover-loading';\n loading.textContent = 'Loading…';\n this.popoverEl.appendChild(loading);\n this.positionPopover(bar);\n let content;\n try {\n if (event.popover !== true && event.popover) {\n content = typeof event.popover === 'function' ? event.popover() : event.popover;\n }\n else if (this.eventPopover) {\n content = await this.eventPopover(event);\n }\n else {\n content = await this.requestEventPopoverContent(event);\n }\n }\n catch {\n // No responder discovered (or the provider failed) — close quietly.\n content = undefined;\n }\n if (token !== this.popoverToken)\n return; // closed (or replaced) meanwhile\n if (content == null) {\n console.warn(`[snice-calendar] event \"${String(event.id)}\" enables a popover but no content was provided — set eventPopover, event.popover content, or a @respond('calendar/event-popover') handler.`);\n this.closeEventPopover({ returnFocus: false });\n return;\n }\n if (typeof content === 'string')\n this.popoverEl.textContent = content;\n else\n this.popoverEl.replaceChildren(content);\n this.positionPopover(bar);\n this.popoverEl.focus();\n }\n /**\n * The \"+N more\" chip's built-in default action: the day's hidden events,\n * listed in the shared overlay.\n *\n * Wiring `calendar-more-click` is an application concern, but a chip that\n * visibly does nothing when clicked reads as broken, so the component owns a\n * sensible default. It is only a default — the event is cancelable, and\n * `preventDefault()` leaves the day to the app.\n */\n openMorePanel(chip, date, hidden) {\n const dayLabel = date.toLocaleDateString(this.locale, { dateStyle: 'full' });\n this.beginPopover(chip, `${hidden.length} more event${hidden.length === 1 ? '' : 's'} on ${dayLabel}`);\n const heading = document.createElement('p');\n heading.className = 'calendar__more-date';\n heading.setAttribute('part', 'more-panel-date');\n heading.textContent = dayLabel;\n const list = document.createElement('ul');\n list.className = 'calendar__more-list';\n list.setAttribute('part', 'more-list');\n // Explicit: `list-style: none` drops the implicit list role in WebKit.\n list.setAttribute('role', 'list');\n for (const event of hidden) {\n const item = document.createElement('li');\n const entry = document.createElement('button');\n entry.type = 'button';\n entry.className = 'calendar__more-item';\n entry.setAttribute('part', 'more-item');\n const dot = document.createElement('span');\n dot.className = 'calendar__more-dot';\n dot.setAttribute('part', 'more-dot');\n dot.setAttribute('aria-hidden', 'true');\n if (event.color)\n dot.style.background = event.color;\n const title = document.createElement('span');\n title.className = 'calendar__more-title';\n title.textContent = event.title;\n entry.append(dot, title);\n entry.onclick = (e) => this.handleMorePanelEntry(chip, event, e);\n item.appendChild(entry);\n list.appendChild(item);\n }\n this.popoverEl.append(heading, list);\n this.positionPopover(chip);\n this.popoverEl.focus();\n }\n /**\n * A panel entry behaves like the event's own stripe: it reports the click,\n * and drills into the event's popover when it has one. Without popover\n * content there is nothing further to show, so the panel closes and hands\n * focus back to the chip.\n */\n handleMorePanelEntry(chip, event, e) {\n this.handleEventClick(event, e);\n if (event.popover)\n this.openEventPopover(chip, event);\n else\n this.closeEventPopover();\n }\n /**\n * Places an overlay at a point given in viewport coordinates.\n *\n * `:host` declares `contain: layout`, which makes the host — not the\n * viewport — the containing block for its `position: fixed` descendants, so\n * viewport coordinates written straight into `left`/`top` land the overlay a\n * whole host-offset down the page. The overlays are `position: absolute`\n * inside `.calendar` instead, and the target is converted into that box\n * here, which is correct with or without the containment.\n */\n placeOverlay(el, viewportX, viewportY) {\n // The containing block is the container's PADDING box, while the rect is\n // its border box — `clientLeft`/`clientTop` are the border widths between\n // them. They are 0 by default and non-zero only when a consumer borders\n // the documented `::part(base)`, which would otherwise shift both overlays\n // off their bar by that width.\n const origin = this.container.getBoundingClientRect();\n el.style.left = `${viewportX - origin.left - this.container.clientLeft}px`;\n el.style.top = `${viewportY - origin.top - this.container.clientTop}px`;\n }\n /** Gap between a bar and its overlay, and the minimum viewport margin. */\n static { this.OVERLAY_GAP = 6; }\n static { this.OVERLAY_EDGE = 4; }\n /** Clamps an overlay's left edge into the viewport. */\n clampOverlayX(left, width) {\n const edge = SniceCalendar.OVERLAY_EDGE;\n const vw = window.innerWidth || 0;\n return Math.max(edge, vw > 0 ? Math.min(left, vw - width - edge) : left);\n }\n positionPopover(bar) {\n const rect = bar.getBoundingClientRect();\n const width = this.popoverEl.offsetWidth;\n const height = this.popoverEl.offsetHeight;\n const gap = SniceCalendar.OVERLAY_GAP;\n const edge = SniceCalendar.OVERLAY_EDGE;\n const vh = window.innerHeight || 0;\n let y = rect.bottom + gap;\n if (vh > 0 && y + height > vh - edge) {\n // No room under the bar — flip above it, or pin to the bottom margin\n // when the panel is taller than either side.\n const above = rect.top - gap - height;\n y = above >= edge ? above : Math.max(edge, vh - height - edge);\n }\n this.placeOverlay(this.popoverEl, this.clampOverlayX(rect.left, width), y);\n }\n closeEventPopover(options = {}) {\n if (!this.popoverBar)\n return;\n this.popoverToken++;\n const bar = this.popoverBar;\n this.setAnchorExpanded(bar, false);\n this.popoverBar = null;\n this.popoverEl.hidden = true;\n this.popoverEl.replaceChildren();\n this.syncOverlayLift();\n document.removeEventListener('keydown', this.boundPopoverEscape, true);\n document.removeEventListener('mousedown', this.boundPopoverOutside, true);\n if (options.returnFocus !== false && bar.isConnected)\n bar.focus();\n }\n /** Keeps a popup trigger's `aria-expanded` in step with the overlay. Guarded\n * on `aria-haspopup` so only the anchors that actually advertise a popup —\n * the \"+N more\" chip and an event bar carrying popover content — claim the\n * state; a plain bar is not a trigger and must not report one. */\n setAnchorExpanded(anchor, expanded) {\n if (!anchor?.hasAttribute('aria-haspopup'))\n return;\n anchor.setAttribute('aria-expanded', String(expanded));\n }\n cleanupPopover() {\n document.removeEventListener('keydown', this.boundPopoverEscape, true);\n document.removeEventListener('mousedown', this.boundPopoverOutside, true);\n }\n async showEventTooltip(bar, event) {\n const token = ++this.tooltipToken;\n const provider = this.eventTooltip;\n let content;\n if (provider) {\n try {\n content = await provider(event);\n }\n catch {\n content = event.tooltip;\n }\n }\n else {\n content = event.tooltip;\n }\n // Pointer already left (or moved to another bar) while loading.\n if (token !== this.tooltipToken || content == null)\n return;\n if (typeof content === 'string')\n this.tooltipEl.textContent = content;\n else\n this.tooltipEl.replaceChildren(content);\n this.tooltipEl.hidden = false;\n this.tooltipBar = bar;\n bar.setAttribute('aria-describedby', this.tooltipEl.id);\n this.syncOverlayLift();\n this.positionTooltip(bar);\n }\n positionTooltip(bar) {\n const rect = bar.getBoundingClientRect();\n const gap = SniceCalendar.OVERLAY_GAP;\n const edge = SniceCalendar.OVERLAY_EDGE;\n // Above the bar, or under it when the top of the viewport is in the way.\n let y = rect.top - this.tooltipEl.offsetHeight - gap;\n if (y < edge)\n y = rect.bottom + gap;\n this.placeOverlay(this.tooltipEl, this.clampOverlayX(rect.left, this.tooltipEl.offsetWidth), y);\n }\n hideEventTooltip() {\n this.tooltipToken++;\n this.tooltipEl.hidden = true;\n this.tooltipBar?.removeAttribute('aria-describedby');\n this.tooltipBar = null;\n this.syncOverlayLift();\n }\n /**\n * Marks the host while a tooltip or popover is showing. Layout containment\n * makes the host a stacking context, so an overlay can only paint above what\n * follows the calendar if the host itself is lifted — see\n * `:host([overlay-open])` in the stylesheet.\n */\n syncOverlayLift() {\n this.toggleAttribute('overlay-open', !!this.popoverBar || !!this.tooltipBar);\n }\n updateView() {\n // Update header title\n const monthName = this.displayDate.toLocaleDateString(this.locale, { month: 'long', year: 'numeric' });\n const titleEl = this.header.querySelector('.calendar__title');\n if (titleEl)\n titleEl.textContent = monthName;\n // Update day cells\n const days = this.getMonthDays();\n const currentMonth = this.displayDate.getMonth();\n // The week-number column shifts every explicitly-placed grid child, so it\n // is resolved before the cells are positioned.\n this.syncWeekNumberColumn(days);\n // Resolve which cell should be tab-stoppable (roving tabindex).\n const rovingIndex = this.computeRovingIndex(days);\n days.forEach((date, i) => {\n const cell = this.dayCells[i];\n if (!cell)\n return;\n const isOtherMonth = date.getMonth() !== currentMonth;\n const isToday = this.highlightToday && this.isToday(date);\n // Display-only mode never shows a selection highlight.\n const isSelected = !this.noDaySelect && this.isSelected(date);\n const isDisabled = this.isDisabled(date);\n // Update classes (preserving role)\n cell.className = 'calendar__day';\n // The week's first cell draws the grid's left edge. A class, not\n // :nth-child — the week-number column adds siblings that would shift\n // any positional selector.\n if (i % 7 === 0)\n cell.classList.add('calendar__day--week-start');\n if (isOtherMonth)\n cell.classList.add('calendar__day--other-month');\n if (isToday)\n cell.classList.add('calendar__day--today');\n if (isSelected)\n cell.classList.add('calendar__day--selected');\n if (isDisabled)\n cell.classList.add('calendar__day--disabled');\n if (this.noDaySelect)\n cell.classList.add('calendar__day--static');\n if (this.cellSizing === 'stretch')\n cell.classList.add('calendar__day--stretch');\n cell.setAttribute('role', 'gridcell');\n cell.setAttribute('aria-selected', isSelected ? 'true' : 'false');\n cell.setAttribute('aria-disabled', isDisabled ? 'true' : 'false');\n cell.setAttribute('aria-current', isToday && !isOtherMonth ? 'date' : 'false');\n cell.setAttribute('tabindex', i === rovingIndex ? '0' : '-1');\n cell.setAttribute('aria-label', date.toLocaleDateString(this.locale, { dateStyle: 'full' }));\n cell.__date = date;\n // Update day number\n const dayNumber = cell.querySelector('.calendar__day-number');\n if (dayNumber)\n dayNumber.textContent = String(date.getDate());\n // Update click handler\n cell.onclick = () => this.handleDayClick(date);\n });\n this.renderEventStripes(days);\n }\n /**\n * Attaches or detaches the week-number column and re-places every\n * explicitly-positioned grid child for the resulting column offset.\n */\n syncWeekNumberColumn(days) {\n const show = this.showWeekNumbers;\n this.container.classList.toggle('calendar--week-numbers', show);\n if (show) {\n // Inserted in reading order — the corner cell ahead of the weekday\n // strip, each row header ahead of its week's day cells.\n if (!this.weekNumberHeader.isConnected) {\n this.grid.insertBefore(this.weekNumberHeader, this.grid.firstChild);\n }\n this.weekNumberCells.forEach((cell, week) => {\n if (!cell.isConnected)\n this.grid.insertBefore(cell, this.dayCells[week * 7]);\n const weekNumber = this.getWeekNumber(days[week * 7]);\n cell.textContent = String(weekNumber);\n cell.setAttribute('aria-label', `Week ${weekNumber}`);\n });\n }\n else {\n this.weekNumberHeader.remove();\n this.weekNumberCells.forEach(cell => cell.remove());\n }\n const offset = this.columnOffset;\n const weekdays = this.grid.querySelectorAll('.calendar__weekday');\n weekdays.forEach((el, i) => {\n el.style.gridColumn = String(i + 1 + offset);\n });\n this.dayCells.forEach((cell, i) => {\n cell.style.gridColumn = String((i % 7) + 1 + offset);\n });\n }\n /**\n * Number of the week that starts on `weekStart`.\n *\n * Monday-start calendars use ISO-8601 (week 1 is the week holding the year's\n * first Thursday). Every other start-of-week uses the common civil rule —\n * the week containing January 1 is week 1 — anchored on the year the week\n * ends in, so the turn-of-year week is numbered once, not twice.\n */\n getWeekNumber(weekStart) {\n const WEEK_MS = 7 * 24 * 60 * 60 * 1000;\n const midnight = (y, m, d) => new Date(y, m, d).getTime();\n if (this.firstDayOfWeek === 1) {\n // The ISO week is named by its Thursday.\n const thursday = new Date(weekStart.getFullYear(), weekStart.getMonth(), weekStart.getDate() + 3);\n const isoYear = thursday.getFullYear();\n // January 4 is always in ISO week 1; walk back to that week's Monday.\n const jan4 = new Date(isoYear, 0, 4);\n const week1Monday = midnight(isoYear, 0, 4 - ((jan4.getDay() + 6) % 7));\n return 1 + Math.round((thursday.getTime() - week1Monday) / WEEK_MS);\n }\n const weekEnd = new Date(weekStart.getFullYear(), weekStart.getMonth(), weekStart.getDate() + 6);\n const year = weekEnd.getFullYear();\n const jan1 = new Date(year, 0, 1);\n const week1Start = midnight(year, 0, 1 - ((jan1.getDay() - this.firstDayOfWeek + 7) % 7));\n return 1 + Math.round((midnight(weekStart.getFullYear(), weekStart.getMonth(), weekStart.getDate())\n - week1Start) / WEEK_MS);\n }\n /** Event-lane geometry in rem — mirrors snice-calendar.css. */\n static { this.LANE_HEIGHT_REM = 1.375; }\n /** Day-number strip above the first lane (the constant in the cell's\n * min-height reservation). */\n static { this.LANE_STACK_TOP_REM = 2.125; }\n /** Strip the \"+N more\" chip claims when a stack overflows. */\n static { this.MORE_CHIP_REM = 1; }\n /** Intrinsic floor of a `cell-sizing=\"stretch\"` cell. */\n static { this.STRETCH_FLOOR_REM = 3; }\n /** Lane depth used when there is no layout to measure (headless DOM,\n * detached, `display: none`). */\n static { this.DEFAULT_EVENT_LANES = 3; }\n /**\n * Height a single lane physically occupies, measured from the top of the\n * cell: the bar sits 1.875rem down and is 1.125rem tall.\n *\n * LANE_STACK_TOP_REM + LANE_HEIGHT_REM (3.5rem) is the *budgeted* cost of a\n * lane — it carries a bottom gap so the next lane has somewhere to go. This\n * is the smaller number the budget falls back to when the row cannot grow:\n * the point below which a drawn lane would be clipped by its own cell.\n */\n static { this.LANE_MIN_FIT_REM = 3; }\n /** Height the \"+N more\" chip itself occupies at the bottom of the cell. */\n static { this.MORE_CHIP_FIT_REM = 1.125; }\n /**\n * Narrowest segment, in rem, that still carries an event avatar.\n *\n * A one-day chip in a 400px month grid is ~57px wide; the avatar, its gap,\n * and the bar padding leave the title three characters (\"Des…\"). The title\n * is the payload and the avatar is an adornment, so — like every\n * professional calendar — a segment that cannot carry both keeps the title\n * and drops the adornment. 4.5rem is the width at which a default-size\n * title still reads next to the avatar.\n */\n static { this.AVATAR_MIN_SEGMENT_REM = 4.5; }\n /**\n * How many event lanes fit in a day cell, and how many still fit once the\n * \"+N more\" chip claims its strip.\n *\n * Measured from the cell's own height with every lane reservation cleared,\n * so the budget follows whatever sizes the cell — the square baseline\n * (`100cqw / 7`), a height the host imposes on the calendar, or the stretch\n * floor — and never feeds back on itself. A `cell-sizing=\"stretch\"` cell the\n * host does not constrain has no budget at all: its row grows to fit every\n * lane, which is what \"collapse to content\" means.\n */\n laneBudget() {\n const rem = parseFloat(getComputedStyle(document.documentElement).fontSize) || 16;\n const height = this.dayCells[0]?.getBoundingClientRect().height ?? 0;\n if (!height) {\n const depth = SniceCalendar.DEFAULT_EVENT_LANES;\n return { fit: depth, withMore: depth, height: 0, rem };\n }\n if (this.cellSizing === 'stretch' && !this.rowCapped\n && height <= SniceCalendar.STRETCH_FLOOR_REM * rem + 1) {\n return { fit: Infinity, withMore: Infinity, height, rem };\n }\n const lanesIn = (reserve) => {\n const budgeted = Math.floor((height / rem - SniceCalendar.LANE_STACK_TOP_REM - reserve)\n / SniceCalendar.LANE_HEIGHT_REM);\n if (budgeted >= 1)\n return budgeted;\n // Below the budgeted floor a row that can still grow always draws one\n // lane — the reservation at the end of renderEventStripes buys it the\n // height. A capped row has no such recourse, so the lane is drawn only\n // when it already fits; otherwise the day collapses entirely into its\n // chip rather than painting a stripe its cell will clip.\n if (!this.rowCapped)\n return 1;\n const needed = SniceCalendar.LANE_MIN_FIT_REM\n + (reserve > 0 ? SniceCalendar.MORE_CHIP_FIT_REM : 0);\n return height / rem >= needed ? 1 : 0;\n };\n return {\n fit: lanesIn(0),\n withMore: lanesIn(SniceCalendar.MORE_CHIP_REM),\n height,\n rem,\n };\n }\n /**\n * Fits the six week rows inside a host that constrains the calendar's\n * height.\n *\n * The square baseline sizes a week row from the *column width*\n * (`100cqw / 7`), which says nothing about how much height the host has\n * given the grid. A host that hands down a definite height — the components\n * page's `aspect-ratio: 1` card is the reported case — therefore gets a grid\n * whose min-content height exceeds its box: the grid overflows, and whatever\n * clips it (that card's `overflow: hidden`) takes the bottom weeks of the\n * month with it.\n *\n * The room the grid has and the room it wants are both measurable, so the\n * fix is to compare them and publish the per-row ceiling when they disagree.\n * With no constraint the container's height IS its content height, the two\n * agree, and nothing is published — square cells and the growable lane\n * reservation are untouched. Measured with the cap cleared, so it never\n * feeds back on itself.\n *\n * Month view only. The cap divides the room into WEEK_ROWS equal shares and\n * lands as a definite `grid-template-rows` track; the week and day views\n * carry their own taller `min-height` at higher specificity, so a definite\n * track there would leave every cell overflowing its own row and painting\n * over the next one. They keep the pre-cap behaviour — the var stays unset,\n * the tracks stay `auto`.\n */\n syncRowCap() {\n this.grid.style.removeProperty('--calendar-row-cap');\n this.rowCapped = false;\n if (this.view !== 'month')\n return;\n // The host's own content box, not just the container's: `.calendar`'s\n // `height: 100%` resolves to auto against a host sized by `max-height`,\n // so the container reports the height it WANTED and only the host box is\n // actually clamped. Whichever is smaller is the room there really is.\n const hostStyle = getComputedStyle(this);\n const hostRoom = this.clientHeight\n - parseFloat(hostStyle.paddingTop) - parseFloat(hostStyle.paddingBottom);\n const room = Math.min(this.container.clientHeight, hostRoom)\n - this.header.getBoundingClientRect().height;\n const wanted = this.grid.getBoundingClientRect().height;\n // No layout to measure (headless, detached, display:none) — or the rows\n // already fit, which is every unconstrained calendar.\n if (!(room > 0) || !(wanted > 0) || wanted <= room + 0.5)\n return;\n const weekdayHeight = this.grid.querySelector('.calendar__weekday')?.getBoundingClientRect().height ?? 0;\n // A cell cannot be shorter than its own padding and rules, so a cap below\n // that floor buys no height — it only detaches the rows from their tracks\n // and stacks each week on top of the next. Below the floor the calendar\n // has compressed as far as it physically can: it overflows a host that\n // short, the way it always did, rather than rendering weeks over weeks.\n const cell = this.dayCells[0];\n const cellStyle = cell ? getComputedStyle(cell) : null;\n const cellFloor = cellStyle\n ? parseFloat(cellStyle.paddingTop) + parseFloat(cellStyle.paddingBottom)\n + parseFloat(cellStyle.borderTopWidth)\n + parseFloat(cellStyle.borderBottomWidth)\n : 0;\n const cap = Math.max((room - weekdayHeight) / SniceCalendar.WEEK_ROWS, cellFloor);\n if (!(cap > 0))\n return;\n this.rowCapped = true;\n this.grid.style.setProperty('--calendar-row-cap', `${cap}px`);\n }\n /** Week rows in a month grid. */\n static { this.WEEK_ROWS = 6; }\n /**\n * Render events as continuous stripes: one bar per (event × week row),\n * spanning the event's days in that week and chopped at week boundaries\n * with continues-left/right styling. Overlapping events stack into lanes\n * per week — earlier start first, longer event first on ties — like\n * professional calendars. How many of those lanes are drawn is the week's\n * share of the day cell's height (see laneBudget); the rest collapse into\n * the day's \"+N more\" chip.\n */\n renderEventStripes(days) {\n this.closeEventPopover({ returnFocus: false }); // anchors are re-created\n this.grid.querySelectorAll('.calendar__event-bar').forEach(el => el.remove());\n this.dayCells.forEach(cell => {\n cell.querySelector('.calendar__more')?.remove();\n cell.style.removeProperty('--calendar-week-lanes');\n cell.style.removeProperty('--calendar-week-more');\n });\n // Before anything is measured and regardless of whether this month has\n // events: an empty calendar in a short host overflows too.\n this.syncRowCap();\n if (!this.events || this.events.length === 0)\n return;\n // Local-midnight timestamps for the visible grid; events normalize to the\n // same construction so lookups are exact (and DST-safe).\n const dayTimes = days.map(d => new Date(d.getFullYear(), d.getMonth(), d.getDate()).getTime());\n const dayIndex = new Map(dayTimes.map((t, i) => [t, i]));\n const gridStart = dayTimes[0];\n const gridEnd = dayTimes[dayTimes.length - 1];\n const normalize = (d) => {\n const date = typeof d === 'string' ? new Date(d) : d;\n return new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime();\n };\n const resolved = [];\n this.events.forEach((event, order) => {\n if (!event.start)\n return;\n const startTime = normalize(event.start);\n if (isNaN(startTime))\n return;\n const endTime = event.end ? Math.max(normalize(event.end), startTime) : startTime;\n if (isNaN(endTime) || endTime < gridStart || startTime > gridEnd)\n return;\n const startsBeforeGrid = startTime < gridStart;\n const endsAfterGrid = endTime > gridEnd;\n const startIdx = startsBeforeGrid ? 0 : dayIndex.get(startTime);\n const endIdx = endsAfterGrid ? dayTimes.length - 1 : dayIndex.get(endTime);\n resolved.push({\n event, startIdx, endIdx, startsBeforeGrid, endsAfterGrid,\n startTime, duration: endTime - startTime, order,\n });\n });\n resolved.sort((a, b) => a.startTime - b.startTime || b.duration - a.duration || a.order - b.order);\n // The events each day dropped, in the order they stack — the chip reports\n // the count, and its built-in panel lists them.\n const hiddenPerDay = Array.from({ length: dayTimes.length }, () => []);\n const weekCount = Math.floor(dayTimes.length / 7);\n const weekLaneCounts = new Array(weekCount).fill(0);\n // Measured before a single bar or reservation goes back in, so the budget\n // reflects the room the row has of its own.\n const budget = this.laneBudget();\n // Segment width comes from the same measured cell the lane budget uses, so\n // the avatar decision follows the calendar's real box and is re-taken by\n // the resize observer. No layout to measure → nothing is dropped.\n const cellWidth = this.dayCells[0]?.getBoundingClientRect().width ?? 0;\n const avatarMinWidth = SniceCalendar.AVATAR_MIN_SEGMENT_REM * budget.rem;\n for (let week = 0; week < weekCount; week++) {\n const weekStart = week * 7;\n const weekEnd = weekStart + 6;\n // lanes[lane] holds the occupied [startCol, endCol] ranges in this week.\n const lanes = [];\n const placed = [];\n let stackDepth = 0;\n // Lane assignment first: how deep this week stacks decides whether the\n // \"+N more\" chip is needed at all, and the chip costs a strip of height.\n for (const item of resolved) {\n if (item.endIdx < weekStart || item.startIdx > weekEnd)\n continue;\n const segStart = Math.max(item.startIdx, weekStart);\n const segEnd = Math.min(item.endIdx, weekEnd);\n const startCol = segStart - weekStart;\n const endCol = segEnd - weekStart;\n let lane = 0;\n while (lanes[lane]?.some(([s, e]) => startCol <= e && endCol >= s))\n lane++;\n (lanes[lane] ??= []).push([startCol, endCol]);\n placed.push({ item, lane, segStart, segEnd });\n stackDepth = Math.max(stackDepth, lane + 1);\n }\n const visibleLanes = stackDepth <= budget.fit ? stackDepth : budget.withMore;\n weekLaneCounts[week] = Math.min(stackDepth, visibleLanes);\n for (const { item, lane, segStart, segEnd } of placed) {\n if (lane >= visibleLanes) {\n for (let i = segStart; i <= segEnd; i++)\n hiddenPerDay[i].push(item.event);\n continue;\n }\n const startCol = segStart - weekStart;\n const endCol = segEnd - weekStart;\n const continuesLeft = segStart > item.startIdx\n || (segStart === item.startIdx && item.startsBeforeGrid);\n const continuesRight = segEnd < item.endIdx\n || (segEnd === item.endIdx && item.endsAfterGrid);\n // A segment too narrow for an avatar plus a legible title runs\n // compact: title only, tighter inline padding.\n const compact = cellWidth > 0\n && cellWidth * (endCol - startCol + 1) < avatarMinWidth;\n const bar = document.createElement('div');\n bar.className = 'calendar__event-bar';\n if (continuesLeft)\n bar.classList.add('calendar__event-bar--continues-left');\n if (continuesRight)\n bar.classList.add('calendar__event-bar--continues-right');\n if (compact)\n bar.classList.add('calendar__event-bar--compact');\n // A custom className rides along on both the class list and the part\n // attribute, so events are styleable from outside via\n // ::part(<className>).\n const customClasses = item.event.className\n ? item.event.className.split(/\\s+/).filter(Boolean)\n : [];\n bar.classList.add(...customClasses);\n bar.setAttribute('part', ['event-bar', ...customClasses].join(' '));\n bar.setAttribute('data-event-id', String(item.event.id));\n bar.setAttribute('data-lane', String(lane));\n bar.style.gridRow = String(week + 2); // row 1 is the weekday header\n bar.style.gridColumn =\n `${startCol + 1 + this.columnOffset} / ${endCol + 2 + this.columnOffset}`;\n bar.style.setProperty('--calendar-event-lane', String(lane));\n if (item.event.color)\n bar.style.background = item.event.color;\n if (item.event.avatar && !compact) {\n const spec = typeof item.event.avatar === 'string'\n ? { src: item.event.avatar }\n : item.event.avatar;\n const avatar = document.createElement('snice-avatar');\n avatar.className = 'calendar__event-avatar';\n avatar.setAttribute('part', 'event-avatar');\n // Attributes, not property assignments: the avatar's shape/size CSS\n // matches on :host([shape])/:host([size]) attribute selectors.\n avatar.setAttribute('size', 'xs');\n avatar.setAttribute('shape', 'circle');\n // Tiny thumbnail — eager: lazy-load buys nothing at this size and\n // stalls on very tall pages.\n avatar.setAttribute('loading', 'eager');\n if (spec.src)\n avatar.src = spec.src;\n if (spec.name)\n avatar.name = spec.name;\n if (spec.alt)\n avatar.alt = spec.alt;\n bar.appendChild(avatar);\n }\n const titleEl = document.createElement('span');\n titleEl.className = 'calendar__event-title';\n titleEl.textContent = item.event.title;\n bar.appendChild(titleEl);\n // Tooltip: static string, or lazy/rich content from eventTooltip.\n // The native title attribute stays only when no tooltip is configured.\n if (item.event.tooltip || this.eventTooltip) {\n bar.onmouseenter = () => this.showEventTooltip(bar, item.event);\n bar.onmouseleave = () => this.hideEventTooltip();\n }\n else {\n bar.title = item.event.title;\n }\n // Popover: strictly per-event opt-in — without `popover`, a click\n // only dispatches calendar-event-click and no request is issued.\n if (item.event.popover) {\n bar.setAttribute('role', 'button');\n bar.setAttribute('tabindex', '0');\n bar.setAttribute('aria-haspopup', 'dialog');\n bar.onkeydown = (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.openEventPopover(bar, item.event);\n }\n };\n bar.onclick = (e) => {\n this.handleEventClick(item.event, e);\n this.openEventPopover(bar, item.event);\n };\n }\n else {\n bar.onclick = (e) => this.handleEventClick(item.event, e);\n }\n this.grid.appendChild(bar);\n }\n }\n hiddenPerDay.forEach((hidden, i) => {\n const count = hidden.length;\n if (count === 0)\n return;\n const cell = this.dayCells[i];\n if (!cell)\n return;\n const date = days[i];\n const more = document.createElement('div');\n more.className = 'calendar__more';\n more.setAttribute('part', 'more-chip');\n more.textContent = `+${count} more`;\n // The chip is its own control: it reports its day and hidden count,\n // opens the day panel unless the app cancels it, and its clicks never\n // fall through to the day cell's selection handler.\n more.setAttribute('role', 'button');\n more.setAttribute('tabindex', '0');\n more.setAttribute('aria-haspopup', 'dialog');\n more.setAttribute('aria-expanded', 'false');\n more.setAttribute('aria-label', `${count} more event${count === 1 ? '' : 's'} on ${date.toLocaleDateString(this.locale, { dateStyle: 'full' })}`);\n more.onclick = (e) => this.handleMoreClick(date, more, hidden, e);\n more.onkeydown = (e) => {\n if (e.key !== 'Enter' && e.key !== ' ')\n return;\n e.preventDefault();\n this.handleMoreClick(date, more, hidden, e);\n };\n cell.appendChild(more);\n });\n // Reserve row height for the lane stack (and the \"+N more\" chip) so\n // stripes never spill past their week row — every cell in a week shares\n // the reservation, since the grid row is as tall as its tallest cell.\n // The reservation is only a floor: when the row already has the room it is\n // left off, so the busy week's row stays level with the rest. That covers\n // every cell tall enough for the stack it shows; the floor still bites\n // below 3.5rem (the one lane always drawn) or 4.5rem once the chip claims\n // its strip — square cells are that short on calendars under ~500px wide.\n for (let week = 0; week < weekCount; week++) {\n if (weekLaneCounts[week] === 0)\n continue;\n const weekHasMore = hiddenPerDay\n .slice(week * 7, week * 7 + 7).some(hidden => hidden.length > 0);\n const needed = (SniceCalendar.LANE_STACK_TOP_REM\n + weekLaneCounts[week] * SniceCalendar.LANE_HEIGHT_REM\n + (weekHasMore ? SniceCalendar.MORE_CHIP_REM : 0)) * budget.rem;\n if (budget.height && needed <= budget.height + 0.5)\n continue;\n for (let i = week * 7; i < week * 7 + 7; i++) {\n const cell = this.dayCells[i];\n if (!cell)\n continue;\n cell.style.setProperty('--calendar-week-lanes', String(weekLaneCounts[week]));\n if (weekHasMore) {\n cell.style.setProperty('--calendar-week-more', `${SniceCalendar.MORE_CHIP_REM}rem`);\n }\n }\n }\n }\n goToToday() {\n this.displayDate = new Date();\n this.value = new Date();\n this.updateView();\n this.dispatchChange();\n }\n goToDate(date) {\n this.displayDate = typeof date === 'string' ? new Date(date) : date;\n this.value = this.displayDate;\n this.updateView();\n this.dispatchChange();\n }\n previousMonth() {\n this.displayDate = new Date(this.displayDate.getFullYear(), this.displayDate.getMonth() - 1);\n this.updateView();\n }\n nextMonth() {\n this.displayDate = new Date(this.displayDate.getFullYear(), this.displayDate.getMonth() + 1);\n this.updateView();\n }\n previousWeek() {\n this.displayDate = new Date(this.displayDate.getTime() - 7 * 24 * 60 * 60 * 1000);\n this.updateView();\n }\n nextWeek() {\n this.displayDate = new Date(this.displayDate.getTime() + 7 * 24 * 60 * 60 * 1000);\n this.updateView();\n }\n previousDay() {\n this.displayDate = new Date(this.displayDate.getTime() - 24 * 60 * 60 * 1000);\n this.updateView();\n }\n nextDay() {\n this.displayDate = new Date(this.displayDate.getTime() + 24 * 60 * 60 * 1000);\n this.updateView();\n }\n getDisplayedMonth() {\n return {\n month: this.displayDate.getMonth(),\n year: this.displayDate.getFullYear()\n };\n }\n getEventsForDate(date) {\n const targetDate = typeof date === 'string' ? new Date(date) : date;\n const targetTime = targetDate.getTime();\n return this.events.filter(event => {\n if (!event.start)\n return false;\n const startDate = typeof event.start === 'string' ? new Date(event.start) : event.start;\n const startTime = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate()).getTime();\n // If no end date, event is single day\n if (!event.end) {\n return this.isSameDay(targetDate, startDate);\n }\n // Multi-day event: check if target date falls between start and end\n const endDate = typeof event.end === 'string' ? new Date(event.end) : event.end;\n const endTime = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate()).getTime();\n return targetTime >= startTime && targetTime <= endTime;\n });\n }\n formatDate(date) {\n return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;\n }\n isSameDay(date1, date2) {\n return this.formatDate(date1) === this.formatDate(date2);\n }\n isToday(date) {\n return this.isSameDay(date, new Date());\n }\n isSelected(date) {\n // No value means no selection at all — and an unparseable one selects\n // nothing rather than throwing out of the render.\n if (!this.value)\n return false;\n const valueDate = typeof this.value === 'string' ? new Date(this.value) : this.value;\n if (!(valueDate instanceof Date) || isNaN(valueDate.getTime()))\n return false;\n return this.isSameDay(date, valueDate);\n }\n isDisabled(date) {\n if (this.minDate) {\n const min = typeof this.minDate === 'string' ? new Date(this.minDate) : this.minDate;\n if (date < min)\n return true;\n }\n if (this.maxDate) {\n const max = typeof this.maxDate === 'string' ? new Date(this.maxDate) : this.maxDate;\n if (date > max)\n return true;\n }\n return this.disabledDates.some(d => {\n const disabledDate = typeof d === 'string' ? new Date(d) : d;\n return this.isSameDay(date, disabledDate);\n });\n }\n handleDayClick(date) {\n // Display-only calendars: days are not selectable at all.\n if (this.noDaySelect)\n return;\n if (this.isDisabled(date))\n return;\n this.value = date;\n this.updateView();\n this.dispatchChange();\n }\n handleEventClick(event, e) {\n e.stopPropagation();\n this.dispatchEventClick(event);\n }\n handleMoreClick(date, chip, hidden, e) {\n e.stopPropagation();\n // The app gets first refusal: preventDefault() means it is opening its own\n // day view and the built-in panel must stay out of the way.\n if (!this.dispatchMoreClick(date, hidden.length))\n return;\n this.openMorePanel(chip, date, hidden);\n }\n getMonthDays() {\n const year = this.displayDate.getFullYear();\n const month = this.displayDate.getMonth();\n // First day of the month\n const firstDay = new Date(year, month, 1);\n const firstDayOfWeek = firstDay.getDay();\n // Adjust for first day of week setting\n const daysToSubtract = (firstDayOfWeek - this.firstDayOfWeek + 7) % 7;\n const startDate = new Date(year, month, 1 - daysToSubtract);\n // Generate 42 days (6 weeks)\n const days = [];\n for (let i = 0; i < 42; i++) {\n days.push(new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() + i));\n }\n return days;\n }\n getWeekdays() {\n const weekdays = [];\n const baseDate = new Date(2024, 0, this.firstDayOfWeek); // Start from a Sunday\n for (let i = 0; i < 7; i++) {\n const date = new Date(baseDate);\n date.setDate(baseDate.getDate() + i);\n weekdays.push(date.toLocaleDateString(this.locale, { weekday: 'short' }));\n }\n return weekdays;\n }\n handlePropertyChange() {\n if (this.grid) {\n this.updateView();\n }\n }\n /**\n * The lane budget comes from the cell's height, and that height follows the\n * calendar's own box — column width in square mode, the host's height when\n * it has one. Re-stripe when the box actually changes.\n */\n handleCalendarResize(entry) {\n if (!this.grid)\n return;\n const box = `${Math.round(entry.contentRect.width)}x${Math.round(entry.contentRect.height)}`;\n if (box === this.laidOutFor)\n return;\n this.laidOutFor = box;\n this.updateView();\n }\n handleWeekdayInputsChange() {\n if (!this.grid)\n return;\n // Rebuild the weekday header row so the new locale / start-of-week is reflected.\n const existing = this.grid.querySelectorAll('.calendar__weekday');\n existing.forEach(el => el.remove());\n const weekdays = this.getWeekdays();\n // Anchor on the first day cell rather than a child index: the week-number\n // column adds siblings ahead of it, so a positional index would interleave\n // the strip with the grid's other children.\n const firstRow = this.weekNumberCells[0]?.isConnected\n ? this.weekNumberCells[0] : this.dayCells[0];\n const anchor = firstRow ?? null;\n weekdays.forEach((day, i) => {\n const weekdayEl = document.createElement('div');\n weekdayEl.className = 'calendar__weekday';\n weekdayEl.textContent = day;\n weekdayEl.style.gridRow = '1';\n weekdayEl.style.gridColumn = String(i + 1 + this.columnOffset);\n this.grid.insertBefore(weekdayEl, anchor);\n });\n this.updateView();\n }\n static {\n __runInitializers(_classThis, _classExtraInitializers);\n }\n };\n return SniceCalendar = _classThis;\n})();\n\nexport { SniceCalendar };\n//# sourceMappingURL=snice-calendar.js.map\n"],"names":["cssContent","element","property","query","render","styles","html","css","dispatch","ready","request","dispose","watch","observe"],"mappings":"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","x_google_ignoreList":[0]}