snice 7.5.0 → 7.7.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 (265) hide show
  1. package/adapters/react/SniceProvider.js +1 -1
  2. package/adapters/react/SniceRouter.js +1 -1
  3. package/adapters/react/avatar.d.ts +1 -0
  4. package/adapters/react/avatar.d.ts.map +1 -1
  5. package/adapters/react/avatar.js +1 -1
  6. package/adapters/react/avatar.js.map +1 -1
  7. package/adapters/react/avatar.tsx +2 -1
  8. package/adapters/react/calendar.d.ts +4 -0
  9. package/adapters/react/calendar.d.ts.map +1 -1
  10. package/adapters/react/calendar.js +1 -1
  11. package/adapters/react/calendar.js.map +1 -1
  12. package/adapters/react/calendar.tsx +5 -1
  13. package/adapters/react/matchRoute.js +68 -2
  14. package/adapters/react/matchRoute.js.map +1 -1
  15. package/adapters/react/route-match.d.ts +7 -0
  16. package/adapters/react/useRequestHandler.js +1 -1
  17. package/bin/analyzer-contracts.js +60 -2
  18. package/bin/project-analyzer.js +1262 -118
  19. package/bin/snice.js +95 -5
  20. package/custom-elements.json +112 -0
  21. package/dist/cdn/accordion/snice-accordion.js +1 -1
  22. package/dist/cdn/action-bar/snice-action-bar.js +1 -1
  23. package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
  24. package/dist/cdn/alert/snice-alert.js +1 -1
  25. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  26. package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
  27. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  28. package/dist/cdn/availability/snice-availability.js +1 -1
  29. package/dist/cdn/avatar/README.md +1 -1
  30. package/dist/cdn/avatar/snice-avatar.js +9 -3
  31. package/dist/cdn/avatar/snice-avatar.js.map +1 -1
  32. package/dist/cdn/avatar/snice-avatar.min.js +2 -2
  33. package/dist/cdn/avatar/snice-avatar.min.js.map +1 -1
  34. package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
  35. package/dist/cdn/badge/snice-badge.js +1 -1
  36. package/dist/cdn/banner/snice-banner.js +1 -1
  37. package/dist/cdn/binpack/snice-binpack.js +1 -1
  38. package/dist/cdn/book/snice-book.js +1 -1
  39. package/dist/cdn/booking/snice-booking.js +1 -1
  40. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  41. package/dist/cdn/button/snice-button.js +2 -2
  42. package/dist/cdn/button/snice-button.js.map +1 -1
  43. package/dist/cdn/button/snice-button.min.js +1 -1
  44. package/dist/cdn/button/snice-button.min.js.map +1 -1
  45. package/dist/cdn/calendar/README.md +2 -2
  46. package/dist/cdn/calendar/snice-calendar.js +562 -40
  47. package/dist/cdn/calendar/snice-calendar.js.map +1 -1
  48. package/dist/cdn/calendar/snice-calendar.min.js +28 -1
  49. package/dist/cdn/calendar/snice-calendar.min.js.map +1 -1
  50. package/dist/cdn/camera/snice-camera.js +1 -1
  51. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  52. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  53. package/dist/cdn/card/snice-card.js +1 -1
  54. package/dist/cdn/carousel/snice-carousel.js +1 -1
  55. package/dist/cdn/cart/snice-cart.js +1 -1
  56. package/dist/cdn/chart/snice-chart.js +1 -1
  57. package/dist/cdn/chat/snice-chat.js +1 -1
  58. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  59. package/dist/cdn/chip/snice-chip.js +1 -1
  60. package/dist/cdn/code-block/snice-code-block.js +1 -1
  61. package/dist/cdn/color-display/snice-color-display.js +1 -1
  62. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  63. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  64. package/dist/cdn/comments/snice-comments.js +1 -1
  65. package/dist/cdn/countdown/snice-countdown.js +1 -1
  66. package/dist/cdn/cropper/snice-cropper.js +1 -1
  67. package/dist/cdn/data-card/snice-data-card.js +1 -1
  68. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  69. package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
  70. package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
  71. package/dist/cdn/diff/snice-diff.js +1 -1
  72. package/dist/cdn/divider/snice-divider.js +1 -1
  73. package/dist/cdn/doc/snice-doc.js +1 -1
  74. package/dist/cdn/draw/snice-draw.js +1 -1
  75. package/dist/cdn/drawer/snice-drawer.js +1 -1
  76. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  77. package/dist/cdn/estimate/snice-estimate.js +1 -1
  78. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  79. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  80. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  81. package/dist/cdn/flow/snice-flow.js +1 -1
  82. package/dist/cdn/form-layout/snice-form-layout.js +1 -1
  83. package/dist/cdn/funnel/snice-funnel.js +1 -1
  84. package/dist/cdn/gantt/snice-gantt.js +1 -1
  85. package/dist/cdn/gauge/snice-gauge.js +1 -1
  86. package/dist/cdn/grid/snice-grid.js +1 -1
  87. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  88. package/dist/cdn/image/snice-image.js +1 -1
  89. package/dist/cdn/input/snice-input.js +1 -1
  90. package/dist/cdn/invoice/snice-invoice.js +1 -1
  91. package/dist/cdn/kanban/snice-kanban.js +1 -1
  92. package/dist/cdn/key-value/snice-key-value.js +1 -1
  93. package/dist/cdn/kpi/snice-kpi.js +1 -1
  94. package/dist/cdn/layout/snice-layout.js +1 -1
  95. package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
  96. package/dist/cdn/link/snice-link.js +1 -1
  97. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  98. package/dist/cdn/list/snice-list.js +1 -1
  99. package/dist/cdn/location/snice-location.js +1 -1
  100. package/dist/cdn/login/README.md +1 -1
  101. package/dist/cdn/login/snice-login.js +2 -2
  102. package/dist/cdn/login/snice-login.js.map +1 -1
  103. package/dist/cdn/login/snice-login.min.js +1 -1
  104. package/dist/cdn/login/snice-login.min.js.map +1 -1
  105. package/dist/cdn/map/snice-map.js +1 -1
  106. package/dist/cdn/markdown/snice-markdown.js +1 -1
  107. package/dist/cdn/masonry/snice-masonry.js +1 -1
  108. package/dist/cdn/menu/snice-menu.js +1 -1
  109. package/dist/cdn/message-strip/snice-message-strip.js +1 -1
  110. package/dist/cdn/modal/snice-modal.js +1 -1
  111. package/dist/cdn/music-player/snice-music-player.js +1 -1
  112. package/dist/cdn/nav/snice-nav.js +1 -1
  113. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  114. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  115. package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
  116. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  117. package/dist/cdn/pagination/snice-pagination.js +1 -1
  118. package/dist/cdn/paint/snice-paint.js +1 -1
  119. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  120. package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
  121. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  122. package/dist/cdn/popover/snice-popover.js +1 -1
  123. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  124. package/dist/cdn/product-card/snice-product-card.js +1 -1
  125. package/dist/cdn/progress/snice-progress.js +1 -1
  126. package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
  127. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  128. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  129. package/dist/cdn/radio/snice-radio.js +1 -1
  130. package/dist/cdn/range-slider/snice-range-slider.js +1 -1
  131. package/dist/cdn/rating/snice-rating.js +1 -1
  132. package/dist/cdn/receipt/snice-receipt.js +1 -1
  133. package/dist/cdn/recipe/snice-recipe.js +1 -1
  134. package/dist/cdn/runtime/README.md +2 -2
  135. package/dist/cdn/runtime/snice-runtime.esm.js +706 -267
  136. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  137. package/dist/cdn/runtime/snice-runtime.esm.min.js +1 -1
  138. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  139. package/dist/cdn/runtime/snice-runtime.js +706 -267
  140. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  141. package/dist/cdn/runtime/snice-runtime.min.js +1 -1
  142. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  143. package/dist/cdn/sankey/snice-sankey.js +1 -1
  144. package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
  145. package/dist/cdn/select/snice-select.js +3 -1
  146. package/dist/cdn/select/snice-select.js.map +1 -1
  147. package/dist/cdn/select/snice-select.min.js +2 -2
  148. package/dist/cdn/select/snice-select.min.js.map +1 -1
  149. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  150. package/dist/cdn/slider/snice-slider.js +1 -1
  151. package/dist/cdn/sortable/snice-sortable.js +1 -1
  152. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  153. package/dist/cdn/spinner/snice-spinner.js +1 -1
  154. package/dist/cdn/split-button/snice-split-button.js +1 -1
  155. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  156. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  157. package/dist/cdn/stat-group/snice-stat-group.js +1 -1
  158. package/dist/cdn/step-input/snice-step-input.js +1 -1
  159. package/dist/cdn/stepper/snice-stepper.js +1 -1
  160. package/dist/cdn/switch/README.md +1 -1
  161. package/dist/cdn/switch/snice-switch.js +8 -4
  162. package/dist/cdn/switch/snice-switch.js.map +1 -1
  163. package/dist/cdn/switch/snice-switch.min.js +8 -4
  164. package/dist/cdn/switch/snice-switch.min.js.map +1 -1
  165. package/dist/cdn/table/README.md +2 -2
  166. package/dist/cdn/table/snice-table.esm.js +77 -5
  167. package/dist/cdn/table/snice-table.esm.js.map +1 -1
  168. package/dist/cdn/table/snice-table.esm.min.js +68 -47
  169. package/dist/cdn/table/snice-table.esm.min.js.map +1 -1
  170. package/dist/cdn/table/snice-table.js +76 -4
  171. package/dist/cdn/table/snice-table.js.map +1 -1
  172. package/dist/cdn/table/snice-table.min.js +53 -32
  173. package/dist/cdn/table/snice-table.min.js.map +1 -1
  174. package/dist/cdn/tabs/snice-tabs.js +1 -1
  175. package/dist/cdn/tag/snice-tag.js +1 -1
  176. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  177. package/dist/cdn/terminal/snice-terminal.js +1 -1
  178. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  179. package/dist/cdn/textarea/snice-textarea.js +1 -1
  180. package/dist/cdn/time-picker/snice-time-picker.js +1 -1
  181. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  182. package/dist/cdn/timeline/snice-timeline.js +1 -1
  183. package/dist/cdn/timer/snice-timer.js +1 -1
  184. package/dist/cdn/toast/snice-toast.js +1 -1
  185. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  186. package/dist/cdn/tree/snice-tree.js +1 -1
  187. package/dist/cdn/treemap/snice-treemap.js +1 -1
  188. package/dist/cdn/user-card/snice-user-card.js +1 -1
  189. package/dist/cdn/video-player/snice-video-player.js +1 -1
  190. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  191. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  192. package/dist/cdn/weather/snice-weather.js +1 -1
  193. package/dist/cdn/work-order/snice-work-order.js +1 -1
  194. package/dist/components/avatar/snice-avatar.d.ts +1 -0
  195. package/dist/components/avatar/snice-avatar.js +8 -2
  196. package/dist/components/avatar/snice-avatar.js.map +1 -1
  197. package/dist/components/avatar/snice-avatar.types.d.ts +2 -0
  198. package/dist/components/button/snice-button.js +1 -1
  199. package/dist/components/button/snice-button.js.map +1 -1
  200. package/dist/components/calendar/snice-calendar.d.ts +38 -1
  201. package/dist/components/calendar/snice-calendar.js +390 -40
  202. package/dist/components/calendar/snice-calendar.js.map +1 -1
  203. package/dist/components/calendar/snice-calendar.types.d.ts +63 -0
  204. package/dist/components/select/snice-select.js +2 -0
  205. package/dist/components/select/snice-select.js.map +1 -1
  206. package/dist/components/switch/snice-switch.js +7 -3
  207. package/dist/components/switch/snice-switch.js.map +1 -1
  208. package/dist/components/table/snice-table.d.ts +9 -0
  209. package/dist/components/table/snice-table.js +72 -2
  210. package/dist/components/table/snice-table.js.map +1 -1
  211. package/dist/components/table/table-keyboard.js +1 -1
  212. package/dist/components/table/table-keyboard.js.map +1 -1
  213. package/dist/index.cjs +703 -264
  214. package/dist/index.cjs.map +1 -1
  215. package/dist/index.d.ts +3 -1
  216. package/dist/index.esm.js +703 -264
  217. package/dist/index.esm.js.map +1 -1
  218. package/dist/index.iife.js +703 -264
  219. package/dist/index.iife.js.map +1 -1
  220. package/dist/parts.d.ts +14 -4
  221. package/dist/react/SniceProvider.js +1 -1
  222. package/dist/react/SniceRouter.js +1 -1
  223. package/dist/react/index.js +1 -1
  224. package/dist/react/matchRoute.js +68 -2
  225. package/dist/react/matchRoute.js.map +1 -1
  226. package/dist/react/route-match.d.ts +7 -0
  227. package/dist/react/useRequestHandler.js +1 -1
  228. package/dist/render-errors.d.ts +9 -0
  229. package/dist/route-match.d.ts +7 -0
  230. package/dist/symbols.cjs +1 -1
  231. package/dist/symbols.esm.js +1 -1
  232. package/dist/template-marker.d.ts +5 -0
  233. package/dist/testing-dom.cjs +1 -1
  234. package/dist/testing-dom.esm.js +1 -1
  235. package/dist/testing.d.ts +3 -0
  236. package/dist/transitions.cjs +1 -1
  237. package/dist/transitions.esm.js +1 -1
  238. package/dist/types/dispatch-options.d.ts +5 -4
  239. package/dist/types/event-timing.d.ts +7 -0
  240. package/dist/types/index.d.ts +1 -0
  241. package/dist/types/on-options.d.ts +21 -6
  242. package/dist/utils.d.ts +3 -0
  243. package/docs/ai/DEVELOPMENT.md +1 -1
  244. package/docs/ai/api.md +7 -2
  245. package/docs/ai/cli.md +14 -0
  246. package/docs/ai/components/avatar.md +1 -0
  247. package/docs/ai/components/calendar.md +24 -1
  248. package/docs/ai/components/switch.md +3 -0
  249. package/docs/ai/components/table.md +1 -1
  250. package/docs/ai/decorators.md +3 -2
  251. package/docs/ai/events.md +45 -8
  252. package/docs/ai/rendering.md +7 -0
  253. package/docs/ai/routing.md +6 -1
  254. package/docs/ai/testing.md +17 -0
  255. package/docs/cli.md +19 -0
  256. package/docs/components/avatar.md +1 -0
  257. package/docs/components/calendar.md +112 -2
  258. package/docs/components/switch.md +7 -1
  259. package/docs/components/table.md +2 -1
  260. package/docs/events.md +90 -10
  261. package/docs/rendering.md +10 -0
  262. package/docs/routing.md +22 -1
  263. package/docs/testing.md +19 -0
  264. package/package.json +2 -2
  265. package/vscode.html-custom-data.json +28 -0
package/bin/snice.js CHANGED
@@ -301,6 +301,87 @@ function renderValidation(issues, json = false) {
301
301
  return issues;
302
302
  }
303
303
 
304
+ function parseJsonc(source) {
305
+ let withoutComments = '';
306
+ let inString = false;
307
+ let escaped = false;
308
+
309
+ for (let index = source.charCodeAt(0) === 0xFEFF ? 1 : 0; index < source.length; index++) {
310
+ const character = source[index];
311
+ const next = source[index + 1];
312
+
313
+ if (inString) {
314
+ withoutComments += character;
315
+ if (escaped) escaped = false;
316
+ else if (character === '\\') escaped = true;
317
+ else if (character === '"') inString = false;
318
+ continue;
319
+ }
320
+
321
+ if (character === '"') {
322
+ inString = true;
323
+ withoutComments += character;
324
+ continue;
325
+ }
326
+
327
+ if (character === '/' && next === '/') {
328
+ withoutComments += ' ';
329
+ index += 2;
330
+ while (index < source.length && source[index] !== '\n' && source[index] !== '\r') {
331
+ withoutComments += ' ';
332
+ index++;
333
+ }
334
+ if (index < source.length) withoutComments += source[index];
335
+ continue;
336
+ }
337
+
338
+ if (character === '/' && next === '*') {
339
+ withoutComments += ' ';
340
+ index += 2;
341
+ while (index < source.length && !(source[index] === '*' && source[index + 1] === '/')) {
342
+ withoutComments += source[index] === '\n' || source[index] === '\r' ? source[index] : ' ';
343
+ index++;
344
+ }
345
+ if (index >= source.length) throw new SyntaxError('unterminated JSON block comment');
346
+ withoutComments += ' ';
347
+ index++;
348
+ continue;
349
+ }
350
+
351
+ withoutComments += character;
352
+ }
353
+
354
+ let withoutTrailingCommas = '';
355
+ inString = false;
356
+ escaped = false;
357
+ for (let index = 0; index < withoutComments.length; index++) {
358
+ const character = withoutComments[index];
359
+ if (inString) {
360
+ withoutTrailingCommas += character;
361
+ if (escaped) escaped = false;
362
+ else if (character === '\\') escaped = true;
363
+ else if (character === '"') inString = false;
364
+ continue;
365
+ }
366
+ if (character === '"') {
367
+ inString = true;
368
+ withoutTrailingCommas += character;
369
+ continue;
370
+ }
371
+ if (character === ',') {
372
+ let nextIndex = index + 1;
373
+ while (/\s/.test(withoutComments[nextIndex] ?? '')) nextIndex++;
374
+ if (withoutComments[nextIndex] === '}' || withoutComments[nextIndex] === ']') {
375
+ withoutTrailingCommas += ' ';
376
+ continue;
377
+ }
378
+ }
379
+ withoutTrailingCommas += character;
380
+ }
381
+
382
+ return JSON.parse(withoutTrailingCommas);
383
+ }
384
+
304
385
  function readJson(path) {
305
386
  try {
306
387
  return JSON.parse(readFileSync(path, 'utf8'));
@@ -309,6 +390,14 @@ function readJson(path) {
309
390
  }
310
391
  }
311
392
 
393
+ function readJsonc(path) {
394
+ try {
395
+ return parseJsonc(readFileSync(path, 'utf8'));
396
+ } catch {
397
+ return null;
398
+ }
399
+ }
400
+
312
401
  /**
313
402
  * Collect a project's tsconfig chain: the root tsconfig.json plus the configs
314
403
  * it references (composite solution files) and their relative `extends`
@@ -318,16 +407,17 @@ function readJson(path) {
318
407
  */
319
408
  function resolveTsconfigChain(dir, entry = 'tsconfig.json', seen = new Set()) {
320
409
  const configs = [];
321
- const target = join(dir, entry);
410
+ const target = resolve(dir, entry);
322
411
  if (seen.has(target)) return configs;
323
412
  seen.add(target);
324
- const data = readJson(target);
413
+ const data = readJsonc(target);
325
414
  if (!data) return configs;
326
415
  configs.push(data);
416
+ const configDir = dirname(target);
327
417
 
328
- if (typeof data.extends === 'string' && data.extends.startsWith('.')) {
418
+ if (typeof data.extends === 'string' && (data.extends.startsWith('.') || isAbsolute(data.extends))) {
329
419
  const base = data.extends.endsWith('.json') ? data.extends : `${data.extends}.json`;
330
- configs.push(...resolveTsconfigChain(dir, base, seen));
420
+ configs.push(...resolveTsconfigChain(configDir, base, seen));
331
421
  }
332
422
  if (Array.isArray(data.references)) {
333
423
  for (const reference of data.references) {
@@ -335,7 +425,7 @@ function resolveTsconfigChain(dir, entry = 'tsconfig.json', seen = new Set()) {
335
425
  const referenced = reference.path.endsWith('.json')
336
426
  ? reference.path
337
427
  : join(reference.path, 'tsconfig.json');
338
- configs.push(...resolveTsconfigChain(dir, referenced, seen));
428
+ configs.push(...resolveTsconfigChain(configDir, referenced, seen));
339
429
  }
340
430
  }
341
431
  return configs;
@@ -2618,6 +2618,14 @@
2618
2618
  }
2619
2619
  }
2620
2620
  },
2621
+ {
2622
+ "kind": "field",
2623
+ "name": "loading",
2624
+ "type": {
2625
+ "text": "'lazy' | 'eager'"
2626
+ },
2627
+ "default": "'lazy'"
2628
+ },
2621
2629
  {
2622
2630
  "kind": "field",
2623
2631
  "name": "name",
@@ -2676,6 +2684,14 @@
2676
2684
  },
2677
2685
  "reflects": true
2678
2686
  },
2687
+ {
2688
+ "name": "loading",
2689
+ "fieldName": "loading",
2690
+ "type": {
2691
+ "text": "'lazy' | 'eager'"
2692
+ },
2693
+ "reflects": true
2694
+ },
2679
2695
  {
2680
2696
  "name": "name",
2681
2697
  "fieldName": "name",
@@ -5132,6 +5148,40 @@
5132
5148
  "name": "HTMLElement"
5133
5149
  },
5134
5150
  "members": [
5151
+ {
5152
+ "kind": "field",
5153
+ "name": "cellSizing",
5154
+ "type": {
5155
+ "text": "'square' | 'stretch'"
5156
+ },
5157
+ "default": "'square'"
5158
+ },
5159
+ {
5160
+ "kind": "method",
5161
+ "name": "cleanupPopover",
5162
+ "parameters": [],
5163
+ "return": {
5164
+ "type": {
5165
+ "text": "unknown"
5166
+ }
5167
+ }
5168
+ },
5169
+ {
5170
+ "kind": "method",
5171
+ "name": "closeEventPopover",
5172
+ "parameters": [
5173
+ {
5174
+ "name": "options",
5175
+ "type": "{ returnFocus?: boolean }",
5176
+ "optional": true
5177
+ }
5178
+ ],
5179
+ "return": {
5180
+ "type": {
5181
+ "text": "void"
5182
+ }
5183
+ }
5184
+ },
5135
5185
  {
5136
5186
  "kind": "field",
5137
5187
  "name": "disabledDates",
@@ -5140,6 +5190,14 @@
5140
5190
  },
5141
5191
  "default": "[]"
5142
5192
  },
5193
+ {
5194
+ "kind": "field",
5195
+ "name": "eventPopover",
5196
+ "type": {
5197
+ "text": "CalendarEventPopoverProvider | null"
5198
+ },
5199
+ "default": "null"
5200
+ },
5143
5201
  {
5144
5202
  "kind": "field",
5145
5203
  "name": "events",
@@ -5148,6 +5206,14 @@
5148
5206
  },
5149
5207
  "default": "[]"
5150
5208
  },
5209
+ {
5210
+ "kind": "field",
5211
+ "name": "eventTooltip",
5212
+ "type": {
5213
+ "text": "CalendarEventTooltip | null"
5214
+ },
5215
+ "default": "null"
5216
+ },
5151
5217
  {
5152
5218
  "kind": "field",
5153
5219
  "name": "firstDayOfWeek",
@@ -5300,6 +5366,14 @@
5300
5366
  }
5301
5367
  }
5302
5368
  },
5369
+ {
5370
+ "kind": "field",
5371
+ "name": "noDaySelect",
5372
+ "type": {
5373
+ "text": "boolean"
5374
+ },
5375
+ "default": "false"
5376
+ },
5303
5377
  {
5304
5378
  "kind": "method",
5305
5379
  "name": "previousDay",
@@ -5356,6 +5430,14 @@
5356
5430
  }
5357
5431
  ],
5358
5432
  "attributes": [
5433
+ {
5434
+ "name": "cell-sizing",
5435
+ "fieldName": "cellSizing",
5436
+ "type": {
5437
+ "text": "'square' | 'stretch'"
5438
+ },
5439
+ "reflects": true
5440
+ },
5359
5441
  {
5360
5442
  "name": "first-day-of-week",
5361
5443
  "fieldName": "firstDayOfWeek",
@@ -5396,6 +5478,14 @@
5396
5478
  },
5397
5479
  "reflects": true
5398
5480
  },
5481
+ {
5482
+ "name": "no-day-select",
5483
+ "fieldName": "noDaySelect",
5484
+ "type": {
5485
+ "text": "boolean"
5486
+ },
5487
+ "reflects": true
5488
+ },
5399
5489
  {
5400
5490
  "name": "show-week-numbers",
5401
5491
  "fieldName": "showWeekNumbers",
@@ -5434,6 +5524,9 @@
5434
5524
  "slots": [],
5435
5525
  "cssParts": [],
5436
5526
  "cssProperties": [
5527
+ {
5528
+ "name": "--avatar-size"
5529
+ },
5437
5530
  {
5438
5531
  "name": "--disabled"
5439
5532
  },
@@ -5443,6 +5536,9 @@
5443
5536
  {
5444
5537
  "name": "--selected"
5445
5538
  },
5539
+ {
5540
+ "name": "--static"
5541
+ },
5446
5542
  {
5447
5543
  "name": "--today"
5448
5544
  }
@@ -39748,6 +39844,12 @@
39748
39844
  {
39749
39845
  "name": "label"
39750
39846
  },
39847
+ {
39848
+ "name": "label-off"
39849
+ },
39850
+ {
39851
+ "name": "label-on"
39852
+ },
39751
39853
  {
39752
39854
  "name": "spinner"
39753
39855
  },
@@ -45920,6 +46022,16 @@
45920
46022
  }
45921
46023
  }
45922
46024
  },
46025
+ {
46026
+ "kind": "method",
46027
+ "name": "handleFrameResize",
46028
+ "parameters": [],
46029
+ "return": {
46030
+ "type": {
46031
+ "text": "unknown"
46032
+ }
46033
+ }
46034
+ },
45923
46035
  {
45924
46036
  "kind": "method",
45925
46037
  "name": "handleGroupByChange",
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -11,7 +11,7 @@ CDN build of the Snice avatar component. Requires the Snice runtime (`snice-runt
11
11
  ```
12
12
 
13
13
  ## Size
14
- - Minified: 9.0 KB
14
+ - Minified: 9.2 KB
15
15
  - Gzipped: 3.1 KB
16
16
 
17
17
  ## Theme
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -88,6 +88,9 @@ var SniceAvatar = (function (exports, snice) {
88
88
  let _shape_decorators;
89
89
  let _shape_initializers = [];
90
90
  let _shape_extraInitializers = [];
91
+ let _loading_decorators;
92
+ let _loading_initializers = [];
93
+ let _loading_extraInitializers = [];
91
94
  let _fallbackColor_decorators;
92
95
  let _fallbackColor_initializers = [];
93
96
  let _fallbackColor_extraInitializers = [];
@@ -114,7 +117,8 @@ var SniceAvatar = (function (exports, snice) {
114
117
  this.name = (__runInitializers(this, _alt_extraInitializers), __runInitializers(this, _name_initializers, ''));
115
118
  this.size = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));
116
119
  this.shape = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _shape_initializers, 'circle'));
117
- this.fallbackColor = (__runInitializers(this, _shape_extraInitializers), __runInitializers(this, _fallbackColor_initializers, '#ffffff'));
120
+ this.loading = (__runInitializers(this, _shape_extraInitializers), __runInitializers(this, _loading_initializers, 'lazy'));
121
+ this.fallbackColor = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _fallbackColor_initializers, '#ffffff'));
118
122
  this.fallbackBackground = (__runInitializers(this, _fallbackColor_extraInitializers), __runInitializers(this, _fallbackBackground_initializers, ''));
119
123
  this.imageElement = (__runInitializers(this, _fallbackBackground_extraInitializers), __runInitializers(this, _imageElement_initializers, void 0));
120
124
  this.fallbackElement = (__runInitializers(this, _imageElement_extraInitializers), __runInitializers(this, _fallbackElement_initializers, void 0));
@@ -133,6 +137,7 @@ var SniceAvatar = (function (exports, snice) {
133
137
  _name_decorators = [snice.property({})];
134
138
  _size_decorators = [snice.property({})];
135
139
  _shape_decorators = [snice.property({})];
140
+ _loading_decorators = [snice.property({})];
136
141
  _fallbackColor_decorators = [snice.property({ attribute: 'fallback-color', })];
137
142
  _fallbackBackground_decorators = [snice.property({ attribute: 'fallback-background', })];
138
143
  _imageElement_decorators = [snice.query('.avatar-image')];
@@ -147,6 +152,7 @@ var SniceAvatar = (function (exports, snice) {
147
152
  __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);
148
153
  __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);
149
154
  __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);
155
+ __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);
150
156
  __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);
151
157
  __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);
152
158
  __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);
@@ -170,7 +176,7 @@ var SniceAvatar = (function (exports, snice) {
170
176
  <img part="image" class="${imageClasses}"
171
177
  src="${this.src}"
172
178
  alt="${this.alt || this.name}"
173
- loading="lazy"
179
+ loading="${this.loading}"
174
180
  @load=${this.handleImageLoad}
175
181
  @error=${this.handleImageError}>
176
182
  </if>