snice 2.5.4 → 3.2.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 (411) hide show
  1. package/README.md +537 -869
  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/banner/snice-banner.d.ts +22 -0
  20. package/dist/components/banner/snice-banner.js +180 -0
  21. package/dist/components/banner/snice-banner.js.map +1 -0
  22. package/dist/components/banner/snice-banner.types.d.ts +14 -0
  23. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +5 -12
  24. package/dist/components/breadcrumbs/snice-breadcrumbs.js +88 -89
  25. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  26. package/dist/components/button/snice-button.d.ts +3 -7
  27. package/dist/components/button/snice-button.js +37 -58
  28. package/dist/components/button/snice-button.js.map +1 -1
  29. package/dist/components/card/snice-card.d.ts +5 -8
  30. package/dist/components/card/snice-card.js +71 -56
  31. package/dist/components/card/snice-card.js.map +1 -1
  32. package/dist/components/checkbox/snice-checkbox.d.ts +4 -13
  33. package/dist/components/checkbox/snice-checkbox.js +66 -137
  34. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  35. package/dist/components/chip/snice-chip.d.ts +5 -11
  36. package/dist/components/chip/snice-chip.js +44 -47
  37. package/dist/components/chip/snice-chip.js.map +1 -1
  38. package/dist/components/color-display/snice-color-display.d.ts +14 -0
  39. package/dist/components/color-display/snice-color-display.js +151 -0
  40. package/dist/components/color-display/snice-color-display.js.map +1 -0
  41. package/dist/components/color-display/snice-color-display.types.d.ts +10 -0
  42. package/dist/components/color-picker/snice-color-picker.d.ts +50 -0
  43. package/dist/components/color-picker/snice-color-picker.js +489 -0
  44. package/dist/components/color-picker/snice-color-picker.js.map +1 -0
  45. package/dist/components/color-picker/snice-color-picker.types.d.ts +19 -0
  46. package/dist/components/date-picker/snice-date-picker.d.ts +11 -11
  47. package/dist/components/date-picker/snice-date-picker.js +134 -133
  48. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  49. package/dist/components/divider/snice-divider.d.ts +2 -4
  50. package/dist/components/divider/snice-divider.js +14 -22
  51. package/dist/components/divider/snice-divider.js.map +1 -1
  52. package/dist/components/drawer/snice-drawer.d.ts +4 -4
  53. package/dist/components/drawer/snice-drawer.js +25 -19
  54. package/dist/components/drawer/snice-drawer.js.map +1 -1
  55. package/dist/components/empty-state/snice-empty-state.d.ts +13 -0
  56. package/dist/components/empty-state/snice-empty-state.js +121 -0
  57. package/dist/components/empty-state/snice-empty-state.js.map +1 -0
  58. package/dist/components/empty-state/snice-empty-state.types.d.ts +9 -0
  59. package/dist/components/file-upload/snice-file-upload.d.ts +45 -0
  60. package/dist/components/file-upload/snice-file-upload.js +394 -0
  61. package/dist/components/file-upload/snice-file-upload.js.map +1 -0
  62. package/dist/components/file-upload/snice-file-upload.types.d.ts +22 -0
  63. package/dist/components/image/snice-image.d.ts +22 -0
  64. package/dist/components/image/snice-image.js +201 -0
  65. package/dist/components/image/snice-image.js.map +1 -0
  66. package/dist/components/image/snice-image.types.d.ts +17 -0
  67. package/dist/components/input/snice-input.d.ts +8 -6
  68. package/dist/components/input/snice-input.js +122 -105
  69. package/dist/components/input/snice-input.js.map +1 -1
  70. package/dist/components/kpi/snice-kpi.d.ts +16 -0
  71. package/dist/components/kpi/snice-kpi.js +162 -0
  72. package/dist/components/kpi/snice-kpi.js.map +1 -0
  73. package/dist/components/kpi/snice-kpi.types.d.ts +12 -0
  74. package/dist/components/layout/snice-layout-blog.d.ts +4 -4
  75. package/dist/components/layout/snice-layout-blog.js +21 -19
  76. package/dist/components/layout/snice-layout-blog.js.map +1 -1
  77. package/dist/components/layout/snice-layout-card.d.ts +2 -2
  78. package/dist/components/layout/snice-layout-card.js +16 -9
  79. package/dist/components/layout/snice-layout-card.js.map +1 -1
  80. package/dist/components/layout/snice-layout-centered.d.ts +2 -2
  81. package/dist/components/layout/snice-layout-centered.js +14 -7
  82. package/dist/components/layout/snice-layout-centered.js.map +1 -1
  83. package/dist/components/layout/snice-layout-dashboard.d.ts +5 -5
  84. package/dist/components/layout/snice-layout-dashboard.js +38 -30
  85. package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
  86. package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
  87. package/dist/components/layout/snice-layout-fullscreen.js +17 -10
  88. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
  89. package/dist/components/layout/snice-layout-landing.d.ts +4 -4
  90. package/dist/components/layout/snice-layout-landing.js +21 -19
  91. package/dist/components/layout/snice-layout-landing.js.map +1 -1
  92. package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
  93. package/dist/components/layout/snice-layout-minimal.js +17 -6
  94. package/dist/components/layout/snice-layout-minimal.js.map +1 -1
  95. package/dist/components/layout/snice-layout-sidebar.d.ts +5 -4
  96. package/dist/components/layout/snice-layout-sidebar.js +42 -20
  97. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  98. package/dist/components/layout/snice-layout-split.d.ts +2 -2
  99. package/dist/components/layout/snice-layout-split.js +14 -7
  100. package/dist/components/layout/snice-layout-split.js.map +1 -1
  101. package/dist/components/layout/snice-layout.d.ts +4 -4
  102. package/dist/components/layout/snice-layout.js +16 -10
  103. package/dist/components/layout/snice-layout.js.map +1 -1
  104. package/dist/components/link/snice-link.d.ts +13 -0
  105. package/dist/components/link/snice-link.js +137 -0
  106. package/dist/components/link/snice-link.js.map +1 -0
  107. package/dist/components/link/snice-link.types.d.ts +11 -0
  108. package/dist/components/login/snice-login.d.ts +6 -11
  109. package/dist/components/login/snice-login.js +97 -71
  110. package/dist/components/login/snice-login.js.map +1 -1
  111. package/dist/components/modal/snice-modal.d.ts +5 -9
  112. package/dist/components/modal/snice-modal.js +47 -78
  113. package/dist/components/modal/snice-modal.js.map +1 -1
  114. package/dist/components/nav/snice-nav.d.ts +13 -7
  115. package/dist/components/nav/snice-nav.js +191 -100
  116. package/dist/components/nav/snice-nav.js.map +1 -1
  117. package/dist/components/nav/snice-nav.types.d.ts +3 -3
  118. package/dist/components/pagination/snice-pagination.d.ts +6 -7
  119. package/dist/components/pagination/snice-pagination.js +94 -81
  120. package/dist/components/pagination/snice-pagination.js.map +1 -1
  121. package/dist/components/progress/snice-progress.d.ts +2 -7
  122. package/dist/components/progress/snice-progress.js +41 -98
  123. package/dist/components/progress/snice-progress.js.map +1 -1
  124. package/dist/components/radio/snice-radio.d.ts +4 -4
  125. package/dist/components/radio/snice-radio.js +52 -44
  126. package/dist/components/radio/snice-radio.js.map +1 -1
  127. package/dist/components/select/snice-option.d.ts +2 -1
  128. package/dist/components/select/snice-option.js +12 -5
  129. package/dist/components/select/snice-option.js.map +1 -1
  130. package/dist/components/select/snice-select.d.ts +9 -21
  131. package/dist/components/select/snice-select.js +98 -170
  132. package/dist/components/select/snice-select.js.map +1 -1
  133. package/dist/components/skeleton/snice-skeleton.d.ts +2 -6
  134. package/dist/components/skeleton/snice-skeleton.js +18 -49
  135. package/dist/components/skeleton/snice-skeleton.js.map +1 -1
  136. package/dist/components/slider/snice-slider.d.ts +53 -0
  137. package/dist/components/slider/snice-slider.js +479 -0
  138. package/dist/components/slider/snice-slider.js.map +1 -0
  139. package/dist/components/slider/snice-slider.types.d.ts +26 -0
  140. package/dist/components/snice-cell-C0slgOpe.js +4 -0
  141. package/dist/components/snice-cell-C0slgOpe.js.map +1 -0
  142. package/dist/components/sparkline/snice-sparkline.d.ts +21 -0
  143. package/dist/components/sparkline/snice-sparkline.js +228 -0
  144. package/dist/components/sparkline/snice-sparkline.js.map +1 -0
  145. package/dist/components/sparkline/snice-sparkline.types.d.ts +16 -0
  146. package/dist/components/spinner/snice-spinner.d.ts +10 -0
  147. package/dist/components/spinner/snice-spinner.js +109 -0
  148. package/dist/components/spinner/snice-spinner.js.map +1 -0
  149. package/dist/components/spinner/snice-spinner.types.d.ts +8 -0
  150. package/dist/components/stepper/snice-stepper-panel.d.ts +8 -0
  151. package/dist/components/stepper/snice-stepper-panel.js +70 -0
  152. package/dist/components/stepper/snice-stepper-panel.js.map +1 -0
  153. package/dist/components/stepper/snice-stepper-panel.types.d.ts +4 -0
  154. package/dist/components/stepper/snice-stepper.d.ts +15 -0
  155. package/dist/components/stepper/snice-stepper.js +163 -0
  156. package/dist/components/stepper/snice-stepper.js.map +1 -0
  157. package/dist/components/stepper/snice-stepper.types.d.ts +13 -0
  158. package/dist/components/switch/snice-switch.d.ts +2 -2
  159. package/dist/components/switch/snice-switch.js +38 -26
  160. package/dist/components/switch/snice-switch.js.map +1 -1
  161. package/dist/components/table/snice-cell-actions.d.ts +24 -0
  162. package/dist/components/table/snice-cell-actions.js +149 -0
  163. package/dist/components/table/snice-cell-actions.js.map +1 -0
  164. package/dist/components/table/snice-cell-boolean.d.ts +2 -2
  165. package/dist/components/table/snice-cell-boolean.js +13 -7
  166. package/dist/components/table/snice-cell-boolean.js.map +1 -1
  167. package/dist/components/table/snice-cell-color.d.ts +18 -0
  168. package/dist/components/table/snice-cell-color.js +149 -0
  169. package/dist/components/table/snice-cell-color.js.map +1 -0
  170. package/dist/components/table/snice-cell-currency.d.ts +24 -0
  171. package/dist/components/table/snice-cell-currency.js +235 -0
  172. package/dist/components/table/snice-cell-currency.js.map +1 -0
  173. package/dist/components/table/snice-cell-date.d.ts +2 -2
  174. package/dist/components/table/snice-cell-date.js +14 -8
  175. package/dist/components/table/snice-cell-date.js.map +1 -1
  176. package/dist/components/table/snice-cell-duration.d.ts +2 -2
  177. package/dist/components/table/snice-cell-duration.js +12 -6
  178. package/dist/components/table/snice-cell-duration.js.map +1 -1
  179. package/dist/components/table/snice-cell-email.d.ts +15 -0
  180. package/dist/components/table/snice-cell-email.js +125 -0
  181. package/dist/components/table/snice-cell-email.js.map +1 -0
  182. package/dist/components/table/snice-cell-filesize.d.ts +2 -2
  183. package/dist/components/table/snice-cell-filesize.js +12 -6
  184. package/dist/components/table/snice-cell-filesize.js.map +1 -1
  185. package/dist/components/table/snice-cell-image.d.ts +20 -0
  186. package/dist/components/table/snice-cell-image.js +162 -0
  187. package/dist/components/table/snice-cell-image.js.map +1 -0
  188. package/dist/components/table/snice-cell-json.d.ts +20 -0
  189. package/dist/components/table/snice-cell-json.js +186 -0
  190. package/dist/components/table/snice-cell-json.js.map +1 -0
  191. package/dist/components/table/snice-cell-link.d.ts +17 -0
  192. package/dist/components/table/snice-cell-link.js +142 -0
  193. package/dist/components/table/snice-cell-link.js.map +1 -0
  194. package/dist/components/table/snice-cell-location.d.ts +19 -0
  195. package/dist/components/table/snice-cell-location.js +185 -0
  196. package/dist/components/table/snice-cell-location.js.map +1 -0
  197. package/dist/components/table/snice-cell-number.d.ts +2 -2
  198. package/dist/components/table/snice-cell-number.js +12 -6
  199. package/dist/components/table/snice-cell-number.js.map +1 -1
  200. package/dist/components/table/snice-cell-percentage.d.ts +22 -0
  201. package/dist/components/table/snice-cell-percentage.js +208 -0
  202. package/dist/components/table/snice-cell-percentage.js.map +1 -0
  203. package/dist/components/table/snice-cell-phone.d.ts +18 -0
  204. package/dist/components/table/snice-cell-phone.js +153 -0
  205. package/dist/components/table/snice-cell-phone.js.map +1 -0
  206. package/dist/components/table/snice-cell-progress.d.ts +2 -2
  207. package/dist/components/table/snice-cell-progress.js +12 -6
  208. package/dist/components/table/snice-cell-progress.js.map +1 -1
  209. package/dist/components/table/snice-cell-rating.d.ts +2 -2
  210. package/dist/components/table/snice-cell-rating.js +12 -6
  211. package/dist/components/table/snice-cell-rating.js.map +1 -1
  212. package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
  213. package/dist/components/table/snice-cell-sparkline.js +13 -7
  214. package/dist/components/table/snice-cell-sparkline.js.map +1 -1
  215. package/dist/components/table/snice-cell-status.d.ts +17 -0
  216. package/dist/components/table/snice-cell-status.js +144 -0
  217. package/dist/components/table/snice-cell-status.js.map +1 -0
  218. package/dist/components/table/snice-cell-tag.d.ts +16 -0
  219. package/dist/components/table/snice-cell-tag.js +131 -0
  220. package/dist/components/table/snice-cell-tag.js.map +1 -0
  221. package/dist/components/table/snice-cell-text.d.ts +2 -2
  222. package/dist/components/table/snice-cell-text.js +14 -8
  223. package/dist/components/table/snice-cell-text.js.map +1 -1
  224. package/dist/components/table/snice-cell.d.ts +2 -2
  225. package/dist/components/table/snice-cell.js +12 -6
  226. package/dist/components/table/snice-cell.js.map +1 -1
  227. package/dist/components/table/snice-column.d.ts +1 -1
  228. package/dist/components/table/snice-column.js +6 -3
  229. package/dist/components/table/snice-column.js.map +1 -1
  230. package/dist/components/table/snice-header.d.ts +5 -5
  231. package/dist/components/table/snice-header.js +60 -50
  232. package/dist/components/table/snice-header.js.map +1 -1
  233. package/dist/components/table/snice-progress.d.ts +2 -2
  234. package/dist/components/table/snice-progress.js +18 -11
  235. package/dist/components/table/snice-progress.js.map +1 -1
  236. package/dist/components/table/snice-rating.d.ts +2 -2
  237. package/dist/components/table/snice-rating.js +15 -8
  238. package/dist/components/table/snice-rating.js.map +1 -1
  239. package/dist/components/table/snice-row.d.ts +17 -6
  240. package/dist/components/table/snice-row.js +95 -44
  241. package/dist/components/table/snice-row.js.map +1 -1
  242. package/dist/components/table/snice-table.d.ts +18 -10
  243. package/dist/components/table/snice-table.js +355 -173
  244. package/dist/components/table/snice-table.js.map +1 -1
  245. package/dist/components/table/snice-table.types.d.ts +101 -2
  246. package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
  247. package/dist/components/tabs/snice-tab-panel.js +12 -6
  248. package/dist/components/tabs/snice-tab-panel.js.map +1 -1
  249. package/dist/components/tabs/snice-tab.d.ts +6 -5
  250. package/dist/components/tabs/snice-tab.js +36 -19
  251. package/dist/components/tabs/snice-tab.js.map +1 -1
  252. package/dist/components/tabs/snice-tabs.d.ts +5 -5
  253. package/dist/components/tabs/snice-tabs.js +38 -28
  254. package/dist/components/tabs/snice-tabs.js.map +1 -1
  255. package/dist/components/textarea/snice-textarea.d.ts +52 -0
  256. package/dist/components/textarea/snice-textarea.js +407 -0
  257. package/dist/components/textarea/snice-textarea.js.map +1 -0
  258. package/dist/components/textarea/snice-textarea.types.d.ts +30 -0
  259. package/dist/components/timeline/snice-timeline.d.ts +11 -0
  260. package/dist/components/timeline/snice-timeline.js +112 -0
  261. package/dist/components/timeline/snice-timeline.js.map +1 -0
  262. package/dist/components/timeline/snice-timeline.types.d.ts +16 -0
  263. package/dist/components/toast/snice-toast-container.d.ts +7 -7
  264. package/dist/components/toast/snice-toast-container.js +19 -12
  265. package/dist/components/toast/snice-toast-container.js.map +1 -1
  266. package/dist/components/toast/snice-toast.d.ts +3 -15
  267. package/dist/components/toast/snice-toast.js +49 -108
  268. package/dist/components/toast/snice-toast.js.map +1 -1
  269. package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
  270. package/dist/components/tooltip/snice-tooltip.js +15 -8
  271. package/dist/components/tooltip/snice-tooltip.js.map +1 -1
  272. package/dist/context.d.ts +44 -0
  273. package/dist/element-ready.d.ts +40 -0
  274. package/dist/{types/element.d.ts → element.d.ts} +2 -8
  275. package/dist/{types/events.d.ts → events.d.ts} +0 -4
  276. package/dist/index.cjs +2556 -605
  277. package/dist/index.cjs.map +1 -1
  278. package/dist/index.d.ts +21 -0
  279. package/dist/index.esm.js +2535 -604
  280. package/dist/index.esm.js.map +1 -1
  281. package/dist/index.iife.js +2556 -605
  282. package/dist/index.iife.js.map +1 -1
  283. package/dist/method-decorators.d.ts +121 -0
  284. package/dist/on.d.ts +59 -0
  285. package/dist/parts.d.ts +156 -0
  286. package/dist/render-debug.d.ts +27 -0
  287. package/dist/render-tracker.d.ts +14 -0
  288. package/dist/render.d.ts +96 -0
  289. package/dist/symbols.cjs +163 -0
  290. package/dist/symbols.cjs.map +1 -1
  291. package/dist/{types/symbols.d.ts → symbols.d.ts} +22 -0
  292. package/dist/symbols.esm.js +27 -3
  293. package/dist/symbols.esm.js.map +1 -1
  294. package/dist/template.d.ts +99 -0
  295. package/dist/transitions.cjs +219 -0
  296. package/dist/transitions.esm.js +2 -2
  297. package/dist/types/context.d.ts +48 -0
  298. package/dist/types/element-options.d.ts +26 -0
  299. package/dist/types/index.d.ts +25 -9
  300. package/dist/types/nav-context.d.ts +19 -0
  301. package/dist/types/{types/on-options.d.ts → on-options.d.ts} +2 -0
  302. package/dist/types/{types/placard.d.ts → placard.d.ts} +0 -1
  303. package/docs/ai/README.md +26 -0
  304. package/docs/ai/api.md +175 -0
  305. package/docs/ai/architecture.md +160 -0
  306. package/docs/ai/components/accordion.md +174 -0
  307. package/docs/ai/components/alert.md +77 -0
  308. package/docs/ai/components/avatar.md +61 -0
  309. package/docs/ai/components/badge.md +69 -0
  310. package/docs/ai/components/banner.md +84 -0
  311. package/docs/ai/components/breadcrumbs.md +74 -0
  312. package/docs/ai/components/button.md +75 -0
  313. package/docs/ai/components/card.md +61 -0
  314. package/docs/ai/components/checkbox.md +74 -0
  315. package/docs/ai/components/chip.md +73 -0
  316. package/docs/ai/components/color-display.md +48 -0
  317. package/docs/ai/components/color-picker.md +75 -0
  318. package/docs/ai/components/date-picker.md +75 -0
  319. package/docs/ai/components/divider.md +66 -0
  320. package/docs/ai/components/drawer.md +80 -0
  321. package/docs/ai/components/empty-state.md +72 -0
  322. package/docs/ai/components/file-upload.md +93 -0
  323. package/docs/ai/components/image.md +60 -0
  324. package/docs/ai/components/input.md +111 -0
  325. package/docs/ai/components/kpi.md +158 -0
  326. package/docs/ai/components/link.md +77 -0
  327. package/docs/ai/components/login.md +109 -0
  328. package/docs/ai/components/modal.md +67 -0
  329. package/docs/ai/components/nav.md +76 -0
  330. package/docs/ai/components/pagination.md +55 -0
  331. package/docs/ai/components/progress.md +72 -0
  332. package/docs/ai/components/radio.md +79 -0
  333. package/docs/ai/components/select.md +92 -0
  334. package/docs/ai/components/skeleton.md +57 -0
  335. package/docs/ai/components/slider.md +87 -0
  336. package/docs/ai/components/sparkline.md +168 -0
  337. package/docs/ai/components/spinner.md +47 -0
  338. package/docs/ai/components/stepper.md +216 -0
  339. package/docs/ai/components/switch.md +53 -0
  340. package/docs/ai/components/table.md +227 -0
  341. package/docs/ai/components/tabs.md +83 -0
  342. package/docs/ai/components/textarea.md +87 -0
  343. package/docs/ai/components/timeline.md +77 -0
  344. package/docs/ai/components/toast.md +140 -0
  345. package/docs/ai/components/tooltip.md +146 -0
  346. package/docs/ai/patterns.md +244 -0
  347. package/docs/components/accordion.md +558 -0
  348. package/docs/components/banner.md +106 -0
  349. package/docs/components/color-display.md +96 -0
  350. package/docs/components/color-picker.md +81 -0
  351. package/docs/components/drawer.md +602 -0
  352. package/docs/components/empty-state.md +79 -0
  353. package/docs/components/file-upload.md +263 -0
  354. package/docs/components/image.md +110 -0
  355. package/docs/components/kpi.md +251 -0
  356. package/docs/components/link.md +229 -0
  357. package/docs/components/modal.md +558 -0
  358. package/docs/components/nav.md +239 -0
  359. package/docs/components/pagination.md +289 -0
  360. package/docs/components/select.md +599 -0
  361. package/docs/components/slider.md +297 -0
  362. package/docs/components/sparkline.md +293 -0
  363. package/docs/components/spinner.md +63 -0
  364. package/docs/components/stepper.md +410 -0
  365. package/docs/components/switch.md +354 -0
  366. package/docs/components/tabs.md +546 -0
  367. package/docs/components/textarea.md +235 -0
  368. package/docs/components/timeline.md +192 -0
  369. package/docs/components/toast.md +506 -0
  370. package/docs/components/tooltip.md +523 -0
  371. package/docs/controllers.md +744 -0
  372. package/docs/elements.md +855 -0
  373. package/docs/events.md +807 -0
  374. package/docs/migration-v2-to-v3.md +569 -0
  375. package/docs/observe.md +588 -0
  376. package/docs/placards.md +401 -0
  377. package/docs/request-response.md +852 -0
  378. package/docs/routing.md +1186 -0
  379. package/package.json +11 -11
  380. package/dist/components/snice-cell-C9N6yGxQ.js +0 -4
  381. package/dist/components/snice-cell-C9N6yGxQ.js.map +0 -1
  382. package/dist/types/types/index.d.ts +0 -23
  383. /package/dist/{types/controller.d.ts → controller.d.ts} +0 -0
  384. /package/dist/{types/global.d.ts → global.d.ts} +0 -0
  385. /package/dist/{types/observe.d.ts → observe.d.ts} +0 -0
  386. /package/dist/{types/request-response.d.ts → request-response.d.ts} +0 -0
  387. /package/dist/{types/router.d.ts → router.d.ts} +0 -0
  388. /package/dist/{types/testing.d.ts → testing.d.ts} +0 -0
  389. /package/dist/{types/transitions.d.ts → transitions.d.ts} +0 -0
  390. /package/dist/types/{types/adopted-options.d.ts → adopted-options.d.ts} +0 -0
  391. /package/dist/types/{types/app-context.d.ts → app-context.d.ts} +0 -0
  392. /package/dist/types/{types/dispatch-options.d.ts → dispatch-options.d.ts} +0 -0
  393. /package/dist/types/{types/guard.d.ts → guard.d.ts} +0 -0
  394. /package/dist/types/{types/i-controller.d.ts → i-controller.d.ts} +0 -0
  395. /package/dist/types/{types/moved-options.d.ts → moved-options.d.ts} +0 -0
  396. /package/dist/types/{types/observe-options.d.ts → observe-options.d.ts} +0 -0
  397. /package/dist/types/{types/page-options.d.ts → page-options.d.ts} +0 -0
  398. /package/dist/types/{types/part-options.d.ts → part-options.d.ts} +0 -0
  399. /package/dist/types/{types/property-converter.d.ts → property-converter.d.ts} +0 -0
  400. /package/dist/types/{types/property-options.d.ts → property-options.d.ts} +0 -0
  401. /package/dist/types/{types/query-options.d.ts → query-options.d.ts} +0 -0
  402. /package/dist/types/{types/request-options.d.ts → request-options.d.ts} +0 -0
  403. /package/dist/types/{types/respond-options.d.ts → respond-options.d.ts} +0 -0
  404. /package/dist/types/{types/route-params.d.ts → route-params.d.ts} +0 -0
  405. /package/dist/types/{types/router-instance.d.ts → router-instance.d.ts} +0 -0
  406. /package/dist/types/{types/router-options.d.ts → router-options.d.ts} +0 -0
  407. /package/dist/types/{types/simple-array.d.ts → simple-array.d.ts} +0 -0
  408. /package/dist/types/{types/snice-element.d.ts → snice-element.d.ts} +0 -0
  409. /package/dist/types/{types/snice-global.d.ts → snice-global.d.ts} +0 -0
  410. /package/dist/types/{types/transition.d.ts → transition.d.ts} +0 -0
  411. /package/dist/{types/utils.d.ts → utils.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { __runInitializers, __esDecorate } from 'tslib';
2
- import { element, property, query, ready, watch, on, dispatch } from 'snice';
2
+ import { element, property, query, render, styles, ready, watch, dispatch, html, css } from 'snice';
3
3
 
4
- var css = ":host {\n --modal-z-index: 1000;\n --modal-backdrop-bg: rgba(0, 0, 0, 0.5);\n --modal-panel-bg: var(--snice-color-background, white);\n --modal-panel-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n --modal-border-radius: var(--snice-border-radius-lg, 8px);\n --modal-padding: var(--snice-spacing-lg, 1.5rem);\n --modal-transition-duration: 200ms;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: var(--modal-z-index);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--modal-padding);\n pointer-events: none;\n opacity: 0;\n visibility: hidden;\n}\n\n.modal--open {\n pointer-events: auto;\n opacity: 1;\n visibility: visible;\n}\n\n.modal__backdrop {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--modal-backdrop-bg);\n opacity: 0;\n transition: opacity var(--modal-transition-duration) ease;\n}\n\n.modal--open .modal__backdrop {\n opacity: 1;\n}\n\n.modal__panel {\n position: relative;\n background: var(--modal-panel-bg);\n border-radius: var(--modal-border-radius);\n box-shadow: var(--modal-panel-shadow);\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 2 * var(--modal-padding));\n opacity: 0;\n transform: scale(0.95) translateY(1.25rem); /* 20px */\n transition: \n opacity var(--modal-transition-duration) ease,\n transform var(--modal-transition-duration) ease;\n z-index: 1;\n}\n\n.modal--open .modal__panel {\n opacity: 1;\n transform: scale(1) translateY(0);\n}\n\n/* Sizes */\n.modal__panel--small {\n width: 100%;\n max-width: 25rem; /* 400px */\n}\n\n.modal__panel--medium {\n width: 100%;\n max-width: 37.5rem; /* 600px */\n}\n\n.modal__panel--large {\n width: 100%;\n max-width: 56.25rem; /* 900px */\n}\n\n.modal__panel--fullscreen {\n width: calc(100vw - 2 * var(--modal-padding));\n height: calc(100vh - 2 * var(--modal-padding));\n max-width: none;\n}\n\n.modal__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--modal-padding);\n border-bottom: 1px solid var(--snice-color-border, #e5e7eb);\n}\n\n.modal__header:empty {\n display: none;\n}\n\n::slotted([slot=\"header\"]) {\n flex: 1;\n margin: 0;\n font-size: var(--snice-font-size-lg, 1.125rem);\n font-weight: 600;\n color: var(--snice-color-text, #111827);\n}\n\n.modal__close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem; /* 32px */\n height: 2rem; /* 32px */\n padding: 0;\n margin-left: auto;\n background: transparent;\n border: none;\n border-radius: var(--snice-border-radius-md, 6px);\n color: var(--snice-color-text-secondary, #6b7280);\n cursor: pointer;\n transition: \n background-color var(--snice-transition-fast) ease,\n color var(--snice-transition-fast) ease;\n}\n\n.modal__close:hover {\n background: var(--snice-color-background-hover, #f3f4f6);\n color: var(--snice-color-text, #111827);\n}\n\n.modal__close:focus-visible {\n outline: 2px solid var(--snice-color-primary, #3b82f6);\n outline-offset: 2px;\n}\n\n.modal__body {\n flex: 1;\n padding: var(--modal-padding);\n overflow-y: auto;\n color: var(--snice-color-text, #111827);\n}\n\n.modal__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--snice-spacing-sm, 0.5rem);\n padding: var(--modal-padding);\n border-top: 1px solid var(--snice-color-border, #e5e7eb);\n}\n\n.modal__footer:empty {\n display: none;\n}\n\n/* Remove borders when header/footer are empty */\n.modal__header:empty + .modal__body {\n padding-top: var(--modal-padding);\n}\n\n.modal__body:has(+ .modal__footer:empty) {\n padding-bottom: var(--modal-padding);\n}\n\n/* Animation for entrance from bottom (alternative) */\n@keyframes slideUp {\n from {\n opacity: 0;\n transform: translateY(6.25rem); /* 100px */\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* Animation for exit */\n@keyframes fadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n/* Mobile responsiveness */\n@media (max-width: 640px) {\n .modal {\n padding: 0;\n }\n \n .modal__panel:not(.modal__panel--fullscreen) {\n width: 100%;\n height: 100%;\n max-width: none;\n max-height: none;\n border-radius: 0;\n }\n}";
4
+ var cssContent = ":host{--modal-z-index:1000;--modal-backdrop-bg:rgba(0, 0, 0, 0.5);--modal-panel-bg:var(--snice-color-background, white);--modal-panel-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);--modal-border-radius:var(--snice-border-radius-lg, 8px);--modal-padding:var(--snice-spacing-lg, 1.5rem);--modal-transition-duration:200ms}.modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--modal-z-index);display:flex;align-items:center;justify-content:center;padding:var(--modal-padding);pointer-events:none;opacity:0;visibility:hidden}.modal--open{pointer-events:auto;opacity:1;visibility:visible}.modal__backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--modal-backdrop-bg);opacity:0;transition:opacity var(--modal-transition-duration) ease}.modal--open .modal__backdrop{opacity:1}.modal__panel{position:relative;background:var(--modal-panel-bg);border-radius:var(--modal-border-radius);box-shadow:var(--modal-panel-shadow);display:flex;flex-direction:column;max-height:calc(100vh - 2 * var(--modal-padding));opacity:0;transform:scale(.95) translateY(1.25rem);transition:opacity var(--modal-transition-duration) ease,transform var(--modal-transition-duration) ease;z-index:1}.modal--open .modal__panel{opacity:1;transform:scale(1) translateY(0)}.modal__panel--small{width:100%;max-width:25rem}.modal__panel--medium{width:100%;max-width:37.5rem}.modal__panel--large{width:100%;max-width:56.25rem}.modal__panel--fullscreen{width:calc(100vw - 2 * var(--modal-padding));height:calc(100vh - 2 * var(--modal-padding));max-width:none}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--modal-padding);border-bottom:1px solid var(--snice-color-border,#e5e7eb)}.modal__header:empty{display:none}::slotted([slot=header]){flex:1;margin:0;font-size:var(--snice-font-size-lg, 1.125rem);font-weight:600;color:var(--snice-color-text,#111827)}.modal__close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;margin-left:auto;background:0 0;border:none;border-radius:var(--snice-border-radius-md,6px);color:var(--snice-color-text-secondary,#6b7280);cursor:pointer;transition:background-color var(--snice-transition-fast) ease,color var(--snice-transition-fast) ease}.modal__close:hover{background:var(--snice-color-background-hover,#f3f4f6);color:var(--snice-color-text,#111827)}.modal__close:focus-visible{outline:2px solid var(--snice-color-primary,#3b82f6);outline-offset:2px}.modal__body{flex:1;padding:var(--modal-padding);overflow-y:auto;color:var(--snice-color-text,#111827)}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--snice-spacing-sm,.5rem);padding:var(--modal-padding);border-top:1px solid var(--snice-color-border,#e5e7eb)}.modal__footer:empty{display:none}.modal__header:empty+.modal__body{padding-top:var(--modal-padding)}.modal__body:has(+ .modal__footer:empty){padding-bottom:var(--modal-padding)}@keyframes slideUp{from{opacity:0;transform:translateY(6.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@media (max-width:640px){.modal{padding:0}.modal__panel:not(.modal__panel--fullscreen){width:100%;height:100%;max-width:none;max-height:none;border-radius:0}}";
5
5
 
6
6
  let SniceModal = (() => {
7
7
  let _classDecorators = [element('snice-modal')];
@@ -40,14 +40,10 @@ let SniceModal = (() => {
40
40
  let _backdrop_decorators;
41
41
  let _backdrop_initializers = [];
42
42
  let _backdrop_extraInitializers = [];
43
+ let _renderContent_decorators;
44
+ let _componentStyles_decorators;
43
45
  let _init_decorators;
44
46
  let _handleOpenChange_decorators;
45
- let _handleSizeChange_decorators;
46
- let _handleCloseButtonChange_decorators;
47
- let _handleBackdropClick_decorators;
48
- let _handleCloseClick_decorators;
49
- let _handleEscape_decorators;
50
- let _handleTab_decorators;
51
47
  let _dispatchOpenEvent_decorators;
52
48
  let _dispatchCloseEvent_decorators;
53
49
  (class extends _classSuper {
@@ -56,8 +52,7 @@ let SniceModal = (() => {
56
52
  super(...arguments);
57
53
  this.open = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _open_initializers, false));
58
54
  this.size = (__runInitializers(this, _open_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));
59
- this.previousSize = (__runInitializers(this, _size_extraInitializers), 'medium');
60
- this.noBackdropDismiss = __runInitializers(this, _noBackdropDismiss_initializers, false);
55
+ this.noBackdropDismiss = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _noBackdropDismiss_initializers, false));
61
56
  this.noEscapeDismiss = (__runInitializers(this, _noBackdropDismiss_extraInitializers), __runInitializers(this, _noEscapeDismiss_initializers, false));
62
57
  this.noFocusTrap = (__runInitializers(this, _noEscapeDismiss_extraInitializers), __runInitializers(this, _noFocusTrap_initializers, false));
63
58
  this.noCloseButton = (__runInitializers(this, _noFocusTrap_extraInitializers), __runInitializers(this, _noCloseButton_initializers, false));
@@ -79,24 +74,16 @@ let SniceModal = (() => {
79
74
  _modal_decorators = [query('.modal')];
80
75
  _panel_decorators = [query('.modal__panel')];
81
76
  _backdrop_decorators = [query('.modal__backdrop')];
77
+ _renderContent_decorators = [render()];
78
+ _componentStyles_decorators = [styles()];
82
79
  _init_decorators = [ready()];
83
80
  _handleOpenChange_decorators = [watch('open')];
84
- _handleSizeChange_decorators = [watch('size')];
85
- _handleCloseButtonChange_decorators = [watch('noCloseButton')];
86
- _handleBackdropClick_decorators = [on('click', '.modal__backdrop')];
87
- _handleCloseClick_decorators = [on('click', '.modal__close')];
88
- _handleEscape_decorators = [on('keydown:Escape', { stopPropagation: true })];
89
- _handleTab_decorators = [on('keydown:Tab')];
90
81
  _dispatchOpenEvent_decorators = [dispatch('@snice/modal-open', { bubbles: true, composed: true })];
91
82
  _dispatchCloseEvent_decorators = [dispatch('@snice/modal-close', { bubbles: true, composed: true })];
83
+ __esDecorate(this, null, _renderContent_decorators, { kind: "method", name: "renderContent", static: false, private: false, access: { has: obj => "renderContent" in obj, get: obj => obj.renderContent }, metadata: _metadata }, null, _instanceExtraInitializers);
84
+ __esDecorate(this, null, _componentStyles_decorators, { kind: "method", name: "componentStyles", static: false, private: false, access: { has: obj => "componentStyles" in obj, get: obj => obj.componentStyles }, metadata: _metadata }, null, _instanceExtraInitializers);
92
85
  __esDecorate(this, null, _init_decorators, { kind: "method", name: "init", static: false, private: false, access: { has: obj => "init" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);
93
86
  __esDecorate(this, null, _handleOpenChange_decorators, { kind: "method", name: "handleOpenChange", static: false, private: false, access: { has: obj => "handleOpenChange" in obj, get: obj => obj.handleOpenChange }, metadata: _metadata }, null, _instanceExtraInitializers);
94
- __esDecorate(this, null, _handleSizeChange_decorators, { kind: "method", name: "handleSizeChange", static: false, private: false, access: { has: obj => "handleSizeChange" in obj, get: obj => obj.handleSizeChange }, metadata: _metadata }, null, _instanceExtraInitializers);
95
- __esDecorate(this, null, _handleCloseButtonChange_decorators, { kind: "method", name: "handleCloseButtonChange", static: false, private: false, access: { has: obj => "handleCloseButtonChange" in obj, get: obj => obj.handleCloseButtonChange }, metadata: _metadata }, null, _instanceExtraInitializers);
96
- __esDecorate(this, null, _handleBackdropClick_decorators, { kind: "method", name: "handleBackdropClick", static: false, private: false, access: { has: obj => "handleBackdropClick" in obj, get: obj => obj.handleBackdropClick }, metadata: _metadata }, null, _instanceExtraInitializers);
97
- __esDecorate(this, null, _handleCloseClick_decorators, { kind: "method", name: "handleCloseClick", static: false, private: false, access: { has: obj => "handleCloseClick" in obj, get: obj => obj.handleCloseClick }, metadata: _metadata }, null, _instanceExtraInitializers);
98
- __esDecorate(this, null, _handleEscape_decorators, { kind: "method", name: "handleEscape", static: false, private: false, access: { has: obj => "handleEscape" in obj, get: obj => obj.handleEscape }, metadata: _metadata }, null, _instanceExtraInitializers);
99
- __esDecorate(this, null, _handleTab_decorators, { kind: "method", name: "handleTab", static: false, private: false, access: { has: obj => "handleTab" in obj, get: obj => obj.handleTab }, metadata: _metadata }, null, _instanceExtraInitializers);
100
87
  __esDecorate(this, null, _dispatchOpenEvent_decorators, { kind: "method", name: "dispatchOpenEvent", static: false, private: false, access: { has: obj => "dispatchOpenEvent" in obj, get: obj => obj.dispatchOpenEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
101
88
  __esDecorate(this, null, _dispatchCloseEvent_decorators, { kind: "method", name: "dispatchCloseEvent", static: false, private: false, access: { has: obj => "dispatchCloseEvent" in obj, get: obj => obj.dispatchCloseEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
102
89
  __esDecorate(null, null, _open_decorators, { kind: "field", name: "open", static: false, private: false, access: { has: obj => "open" in obj, get: obj => obj.open, set: (obj, value) => { obj.open = value; } }, metadata: _metadata }, _open_initializers, _open_extraInitializers);
@@ -114,23 +101,32 @@ let SniceModal = (() => {
114
101
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
115
102
  __runInitializers(_classThis, _classExtraInitializers);
116
103
  }
117
- html() {
118
- // Renders once - initial state
119
- return /*html*/ `
120
- <div class="modal"
121
- role="dialog"
104
+ renderContent() {
105
+ const modalClass = `modal${this.open ? ' modal--open' : ''}`;
106
+ const panelClass = `modal__panel modal__panel--${this.size}`;
107
+ const ariaHidden = this.open ? 'false' : 'true';
108
+ return html /*html*/ `
109
+ <div class="${modalClass}"
110
+ role="dialog"
122
111
  aria-modal="true"
123
112
  aria-label="${this.label}"
124
- aria-hidden="true">
113
+ aria-hidden="${ariaHidden}"
114
+ @click=${this.handleBackdropClick}
115
+ @keydown=${this.handleKeydown}>
125
116
  <div class="modal__backdrop" part="backdrop"></div>
126
- <div class="modal__panel modal__panel--${this.size}" part="panel">
117
+ <div class="${panelClass}" part="panel">
127
118
  <div class="modal__header" part="header">
128
119
  <slot name="header"></slot>
129
- <button class="modal__close" part="close" aria-label="Close modal">
130
- <svg viewBox="0 0 24 24" width="20" height="20">
131
- <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" fill="currentColor"/>
132
- </svg>
133
- </button>
120
+ <if ${!this.noCloseButton}>
121
+ <button class="modal__close"
122
+ part="close"
123
+ aria-label="Close modal"
124
+ @click=${this.handleCloseClick}>
125
+ <svg viewBox="0 0 24 24" width="20" height="20">
126
+ <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" fill="currentColor"/>
127
+ </svg>
128
+ </button>
129
+ </if>
134
130
  </div>
135
131
  <div class="modal__body" part="body">
136
132
  <slot></slot>
@@ -142,71 +138,44 @@ let SniceModal = (() => {
142
138
  </div>
143
139
  `;
144
140
  }
145
- css() {
146
- return css;
141
+ componentStyles() {
142
+ return css /*css*/ `${cssContent}`;
147
143
  }
148
144
  init() {
149
145
  // Make sure modal state is properly initialized
150
146
  if (this.open) {
151
147
  this.showModal();
152
148
  }
153
- // Apply initial close button state
154
- if (this.noCloseButton) {
155
- const closeButton = this.shadowRoot?.querySelector('.modal__close');
156
- if (closeButton) {
157
- closeButton.style.display = 'none';
158
- }
159
- }
160
149
  }
161
150
  handleOpenChange() {
162
- // Imperatively update the modal DOM
163
- if (this.modal) {
164
- if (this.open) {
165
- this.modal.classList.add('modal--open');
166
- this.modal.setAttribute('aria-hidden', 'false');
167
- this.showModal();
168
- }
169
- else {
170
- this.modal.classList.remove('modal--open');
171
- this.modal.setAttribute('aria-hidden', 'true');
172
- this.hideModal();
173
- }
174
- }
175
- }
176
- handleSizeChange() {
177
- // Imperatively update the panel size class
178
- if (this.panel) {
179
- this.panel.classList.remove(`modal__panel--${this.previousSize}`);
180
- this.panel.classList.add(`modal__panel--${this.size}`);
181
- this.previousSize = this.size;
151
+ // Handle side effects when modal opens/closes
152
+ if (this.open) {
153
+ this.showModal();
182
154
  }
183
- }
184
- handleCloseButtonChange() {
185
- // Imperatively show/hide the close button
186
- const closeButton = this.shadowRoot?.querySelector('.modal__close');
187
- if (closeButton) {
188
- closeButton.style.display = this.noCloseButton ? 'none' : '';
155
+ else {
156
+ this.hideModal();
189
157
  }
190
158
  }
191
- handleBackdropClick() {
159
+ handleBackdropClick(e) {
160
+ const target = e.target;
161
+ if (!target.classList.contains('modal__backdrop'))
162
+ return;
192
163
  if (!this.noBackdropDismiss) {
193
164
  this.close();
194
165
  }
195
166
  }
196
- handleCloseClick() {
167
+ handleCloseClick(e) {
168
+ e.stopPropagation();
197
169
  this.close();
198
170
  }
199
- handleEscape() {
171
+ handleKeydown(e) {
200
172
  if (!this.open)
201
173
  return;
202
- if (!this.noEscapeDismiss) {
174
+ if (e.key === 'Escape' && !this.noEscapeDismiss) {
175
+ e.stopPropagation();
203
176
  this.close();
204
177
  }
205
- }
206
- handleTab(e) {
207
- if (!this.open)
208
- return;
209
- if (!this.noFocusTrap) {
178
+ if (e.key === 'Tab' && !this.noFocusTrap) {
210
179
  this.trapFocus(e);
211
180
  }
212
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"snice-modal.js","sources":["../../../components/modal/snice-modal.css?inline","../../../../components/modal/snice-modal.ts"],"sourcesContent":["export default \":host {\\n --modal-z-index: 1000;\\n --modal-backdrop-bg: rgba(0, 0, 0, 0.5);\\n --modal-panel-bg: var(--snice-color-background, white);\\n --modal-panel-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\\n --modal-border-radius: var(--snice-border-radius-lg, 8px);\\n --modal-padding: var(--snice-spacing-lg, 1.5rem);\\n --modal-transition-duration: 200ms;\\n}\\n\\n.modal {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n z-index: var(--modal-z-index);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding: var(--modal-padding);\\n pointer-events: none;\\n opacity: 0;\\n visibility: hidden;\\n}\\n\\n.modal--open {\\n pointer-events: auto;\\n opacity: 1;\\n visibility: visible;\\n}\\n\\n.modal__backdrop {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background: var(--modal-backdrop-bg);\\n opacity: 0;\\n transition: opacity var(--modal-transition-duration) ease;\\n}\\n\\n.modal--open .modal__backdrop {\\n opacity: 1;\\n}\\n\\n.modal__panel {\\n position: relative;\\n background: var(--modal-panel-bg);\\n border-radius: var(--modal-border-radius);\\n box-shadow: var(--modal-panel-shadow);\\n display: flex;\\n flex-direction: column;\\n max-height: calc(100vh - 2 * var(--modal-padding));\\n opacity: 0;\\n transform: scale(0.95) translateY(1.25rem); /* 20px */\\n transition: \\n opacity var(--modal-transition-duration) ease,\\n transform var(--modal-transition-duration) ease;\\n z-index: 1;\\n}\\n\\n.modal--open .modal__panel {\\n opacity: 1;\\n transform: scale(1) translateY(0);\\n}\\n\\n/* Sizes */\\n.modal__panel--small {\\n width: 100%;\\n max-width: 25rem; /* 400px */\\n}\\n\\n.modal__panel--medium {\\n width: 100%;\\n max-width: 37.5rem; /* 600px */\\n}\\n\\n.modal__panel--large {\\n width: 100%;\\n max-width: 56.25rem; /* 900px */\\n}\\n\\n.modal__panel--fullscreen {\\n width: calc(100vw - 2 * var(--modal-padding));\\n height: calc(100vh - 2 * var(--modal-padding));\\n max-width: none;\\n}\\n\\n.modal__header {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--modal-padding);\\n border-bottom: 1px solid var(--snice-color-border, #e5e7eb);\\n}\\n\\n.modal__header:empty {\\n display: none;\\n}\\n\\n::slotted([slot=\\\"header\\\"]) {\\n flex: 1;\\n margin: 0;\\n font-size: var(--snice-font-size-lg, 1.125rem);\\n font-weight: 600;\\n color: var(--snice-color-text, #111827);\\n}\\n\\n.modal__close {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 2rem; /* 32px */\\n height: 2rem; /* 32px */\\n padding: 0;\\n margin-left: auto;\\n background: transparent;\\n border: none;\\n border-radius: var(--snice-border-radius-md, 6px);\\n color: var(--snice-color-text-secondary, #6b7280);\\n cursor: pointer;\\n transition: \\n background-color var(--snice-transition-fast) ease,\\n color var(--snice-transition-fast) ease;\\n}\\n\\n.modal__close:hover {\\n background: var(--snice-color-background-hover, #f3f4f6);\\n color: var(--snice-color-text, #111827);\\n}\\n\\n.modal__close:focus-visible {\\n outline: 2px solid var(--snice-color-primary, #3b82f6);\\n outline-offset: 2px;\\n}\\n\\n.modal__body {\\n flex: 1;\\n padding: var(--modal-padding);\\n overflow-y: auto;\\n color: var(--snice-color-text, #111827);\\n}\\n\\n.modal__footer {\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n gap: var(--snice-spacing-sm, 0.5rem);\\n padding: var(--modal-padding);\\n border-top: 1px solid var(--snice-color-border, #e5e7eb);\\n}\\n\\n.modal__footer:empty {\\n display: none;\\n}\\n\\n/* Remove borders when header/footer are empty */\\n.modal__header:empty + .modal__body {\\n padding-top: var(--modal-padding);\\n}\\n\\n.modal__body:has(+ .modal__footer:empty) {\\n padding-bottom: var(--modal-padding);\\n}\\n\\n/* Animation for entrance from bottom (alternative) */\\n@keyframes slideUp {\\n from {\\n opacity: 0;\\n transform: translateY(6.25rem); /* 100px */\\n }\\n to {\\n opacity: 1;\\n transform: translateY(0);\\n }\\n}\\n\\n/* Animation for exit */\\n@keyframes fadeOut {\\n from {\\n opacity: 1;\\n }\\n to {\\n opacity: 0;\\n }\\n}\\n\\n/* Mobile responsiveness */\\n@media (max-width: 640px) {\\n .modal {\\n padding: 0;\\n }\\n \\n .modal__panel:not(.modal__panel--fullscreen) {\\n width: 100%;\\n height: 100%;\\n max-width: none;\\n max-height: none;\\n border-radius: 0;\\n }\\n}\";",null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snice-modal.js","sources":["../../../components/modal/snice-modal.css?inline","../../../../components/modal/snice-modal.ts"],"sourcesContent":["export default \":host{--modal-z-index:1000;--modal-backdrop-bg:rgba(0, 0, 0, 0.5);--modal-panel-bg:var(--snice-color-background, white);--modal-panel-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);--modal-border-radius:var(--snice-border-radius-lg, 8px);--modal-padding:var(--snice-spacing-lg, 1.5rem);--modal-transition-duration:200ms}.modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--modal-z-index);display:flex;align-items:center;justify-content:center;padding:var(--modal-padding);pointer-events:none;opacity:0;visibility:hidden}.modal--open{pointer-events:auto;opacity:1;visibility:visible}.modal__backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--modal-backdrop-bg);opacity:0;transition:opacity var(--modal-transition-duration) ease}.modal--open .modal__backdrop{opacity:1}.modal__panel{position:relative;background:var(--modal-panel-bg);border-radius:var(--modal-border-radius);box-shadow:var(--modal-panel-shadow);display:flex;flex-direction:column;max-height:calc(100vh - 2 * var(--modal-padding));opacity:0;transform:scale(.95) translateY(1.25rem);transition:opacity var(--modal-transition-duration) ease,transform var(--modal-transition-duration) ease;z-index:1}.modal--open .modal__panel{opacity:1;transform:scale(1) translateY(0)}.modal__panel--small{width:100%;max-width:25rem}.modal__panel--medium{width:100%;max-width:37.5rem}.modal__panel--large{width:100%;max-width:56.25rem}.modal__panel--fullscreen{width:calc(100vw - 2 * var(--modal-padding));height:calc(100vh - 2 * var(--modal-padding));max-width:none}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--modal-padding);border-bottom:1px solid var(--snice-color-border,#e5e7eb)}.modal__header:empty{display:none}::slotted([slot=header]){flex:1;margin:0;font-size:var(--snice-font-size-lg, 1.125rem);font-weight:600;color:var(--snice-color-text,#111827)}.modal__close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;margin-left:auto;background:0 0;border:none;border-radius:var(--snice-border-radius-md,6px);color:var(--snice-color-text-secondary,#6b7280);cursor:pointer;transition:background-color var(--snice-transition-fast) ease,color var(--snice-transition-fast) ease}.modal__close:hover{background:var(--snice-color-background-hover,#f3f4f6);color:var(--snice-color-text,#111827)}.modal__close:focus-visible{outline:2px solid var(--snice-color-primary,#3b82f6);outline-offset:2px}.modal__body{flex:1;padding:var(--modal-padding);overflow-y:auto;color:var(--snice-color-text,#111827)}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--snice-spacing-sm,.5rem);padding:var(--modal-padding);border-top:1px solid var(--snice-color-border,#e5e7eb)}.modal__footer:empty{display:none}.modal__header:empty+.modal__body{padding-top:var(--modal-padding)}.modal__body:has(+ .modal__footer:empty){padding-bottom:var(--modal-padding)}@keyframes slideUp{from{opacity:0;transform:translateY(6.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@media (max-width:640px){.modal{padding:0}.modal__panel:not(.modal__panel--fullscreen){width:100%;height:100%;max-width:none;max-height:none;border-radius:0}}\";",null],"names":[],"mappings":"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"}
@@ -1,18 +1,24 @@
1
- import type { Placard } from 'snice';
1
+ import type { Placard, AppContext, Context } from 'snice';
2
2
  import type { SniceNavElement, NavVariant, NavOrientation } from './snice-nav.types';
3
3
  export declare class SniceNav extends HTMLElement implements SniceNavElement {
4
- placards: Placard[];
5
- currentRoute: string;
6
4
  variant: NavVariant;
7
5
  orientation: NavOrientation;
8
- html(): string;
9
- css(): string;
6
+ isTopLevel: boolean;
7
+ private placards;
8
+ private currentRoute;
9
+ private routeParams;
10
+ private appContext;
11
+ connectedCallback(): void;
12
+ handleContext(ctx: Context): void;
13
+ handleChange(): void;
14
+ private applyStyles;
15
+ private render;
10
16
  private renderFlat;
11
17
  private renderHierarchical;
12
18
  private renderGrouped;
13
19
  private renderNavItem;
14
20
  private renderNavLink;
15
21
  private isActive;
16
- update(placards: Placard[], currentRoute: string): void;
17
- renderNavContent(): string;
22
+ private isVisible;
23
+ update(placards: Placard[], appContext?: AppContext, currentRoute?: string, routeParams?: Record<string, string>): void;
18
24
  }