snice 1.13.2 → 1.13.4

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 (295) hide show
  1. package/bin/templates/base/README.md +1 -1
  2. package/dist/components/accordion/snice-accordion-item.d.ts +25 -0
  3. package/dist/components/accordion/snice-accordion-item.js +260 -0
  4. package/dist/components/accordion/snice-accordion-item.js.map +1 -0
  5. package/dist/components/accordion/snice-accordion.d.ts +28 -0
  6. package/dist/components/accordion/snice-accordion.js +221 -0
  7. package/dist/components/accordion/snice-accordion.js.map +1 -0
  8. package/dist/components/accordion/snice-accordion.types.d.ts +29 -0
  9. package/dist/components/accordion/snice-accordion.types.js +2 -0
  10. package/dist/components/accordion/snice-accordion.types.js.map +1 -0
  11. package/dist/components/alert/snice-alert.d.ts +26 -0
  12. package/dist/components/alert/snice-alert.js +191 -0
  13. package/dist/components/alert/snice-alert.js.map +1 -0
  14. package/dist/components/alert/snice-alert.types.d.ts +11 -0
  15. package/dist/components/alert/snice-alert.types.js +2 -0
  16. package/dist/components/alert/snice-alert.types.js.map +1 -0
  17. package/dist/components/avatar/snice-avatar.d.ts +24 -0
  18. package/dist/components/avatar/snice-avatar.js +177 -0
  19. package/dist/components/avatar/snice-avatar.js.map +1 -0
  20. package/dist/components/avatar/snice-avatar.types.d.ts +12 -0
  21. package/dist/components/avatar/snice-avatar.types.js +2 -0
  22. package/dist/components/avatar/snice-avatar.types.js.map +1 -0
  23. package/dist/components/badge/snice-badge.d.ts +25 -0
  24. package/dist/components/badge/snice-badge.js +157 -0
  25. package/dist/components/badge/snice-badge.js.map +1 -0
  26. package/dist/components/badge/snice-badge.types.d.ts +15 -0
  27. package/dist/components/badge/snice-badge.types.js +2 -0
  28. package/dist/components/badge/snice-badge.types.js.map +1 -0
  29. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +27 -0
  30. package/dist/components/breadcrumbs/snice-breadcrumbs.js +212 -0
  31. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -0
  32. package/dist/components/breadcrumbs/snice-breadcrumbs.types.d.ts +23 -0
  33. package/dist/components/breadcrumbs/snice-breadcrumbs.types.js +2 -0
  34. package/dist/components/breadcrumbs/snice-breadcrumbs.types.js.map +1 -0
  35. package/dist/components/breadcrumbs/snice-crumb.d.ts +9 -0
  36. package/dist/components/breadcrumbs/snice-crumb.js +50 -0
  37. package/dist/components/breadcrumbs/snice-crumb.js.map +1 -0
  38. package/dist/components/button/snice-button.d.ts +32 -0
  39. package/dist/components/button/snice-button.js +212 -0
  40. package/dist/components/button/snice-button.js.map +1 -0
  41. package/dist/components/button/snice-button.types.d.ts +23 -0
  42. package/dist/components/button/snice-button.types.js +2 -0
  43. package/dist/components/button/snice-button.types.js.map +1 -0
  44. package/dist/components/card/snice-card.d.ts +19 -0
  45. package/dist/components/card/snice-card.js +132 -0
  46. package/dist/components/card/snice-card.js.map +1 -0
  47. package/dist/components/card/snice-card.types.d.ts +9 -0
  48. package/dist/components/card/snice-card.types.js +2 -0
  49. package/dist/components/card/snice-card.types.js.map +1 -0
  50. package/dist/components/checkbox/snice-checkbox.d.ts +34 -0
  51. package/dist/components/checkbox/snice-checkbox.js +289 -0
  52. package/dist/components/checkbox/snice-checkbox.js.map +1 -0
  53. package/dist/components/checkbox/snice-checkbox.types.d.ts +20 -0
  54. package/dist/components/checkbox/snice-checkbox.types.js +2 -0
  55. package/dist/components/checkbox/snice-checkbox.types.js.map +1 -0
  56. package/dist/components/chip/snice-chip.d.ts +28 -0
  57. package/dist/components/chip/snice-chip.js +203 -0
  58. package/dist/components/chip/snice-chip.js.map +1 -0
  59. package/dist/components/chip/snice-chip.types.d.ts +14 -0
  60. package/dist/components/chip/snice-chip.types.js +2 -0
  61. package/dist/components/chip/snice-chip.types.js.map +1 -0
  62. package/dist/components/date-picker/snice-date-picker.d.ts +82 -0
  63. package/dist/components/date-picker/snice-date-picker.js +880 -0
  64. package/dist/components/date-picker/snice-date-picker.js.map +1 -0
  65. package/dist/components/date-picker/snice-date-picker.types.d.ts +71 -0
  66. package/dist/components/date-picker/snice-date-picker.types.js +2 -0
  67. package/dist/components/date-picker/snice-date-picker.types.js.map +1 -0
  68. package/dist/components/divider/snice-divider.d.ts +17 -0
  69. package/dist/components/divider/snice-divider.js +111 -0
  70. package/dist/components/divider/snice-divider.js.map +1 -0
  71. package/dist/components/divider/snice-divider.types.d.ts +14 -0
  72. package/dist/components/divider/snice-divider.types.js +2 -0
  73. package/dist/components/divider/snice-divider.types.js.map +1 -0
  74. package/dist/components/drawer/snice-drawer.d.ts +37 -0
  75. package/dist/components/drawer/snice-drawer.js +335 -0
  76. package/dist/components/drawer/snice-drawer.js.map +1 -0
  77. package/dist/components/drawer/snice-drawer.types.d.ts +16 -0
  78. package/dist/components/drawer/snice-drawer.types.js +2 -0
  79. package/dist/components/drawer/snice-drawer.types.js.map +1 -0
  80. package/dist/components/input/snice-input.d.ts +65 -0
  81. package/dist/components/input/snice-input.js +603 -0
  82. package/dist/components/input/snice-input.js.map +1 -0
  83. package/dist/components/input/snice-input.types.d.ts +53 -0
  84. package/dist/components/input/snice-input.types.js +2 -0
  85. package/dist/components/input/snice-input.types.js.map +1 -0
  86. package/dist/components/layout/snice-layout-blog.d.ts +4 -0
  87. package/dist/components/layout/snice-layout-blog.js +56 -0
  88. package/dist/components/layout/snice-layout-blog.js.map +1 -0
  89. package/dist/components/layout/snice-layout-card.d.ts +6 -0
  90. package/dist/components/layout/snice-layout-card.js +53 -0
  91. package/dist/components/layout/snice-layout-card.js.map +1 -0
  92. package/dist/components/layout/snice-layout-centered.d.ts +5 -0
  93. package/dist/components/layout/snice-layout-centered.js +38 -0
  94. package/dist/components/layout/snice-layout-centered.js.map +1 -0
  95. package/dist/components/layout/snice-layout-dashboard.d.ts +4 -0
  96. package/dist/components/layout/snice-layout-dashboard.js +53 -0
  97. package/dist/components/layout/snice-layout-dashboard.js.map +1 -0
  98. package/dist/components/layout/snice-layout-fullscreen.d.ts +5 -0
  99. package/dist/components/layout/snice-layout-fullscreen.js +50 -0
  100. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -0
  101. package/dist/components/layout/snice-layout-landing.d.ts +4 -0
  102. package/dist/components/layout/snice-layout-landing.js +55 -0
  103. package/dist/components/layout/snice-layout-landing.js.map +1 -0
  104. package/dist/components/layout/snice-layout-minimal.d.ts +4 -0
  105. package/dist/components/layout/snice-layout-minimal.js +27 -0
  106. package/dist/components/layout/snice-layout-minimal.js.map +1 -0
  107. package/dist/components/layout/snice-layout-sidebar.d.ts +5 -0
  108. package/dist/components/layout/snice-layout-sidebar.js +64 -0
  109. package/dist/components/layout/snice-layout-sidebar.js.map +1 -0
  110. package/dist/components/layout/snice-layout-split.d.ts +6 -0
  111. package/dist/components/layout/snice-layout-split.js +47 -0
  112. package/dist/components/layout/snice-layout-split.js.map +1 -0
  113. package/dist/components/layout/snice-layout.d.ts +4 -0
  114. package/dist/components/layout/snice-layout.js +43 -0
  115. package/dist/components/layout/snice-layout.js.map +1 -0
  116. package/dist/components/layout/snice-layout.types.d.ts +3 -0
  117. package/dist/components/layout/snice-layout.types.js +2 -0
  118. package/dist/components/layout/snice-layout.types.js.map +1 -0
  119. package/dist/components/login/snice-login.d.ts +45 -0
  120. package/dist/components/login/snice-login.js +385 -0
  121. package/dist/components/login/snice-login.js.map +1 -0
  122. package/dist/components/login/snice-login.types.d.ts +31 -0
  123. package/dist/components/login/snice-login.types.js +2 -0
  124. package/dist/components/login/snice-login.types.js.map +1 -0
  125. package/dist/components/modal/snice-modal.d.ts +32 -0
  126. package/dist/components/modal/snice-modal.js +288 -0
  127. package/dist/components/modal/snice-modal.js.map +1 -0
  128. package/dist/components/modal/snice-modal.types.d.ts +18 -0
  129. package/dist/components/modal/snice-modal.types.js +2 -0
  130. package/dist/components/modal/snice-modal.types.js.map +1 -0
  131. package/dist/components/pagination/snice-pagination.d.ts +26 -0
  132. package/dist/components/pagination/snice-pagination.js +373 -0
  133. package/dist/components/pagination/snice-pagination.js.map +1 -0
  134. package/dist/components/pagination/snice-pagination.types.d.ts +18 -0
  135. package/dist/components/pagination/snice-pagination.types.js +2 -0
  136. package/dist/components/pagination/snice-pagination.types.js.map +1 -0
  137. package/dist/components/progress/snice-progress.d.ts +35 -0
  138. package/dist/components/progress/snice-progress.js +295 -0
  139. package/dist/components/progress/snice-progress.js.map +1 -0
  140. package/dist/components/progress/snice-progress.types.d.ts +18 -0
  141. package/dist/components/progress/snice-progress.types.js +2 -0
  142. package/dist/components/progress/snice-progress.types.js.map +1 -0
  143. package/dist/components/radio/snice-radio.d.ts +33 -0
  144. package/dist/components/radio/snice-radio.js +286 -0
  145. package/dist/components/radio/snice-radio.js.map +1 -0
  146. package/dist/components/radio/snice-radio.types.d.ts +19 -0
  147. package/dist/components/radio/snice-radio.types.js +2 -0
  148. package/dist/components/radio/snice-radio.types.js.map +1 -0
  149. package/dist/components/select/snice-option.d.ts +17 -0
  150. package/dist/components/select/snice-option.js +77 -0
  151. package/dist/components/select/snice-option.js.map +1 -0
  152. package/dist/components/select/snice-option.types.d.ts +14 -0
  153. package/dist/components/select/snice-option.types.js +2 -0
  154. package/dist/components/select/snice-option.types.js.map +1 -0
  155. package/dist/components/select/snice-select.d.ts +89 -0
  156. package/dist/components/select/snice-select.js +900 -0
  157. package/dist/components/select/snice-select.js.map +1 -0
  158. package/dist/components/select/snice-select.types.d.ts +49 -0
  159. package/dist/components/select/snice-select.types.js +2 -0
  160. package/dist/components/select/snice-select.types.js.map +1 -0
  161. package/dist/components/skeleton/snice-skeleton.d.ts +16 -0
  162. package/dist/components/skeleton/snice-skeleton.js +159 -0
  163. package/dist/components/skeleton/snice-skeleton.js.map +1 -0
  164. package/dist/components/skeleton/snice-skeleton.types.d.ts +10 -0
  165. package/dist/components/skeleton/snice-skeleton.types.js +2 -0
  166. package/dist/components/skeleton/snice-skeleton.types.js.map +1 -0
  167. package/dist/components/switch/snice-switch.d.ts +38 -0
  168. package/dist/components/switch/snice-switch.js +309 -0
  169. package/dist/components/switch/snice-switch.js.map +1 -0
  170. package/dist/components/switch/snice-switch.types.d.ts +21 -0
  171. package/dist/components/switch/snice-switch.types.js +2 -0
  172. package/dist/components/switch/snice-switch.types.js.map +1 -0
  173. package/dist/components/symbols.d.ts +1 -0
  174. package/dist/components/symbols.js +20 -0
  175. package/dist/components/symbols.js.map +1 -0
  176. package/dist/components/table/snice-cell-boolean.d.ts +21 -0
  177. package/dist/components/table/snice-cell-boolean.js +152 -0
  178. package/dist/components/table/snice-cell-boolean.js.map +1 -0
  179. package/dist/components/table/snice-cell-date.d.ts +24 -0
  180. package/dist/components/table/snice-cell-date.js +240 -0
  181. package/dist/components/table/snice-cell-date.js.map +1 -0
  182. package/dist/components/table/snice-cell-duration.d.ts +16 -0
  183. package/dist/components/table/snice-cell-duration.js +123 -0
  184. package/dist/components/table/snice-cell-duration.js.map +1 -0
  185. package/dist/components/table/snice-cell-filesize.d.ts +16 -0
  186. package/dist/components/table/snice-cell-filesize.js +119 -0
  187. package/dist/components/table/snice-cell-filesize.js.map +1 -0
  188. package/dist/components/table/snice-cell-number.d.ts +23 -0
  189. package/dist/components/table/snice-cell-number.js +202 -0
  190. package/dist/components/table/snice-cell-number.js.map +1 -0
  191. package/dist/components/table/snice-cell-progress.d.ts +17 -0
  192. package/dist/components/table/snice-cell-progress.js +114 -0
  193. package/dist/components/table/snice-cell-progress.js.map +1 -0
  194. package/dist/components/table/snice-cell-rating.d.ts +17 -0
  195. package/dist/components/table/snice-cell-rating.js +113 -0
  196. package/dist/components/table/snice-cell-rating.js.map +1 -0
  197. package/dist/components/table/snice-cell-sparkline.d.ts +29 -0
  198. package/dist/components/table/snice-cell-sparkline.js +290 -0
  199. package/dist/components/table/snice-cell-sparkline.js.map +1 -0
  200. package/dist/components/table/snice-cell-text.d.ts +19 -0
  201. package/dist/components/table/snice-cell-text.js +153 -0
  202. package/dist/components/table/snice-cell-text.js.map +1 -0
  203. package/dist/components/table/snice-cell.d.ts +32 -0
  204. package/dist/components/table/snice-cell.js +451 -0
  205. package/dist/components/table/snice-cell.js.map +1 -0
  206. package/dist/components/table/snice-column.d.ts +62 -0
  207. package/dist/components/table/snice-column.js +440 -0
  208. package/dist/components/table/snice-column.js.map +1 -0
  209. package/dist/components/table/snice-header.d.ts +33 -0
  210. package/dist/components/table/snice-header.js +303 -0
  211. package/dist/components/table/snice-header.js.map +1 -0
  212. package/dist/components/table/snice-progress.d.ts +10 -0
  213. package/dist/components/table/snice-progress.js +91 -0
  214. package/dist/components/table/snice-progress.js.map +1 -0
  215. package/dist/components/table/snice-rating.d.ts +9 -0
  216. package/dist/components/table/snice-rating.js +68 -0
  217. package/dist/components/table/snice-rating.js.map +1 -0
  218. package/dist/components/table/snice-row.d.ts +43 -0
  219. package/dist/components/table/snice-row.js +365 -0
  220. package/dist/components/table/snice-row.js.map +1 -0
  221. package/dist/components/table/snice-table.d.ts +69 -0
  222. package/dist/components/table/snice-table.js +814 -0
  223. package/dist/components/table/snice-table.js.map +1 -0
  224. package/dist/components/table/snice-table.types.d.ts +137 -0
  225. package/dist/components/table/snice-table.types.js +2 -0
  226. package/dist/components/table/snice-table.types.js.map +1 -0
  227. package/dist/components/tabs/snice-tab-panel.d.ts +12 -0
  228. package/dist/components/tabs/snice-tab-panel.js +78 -0
  229. package/dist/components/tabs/snice-tab-panel.js.map +1 -0
  230. package/dist/components/tabs/snice-tab.d.ts +13 -0
  231. package/dist/components/tabs/snice-tab.js +90 -0
  232. package/dist/components/tabs/snice-tab.js.map +1 -0
  233. package/dist/components/tabs/snice-tabs.d.ts +34 -0
  234. package/dist/components/tabs/snice-tabs.js +367 -0
  235. package/dist/components/tabs/snice-tabs.js.map +1 -0
  236. package/dist/components/tabs/snice-tabs.types.d.ts +23 -0
  237. package/dist/components/tabs/snice-tabs.types.js +2 -0
  238. package/dist/components/tabs/snice-tabs.types.js.map +1 -0
  239. package/dist/components/toast/snice-toast-container.d.ts +25 -0
  240. package/dist/components/toast/snice-toast-container.js +251 -0
  241. package/dist/components/toast/snice-toast-container.js.map +1 -0
  242. package/dist/components/toast/snice-toast.d.ts +23 -0
  243. package/dist/components/toast/snice-toast.js +316 -0
  244. package/dist/components/toast/snice-toast.js.map +1 -0
  245. package/dist/components/toast/snice-toast.types.d.ts +30 -0
  246. package/dist/components/toast/snice-toast.types.js +2 -0
  247. package/dist/components/toast/snice-toast.types.js.map +1 -0
  248. package/dist/components/tooltip/snice-tooltip.d.ts +50 -0
  249. package/dist/components/tooltip/snice-tooltip.js +656 -0
  250. package/dist/components/tooltip/snice-tooltip.js.map +1 -0
  251. package/dist/components/tooltip/snice-tooltip.types.d.ts +18 -0
  252. package/dist/components/tooltip/snice-tooltip.types.js +2 -0
  253. package/dist/components/tooltip/snice-tooltip.types.js.map +1 -0
  254. package/dist/components/transitions.d.ts +11 -0
  255. package/dist/components/transitions.js +69 -0
  256. package/dist/components/transitions.js.map +1 -0
  257. package/dist/src/controller.d.ts +61 -0
  258. package/dist/src/controller.js +297 -0
  259. package/dist/src/controller.js.map +1 -0
  260. package/dist/src/element.d.ts +77 -0
  261. package/dist/src/element.js +805 -0
  262. package/dist/src/element.js.map +1 -0
  263. package/dist/src/events.d.ts +37 -0
  264. package/dist/src/events.js +289 -0
  265. package/dist/src/events.js.map +1 -0
  266. package/dist/src/global.d.ts +7 -0
  267. package/dist/src/global.js +23 -0
  268. package/dist/src/global.js.map +1 -0
  269. package/{src/index.ts → dist/src/index.d.ts} +1 -1
  270. package/dist/src/index.js +8 -0
  271. package/dist/src/index.js.map +1 -0
  272. package/dist/src/observe.d.ts +26 -0
  273. package/dist/src/observe.js +329 -0
  274. package/dist/src/observe.js.map +1 -0
  275. package/dist/src/request-response.d.ts +46 -0
  276. package/dist/src/request-response.js +267 -0
  277. package/dist/src/request-response.js.map +1 -0
  278. package/dist/src/router.d.ts +87 -0
  279. package/dist/src/router.js +375 -0
  280. package/dist/src/router.js.map +1 -0
  281. package/dist/src/symbols.d.ts +29 -0
  282. package/{src/symbols.ts → dist/src/symbols.js} +2 -12
  283. package/dist/src/symbols.js.map +1 -0
  284. package/dist/src/transitions.d.ts +50 -0
  285. package/dist/src/transitions.js +199 -0
  286. package/dist/src/transitions.js.map +1 -0
  287. package/package.json +6 -8
  288. package/src/controller.ts +0 -347
  289. package/src/element.ts +0 -897
  290. package/src/events.ts +0 -349
  291. package/src/global.ts +0 -31
  292. package/src/observe.ts +0 -414
  293. package/src/request-response.ts +0 -336
  294. package/src/router.ts +0 -552
  295. package/src/transitions.ts +0 -264
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/element.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export interface OnOptions {
2
+ /** Use capture phase instead of bubble phase */
3
+ capture?: boolean;
4
+ /** Remove listener after first trigger */
5
+ once?: boolean;
6
+ /** Passive listener (can't preventDefault) */
7
+ passive?: boolean;
8
+ /** Automatically call preventDefault on the event */
9
+ preventDefault?: boolean;
10
+ /** Automatically call stopPropagation on the event */
11
+ stopPropagation?: boolean;
12
+ /** Debounce the handler by specified milliseconds */
13
+ debounce?: number;
14
+ /** Throttle the handler by specified milliseconds */
15
+ throttle?: number;
16
+ }
17
+ export declare function on(eventName: string | string[], selectorOrOptions?: string | OnOptions, options?: OnOptions): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
18
+ export declare function setupEventHandlers(instance: any, element: HTMLElement): void;
19
+ export declare function cleanupEventHandlers(instance: any): void;
20
+ export interface DispatchOptions extends EventInit {
21
+ /**
22
+ * Whether to dispatch even if the method returns undefined (default: true)
23
+ */
24
+ dispatchOnUndefined?: boolean;
25
+ /** Debounce the dispatch by specified milliseconds */
26
+ debounce?: number;
27
+ /** Throttle the dispatch by specified milliseconds */
28
+ throttle?: number;
29
+ }
30
+ /**
31
+ * Decorator that automatically dispatches a custom event after a method is called.
32
+ * The return value of the method becomes the event detail.
33
+ *
34
+ * @param eventName The name of the event to dispatch
35
+ * @param options Optional configuration extending EventInit
36
+ */
37
+ export declare function dispatch(eventName: string, options?: DispatchOptions): (_target: any, _propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
@@ -0,0 +1,289 @@
1
+ import { ON_HANDLERS, CLEANUP } from './symbols';
2
+ export function on(eventName, selectorOrOptions, options) {
3
+ // Handle overloaded parameters
4
+ let selector;
5
+ let opts;
6
+ if (typeof selectorOrOptions === 'string') {
7
+ selector = selectorOrOptions;
8
+ opts = options;
9
+ }
10
+ else {
11
+ selector = undefined;
12
+ opts = selectorOrOptions;
13
+ }
14
+ return function (target, propertyKey, descriptor) {
15
+ // Store event handler metadata
16
+ if (!target[ON_HANDLERS]) {
17
+ target[ON_HANDLERS] = [];
18
+ }
19
+ // Normalize to array and expand at decoration time
20
+ const eventNames = Array.isArray(eventName) ? eventName : [eventName];
21
+ // Create a handler entry for each event
22
+ for (const event of eventNames) {
23
+ target[ON_HANDLERS].push({
24
+ eventName: event,
25
+ selector,
26
+ methodName: propertyKey,
27
+ method: descriptor.value,
28
+ options: opts
29
+ });
30
+ }
31
+ return descriptor;
32
+ };
33
+ }
34
+ // Helper to setup event handlers for elements
35
+ export function setupEventHandlers(instance, element) {
36
+ const handlers = instance.constructor.prototype[ON_HANDLERS];
37
+ if (!handlers)
38
+ return;
39
+ // Initialize cleanup object if needed
40
+ if (!instance[CLEANUP]) {
41
+ instance[CLEANUP] = { events: [], channels: [] };
42
+ }
43
+ for (const handler of handlers) {
44
+ const originalMethod = handler.method.bind(instance);
45
+ const handlerOptions = handler.options || {};
46
+ // Parse event name for key modifiers
47
+ const [baseEventName, keyModifier] = handler.eventName.split(':');
48
+ // Create debounced/throttled wrapper if needed
49
+ const createTimedWrapper = (method) => {
50
+ if (handlerOptions.debounce) {
51
+ let timeoutId;
52
+ return function (...args) {
53
+ clearTimeout(timeoutId);
54
+ timeoutId = setTimeout(() => method.apply(this, args), handlerOptions.debounce);
55
+ };
56
+ }
57
+ if (handlerOptions.throttle) {
58
+ let lastCall = 0;
59
+ let timeoutId;
60
+ return function (...args) {
61
+ const now = Date.now();
62
+ const remaining = handlerOptions.throttle - (now - lastCall);
63
+ if (remaining <= 0) {
64
+ clearTimeout(timeoutId);
65
+ lastCall = now;
66
+ method.apply(this, args);
67
+ }
68
+ else if (!timeoutId) {
69
+ timeoutId = setTimeout(() => {
70
+ lastCall = Date.now();
71
+ timeoutId = null;
72
+ method.apply(this, args);
73
+ }, remaining);
74
+ }
75
+ };
76
+ }
77
+ return method;
78
+ };
79
+ // Create the event handler with key modifier support
80
+ const createEventHandler = (method) => {
81
+ if (keyModifier && (baseEventName === 'keydown' || baseEventName === 'keyup' || baseEventName === 'keypress')) {
82
+ return (event) => {
83
+ const keyEvent = event;
84
+ // Helper to normalize key names (e.g., "Space" -> " ")
85
+ const normalizeKey = (key) => {
86
+ if (key === 'Space')
87
+ return ' ';
88
+ return key;
89
+ };
90
+ // Check for "any modifiers" match with ~ prefix
91
+ if (keyModifier.startsWith('~')) {
92
+ const key = normalizeKey(keyModifier.slice(1)); // Remove the ~ and normalize
93
+ // Match if key matches, regardless of modifiers
94
+ if (keyEvent.key === key) {
95
+ method(event);
96
+ }
97
+ return;
98
+ }
99
+ // Check for modifier combinations using +
100
+ if (keyModifier.includes('+')) {
101
+ const parts = keyModifier.split('+');
102
+ const key = normalizeKey(parts[parts.length - 1]); // Last part is the actual key
103
+ const modifiers = parts.slice(0, -1); // Everything else is modifiers
104
+ // Check the actual key
105
+ if (keyEvent.key !== key)
106
+ return;
107
+ // Create a set of expected modifiers
108
+ const expectedModifiers = new Set(modifiers.map((m) => m.toLowerCase()));
109
+ const hasCtrl = expectedModifiers.has('ctrl');
110
+ const hasShift = expectedModifiers.has('shift');
111
+ const hasAlt = expectedModifiers.has('alt');
112
+ const hasMeta = expectedModifiers.has('meta') || expectedModifiers.has('cmd');
113
+ // Check that expected modifiers are pressed and unexpected ones are not
114
+ const modifiersMatch = keyEvent.ctrlKey === hasCtrl &&
115
+ keyEvent.shiftKey === hasShift &&
116
+ keyEvent.altKey === hasAlt &&
117
+ keyEvent.metaKey === hasMeta;
118
+ if (modifiersMatch) {
119
+ method(event);
120
+ }
121
+ }
122
+ else {
123
+ // Default: exact match (no modifiers allowed)
124
+ const key = normalizeKey(keyModifier);
125
+ // Only match if key matches AND no modifiers are pressed
126
+ if (keyEvent.key === key &&
127
+ !keyEvent.ctrlKey &&
128
+ !keyEvent.shiftKey &&
129
+ !keyEvent.altKey &&
130
+ !keyEvent.metaKey) {
131
+ method(event);
132
+ }
133
+ }
134
+ };
135
+ }
136
+ return method;
137
+ };
138
+ // Apply timing wrapper (debounce/throttle)
139
+ const timedMethod = createTimedWrapper(originalMethod);
140
+ // Wrap boundMethod in try-catch for error isolation
141
+ const wrappedMethod = createEventHandler((event) => {
142
+ try {
143
+ // Apply automatic preventDefault/stopPropagation if configured
144
+ if (handlerOptions.preventDefault) {
145
+ event.preventDefault();
146
+ }
147
+ if (handlerOptions.stopPropagation) {
148
+ event.stopPropagation();
149
+ }
150
+ return timedMethod(event);
151
+ }
152
+ catch (error) {
153
+ console.error(`Error in event handler ${handler.methodName}:`, error);
154
+ // Don't rethrow - allow other handlers to continue
155
+ }
156
+ });
157
+ if (handler.selector) {
158
+ // Delegated event handling - use shadow root if available
159
+ const eventRoot = element.shadowRoot || element;
160
+ const delegatedHandler = (event) => {
161
+ const target = event.target;
162
+ let shouldHandle = false;
163
+ if (target.matches && target.matches(handler.selector)) {
164
+ shouldHandle = true;
165
+ }
166
+ else if (target.closest) {
167
+ const closest = target.closest(handler.selector);
168
+ if (closest) {
169
+ shouldHandle = true;
170
+ }
171
+ }
172
+ if (shouldHandle) {
173
+ // Apply automatic preventDefault/stopPropagation only if we're handling this event
174
+ if (handlerOptions.preventDefault) {
175
+ event.preventDefault();
176
+ }
177
+ if (handlerOptions.stopPropagation) {
178
+ event.stopPropagation();
179
+ event.stopImmediatePropagation(); // Also stop other handlers on same element
180
+ }
181
+ wrappedMethod(event);
182
+ }
183
+ };
184
+ const listenerOptions = {
185
+ capture: handlerOptions.capture || false,
186
+ once: handlerOptions.once || false,
187
+ passive: handlerOptions.passive || false
188
+ };
189
+ eventRoot.addEventListener(baseEventName, delegatedHandler, listenerOptions);
190
+ instance[CLEANUP].events.push(() => {
191
+ eventRoot.removeEventListener(baseEventName, delegatedHandler, listenerOptions);
192
+ });
193
+ }
194
+ else {
195
+ // Direct event handling - always on the element itself
196
+ const listenerOptions = {
197
+ capture: handlerOptions.capture || false,
198
+ once: handlerOptions.once || false,
199
+ passive: handlerOptions.passive || false
200
+ };
201
+ element.addEventListener(baseEventName, wrappedMethod, listenerOptions);
202
+ instance[CLEANUP].events.push(() => {
203
+ element.removeEventListener(baseEventName, wrappedMethod, listenerOptions);
204
+ });
205
+ }
206
+ }
207
+ }
208
+ // Helper to cleanup event handlers
209
+ export function cleanupEventHandlers(instance) {
210
+ if (instance[CLEANUP]?.events) {
211
+ for (const cleanup of instance[CLEANUP].events) {
212
+ cleanup();
213
+ }
214
+ instance[CLEANUP].events = [];
215
+ }
216
+ }
217
+ /**
218
+ * Decorator that automatically dispatches a custom event after a method is called.
219
+ * The return value of the method becomes the event detail.
220
+ *
221
+ * @param eventName The name of the event to dispatch
222
+ * @param options Optional configuration extending EventInit
223
+ */
224
+ export function dispatch(eventName, options) {
225
+ return function (_target, _propertyKey, descriptor) {
226
+ const originalMethod = descriptor.value;
227
+ // Create timing wrappers for dispatch
228
+ let debounceTimeout;
229
+ let throttleLastCall = 0;
230
+ let throttleTimeout;
231
+ descriptor.value = function (...args) {
232
+ // Call the original method
233
+ const result = originalMethod.apply(this, args);
234
+ // Helper to dispatch the event
235
+ const doDispatch = (detail) => {
236
+ // Skip dispatch if result is undefined and dispatchOnUndefined is false
237
+ if (detail === undefined && options?.dispatchOnUndefined === false) {
238
+ return;
239
+ }
240
+ // Create event with spread operator for options
241
+ const event = new CustomEvent(eventName, {
242
+ bubbles: true, // Default to true for component events
243
+ composed: true, // Allow crossing shadow DOM boundaries
244
+ ...options, // Spread all EventInit options
245
+ detail
246
+ });
247
+ this.dispatchEvent(event);
248
+ };
249
+ // Helper to handle timed dispatch
250
+ const timedDispatch = (detail) => {
251
+ if (options?.debounce) {
252
+ clearTimeout(debounceTimeout);
253
+ debounceTimeout = setTimeout(() => doDispatch(detail), options.debounce);
254
+ }
255
+ else if (options?.throttle) {
256
+ const now = Date.now();
257
+ const remaining = options.throttle - (now - throttleLastCall);
258
+ if (remaining <= 0) {
259
+ clearTimeout(throttleTimeout);
260
+ throttleLastCall = now;
261
+ doDispatch(detail);
262
+ }
263
+ else if (!throttleTimeout) {
264
+ throttleTimeout = setTimeout(() => {
265
+ throttleLastCall = Date.now();
266
+ throttleTimeout = null;
267
+ doDispatch(detail);
268
+ }, remaining);
269
+ }
270
+ }
271
+ else {
272
+ doDispatch(detail);
273
+ }
274
+ };
275
+ // Handle async methods
276
+ if (result instanceof Promise) {
277
+ return result.then((resolvedResult) => {
278
+ timedDispatch(resolvedResult);
279
+ return resolvedResult;
280
+ });
281
+ }
282
+ // Sync method
283
+ timedDispatch(result);
284
+ return result;
285
+ };
286
+ return descriptor;
287
+ };
288
+ }
289
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface SniceGlobal {
2
+ controllerRegistry: Map<string, any>;
3
+ controllerIdCounter: number;
4
+ symbols: Map<string, symbol>;
5
+ }
6
+ export declare const snice: SniceGlobal;
7
+ export declare function getSymbol(name: string): symbol;
@@ -0,0 +1,23 @@
1
+ // Global namespace for Snice framework
2
+ // Ensures all registries and symbols are shared across different JS files/modules
3
+ // Initialize or get the global Snice namespace
4
+ function initGlobalNamespace() {
5
+ if (!globalThis.snice) {
6
+ globalThis.snice = {
7
+ controllerRegistry: new Map(),
8
+ controllerIdCounter: 0,
9
+ symbols: new Map()
10
+ };
11
+ }
12
+ return globalThis.snice;
13
+ }
14
+ // Export the global namespace
15
+ export const snice = initGlobalNamespace();
16
+ // Helper function to get or create a global symbol
17
+ export function getSymbol(name) {
18
+ if (!snice.symbols.has(name)) {
19
+ snice.symbols.set(name, Symbol(name));
20
+ }
21
+ return snice.symbols.get(name);
22
+ }
23
+ //# sourceMappingURL=global.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/global.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kFAAkF;AAQlF,+CAA+C;AAC/C,SAAS,mBAAmB;IAC1B,IAAI,CAAE,UAAkB,CAAC,KAAK,EAAE,CAAC;QAC9B,UAAkB,CAAC,KAAK,GAAG;YAC1B,kBAAkB,EAAE,IAAI,GAAG,EAAE;YAC7B,mBAAmB,EAAE,CAAC;YACtB,OAAO,EAAE,IAAI,GAAG,EAAE;SACnB,CAAC;IACJ,CAAC;IACD,OAAQ,UAAkB,CAAC,KAAK,CAAC;AACnC,CAAC;AAED,8BAA8B;AAC9B,MAAM,CAAC,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC;AAE3C,mDAAmD;AACnD,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;AAClC,CAAC"}
@@ -11,4 +11,4 @@ export type { RouterOptions, PageOptions, Guard, RouteParams, RouterInstance } f
11
11
  export type { IController, ControllerClass } from './controller';
12
12
  export type { DispatchOptions } from './events';
13
13
  export type { ObserveOptions } from './observe';
14
- export type { RequestOptions, Response } from './request-response';
14
+ export type { RequestOptions, Response } from './request-response';
@@ -0,0 +1,8 @@
1
+ export { element, layout, property, query, queryAll, watch, context, applyElementFunctionality, ready, dispose, part, SimpleArray } from './element';
2
+ export { Router } from './router';
3
+ export { controller, attachController, detachController, getController, useNativeElementControllers, cleanupNativeElementControllers } from './controller';
4
+ export { on, dispatch } from './events';
5
+ export { observe } from './observe';
6
+ export { request, respond } from './request-response';
7
+ export { IS_CONTROLLER_INSTANCE } from './symbols';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrJ,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC;AAC3J,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,26 @@
1
+ export interface ObserveOptions {
2
+ /** For IntersectionObserver: threshold of visibility */
3
+ threshold?: number | number[];
4
+ /** For IntersectionObserver: margin around root */
5
+ rootMargin?: string;
6
+ /** For IntersectionObserver: root element (defaults to viewport) */
7
+ root?: Element | null;
8
+ /** For ResizeObserver: which box model to observe */
9
+ box?: 'content-box' | 'border-box';
10
+ /** Throttle the callback by specified milliseconds */
11
+ throttle?: number;
12
+ /** For MutationObserver: observe subtree (use with caution) */
13
+ subtree?: boolean;
14
+ /** Maximum depth for subtree observation (safety limit) */
15
+ maxDepth?: number;
16
+ }
17
+ /**
18
+ * Decorator for observing external changes like viewport intersection, resize, media queries, and DOM mutations
19
+ *
20
+ * @param target - The observation target (e.g., 'intersection', 'resize', 'media:(min-width: 768px)', 'mutation:childList') or array of targets
21
+ * @param selectorOrOptions - CSS selector for element to observe OR options object
22
+ * @param options - Options object (when second parameter is a selector)
23
+ */
24
+ export declare function observe(observeTarget: string | string[], selectorOrOptions?: string | ObserveOptions, options?: ObserveOptions): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
25
+ export declare function setupObservers(instance: any, element: HTMLElement): void;
26
+ export declare function cleanupObservers(instance: any): void;