snice 3.10.5 → 4.0.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 (151) hide show
  1. package/bin/templates/CLAUDE.md +7 -7
  2. package/dist/components/audio-recorder/snice-audio-recorder.js +6 -6
  3. package/dist/components/audio-recorder/snice-audio-recorder.js.map +1 -1
  4. package/dist/components/banner/snice-banner.js +3 -3
  5. package/dist/components/banner/snice-banner.js.map +1 -1
  6. package/dist/components/button/snice-button.js +1 -1
  7. package/dist/components/calendar/snice-calendar.js +2 -2
  8. package/dist/components/calendar/snice-calendar.js.map +1 -1
  9. package/dist/components/camera/snice-camera.d.ts +2 -0
  10. package/dist/components/camera/snice-camera.js +26 -7
  11. package/dist/components/camera/snice-camera.js.map +1 -1
  12. package/dist/components/carousel/snice-carousel.js +1 -1
  13. package/dist/components/carousel/snice-carousel.js.map +1 -1
  14. package/dist/components/checkbox/snice-checkbox.js +3 -3
  15. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  16. package/dist/components/color-picker/snice-color-picker.js +4 -4
  17. package/dist/components/color-picker/snice-color-picker.js.map +1 -1
  18. package/dist/components/command-palette/snice-command-palette.js +5 -5
  19. package/dist/components/command-palette/snice-command-palette.js.map +1 -1
  20. package/dist/components/date-picker/snice-date-picker.js +8 -8
  21. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  22. package/dist/components/draw/snice-draw.js +5 -5
  23. package/dist/components/draw/snice-draw.js.map +1 -1
  24. package/dist/components/drawer/snice-drawer.js +2 -2
  25. package/dist/components/drawer/snice-drawer.js.map +1 -1
  26. package/dist/components/empty-state/snice-empty-state.js +1 -1
  27. package/dist/components/empty-state/snice-empty-state.js.map +1 -1
  28. package/dist/components/file-gallery/snice-file-gallery.d.ts +1 -1
  29. package/dist/components/file-gallery/snice-file-gallery.js +20 -20
  30. package/dist/components/file-gallery/snice-file-gallery.js.map +1 -1
  31. package/dist/components/file-gallery/snice-file-gallery.types.d.ts +0 -1
  32. package/dist/components/file-upload/snice-file-upload.js +2 -2
  33. package/dist/components/file-upload/snice-file-upload.js.map +1 -1
  34. package/dist/components/input/snice-input.js +5 -5
  35. package/dist/components/input/snice-input.js.map +1 -1
  36. package/dist/components/kanban/snice-kanban.js +2 -2
  37. package/dist/components/kanban/snice-kanban.js.map +1 -1
  38. package/dist/components/location/snice-location.js +1 -1
  39. package/dist/components/location/snice-location.js.map +1 -1
  40. package/dist/components/login/snice-login.js +4 -4
  41. package/dist/components/login/snice-login.js.map +1 -1
  42. package/dist/components/menu/snice-menu-item.js +1 -1
  43. package/dist/components/menu/snice-menu-item.js.map +1 -1
  44. package/dist/components/menu/snice-menu.js +3 -3
  45. package/dist/components/menu/snice-menu.js.map +1 -1
  46. package/dist/components/modal/snice-modal.js +2 -2
  47. package/dist/components/modal/snice-modal.js.map +1 -1
  48. package/dist/components/music-player/snice-music-player.js +10 -10
  49. package/dist/components/music-player/snice-music-player.js.map +1 -1
  50. package/dist/components/pagination/snice-pagination.js +1 -1
  51. package/dist/components/pagination/snice-pagination.js.map +1 -1
  52. package/dist/components/qr-reader/snice-qr-reader.js +3 -3
  53. package/dist/components/qr-reader/snice-qr-reader.js.map +1 -1
  54. package/dist/components/radio/snice-radio.js +1 -1
  55. package/dist/components/radio/snice-radio.js.map +1 -1
  56. package/dist/components/select/snice-select.js +3 -3
  57. package/dist/components/select/snice-select.js.map +1 -1
  58. package/dist/components/slider/snice-slider.js +2 -2
  59. package/dist/components/slider/snice-slider.js.map +1 -1
  60. package/dist/components/split-pane/snice-split-pane.js +1 -1
  61. package/dist/components/split-pane/snice-split-pane.js.map +1 -1
  62. package/dist/components/switch/snice-switch.js +1 -1
  63. package/dist/components/switch/snice-switch.js.map +1 -1
  64. package/dist/components/table/snice-cell-actions.js +1 -1
  65. package/dist/components/table/snice-cell-actions.js.map +1 -1
  66. package/dist/components/table/snice-column.js +1 -1
  67. package/dist/components/table/snice-column.js.map +1 -1
  68. package/dist/components/table/snice-header.js +3 -3
  69. package/dist/components/table/snice-header.js.map +1 -1
  70. package/dist/components/table/snice-row.js +3 -3
  71. package/dist/components/table/snice-row.js.map +1 -1
  72. package/dist/components/table/snice-table.js +3 -3
  73. package/dist/components/table/snice-table.js.map +1 -1
  74. package/dist/components/tabs/snice-tab.js +2 -2
  75. package/dist/components/tabs/snice-tab.js.map +1 -1
  76. package/dist/components/tabs/snice-tabs.js +2 -2
  77. package/dist/components/tabs/snice-tabs.js.map +1 -1
  78. package/dist/components/terminal/snice-terminal.js +3 -3
  79. package/dist/components/terminal/snice-terminal.js.map +1 -1
  80. package/dist/components/textarea/snice-textarea.js +4 -4
  81. package/dist/components/textarea/snice-textarea.js.map +1 -1
  82. package/dist/components/theme/theme.css +3 -0
  83. package/dist/components/timer/snice-timer.js +4 -4
  84. package/dist/components/timer/snice-timer.js.map +1 -1
  85. package/dist/components/tree/snice-tree-item.js +1 -1
  86. package/dist/components/tree/snice-tree-item.js.map +1 -1
  87. package/dist/components/tree/snice-tree.js +5 -5
  88. package/dist/components/tree/snice-tree.js.map +1 -1
  89. package/dist/index.cjs +7 -3
  90. package/dist/index.cjs.map +1 -1
  91. package/dist/index.esm.js +7 -3
  92. package/dist/index.esm.js.map +1 -1
  93. package/dist/index.iife.js +7 -3
  94. package/dist/index.iife.js.map +1 -1
  95. package/dist/symbols.cjs +1 -1
  96. package/dist/symbols.esm.js +1 -1
  97. package/dist/transitions.cjs +1 -1
  98. package/dist/transitions.esm.js +1 -1
  99. package/docs/ai/components/audio-recorder.md +6 -6
  100. package/docs/ai/components/calendar.md +2 -2
  101. package/docs/ai/components/camera.md +13 -6
  102. package/docs/ai/components/carousel.md +1 -1
  103. package/docs/ai/components/color-picker.md +1 -1
  104. package/docs/ai/components/command-palette.md +6 -6
  105. package/docs/ai/components/draw.md +5 -5
  106. package/docs/ai/components/drawer.md +2 -2
  107. package/docs/ai/components/empty-state.md +1 -1
  108. package/docs/ai/components/file-gallery.md +7 -6
  109. package/docs/ai/components/file-upload.md +2 -2
  110. package/docs/ai/components/kanban.md +3 -3
  111. package/docs/ai/components/menu.md +3 -3
  112. package/docs/ai/components/modal.md +2 -2
  113. package/docs/ai/components/music-player.md +9 -9
  114. package/docs/ai/components/pagination.md +2 -2
  115. package/docs/ai/components/qr-reader.md +4 -4
  116. package/docs/ai/components/select.md +4 -4
  117. package/docs/ai/components/slider.md +1 -1
  118. package/docs/ai/components/split-pane.md +1 -1
  119. package/docs/ai/components/switch.md +2 -2
  120. package/docs/ai/components/tabs.md +4 -4
  121. package/docs/ai/components/terminal.md +1 -1
  122. package/docs/ai/components/timer.md +4 -4
  123. package/docs/ai/components/tree.md +7 -7
  124. package/docs/components/audio-recorder.md +7 -7
  125. package/docs/components/banner.md +4 -4
  126. package/docs/components/calendar.md +11 -11
  127. package/docs/components/camera.md +33 -10
  128. package/docs/components/carousel.md +1 -1
  129. package/docs/components/color-picker.md +1 -1
  130. package/docs/components/command-palette.md +6 -6
  131. package/docs/components/draw.md +6 -6
  132. package/docs/components/drawer.md +6 -6
  133. package/docs/components/empty-state.md +1 -1
  134. package/docs/components/file-gallery.md +24 -23
  135. package/docs/components/file-upload.md +7 -7
  136. package/docs/components/kanban.md +7 -7
  137. package/docs/components/menu.md +11 -11
  138. package/docs/components/modal.md +7 -7
  139. package/docs/components/music-player.md +16 -16
  140. package/docs/components/pagination.md +5 -5
  141. package/docs/components/qr-reader.md +12 -12
  142. package/docs/components/select.md +9 -9
  143. package/docs/components/slider.md +6 -6
  144. package/docs/components/split-pane.md +2 -2
  145. package/docs/components/switch.md +4 -4
  146. package/docs/components/tabs.md +10 -10
  147. package/docs/components/terminal.md +6 -6
  148. package/docs/components/textarea.md +7 -7
  149. package/docs/components/timer.md +8 -8
  150. package/docs/components/tree.md +9 -9
  151. package/package.json +1 -1
package/dist/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v3.10.4
2
+ * snice v3.11.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1329,8 +1329,10 @@ class EventPart extends Part {
1329
1329
  this.element = element;
1330
1330
  // Parse keyboard shortcuts:
1331
1331
  // Supports both dot notation (@keydown.enter) and colon notation (@keydown:Enter) to match @on decorator
1332
+ // Only parse colons for keyboard events, not custom events
1333
+ const isKeyboardEvent = ['keydown', 'keyup', 'keypress'].includes(eventName.split('.')[0].split(':')[0]);
1332
1334
  const dotIndex = eventName.indexOf('.');
1333
- const colonIndex = eventName.indexOf(':');
1335
+ const colonIndex = isKeyboardEvent ? eventName.indexOf(':') : -1;
1334
1336
  // Use whichever delimiter comes first (dot or colon)
1335
1337
  const delimiterIndex = dotIndex > 0 && colonIndex > 0
1336
1338
  ? Math.min(dotIndex, colonIndex)
@@ -1759,8 +1761,10 @@ function setupEventHandlers(instance, targetElement) {
1759
1761
  const handlerOptions = handler.options || {};
1760
1762
  // Parse event name for key modifiers
1761
1763
  // Supports both dot notation (@keydown.enter) and colon notation (@keydown:Enter)
1764
+ // Only parse colons for keyboard events, not custom events
1765
+ const isKeyboardEvent = ['keydown', 'keyup', 'keypress'].includes(handler.eventName.split('.')[0].split(':')[0]);
1762
1766
  const dotIndex = handler.eventName.indexOf('.');
1763
- const colonIndex = handler.eventName.indexOf(':');
1767
+ const colonIndex = isKeyboardEvent ? handler.eventName.indexOf(':') : -1;
1764
1768
  const delimiterIndex = dotIndex > 0 && colonIndex > 0
1765
1769
  ? Math.min(dotIndex, colonIndex)
1766
1770
  : Math.max(dotIndex, colonIndex);