snice 2.5.4 → 3.1.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 (323) hide show
  1. package/README.md +501 -882
  2. package/bin/templates/base/src/components/counter-button.ts +13 -26
  3. package/bin/templates/base/src/controllers/counter-controller.ts +3 -3
  4. package/dist/components/accordion/snice-accordion-item.d.ts +4 -5
  5. package/dist/components/accordion/snice-accordion-item.js +37 -39
  6. package/dist/components/accordion/snice-accordion-item.js.map +1 -1
  7. package/dist/components/accordion/snice-accordion.d.ts +5 -11
  8. package/dist/components/accordion/snice-accordion.js +51 -52
  9. package/dist/components/accordion/snice-accordion.js.map +1 -1
  10. package/dist/components/alert/snice-alert.d.ts +2 -6
  11. package/dist/components/alert/snice-alert.js +41 -56
  12. package/dist/components/alert/snice-alert.js.map +1 -1
  13. package/dist/components/avatar/snice-avatar.d.ts +2 -6
  14. package/dist/components/avatar/snice-avatar.js +64 -71
  15. package/dist/components/avatar/snice-avatar.js.map +1 -1
  16. package/dist/components/badge/snice-badge.d.ts +2 -3
  17. package/dist/components/badge/snice-badge.js +22 -23
  18. package/dist/components/badge/snice-badge.js.map +1 -1
  19. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +5 -12
  20. package/dist/components/breadcrumbs/snice-breadcrumbs.js +88 -89
  21. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  22. package/dist/components/button/snice-button.d.ts +3 -7
  23. package/dist/components/button/snice-button.js +37 -58
  24. package/dist/components/button/snice-button.js.map +1 -1
  25. package/dist/components/card/snice-card.d.ts +5 -8
  26. package/dist/components/card/snice-card.js +71 -56
  27. package/dist/components/card/snice-card.js.map +1 -1
  28. package/dist/components/checkbox/snice-checkbox.d.ts +4 -13
  29. package/dist/components/checkbox/snice-checkbox.js +66 -137
  30. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  31. package/dist/components/chip/snice-chip.d.ts +5 -11
  32. package/dist/components/chip/snice-chip.js +44 -47
  33. package/dist/components/chip/snice-chip.js.map +1 -1
  34. package/dist/components/date-picker/snice-date-picker.d.ts +11 -11
  35. package/dist/components/date-picker/snice-date-picker.js +134 -133
  36. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  37. package/dist/components/divider/snice-divider.d.ts +2 -4
  38. package/dist/components/divider/snice-divider.js +14 -22
  39. package/dist/components/divider/snice-divider.js.map +1 -1
  40. package/dist/components/drawer/snice-drawer.d.ts +4 -4
  41. package/dist/components/drawer/snice-drawer.js +25 -19
  42. package/dist/components/drawer/snice-drawer.js.map +1 -1
  43. package/dist/components/input/snice-input.d.ts +8 -6
  44. package/dist/components/input/snice-input.js +122 -105
  45. package/dist/components/input/snice-input.js.map +1 -1
  46. package/dist/components/layout/snice-layout-blog.d.ts +4 -4
  47. package/dist/components/layout/snice-layout-blog.js +21 -19
  48. package/dist/components/layout/snice-layout-blog.js.map +1 -1
  49. package/dist/components/layout/snice-layout-card.d.ts +2 -2
  50. package/dist/components/layout/snice-layout-card.js +16 -9
  51. package/dist/components/layout/snice-layout-card.js.map +1 -1
  52. package/dist/components/layout/snice-layout-centered.d.ts +2 -2
  53. package/dist/components/layout/snice-layout-centered.js +14 -7
  54. package/dist/components/layout/snice-layout-centered.js.map +1 -1
  55. package/dist/components/layout/snice-layout-dashboard.d.ts +5 -5
  56. package/dist/components/layout/snice-layout-dashboard.js +38 -30
  57. package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
  58. package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
  59. package/dist/components/layout/snice-layout-fullscreen.js +17 -10
  60. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
  61. package/dist/components/layout/snice-layout-landing.d.ts +4 -4
  62. package/dist/components/layout/snice-layout-landing.js +21 -19
  63. package/dist/components/layout/snice-layout-landing.js.map +1 -1
  64. package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
  65. package/dist/components/layout/snice-layout-minimal.js +17 -6
  66. package/dist/components/layout/snice-layout-minimal.js.map +1 -1
  67. package/dist/components/layout/snice-layout-sidebar.d.ts +5 -4
  68. package/dist/components/layout/snice-layout-sidebar.js +42 -20
  69. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  70. package/dist/components/layout/snice-layout-split.d.ts +2 -2
  71. package/dist/components/layout/snice-layout-split.js +14 -7
  72. package/dist/components/layout/snice-layout-split.js.map +1 -1
  73. package/dist/components/layout/snice-layout.d.ts +4 -4
  74. package/dist/components/layout/snice-layout.js +16 -10
  75. package/dist/components/layout/snice-layout.js.map +1 -1
  76. package/dist/components/login/snice-login.d.ts +6 -11
  77. package/dist/components/login/snice-login.js +97 -71
  78. package/dist/components/login/snice-login.js.map +1 -1
  79. package/dist/components/modal/snice-modal.d.ts +5 -9
  80. package/dist/components/modal/snice-modal.js +47 -78
  81. package/dist/components/modal/snice-modal.js.map +1 -1
  82. package/dist/components/nav/snice-nav.d.ts +13 -7
  83. package/dist/components/nav/snice-nav.js +191 -100
  84. package/dist/components/nav/snice-nav.js.map +1 -1
  85. package/dist/components/nav/snice-nav.types.d.ts +3 -3
  86. package/dist/components/pagination/snice-pagination.d.ts +6 -7
  87. package/dist/components/pagination/snice-pagination.js +94 -81
  88. package/dist/components/pagination/snice-pagination.js.map +1 -1
  89. package/dist/components/progress/snice-progress.d.ts +2 -7
  90. package/dist/components/progress/snice-progress.js +41 -98
  91. package/dist/components/progress/snice-progress.js.map +1 -1
  92. package/dist/components/radio/snice-radio.d.ts +4 -4
  93. package/dist/components/radio/snice-radio.js +52 -44
  94. package/dist/components/radio/snice-radio.js.map +1 -1
  95. package/dist/components/select/snice-option.d.ts +2 -1
  96. package/dist/components/select/snice-option.js +12 -5
  97. package/dist/components/select/snice-option.js.map +1 -1
  98. package/dist/components/select/snice-select.d.ts +9 -21
  99. package/dist/components/select/snice-select.js +98 -170
  100. package/dist/components/select/snice-select.js.map +1 -1
  101. package/dist/components/skeleton/snice-skeleton.d.ts +2 -6
  102. package/dist/components/skeleton/snice-skeleton.js +18 -49
  103. package/dist/components/skeleton/snice-skeleton.js.map +1 -1
  104. package/dist/components/snice-cell-BLFVdxPp.js +4 -0
  105. package/dist/components/snice-cell-BLFVdxPp.js.map +1 -0
  106. package/dist/components/switch/snice-switch.d.ts +2 -2
  107. package/dist/components/switch/snice-switch.js +38 -26
  108. package/dist/components/switch/snice-switch.js.map +1 -1
  109. package/dist/components/table/snice-cell-actions.d.ts +24 -0
  110. package/dist/components/table/snice-cell-actions.js +149 -0
  111. package/dist/components/table/snice-cell-actions.js.map +1 -0
  112. package/dist/components/table/snice-cell-boolean.d.ts +2 -2
  113. package/dist/components/table/snice-cell-boolean.js +13 -7
  114. package/dist/components/table/snice-cell-boolean.js.map +1 -1
  115. package/dist/components/table/snice-cell-color.d.ts +18 -0
  116. package/dist/components/table/snice-cell-color.js +149 -0
  117. package/dist/components/table/snice-cell-color.js.map +1 -0
  118. package/dist/components/table/snice-cell-currency.d.ts +24 -0
  119. package/dist/components/table/snice-cell-currency.js +235 -0
  120. package/dist/components/table/snice-cell-currency.js.map +1 -0
  121. package/dist/components/table/snice-cell-date.d.ts +2 -2
  122. package/dist/components/table/snice-cell-date.js +14 -8
  123. package/dist/components/table/snice-cell-date.js.map +1 -1
  124. package/dist/components/table/snice-cell-duration.d.ts +2 -2
  125. package/dist/components/table/snice-cell-duration.js +12 -6
  126. package/dist/components/table/snice-cell-duration.js.map +1 -1
  127. package/dist/components/table/snice-cell-email.d.ts +15 -0
  128. package/dist/components/table/snice-cell-email.js +125 -0
  129. package/dist/components/table/snice-cell-email.js.map +1 -0
  130. package/dist/components/table/snice-cell-filesize.d.ts +2 -2
  131. package/dist/components/table/snice-cell-filesize.js +12 -6
  132. package/dist/components/table/snice-cell-filesize.js.map +1 -1
  133. package/dist/components/table/snice-cell-image.d.ts +20 -0
  134. package/dist/components/table/snice-cell-image.js +162 -0
  135. package/dist/components/table/snice-cell-image.js.map +1 -0
  136. package/dist/components/table/snice-cell-json.d.ts +20 -0
  137. package/dist/components/table/snice-cell-json.js +186 -0
  138. package/dist/components/table/snice-cell-json.js.map +1 -0
  139. package/dist/components/table/snice-cell-link.d.ts +17 -0
  140. package/dist/components/table/snice-cell-link.js +142 -0
  141. package/dist/components/table/snice-cell-link.js.map +1 -0
  142. package/dist/components/table/snice-cell-location.d.ts +19 -0
  143. package/dist/components/table/snice-cell-location.js +185 -0
  144. package/dist/components/table/snice-cell-location.js.map +1 -0
  145. package/dist/components/table/snice-cell-number.d.ts +2 -2
  146. package/dist/components/table/snice-cell-number.js +12 -6
  147. package/dist/components/table/snice-cell-number.js.map +1 -1
  148. package/dist/components/table/snice-cell-percentage.d.ts +22 -0
  149. package/dist/components/table/snice-cell-percentage.js +208 -0
  150. package/dist/components/table/snice-cell-percentage.js.map +1 -0
  151. package/dist/components/table/snice-cell-phone.d.ts +18 -0
  152. package/dist/components/table/snice-cell-phone.js +153 -0
  153. package/dist/components/table/snice-cell-phone.js.map +1 -0
  154. package/dist/components/table/snice-cell-progress.d.ts +2 -2
  155. package/dist/components/table/snice-cell-progress.js +12 -6
  156. package/dist/components/table/snice-cell-progress.js.map +1 -1
  157. package/dist/components/table/snice-cell-rating.d.ts +2 -2
  158. package/dist/components/table/snice-cell-rating.js +12 -6
  159. package/dist/components/table/snice-cell-rating.js.map +1 -1
  160. package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
  161. package/dist/components/table/snice-cell-sparkline.js +13 -7
  162. package/dist/components/table/snice-cell-sparkline.js.map +1 -1
  163. package/dist/components/table/snice-cell-status.d.ts +17 -0
  164. package/dist/components/table/snice-cell-status.js +144 -0
  165. package/dist/components/table/snice-cell-status.js.map +1 -0
  166. package/dist/components/table/snice-cell-tag.d.ts +16 -0
  167. package/dist/components/table/snice-cell-tag.js +131 -0
  168. package/dist/components/table/snice-cell-tag.js.map +1 -0
  169. package/dist/components/table/snice-cell-text.d.ts +2 -2
  170. package/dist/components/table/snice-cell-text.js +14 -8
  171. package/dist/components/table/snice-cell-text.js.map +1 -1
  172. package/dist/components/table/snice-cell.d.ts +2 -2
  173. package/dist/components/table/snice-cell.js +12 -6
  174. package/dist/components/table/snice-cell.js.map +1 -1
  175. package/dist/components/table/snice-column.d.ts +1 -1
  176. package/dist/components/table/snice-column.js +6 -3
  177. package/dist/components/table/snice-column.js.map +1 -1
  178. package/dist/components/table/snice-header.d.ts +5 -5
  179. package/dist/components/table/snice-header.js +60 -50
  180. package/dist/components/table/snice-header.js.map +1 -1
  181. package/dist/components/table/snice-progress.d.ts +2 -2
  182. package/dist/components/table/snice-progress.js +18 -11
  183. package/dist/components/table/snice-progress.js.map +1 -1
  184. package/dist/components/table/snice-rating.d.ts +2 -2
  185. package/dist/components/table/snice-rating.js +15 -8
  186. package/dist/components/table/snice-rating.js.map +1 -1
  187. package/dist/components/table/snice-row.d.ts +17 -6
  188. package/dist/components/table/snice-row.js +95 -44
  189. package/dist/components/table/snice-row.js.map +1 -1
  190. package/dist/components/table/snice-table.d.ts +18 -10
  191. package/dist/components/table/snice-table.js +355 -173
  192. package/dist/components/table/snice-table.js.map +1 -1
  193. package/dist/components/table/snice-table.types.d.ts +101 -2
  194. package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
  195. package/dist/components/tabs/snice-tab-panel.js +12 -6
  196. package/dist/components/tabs/snice-tab-panel.js.map +1 -1
  197. package/dist/components/tabs/snice-tab.d.ts +6 -5
  198. package/dist/components/tabs/snice-tab.js +36 -19
  199. package/dist/components/tabs/snice-tab.js.map +1 -1
  200. package/dist/components/tabs/snice-tabs.d.ts +5 -5
  201. package/dist/components/tabs/snice-tabs.js +38 -28
  202. package/dist/components/tabs/snice-tabs.js.map +1 -1
  203. package/dist/components/toast/snice-toast-container.d.ts +7 -7
  204. package/dist/components/toast/snice-toast-container.js +19 -12
  205. package/dist/components/toast/snice-toast-container.js.map +1 -1
  206. package/dist/components/toast/snice-toast.d.ts +3 -15
  207. package/dist/components/toast/snice-toast.js +49 -108
  208. package/dist/components/toast/snice-toast.js.map +1 -1
  209. package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
  210. package/dist/components/tooltip/snice-tooltip.js +14 -7
  211. package/dist/components/tooltip/snice-tooltip.js.map +1 -1
  212. package/dist/context.d.ts +44 -0
  213. package/dist/element-ready.d.ts +40 -0
  214. package/dist/{types/element.d.ts → element.d.ts} +2 -8
  215. package/dist/{types/events.d.ts → events.d.ts} +0 -4
  216. package/dist/index.cjs +2589 -605
  217. package/dist/index.cjs.map +1 -1
  218. package/dist/index.d.ts +21 -0
  219. package/dist/index.esm.js +2568 -604
  220. package/dist/index.esm.js.map +1 -1
  221. package/dist/index.iife.js +2589 -605
  222. package/dist/index.iife.js.map +1 -1
  223. package/dist/method-decorators.d.ts +121 -0
  224. package/dist/on.d.ts +59 -0
  225. package/dist/parts.d.ts +159 -0
  226. package/dist/render-debug.d.ts +27 -0
  227. package/dist/render-tracker.d.ts +14 -0
  228. package/dist/render.d.ts +96 -0
  229. package/dist/symbols.cjs +163 -0
  230. package/dist/symbols.cjs.map +1 -1
  231. package/dist/{types/symbols.d.ts → symbols.d.ts} +22 -0
  232. package/dist/symbols.esm.js +27 -3
  233. package/dist/symbols.esm.js.map +1 -1
  234. package/dist/template.d.ts +100 -0
  235. package/dist/transitions.cjs +219 -0
  236. package/dist/transitions.esm.js +2 -2
  237. package/dist/types/context.d.ts +48 -0
  238. package/dist/types/element-options.d.ts +26 -0
  239. package/dist/types/index.d.ts +25 -9
  240. package/dist/types/nav-context.d.ts +19 -0
  241. package/dist/types/{types/on-options.d.ts → on-options.d.ts} +2 -0
  242. package/dist/types/{types/placard.d.ts → placard.d.ts} +0 -1
  243. package/docs/ai/README.md +17 -0
  244. package/docs/ai/api.md +175 -0
  245. package/docs/ai/architecture.md +160 -0
  246. package/docs/ai/components/accordion.md +174 -0
  247. package/docs/ai/components/alert.md +77 -0
  248. package/docs/ai/components/avatar.md +61 -0
  249. package/docs/ai/components/badge.md +69 -0
  250. package/docs/ai/components/breadcrumbs.md +74 -0
  251. package/docs/ai/components/button.md +75 -0
  252. package/docs/ai/components/card.md +61 -0
  253. package/docs/ai/components/checkbox.md +74 -0
  254. package/docs/ai/components/chip.md +73 -0
  255. package/docs/ai/components/date-picker.md +75 -0
  256. package/docs/ai/components/divider.md +66 -0
  257. package/docs/ai/components/drawer.md +80 -0
  258. package/docs/ai/components/input.md +111 -0
  259. package/docs/ai/components/login.md +109 -0
  260. package/docs/ai/components/modal.md +67 -0
  261. package/docs/ai/components/nav.md +76 -0
  262. package/docs/ai/components/pagination.md +55 -0
  263. package/docs/ai/components/progress.md +72 -0
  264. package/docs/ai/components/radio.md +79 -0
  265. package/docs/ai/components/select.md +92 -0
  266. package/docs/ai/components/skeleton.md +57 -0
  267. package/docs/ai/components/switch.md +53 -0
  268. package/docs/ai/components/table.md +227 -0
  269. package/docs/ai/components/tabs.md +83 -0
  270. package/docs/ai/components/toast.md +140 -0
  271. package/docs/ai/components/tooltip.md +146 -0
  272. package/docs/ai/patterns.md +244 -0
  273. package/docs/components/accordion.md +558 -0
  274. package/docs/components/drawer.md +602 -0
  275. package/docs/components/modal.md +558 -0
  276. package/docs/components/nav.md +239 -0
  277. package/docs/components/pagination.md +289 -0
  278. package/docs/components/select.md +599 -0
  279. package/docs/components/switch.md +354 -0
  280. package/docs/components/tabs.md +546 -0
  281. package/docs/components/toast.md +506 -0
  282. package/docs/components/tooltip.md +523 -0
  283. package/docs/controllers.md +744 -0
  284. package/docs/elements.md +855 -0
  285. package/docs/events.md +807 -0
  286. package/docs/migration-v2-to-v3.md +569 -0
  287. package/docs/observe.md +588 -0
  288. package/docs/placards.md +401 -0
  289. package/docs/request-response.md +852 -0
  290. package/docs/routing.md +1186 -0
  291. package/package.json +10 -11
  292. package/dist/components/snice-cell-C9N6yGxQ.js +0 -4
  293. package/dist/components/snice-cell-C9N6yGxQ.js.map +0 -1
  294. package/dist/types/types/index.d.ts +0 -23
  295. /package/dist/{types/controller.d.ts → controller.d.ts} +0 -0
  296. /package/dist/{types/global.d.ts → global.d.ts} +0 -0
  297. /package/dist/{types/observe.d.ts → observe.d.ts} +0 -0
  298. /package/dist/{types/request-response.d.ts → request-response.d.ts} +0 -0
  299. /package/dist/{types/router.d.ts → router.d.ts} +0 -0
  300. /package/dist/{types/testing.d.ts → testing.d.ts} +0 -0
  301. /package/dist/{types/transitions.d.ts → transitions.d.ts} +0 -0
  302. /package/dist/types/{types/adopted-options.d.ts → adopted-options.d.ts} +0 -0
  303. /package/dist/types/{types/app-context.d.ts → app-context.d.ts} +0 -0
  304. /package/dist/types/{types/dispatch-options.d.ts → dispatch-options.d.ts} +0 -0
  305. /package/dist/types/{types/guard.d.ts → guard.d.ts} +0 -0
  306. /package/dist/types/{types/i-controller.d.ts → i-controller.d.ts} +0 -0
  307. /package/dist/types/{types/moved-options.d.ts → moved-options.d.ts} +0 -0
  308. /package/dist/types/{types/observe-options.d.ts → observe-options.d.ts} +0 -0
  309. /package/dist/types/{types/page-options.d.ts → page-options.d.ts} +0 -0
  310. /package/dist/types/{types/part-options.d.ts → part-options.d.ts} +0 -0
  311. /package/dist/types/{types/property-converter.d.ts → property-converter.d.ts} +0 -0
  312. /package/dist/types/{types/property-options.d.ts → property-options.d.ts} +0 -0
  313. /package/dist/types/{types/query-options.d.ts → query-options.d.ts} +0 -0
  314. /package/dist/types/{types/request-options.d.ts → request-options.d.ts} +0 -0
  315. /package/dist/types/{types/respond-options.d.ts → respond-options.d.ts} +0 -0
  316. /package/dist/types/{types/route-params.d.ts → route-params.d.ts} +0 -0
  317. /package/dist/types/{types/router-instance.d.ts → router-instance.d.ts} +0 -0
  318. /package/dist/types/{types/router-options.d.ts → router-options.d.ts} +0 -0
  319. /package/dist/types/{types/simple-array.d.ts → simple-array.d.ts} +0 -0
  320. /package/dist/types/{types/snice-element.d.ts → snice-element.d.ts} +0 -0
  321. /package/dist/types/{types/snice-global.d.ts → snice-global.d.ts} +0 -0
  322. /package/dist/types/{types/transition.d.ts → transition.d.ts} +0 -0
  323. /package/dist/{types/utils.d.ts → utils.d.ts} +0 -0
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Method decorators for common patterns
3
+ * @debounce, @throttle, @once, @memoize
4
+ */
5
+ /**
6
+ * @debounce decorator - delays function execution until after wait time has elapsed
7
+ * since the last invocation
8
+ *
9
+ * @param wait - Time to wait in milliseconds (default: 300)
10
+ * @param options - Debounce options
11
+ * @param options.leading - Invoke on the leading edge (default: false)
12
+ * @param options.trailing - Invoke on the trailing edge (default: true)
13
+ * @param options.maxWait - Maximum time to wait before invoking (default: undefined)
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * @element('search-input')
18
+ * class SearchInput extends HTMLElement {
19
+ * @debounce(500)
20
+ * handleSearch(query: string) {
21
+ * // Only called 500ms after last keystroke
22
+ * fetch(`/api/search?q=${query}`);
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ export declare function debounce(wait?: number, options?: {
28
+ leading?: boolean;
29
+ trailing?: boolean;
30
+ maxWait?: number;
31
+ }): (originalMethod: any, context: ClassMethodDecoratorContext) => (this: any, ...args: any[]) => any;
32
+ /**
33
+ * @throttle decorator - ensures function is called at most once per specified time period
34
+ *
35
+ * @param wait - Time to wait in milliseconds (default: 300)
36
+ * @param options - Throttle options
37
+ * @param options.leading - Invoke on the leading edge (default: true)
38
+ * @param options.trailing - Invoke on the trailing edge (default: true)
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * @element('scroll-tracker')
43
+ * class ScrollTracker extends HTMLElement {
44
+ * @throttle(100)
45
+ * handleScroll(e: Event) {
46
+ * // Called at most once every 100ms
47
+ * this.updateScrollPosition();
48
+ * }
49
+ * }
50
+ * ```
51
+ */
52
+ export declare function throttle(wait?: number, options?: {
53
+ leading?: boolean;
54
+ trailing?: boolean;
55
+ }): (originalMethod: any, context: ClassMethodDecoratorContext) => (this: any, ...args: any[]) => void;
56
+ /**
57
+ * @once decorator - ensures function is only called once
58
+ * Subsequent calls return the result of the first call
59
+ *
60
+ * @param perInstance - If true, function can be called once per instance (default: true)
61
+ * If false, function can only be called once globally across all instances
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * @element('data-loader')
66
+ * class DataLoader extends HTMLElement {
67
+ * @once()
68
+ * async loadData() {
69
+ * // Only loads data once, even if called multiple times
70
+ * const data = await fetch('/api/data');
71
+ * return data.json();
72
+ * }
73
+ * }
74
+ * ```
75
+ */
76
+ export declare function once(perInstance?: boolean): (originalMethod: any, context: ClassMethodDecoratorContext) => (this: any, ...args: any[]) => any;
77
+ /**
78
+ * @memoize decorator - caches function results based on arguments
79
+ * Uses JSON.stringify for argument comparison by default
80
+ *
81
+ * @param options - Memoization options
82
+ * @param options.keyGenerator - Custom function to generate cache key from arguments
83
+ * @param options.maxSize - Maximum cache size (default: 100)
84
+ * @param options.ttl - Time to live in milliseconds (default: undefined - no expiration)
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * @element('calculator')
89
+ * class Calculator extends HTMLElement {
90
+ * @memoize({ maxSize: 50 })
91
+ * fibonacci(n: number): number {
92
+ * // Results are cached, subsequent calls with same n are instant
93
+ * if (n <= 1) return n;
94
+ * return this.fibonacci(n - 1) + this.fibonacci(n - 2);
95
+ * }
96
+ * }
97
+ * ```
98
+ */
99
+ export declare function memoize(options?: {
100
+ keyGenerator?: (...args: any[]) => string;
101
+ maxSize?: number;
102
+ ttl?: number;
103
+ }): (originalMethod: any, context: ClassMethodDecoratorContext) => (this: any, ...args: any[]) => any;
104
+ /**
105
+ * Clear all debounce timers for an instance
106
+ * Useful in cleanup/disconnectedCallback
107
+ */
108
+ export declare function clearDebounceTimers(instance: any): void;
109
+ /**
110
+ * Clear all throttle timers for an instance
111
+ * Useful in cleanup/disconnectedCallback
112
+ */
113
+ export declare function clearThrottleTimers(instance: any): void;
114
+ /**
115
+ * Clear memoize cache for an instance
116
+ */
117
+ export declare function clearMemoizeCache(instance: any, methodName?: string): void;
118
+ /**
119
+ * Reset once-called state for an instance
120
+ */
121
+ export declare function resetOnce(instance: any, methodName?: string): void;
package/dist/on.d.ts ADDED
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @on decorator for listening to events
3
+ * Use in elements or controllers to listen to DOM events or custom events
4
+ */
5
+ import type { OnOptions } from './types/on-options';
6
+ export type { OnOptions } from './types/on-options';
7
+ /**
8
+ * @on decorator for listening to events
9
+ *
10
+ * Works in both elements and controllers with full event delegation support.
11
+ *
12
+ * @param eventName - Event name(s) to listen for
13
+ * @param selector - Optional CSS selector for event delegation
14
+ * @param options - Event listener options including debounce/throttle
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * // In elements
19
+ * @element('my-button')
20
+ * class MyButton extends HTMLElement {
21
+ * @on('click', 'button')
22
+ * handleClick(e: MouseEvent) {
23
+ * console.log('Button clicked!', e);
24
+ * }
25
+ *
26
+ * @on('input', 'input', { debounce: 300 })
27
+ * handleInput(e: Event) {
28
+ * console.log('Input changed:', (e.target as HTMLInputElement).value);
29
+ * }
30
+ * }
31
+ *
32
+ * // In controllers
33
+ * @controller('my-controller')
34
+ * class MyController {
35
+ * element!: HTMLElement;
36
+ *
37
+ * @on('count-changed')
38
+ * handleCountChanged(e: CustomEvent) {
39
+ * console.log('Count changed to:', e.detail.count);
40
+ * }
41
+ *
42
+ * @on('click', '.item', { throttle: 100 })
43
+ * handleItemClick(e: MouseEvent) {
44
+ * console.log('Item clicked');
45
+ * }
46
+ * }
47
+ * ```
48
+ */
49
+ export declare function on(eventName: string | string[], selectorOrOptions?: string | OnOptions | null, options?: OnOptions): (originalMethod: any, context: ClassMethodDecoratorContext) => any;
50
+ /**
51
+ * Setup event listeners for an element or controller instance
52
+ * Called automatically during element connection or controller attachment
53
+ */
54
+ export declare function setupEventHandlers(instance: any, targetElement: HTMLElement): void;
55
+ /**
56
+ * Cleanup event listeners for a controller instance
57
+ * Called automatically by the controller system during detach
58
+ */
59
+ export declare function cleanupEventHandlers(instance: any): void;
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Simplified lit-html-style template system
3
+ * Based on lit-html's approach but simplified
4
+ */
5
+ import { TemplateResult } from './template';
6
+ /**
7
+ * A prepared template ready for rendering
8
+ */
9
+ declare class Template {
10
+ parts: TemplatePart[];
11
+ element: HTMLTemplateElement;
12
+ constructor(result: TemplateResult, element: HTMLTemplateElement, attrNamesForParts: string[]);
13
+ }
14
+ interface TemplatePart {
15
+ type: 'node' | 'attribute' | 'property' | 'boolean-attribute' | 'event' | 'if' | 'case';
16
+ index: number;
17
+ name?: string;
18
+ element?: Element;
19
+ startNode?: Comment;
20
+ endNode?: Comment;
21
+ caseElement?: Element;
22
+ attrStrings?: string[];
23
+ }
24
+ /**
25
+ * Instance of a rendered template
26
+ */
27
+ export declare class TemplateInstance {
28
+ template: Template;
29
+ parts: Part[];
30
+ fragment: DocumentFragment | null;
31
+ constructor(result: TemplateResult);
32
+ renderFragment(): DocumentFragment;
33
+ render(values: readonly any[]): DocumentFragment;
34
+ update(values: readonly any[]): void;
35
+ clear(): void;
36
+ }
37
+ /**
38
+ * Base class for all parts
39
+ */
40
+ export declare abstract class Part {
41
+ abstract commit(value: any): void;
42
+ abstract clear(): void;
43
+ }
44
+ /**
45
+ * NodePart handles text content and nested templates
46
+ */
47
+ export declare class NodePart extends Part {
48
+ private startNode;
49
+ private endNode;
50
+ private value;
51
+ constructor(startNode: Comment, endNode: Comment);
52
+ commit(value: any): void;
53
+ private commitPrimitive;
54
+ private commitTemplate;
55
+ private commitArray;
56
+ private commitUnsafeHTML;
57
+ private insertBefore;
58
+ clear(): void;
59
+ }
60
+ /**
61
+ * AttributePart handles regular attribute updates
62
+ */
63
+ export declare class AttributePart extends Part {
64
+ readonly element: Element;
65
+ readonly name: string;
66
+ readonly attrStrings?: string[];
67
+ private value;
68
+ constructor(element: Element, name: string, attrStrings?: string[]);
69
+ commit(value: any): void;
70
+ clear(): void;
71
+ }
72
+ /**
73
+ * PropertyPart handles property bindings
74
+ */
75
+ export declare class PropertyPart extends Part {
76
+ readonly element: Element;
77
+ readonly name: string;
78
+ private value;
79
+ constructor(element: Element, name: string);
80
+ commit(value: any): void;
81
+ clear(): void;
82
+ }
83
+ /**
84
+ * BooleanAttributePart handles boolean attributes
85
+ */
86
+ export declare class BooleanAttributePart extends Part {
87
+ readonly element: Element;
88
+ readonly name: string;
89
+ private value;
90
+ constructor(element: Element, name: string);
91
+ commit(value: any): void;
92
+ clear(): void;
93
+ }
94
+ /**
95
+ * EventPart handles event listener bindings with keyboard shortcut support
96
+ */
97
+ export declare class EventPart extends Part {
98
+ readonly element: Element;
99
+ readonly eventName: string;
100
+ private listener;
101
+ private value;
102
+ private keyFilter;
103
+ constructor(element: Element, eventName: string);
104
+ commit(value: any): void;
105
+ clear(): void;
106
+ }
107
+ /**
108
+ * Keyboard filter for matching specific keys and modifiers
109
+ */
110
+ export interface KeyboardFilter {
111
+ key: string;
112
+ ctrl?: boolean;
113
+ alt?: boolean;
114
+ shift?: boolean;
115
+ meta?: boolean;
116
+ anyModifiers?: boolean;
117
+ }
118
+ /**
119
+ * Parse keyboard shortcut specification
120
+ * Examples:
121
+ * "enter" -> { key: "Enter" }
122
+ * "ctrl+s" -> { key: "s", ctrl: true }
123
+ * "ctrl+shift+s" -> { key: "s", ctrl: true, shift: true }
124
+ * "~enter" -> { key: "Enter", anyModifiers: true }
125
+ */
126
+ export declare function parseKeyboardFilter(spec: string): KeyboardFilter;
127
+ /**
128
+ * Check if keyboard event matches the filter
129
+ */
130
+ export declare function matchesKeyboardFilter(event: KeyboardEvent, filter: KeyboardFilter): boolean;
131
+ /**
132
+ * IfPart handles <if> conditional rendering
133
+ * Uses document fragments to actually remove/insert nodes from the DOM
134
+ * instead of just hiding them with CSS
135
+ */
136
+ export declare class IfPart extends Part {
137
+ private ifElement;
138
+ private value;
139
+ private fragment;
140
+ private childNodes;
141
+ constructor(ifElement: Element);
142
+ commit(value: any): void;
143
+ clear(): void;
144
+ }
145
+ /**
146
+ * CasePart handles <case>/<when>/<default> conditional rendering
147
+ * Uses document fragments to remove/insert <when> and <default> children
148
+ */
149
+ export declare class CasePart extends Part {
150
+ private caseElement;
151
+ private value;
152
+ private childrenList;
153
+ private fragments;
154
+ private attachedChildren;
155
+ constructor(caseElement: Element);
156
+ commit(value: any): void;
157
+ clear(): void;
158
+ }
159
+ export {};
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Render debugging utilities for Snice v3.0.0
3
+ * For testing and debugging only - not recommended for production use
4
+ */
5
+ /**
6
+ * Track renders of an element using an async generator
7
+ * Each call to tracker.next() waits for the next render to complete
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const tracker = trackRenders(element);
12
+ *
13
+ * element.someProp = 'new value';
14
+ * await tracker.next(); // Waits for render
15
+ * // DOM is now updated
16
+ *
17
+ * element.someProp = 'another value';
18
+ * await tracker.next(); // Waits for next render
19
+ * // DOM is updated again
20
+ * ```
21
+ *
22
+ * WARNING: For testing/debugging only!
23
+ * - Do not use in production code
24
+ * - The generator yields indefinitely - use it only in controlled test environments
25
+ * - Each yield waits for the next render event
26
+ */
27
+ export declare function trackRenders(element: HTMLElement): AsyncGenerator<void, void, unknown>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Render tracking for testing/debugging
3
+ * Uses symbols and generators to "pull" render events from elements
4
+ */
5
+ export declare const RENDER_TRACKER: unique symbol;
6
+ export declare const TRACK_RENDERS: unique symbol;
7
+ /**
8
+ * Generator that yields after each render of an element
9
+ * Usage in tests:
10
+ * const tracker = trackRenders(element);
11
+ * element.someProp = 'value';
12
+ * await tracker.next(); // waits for next render
13
+ */
14
+ export declare function trackRenders(element: HTMLElement): AsyncGenerator<void, void, unknown>;
@@ -0,0 +1,96 @@
1
+ /**
2
+ * @render and @styles decorators for Snice v3.0.0
3
+ * Provides automatic differential rendering on property changes
4
+ */
5
+ /**
6
+ * Options for @render decorator
7
+ */
8
+ export interface RenderOptions {
9
+ /**
10
+ * Debounce render calls (ms)
11
+ * Delays rendering until after this many ms of inactivity
12
+ */
13
+ debounce?: number;
14
+ /**
15
+ * Throttle render calls (ms)
16
+ * Limits rendering to once per this many ms
17
+ */
18
+ throttle?: number;
19
+ /**
20
+ * Render only once, disable auto-rendering
21
+ * Component must call render() method manually to re-render
22
+ */
23
+ once?: boolean;
24
+ /**
25
+ * Synchronous rendering (skip microtask batching)
26
+ * Renders immediately instead of batching multiple property changes
27
+ */
28
+ sync?: boolean;
29
+ /**
30
+ * Disable differential rendering
31
+ * When false, clears shadow root and re-renders from scratch each time
32
+ * Still honors <if> and <switch>/<case> meta elements
33
+ */
34
+ differential?: boolean;
35
+ }
36
+ /**
37
+ * Request a render for an element
38
+ * Respects debounce/throttle/once/sync options
39
+ * @param immediate - Force immediate render (used for initial render)
40
+ */
41
+ export declare function requestRender(element: HTMLElement, immediate?: boolean): void;
42
+ /**
43
+ * @render decorator for component rendering
44
+ *
45
+ * Marks a method as the render method for the component.
46
+ * The method should return html`...` template.
47
+ * Automatically re-renders when properties change (unless once: true).
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * @render()
52
+ * renderContent() {
53
+ * return html`<div>${this.count}</div>`;
54
+ * }
55
+ * ```
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // Debounced rendering
60
+ * @render({ debounce: 100 })
61
+ * renderContent() {
62
+ * return html`<div>${this.searchTerm}</div>`;
63
+ * }
64
+ * ```
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * // Render only once (manual re-renders only)
69
+ * @render({ once: true })
70
+ * renderContent() {
71
+ * return html`<div>Static content</div>`;
72
+ * }
73
+ * ```
74
+ */
75
+ export declare function render(options?: RenderOptions): (originalMethod: any, context: ClassMethodDecoratorContext) => (this: HTMLElement, ...args: any[]) => any;
76
+ /**
77
+ * @styles decorator for component styles
78
+ *
79
+ * Marks a method as the styles method for the component.
80
+ * The method should return css`...` template.
81
+ * Styles are applied once when the component is connected.
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * @styles()
86
+ * styles() {
87
+ * return css`:host { display: block; }`;
88
+ * }
89
+ * ```
90
+ */
91
+ export declare function styles(): (originalMethod: any, context: ClassMethodDecoratorContext) => any;
92
+ /**
93
+ * Apply styles to an element
94
+ * Called during element initialization
95
+ */
96
+ export declare function applyStyles(element: HTMLElement): void;
@@ -0,0 +1,163 @@
1
+ /*!
2
+ * snice v3.0.0
3
+ * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
+ * (c) 2024
5
+ * Released under the MIT License.
6
+ */
7
+ 'use strict';
8
+
9
+ // Global namespace for Snice framework
10
+ // Ensures all registries and symbols are shared across different JS files/modules
11
+ // Initialize or get the global Snice namespace
12
+ function initGlobalNamespace() {
13
+ if (!globalThis.snice) {
14
+ globalThis.snice = {
15
+ controllerRegistry: new Map(),
16
+ controllerIdCounter: 0,
17
+ symbols: new Map()
18
+ };
19
+ }
20
+ return globalThis.snice;
21
+ }
22
+ // Export the global namespace
23
+ const snice = initGlobalNamespace();
24
+ // Helper function to get or create a global symbol
25
+ function getSymbol(name) {
26
+ if (!snice.symbols.has(name)) {
27
+ snice.symbols.set(name, Symbol(name));
28
+ }
29
+ return snice.symbols.get(name);
30
+ }
31
+
32
+ // Central file for all symbols used in the framework
33
+ // All symbols are stored globally to ensure consistency across modules
34
+ const IS_CONTROLLER_CLASS = getSymbol('is-controller-class');
35
+ const IS_CONTROLLER_INSTANCE = getSymbol('is-controller-instance');
36
+ const IS_ELEMENT_CLASS = getSymbol('is-element-class');
37
+ const CHANNEL_HANDLERS = getSymbol('channel-handlers');
38
+ // Internal element state symbols
39
+ const READY_PROMISE = getSymbol('ready-promise');
40
+ const READY_RESOLVE = getSymbol('ready-resolve');
41
+ const RENDERED_PROMISE = getSymbol('rendered-promise');
42
+ const RENDERED_RESOLVE = getSymbol('rendered-resolve');
43
+ const CONTROLLER = getSymbol('controller');
44
+ const INITIALIZED = getSymbol('initialized');
45
+ // Event handler symbols
46
+ const ON_HANDLERS = getSymbol('on-handlers');
47
+ // Controller symbols
48
+ const CONTROLLER_KEY = getSymbol('controller-key');
49
+ const CONTROLLER_NAME_KEY = getSymbol('controller-name');
50
+ const CONTROLLER_ID = getSymbol('controller-id');
51
+ const CONTROLLER_OPERATIONS = getSymbol('controller-operations');
52
+ const NATIVE_CONTROLLER = getSymbol('native-controller');
53
+ // Cleanup symbol - holds an object with all cleanup arrays
54
+ const CLEANUP = getSymbol('cleanup');
55
+ // Property symbols
56
+ const PROPERTIES = getSymbol('properties');
57
+ const PROPERTY_VALUES = getSymbol('property-values');
58
+ const PRE_INIT_PROPERTY_VALUES = getSymbol('pre-init-property-values');
59
+ const PROPERTIES_INITIALIZED = getSymbol('properties-initialized');
60
+ const PROPERTY_WATCHERS = getSymbol('property-watchers');
61
+ const EXPLICITLY_SET_PROPERTIES = getSymbol('explicitly-set-properties');
62
+ // Router context symbol
63
+ const ROUTER_CONTEXT = getSymbol('router-context');
64
+ const CURRENT_PAGE_MARKER = getSymbol('current-page-marker');
65
+ const CONTEXT_REQUEST_HANDLER = getSymbol('context-request-handler');
66
+ const PAGE_TRANSITION = getSymbol('page-transition');
67
+ const CREATED_AT = getSymbol('created-at');
68
+ // Lifecycle symbols
69
+ const READY_HANDLERS = getSymbol('ready-handlers');
70
+ const DISPOSE_HANDLERS = getSymbol('dispose-handlers');
71
+ const MOVED_HANDLERS = getSymbol('moved-handlers');
72
+ const ADOPTED_HANDLERS = getSymbol('adopted-handlers');
73
+ // Observer symbols
74
+ const OBSERVERS = getSymbol('observers');
75
+ // Part symbols
76
+ const PARTS = getSymbol('parts');
77
+ const PART_TIMERS = getSymbol('part-timers');
78
+ // Lifecycle callback timers
79
+ const MOVED_TIMERS = getSymbol('moved-timers');
80
+ const ADOPTED_TIMERS = getSymbol('adopted-timers');
81
+ // Dispatch timing symbols
82
+ const DISPATCH_TIMERS = getSymbol('dispatch-timers');
83
+ // Render symbols (v3.0.0)
84
+ const RENDER_METHOD = getSymbol('render-method');
85
+ const RENDER_OPTIONS = getSymbol('render-options');
86
+ const RENDER_INSTANCE = getSymbol('render-instance');
87
+ const RENDER_SCHEDULED = getSymbol('render-scheduled');
88
+ const RENDER_TIMERS = getSymbol('render-timers');
89
+ const RENDER_CALLBACKS = getSymbol('render-callbacks');
90
+ const STYLES_METHOD = getSymbol('styles-method');
91
+ const STYLES_APPLIED = getSymbol('styles-applied');
92
+ // Navigation context symbols
93
+ const CONTEXT_HANDLER = getSymbol('context-handler');
94
+ const CONTEXT_METHOD_NAME = getSymbol('context-method-name');
95
+ const NAVIGATION_CONTEXT_INSTANCE = getSymbol('navigation-context-instance');
96
+ const REGISTERED_ELEMENTS = getSymbol('registered-elements');
97
+ const IS_UPDATING = getSymbol('is-updating');
98
+ const CONTEXT_REGISTER = getSymbol('context-register');
99
+ const CONTEXT_UNREGISTER = getSymbol('context-unregister');
100
+ const CONTEXT_NOTIFY_ELEMENT = getSymbol('context-notify-element');
101
+ const CONTEXT_OPTIONS = getSymbol('context-options');
102
+ const CONTEXT_TIMER = getSymbol('context-timer');
103
+ const CONTEXT_CALLED = getSymbol('context-called');
104
+
105
+ exports.ADOPTED_HANDLERS = ADOPTED_HANDLERS;
106
+ exports.ADOPTED_TIMERS = ADOPTED_TIMERS;
107
+ exports.CHANNEL_HANDLERS = CHANNEL_HANDLERS;
108
+ exports.CLEANUP = CLEANUP;
109
+ exports.CONTEXT_CALLED = CONTEXT_CALLED;
110
+ exports.CONTEXT_HANDLER = CONTEXT_HANDLER;
111
+ exports.CONTEXT_METHOD_NAME = CONTEXT_METHOD_NAME;
112
+ exports.CONTEXT_NOTIFY_ELEMENT = CONTEXT_NOTIFY_ELEMENT;
113
+ exports.CONTEXT_OPTIONS = CONTEXT_OPTIONS;
114
+ exports.CONTEXT_REGISTER = CONTEXT_REGISTER;
115
+ exports.CONTEXT_REQUEST_HANDLER = CONTEXT_REQUEST_HANDLER;
116
+ exports.CONTEXT_TIMER = CONTEXT_TIMER;
117
+ exports.CONTEXT_UNREGISTER = CONTEXT_UNREGISTER;
118
+ exports.CONTROLLER = CONTROLLER;
119
+ exports.CONTROLLER_ID = CONTROLLER_ID;
120
+ exports.CONTROLLER_KEY = CONTROLLER_KEY;
121
+ exports.CONTROLLER_NAME_KEY = CONTROLLER_NAME_KEY;
122
+ exports.CONTROLLER_OPERATIONS = CONTROLLER_OPERATIONS;
123
+ exports.CREATED_AT = CREATED_AT;
124
+ exports.CURRENT_PAGE_MARKER = CURRENT_PAGE_MARKER;
125
+ exports.DISPATCH_TIMERS = DISPATCH_TIMERS;
126
+ exports.DISPOSE_HANDLERS = DISPOSE_HANDLERS;
127
+ exports.EXPLICITLY_SET_PROPERTIES = EXPLICITLY_SET_PROPERTIES;
128
+ exports.INITIALIZED = INITIALIZED;
129
+ exports.IS_CONTROLLER_CLASS = IS_CONTROLLER_CLASS;
130
+ exports.IS_CONTROLLER_INSTANCE = IS_CONTROLLER_INSTANCE;
131
+ exports.IS_ELEMENT_CLASS = IS_ELEMENT_CLASS;
132
+ exports.IS_UPDATING = IS_UPDATING;
133
+ exports.MOVED_HANDLERS = MOVED_HANDLERS;
134
+ exports.MOVED_TIMERS = MOVED_TIMERS;
135
+ exports.NATIVE_CONTROLLER = NATIVE_CONTROLLER;
136
+ exports.NAVIGATION_CONTEXT_INSTANCE = NAVIGATION_CONTEXT_INSTANCE;
137
+ exports.OBSERVERS = OBSERVERS;
138
+ exports.ON_HANDLERS = ON_HANDLERS;
139
+ exports.PAGE_TRANSITION = PAGE_TRANSITION;
140
+ exports.PARTS = PARTS;
141
+ exports.PART_TIMERS = PART_TIMERS;
142
+ exports.PRE_INIT_PROPERTY_VALUES = PRE_INIT_PROPERTY_VALUES;
143
+ exports.PROPERTIES = PROPERTIES;
144
+ exports.PROPERTIES_INITIALIZED = PROPERTIES_INITIALIZED;
145
+ exports.PROPERTY_VALUES = PROPERTY_VALUES;
146
+ exports.PROPERTY_WATCHERS = PROPERTY_WATCHERS;
147
+ exports.READY_HANDLERS = READY_HANDLERS;
148
+ exports.READY_PROMISE = READY_PROMISE;
149
+ exports.READY_RESOLVE = READY_RESOLVE;
150
+ exports.REGISTERED_ELEMENTS = REGISTERED_ELEMENTS;
151
+ exports.RENDERED_PROMISE = RENDERED_PROMISE;
152
+ exports.RENDERED_RESOLVE = RENDERED_RESOLVE;
153
+ exports.RENDER_CALLBACKS = RENDER_CALLBACKS;
154
+ exports.RENDER_INSTANCE = RENDER_INSTANCE;
155
+ exports.RENDER_METHOD = RENDER_METHOD;
156
+ exports.RENDER_OPTIONS = RENDER_OPTIONS;
157
+ exports.RENDER_SCHEDULED = RENDER_SCHEDULED;
158
+ exports.RENDER_TIMERS = RENDER_TIMERS;
159
+ exports.ROUTER_CONTEXT = ROUTER_CONTEXT;
160
+ exports.STYLES_APPLIED = STYLES_APPLIED;
161
+ exports.STYLES_METHOD = STYLES_METHOD;
162
+ exports.getSymbol = getSymbol;
163
+ //# sourceMappingURL=symbols.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.cjs","sources":["../src/global.ts","../src/symbols.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;;;AAAA;AACA;AAKA;AACA,SAAS,mBAAmB,GAAA;AAC1B,IAAA,IAAI,CAAE,UAAkB,CAAC,KAAK,EAAE;QAC7B,UAAkB,CAAC,KAAK,GAAG;YAC1B,kBAAkB,EAAE,IAAI,GAAG,EAAE;AAC7B,YAAA,mBAAmB,EAAE,CAAC;YACtB,OAAO,EAAE,IAAI,GAAG;SACjB;IACH;IACA,OAAQ,UAAkB,CAAC,KAAK;AAClC;AAEA;AACO,MAAM,KAAK,GAAG,mBAAmB,EAAE;AAE1C;AACM,SAAU,SAAS,CAAC,IAAY,EAAA;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC5B,QAAA,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC;IACA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE;AACjC;;AC3BA;AACA;MAMa,mBAAmB,GAAG,SAAS,CAAC,qBAAqB;MACrD,sBAAsB,GAAG,SAAS,CAAC,wBAAwB;MAC3D,gBAAgB,GAAG,SAAS,CAAC,kBAAkB;MAC/C,gBAAgB,GAAG,SAAS,CAAC,kBAAkB;AAE5D;MACa,aAAa,GAAG,SAAS,CAAC,eAAe;MACzC,aAAa,GAAG,SAAS,CAAC,eAAe;MACzC,UAAU,GAAG,SAAS,CAAC,YAAY;MACnC,WAAW,GAAG,SAAS,CAAC,aAAa;AAElD;MACa,WAAW,GAAG,SAAS,CAAC,aAAa;AAElD;MACa,cAAc,GAAG,SAAS,CAAC,gBAAgB;MAC3C,mBAAmB,GAAG,SAAS,CAAC,iBAAiB;MACjD,aAAa,GAAG,SAAS,CAAC,eAAe;MACzC,qBAAqB,GAAG,SAAS,CAAC,uBAAuB;MACzD,iBAAiB,GAAG,SAAS,CAAC,mBAAmB;AAE9D;MACa,OAAO,GAAG,SAAS,CAAC,SAAS;AAE1C;MACa,UAAU,GAAG,SAAS,CAAC,YAAY;MACnC,eAAe,GAAG,SAAS,CAAC,iBAAiB;MAC7C,sBAAsB,GAAG,SAAS,CAAC,wBAAwB;MAC3D,iBAAiB,GAAG,SAAS,CAAC,mBAAmB;MACjD,yBAAyB,GAAG,SAAS,CAAC,2BAA2B;AAE9E;MACa,cAAc,GAAG,SAAS,CAAC,gBAAgB;MAC3C,mBAAmB,GAAG,SAAS,CAAC,qBAAqB;MACrD,uBAAuB,GAAG,SAAS,CAAC,yBAAyB;MAC7D,eAAe,GAAG,SAAS,CAAC,iBAAiB;MAC7C,UAAU,GAAG,SAAS,CAAC,YAAY;AAEhD;MACa,cAAc,GAAG,SAAS,CAAC,gBAAgB;MAC3C,gBAAgB,GAAG,SAAS,CAAC,kBAAkB;MAC/C,cAAc,GAAG,SAAS,CAAC,gBAAgB;MAC3C,gBAAgB,GAAG,SAAS,CAAC,kBAAkB;AAE5D;MACa,SAAS,GAAG,SAAS,CAAC,WAAW;AAE9C;MACa,KAAK,GAAG,SAAS,CAAC,OAAO;MACzB,WAAW,GAAG,SAAS,CAAC,aAAa;AAElD;MACa,YAAY,GAAG,SAAS,CAAC,cAAc;MACvC,cAAc,GAAG,SAAS,CAAC,gBAAgB;AAExD;MACa,eAAe,GAAG,SAAS,CAAC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"symbols.cjs","sources":["../src/global.ts","../src/symbols.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}