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
@@ -0,0 +1,162 @@
1
+ import { __esDecorate, __runInitializers } from 'tslib';
2
+ import { element, property, styles, render, css, html } from 'snice';
3
+ import '../sparkline/snice-sparkline.js';
4
+
5
+ var cssContent = ":host{display:inline-block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style paint}.kpi{display:flex;flex-direction:column;gap:var(--snice-spacing-xs,.5rem);padding:var(--snice-spacing-md,1rem);border-radius:var(--snice-border-radius-md,.5rem);background:var(--snice-color-background,rgb(255 255 255));border:1px solid var(--snice-color-border,rgb(229 231 235))}.kpi__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--snice-spacing-sm,.75rem)}.kpi__main{display:flex;flex-direction:column;gap:var(--snice-spacing-2xs,.25rem);flex:1}.kpi__label{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);color:var(--snice-color-text-secondary,rgb(107 114 128));margin:0}.kpi__value{font-size:var(--snice-font-size-3xl, 2rem);font-weight:var(--snice-font-weight-bold,700);color:var(--snice-color-text,rgb(23 23 23));line-height:1;margin:0}.kpi__value--up{color:var(--snice-color-success,rgb(22 163 74))}.kpi__value--down{color:var(--snice-color-danger,rgb(220 38 38))}.kpi__value--neutral{color:var(--snice-color-text-secondary,rgb(107 114 128))}.kpi__trend{display:flex;align-items:center;gap:var(--snice-spacing-2xs,.25rem);font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-semibold,600);padding:var(--snice-spacing-2xs,.25rem) var(--snice-spacing-xs,.5rem);border-radius:var(--snice-border-radius-md,.375rem)}.kpi__trend-icon{font-size:var(--snice-font-size-lg, 1.125rem);line-height:1;font-weight:var(--snice-font-weight-bold,700)}.kpi__trend-value{line-height:1}.kpi__sparkline{margin-top:var(--snice-spacing-xs,.5rem)}.kpi__trend--up{color:var(--snice-color-success,rgb(22 163 74));background:rgb(22 163 74 / .1)}.kpi__trend--down{color:var(--snice-color-danger,rgb(220 38 38));background:rgb(220 38 38 / .1)}.kpi__trend--neutral{color:var(--snice-color-text-secondary,rgb(107 114 128));background:rgb(107 114 128 / .1)}.kpi--small .kpi__label{font-size:var(--snice-font-size-xs, .75rem)}.kpi--small .kpi__value{font-size:var(--snice-font-size-2xl, 1.5rem)}.kpi--small .kpi__trend{font-size:var(--snice-font-size-xs, .75rem)}.kpi--small{padding:var(--snice-spacing-sm,.75rem)}.kpi--medium .kpi__label{font-size:var(--snice-font-size-sm, .875rem)}.kpi--medium .kpi__value{font-size:var(--snice-font-size-3xl, 2rem)}.kpi--medium .kpi__trend{font-size:var(--snice-font-size-sm, .875rem)}.kpi--large .kpi__label{font-size:var(--snice-font-size-md, 1rem)}.kpi--large .kpi__value{font-size:var(--snice-font-size-4xl, 2.5rem)}.kpi--large .kpi__trend{font-size:var(--snice-font-size-md, 1rem)}.kpi--large{padding:var(--snice-spacing-lg,1.25rem)}";
6
+
7
+ let SniceKpi = (() => {
8
+ let _classDecorators = [element('snice-kpi')];
9
+ let _classDescriptor;
10
+ let _classExtraInitializers = [];
11
+ let _classThis;
12
+ let _classSuper = HTMLElement;
13
+ let _instanceExtraInitializers = [];
14
+ let _label_decorators;
15
+ let _label_initializers = [];
16
+ let _label_extraInitializers = [];
17
+ let _value_decorators;
18
+ let _value_initializers = [];
19
+ let _value_extraInitializers = [];
20
+ let _trendValue_decorators;
21
+ let _trendValue_initializers = [];
22
+ let _trendValue_extraInitializers = [];
23
+ let _trendData_decorators;
24
+ let _trendData_initializers = [];
25
+ let _trendData_extraInitializers = [];
26
+ let _sentiment_decorators;
27
+ let _sentiment_initializers = [];
28
+ let _sentiment_extraInitializers = [];
29
+ let _size_decorators;
30
+ let _size_initializers = [];
31
+ let _size_extraInitializers = [];
32
+ let _showSparkline_decorators;
33
+ let _showSparkline_initializers = [];
34
+ let _showSparkline_extraInitializers = [];
35
+ let _colorValue_decorators;
36
+ let _colorValue_initializers = [];
37
+ let _colorValue_extraInitializers = [];
38
+ let _componentStyles_decorators;
39
+ let _renderContent_decorators;
40
+ (class extends _classSuper {
41
+ static { _classThis = this; }
42
+ static {
43
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
44
+ _label_decorators = [property({})];
45
+ _value_decorators = [property({})];
46
+ _trendValue_decorators = [property({})];
47
+ _trendData_decorators = [property({ type: Array })];
48
+ _sentiment_decorators = [property({})];
49
+ _size_decorators = [property({})];
50
+ _showSparkline_decorators = [property({ type: Boolean })];
51
+ _colorValue_decorators = [property({ type: Boolean })];
52
+ _componentStyles_decorators = [styles()];
53
+ _renderContent_decorators = [render()];
54
+ __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);
55
+ __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);
56
+ __esDecorate(null, null, _label_decorators, { kind: "field", name: "label", static: false, private: false, access: { has: obj => "label" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);
57
+ __esDecorate(null, null, _value_decorators, { kind: "field", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
58
+ __esDecorate(null, null, _trendValue_decorators, { kind: "field", name: "trendValue", static: false, private: false, access: { has: obj => "trendValue" in obj, get: obj => obj.trendValue, set: (obj, value) => { obj.trendValue = value; } }, metadata: _metadata }, _trendValue_initializers, _trendValue_extraInitializers);
59
+ __esDecorate(null, null, _trendData_decorators, { kind: "field", name: "trendData", static: false, private: false, access: { has: obj => "trendData" in obj, get: obj => obj.trendData, set: (obj, value) => { obj.trendData = value; } }, metadata: _metadata }, _trendData_initializers, _trendData_extraInitializers);
60
+ __esDecorate(null, null, _sentiment_decorators, { kind: "field", name: "sentiment", static: false, private: false, access: { has: obj => "sentiment" in obj, get: obj => obj.sentiment, set: (obj, value) => { obj.sentiment = value; } }, metadata: _metadata }, _sentiment_initializers, _sentiment_extraInitializers);
61
+ __esDecorate(null, null, _size_decorators, { kind: "field", name: "size", static: false, private: false, access: { has: obj => "size" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
62
+ __esDecorate(null, null, _showSparkline_decorators, { kind: "field", name: "showSparkline", static: false, private: false, access: { has: obj => "showSparkline" in obj, get: obj => obj.showSparkline, set: (obj, value) => { obj.showSparkline = value; } }, metadata: _metadata }, _showSparkline_initializers, _showSparkline_extraInitializers);
63
+ __esDecorate(null, null, _colorValue_decorators, { kind: "field", name: "colorValue", static: false, private: false, access: { has: obj => "colorValue" in obj, get: obj => obj.colorValue, set: (obj, value) => { obj.colorValue = value; } }, metadata: _metadata }, _colorValue_initializers, _colorValue_extraInitializers);
64
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
65
+ _classThis = _classDescriptor.value;
66
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
67
+ __runInitializers(_classThis, _classExtraInitializers);
68
+ }
69
+ componentStyles() {
70
+ return css `${cssContent}`;
71
+ }
72
+ getTrendIcon() {
73
+ if (!this.sentiment)
74
+ return '';
75
+ switch (this.sentiment) {
76
+ case 'up':
77
+ return '↑';
78
+ case 'down':
79
+ return '↓';
80
+ case 'neutral':
81
+ return '→';
82
+ default:
83
+ return '';
84
+ }
85
+ }
86
+ getSparklineColor() {
87
+ if (!this.sentiment)
88
+ return 'primary';
89
+ switch (this.sentiment) {
90
+ case 'up':
91
+ return 'success';
92
+ case 'down':
93
+ return 'danger';
94
+ case 'neutral':
95
+ return 'muted';
96
+ default:
97
+ return 'primary';
98
+ }
99
+ }
100
+ renderContent() {
101
+ const kpiClasses = [
102
+ 'kpi',
103
+ `kpi--${this.size}`
104
+ ].filter(Boolean).join(' ');
105
+ const valueClasses = [
106
+ 'kpi__value',
107
+ this.colorValue && this.sentiment ? `kpi__value--${this.sentiment}` : ''
108
+ ].filter(Boolean).join(' ');
109
+ const hasTrend = this.trendValue !== undefined || this.sentiment !== undefined;
110
+ const hasSparkline = this.showSparkline && this.trendData && this.trendData.length > 0;
111
+ return html `
112
+ <div class="${kpiClasses}" part="container">
113
+ <div class="kpi__header" part="header">
114
+ <div class="kpi__main" part="main">
115
+ <div class="kpi__label" part="label">${this.label}</div>
116
+ <div class="${valueClasses}" part="value">${this.value}</div>
117
+ </div>
118
+
119
+ <if ${hasTrend}>
120
+ <div class="kpi__trend kpi__trend--${this.sentiment || 'neutral'}" part="trend">
121
+ <if ${this.sentiment}>
122
+ <span class="kpi__trend-icon" part="trend-icon">${this.getTrendIcon()}</span>
123
+ </if>
124
+ <if ${this.trendValue !== undefined}>
125
+ <span class="kpi__trend-value" part="trend-value">${this.trendValue}</span>
126
+ </if>
127
+ </div>
128
+ </if>
129
+ </div>
130
+
131
+ <if ${hasSparkline}>
132
+ <div class="kpi__sparkline" part="sparkline">
133
+ <snice-sparkline
134
+ .data="${this.trendData}"
135
+ color="${this.getSparklineColor()}"
136
+ width="120"
137
+ height="30"
138
+ smooth>
139
+ </snice-sparkline>
140
+ </div>
141
+ </if>
142
+ </div>
143
+ `;
144
+ }
145
+ constructor() {
146
+ super(...arguments);
147
+ this.label = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _label_initializers, ''));
148
+ this.value = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _value_initializers, ''));
149
+ this.trendValue = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _trendValue_initializers, void 0));
150
+ this.trendData = (__runInitializers(this, _trendValue_extraInitializers), __runInitializers(this, _trendData_initializers, void 0));
151
+ this.sentiment = (__runInitializers(this, _trendData_extraInitializers), __runInitializers(this, _sentiment_initializers, void 0));
152
+ this.size = (__runInitializers(this, _sentiment_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));
153
+ this.showSparkline = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _showSparkline_initializers, true));
154
+ this.colorValue = (__runInitializers(this, _showSparkline_extraInitializers), __runInitializers(this, _colorValue_initializers, false));
155
+ __runInitializers(this, _colorValue_extraInitializers);
156
+ }
157
+ });
158
+ return _classThis;
159
+ })();
160
+
161
+ export { SniceKpi };
162
+ //# sourceMappingURL=snice-kpi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snice-kpi.js","sources":["../../../components/kpi/snice-kpi.css?inline","../../../../components/kpi/snice-kpi.ts"],"sourcesContent":["export default \":host{display:inline-block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style paint}.kpi{display:flex;flex-direction:column;gap:var(--snice-spacing-xs,.5rem);padding:var(--snice-spacing-md,1rem);border-radius:var(--snice-border-radius-md,.5rem);background:var(--snice-color-background,rgb(255 255 255));border:1px solid var(--snice-color-border,rgb(229 231 235))}.kpi__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--snice-spacing-sm,.75rem)}.kpi__main{display:flex;flex-direction:column;gap:var(--snice-spacing-2xs,.25rem);flex:1}.kpi__label{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);color:var(--snice-color-text-secondary,rgb(107 114 128));margin:0}.kpi__value{font-size:var(--snice-font-size-3xl, 2rem);font-weight:var(--snice-font-weight-bold,700);color:var(--snice-color-text,rgb(23 23 23));line-height:1;margin:0}.kpi__value--up{color:var(--snice-color-success,rgb(22 163 74))}.kpi__value--down{color:var(--snice-color-danger,rgb(220 38 38))}.kpi__value--neutral{color:var(--snice-color-text-secondary,rgb(107 114 128))}.kpi__trend{display:flex;align-items:center;gap:var(--snice-spacing-2xs,.25rem);font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-semibold,600);padding:var(--snice-spacing-2xs,.25rem) var(--snice-spacing-xs,.5rem);border-radius:var(--snice-border-radius-md,.375rem)}.kpi__trend-icon{font-size:var(--snice-font-size-lg, 1.125rem);line-height:1;font-weight:var(--snice-font-weight-bold,700)}.kpi__trend-value{line-height:1}.kpi__sparkline{margin-top:var(--snice-spacing-xs,.5rem)}.kpi__trend--up{color:var(--snice-color-success,rgb(22 163 74));background:rgb(22 163 74 / .1)}.kpi__trend--down{color:var(--snice-color-danger,rgb(220 38 38));background:rgb(220 38 38 / .1)}.kpi__trend--neutral{color:var(--snice-color-text-secondary,rgb(107 114 128));background:rgb(107 114 128 / .1)}.kpi--small .kpi__label{font-size:var(--snice-font-size-xs, .75rem)}.kpi--small .kpi__value{font-size:var(--snice-font-size-2xl, 1.5rem)}.kpi--small .kpi__trend{font-size:var(--snice-font-size-xs, .75rem)}.kpi--small{padding:var(--snice-spacing-sm,.75rem)}.kpi--medium .kpi__label{font-size:var(--snice-font-size-sm, .875rem)}.kpi--medium .kpi__value{font-size:var(--snice-font-size-3xl, 2rem)}.kpi--medium .kpi__trend{font-size:var(--snice-font-size-sm, .875rem)}.kpi--large .kpi__label{font-size:var(--snice-font-size-md, 1rem)}.kpi--large .kpi__value{font-size:var(--snice-font-size-4xl, 2.5rem)}.kpi--large .kpi__trend{font-size:var(--snice-font-size-md, 1rem)}.kpi--large{padding:var(--snice-spacing-lg,1.25rem)}\";",null],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type KpiSentiment = 'up' | 'down' | 'neutral';
2
+ export type KpiSize = 'small' | 'medium' | 'large';
3
+ export interface SniceKpiElement extends HTMLElement {
4
+ label: string;
5
+ value: string | number;
6
+ trendValue?: string | number;
7
+ trendData?: number[];
8
+ sentiment?: KpiSentiment;
9
+ size: KpiSize;
10
+ showSparkline: boolean;
11
+ colorValue: boolean;
12
+ }
@@ -6,8 +6,8 @@ export declare class SniceLayoutBlog extends HTMLElement implements Layout {
6
6
  useNav: boolean;
7
7
  private placards;
8
8
  private currentRoute;
9
- html(): string;
10
- css(): string;
11
- update(_appContext: AppContext, placards: Placard[], currentRoute: string, _routeParams: RouteParams): void;
12
- renderNav(): string;
9
+ renderContent(): import("snice").TemplateResult;
10
+ componentStyles(): import("snice").CSSResult;
11
+ update(appContext: AppContext, placards: Placard[], currentRoute: string, routeParams: RouteParams): void;
12
+ updateNav(appContext?: AppContext, routeParams?: RouteParams): void;
13
13
  }
@@ -1,8 +1,8 @@
1
1
  import { __runInitializers, __esDecorate } from 'tslib';
2
- import { element, query, property, part } from 'snice';
2
+ import { element, query, property, render, styles, html, css } from 'snice';
3
3
  import '../nav/snice-nav.js';
4
4
 
5
- var css = "/* Blog Layout - Article with sidebar */\n:host {\n display: block;\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);\n}\n\n.layout {\n min-height: 100vh;\n display: grid;\n grid-template-rows: auto 1fr auto;\n}\n\n.container {\n max-width: 1200px;\n margin: 0 auto;\n padding: 0 var(--snice-spacing-lg, 2rem);\n}\n\n.header {\n background: var(--snice-color-background, white);\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\n padding: var(--snice-spacing-md, 1rem) 0;\n}\n\n.header .container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.brand h1 {\n margin: 0;\n font-size: var(--snice-font-size-xl, 1.5rem);\n font-weight: var(--snice-font-weight-bold, 700);\n color: var(--snice-color-text, #374151);\n}\n\n.nav {\n display: flex;\n gap: var(--snice-spacing-lg, 2rem);\n}\n\n.nav ::slotted(a) {\n text-decoration: none;\n color: var(--snice-color-text-secondary, #6b7280);\n font-weight: var(--snice-font-weight-medium, 500);\n transition: color var(--snice-transition-fast, 0.15s) ease;\n}\n\n.nav ::slotted(a:hover) {\n color: var(--snice-color-primary, #3b82f6);\n}\n\n.main {\n background: var(--snice-color-background, white);\n padding: var(--snice-spacing-xl, 3rem) 0;\n}\n\n.content-area {\n display: grid;\n grid-template-columns: 1fr 300px;\n gap: var(--snice-spacing-2xl, 4rem);\n align-items: start;\n}\n\n.article {\n max-width: none;\n}\n\n.sidebar {\n background: var(--snice-color-background-secondary, #f8fafc);\n border-radius: var(--snice-border-radius-lg, 8px);\n padding: var(--snice-spacing-lg, 2rem);\n position: sticky;\n top: var(--snice-spacing-lg, 2rem);\n}\n\n.footer {\n background: var(--snice-color-background-tertiary, #f1f5f9);\n border-top: 1px solid var(--snice-color-border, #d1d5db);\n padding: var(--snice-spacing-xl, 3rem) 0;\n}\n\n/* Typography for article content */\n.article ::slotted(h1) {\n font-size: var(--snice-font-size-3xl, 2.25rem);\n font-weight: var(--snice-font-weight-bold, 700);\n color: var(--snice-color-text, #374151);\n line-height: var(--snice-line-height-tight, 1.25);\n margin-bottom: var(--snice-spacing-lg, 2rem);\n}\n\n.article ::slotted(h2) {\n font-size: var(--snice-font-size-2xl, 1.875rem);\n font-weight: var(--snice-font-weight-semibold, 600);\n color: var(--snice-color-text, #374151);\n margin-top: var(--snice-spacing-xl, 3rem);\n margin-bottom: var(--snice-spacing-md, 1rem);\n}\n\n.article ::slotted(p) {\n font-size: var(--snice-font-size-base, 1rem);\n line-height: var(--snice-line-height-relaxed, 1.625);\n color: var(--snice-color-text, #374151);\n margin-bottom: var(--snice-spacing-md, 1rem);\n}\n\n/* Mobile responsive */\n@media (max-width: 968px) {\n .content-area {\n grid-template-columns: 1fr;\n gap: var(--snice-spacing-xl, 3rem);\n }\n \n .sidebar {\n position: static;\n }\n}\n\n@media (max-width: 768px) {\n .header .container {\n flex-direction: column;\n gap: var(--snice-spacing-md, 1rem);\n }\n \n .main {\n padding: var(--snice-spacing-lg, 2rem) 0;\n }\n}";
5
+ var cssContent = ":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)}.layout{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.container{max-width:1200px;margin:0 auto;padding:0 var(--snice-spacing-lg,2rem)}.header{background:var(--snice-color-background,#fff);border-bottom:1px solid var(--snice-color-border,#d1d5db);padding:var(--snice-spacing-md,1rem) 0}.header .container{display:flex;align-items:center;justify-content:space-between}.brand h1{margin:0;font-size:var(--snice-font-size-xl, 1.5rem);font-weight:var(--snice-font-weight-bold,700);color:var(--snice-color-text,#374151)}.nav{display:flex;gap:var(--snice-spacing-lg,2rem)}.nav ::slotted(a){text-decoration:none;color:var(--snice-color-text-secondary,#6b7280);font-weight:var(--snice-font-weight-medium,500);transition:color var(--snice-transition-fast, .15s) ease}.nav ::slotted(a:hover){color:var(--snice-color-primary,#3b82f6)}.main{background:var(--snice-color-background,#fff);padding:var(--snice-spacing-xl,3rem) 0}.content-area{display:grid;grid-template-columns:1fr 300px;gap:var(--snice-spacing-2xl,4rem);align-items:start}.article{max-width:none}.sidebar{background:var(--snice-color-background-secondary,#f8fafc);border-radius:var(--snice-border-radius-lg,8px);padding:var(--snice-spacing-lg,2rem);position:sticky;top:var(--snice-spacing-lg,2rem)}.footer{background:var(--snice-color-background-tertiary,#f1f5f9);border-top:1px solid var(--snice-color-border,#d1d5db);padding:var(--snice-spacing-xl,3rem) 0}.article ::slotted(h1){font-size:var(--snice-font-size-3xl, 2.25rem);font-weight:var(--snice-font-weight-bold,700);color:var(--snice-color-text,#374151);line-height:var(--snice-line-height-tight, 1.25);margin-bottom:var(--snice-spacing-lg,2rem)}.article ::slotted(h2){font-size:var(--snice-font-size-2xl, 1.875rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,#374151);margin-top:var(--snice-spacing-xl,3rem);margin-bottom:var(--snice-spacing-md,1rem)}.article ::slotted(p){font-size:var(--snice-font-size-base, 1rem);line-height:var(--snice-line-height-relaxed, 1.625);color:var(--snice-color-text,#374151);margin-bottom:var(--snice-spacing-md,1rem)}@media (max-width:968px){.content-area{grid-template-columns:1fr;gap:var(--snice-spacing-xl,3rem)}.sidebar{position:static}}@media (max-width:768px){.header .container{flex-direction:column;gap:var(--snice-spacing-md,1rem)}.main{padding:var(--snice-spacing-lg,2rem) 0}}";
6
6
 
7
7
  let SniceLayoutBlog = (() => {
8
8
  let _classDecorators = [element('snice-layout-blog')];
@@ -17,7 +17,8 @@ let SniceLayoutBlog = (() => {
17
17
  let _useNav_decorators;
18
18
  let _useNav_initializers = [];
19
19
  let _useNav_extraInitializers = [];
20
- let _renderNav_decorators;
20
+ let _renderContent_decorators;
21
+ let _componentStyles_decorators;
21
22
  (class extends _classSuper {
22
23
  static { _classThis = this; }
23
24
  constructor() {
@@ -31,8 +32,10 @@ let SniceLayoutBlog = (() => {
31
32
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
32
33
  _navElement_decorators = [query('snice-nav')];
33
34
  _useNav_decorators = [property({ type: Boolean, attribute: 'use-nav' })];
34
- _renderNav_decorators = [part('nav')];
35
- __esDecorate(this, null, _renderNav_decorators, { kind: "method", name: "renderNav", static: false, private: false, access: { has: obj => "renderNav" in obj, get: obj => obj.renderNav }, metadata: _metadata }, null, _instanceExtraInitializers);
35
+ _renderContent_decorators = [render()];
36
+ _componentStyles_decorators = [styles()];
37
+ __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);
38
+ __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);
36
39
  __esDecorate(null, null, _navElement_decorators, { kind: "field", name: "navElement", static: false, private: false, access: { has: obj => "navElement" in obj, get: obj => obj.navElement, set: (obj, value) => { obj.navElement = value; } }, metadata: _metadata }, _navElement_initializers, _navElement_extraInitializers);
37
40
  __esDecorate(null, null, _useNav_decorators, { kind: "field", name: "useNav", static: false, private: false, access: { has: obj => "useNav" in obj, get: obj => obj.useNav, set: (obj, value) => { obj.useNav = value; } }, metadata: _metadata }, _useNav_initializers, _useNav_extraInitializers);
38
41
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
@@ -40,8 +43,8 @@ let SniceLayoutBlog = (() => {
40
43
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
41
44
  __runInitializers(_classThis, _classExtraInitializers);
42
45
  }
43
- html() {
44
- return /*html*/ `
46
+ renderContent() {
47
+ return html /*html*/ `
45
48
  <div class="layout">
46
49
  <header class="header">
47
50
  <div class="container">
@@ -50,13 +53,14 @@ let SniceLayoutBlog = (() => {
50
53
  <h1>Blog</h1>
51
54
  </slot>
52
55
  </div>
53
- ${this.useNav ? /*html*/ `
54
- <snice-nav class="nav" part="nav" variant="flat" orientation="horizontal"></snice-nav>
55
- ` : /*html*/ `
56
+ <if ${this.useNav}>
57
+ <snice-nav class="nav" variant="flat" orientation="horizontal"></snice-nav>
58
+ </if>
59
+ <if ${!this.useNav}>
56
60
  <nav class="nav">
57
61
  <slot name="nav"></slot>
58
62
  </nav>
59
- `}
63
+ </if>
60
64
  </div>
61
65
  </header>
62
66
 
@@ -82,21 +86,19 @@ let SniceLayoutBlog = (() => {
82
86
  </div>
83
87
  `;
84
88
  }
85
- css() {
86
- return css;
89
+ componentStyles() {
90
+ return css /*css*/ `${cssContent}`;
87
91
  }
88
- update(_appContext, placards, currentRoute, _routeParams) {
92
+ update(appContext, placards, currentRoute, routeParams) {
89
93
  this.placards = placards;
90
94
  this.currentRoute = currentRoute;
91
95
  this.useNav = true;
92
- this.renderNav();
96
+ this.updateNav(appContext, routeParams);
93
97
  }
94
- renderNav() {
98
+ updateNav(appContext, routeParams) {
95
99
  if (this.navElement) {
96
- this.navElement.placards = this.placards;
97
- this.navElement.currentRoute = this.currentRoute;
100
+ this.navElement.update(this.placards, appContext, this.currentRoute, routeParams);
98
101
  }
99
- return '';
100
102
  }
101
103
  });
102
104
  return _classThis;
@@ -1 +1 @@
1
- {"version":3,"file":"snice-layout-blog.js","sources":["../../../components/layout/snice-layout-blog.css?inline","../../../../components/layout/snice-layout-blog.ts"],"sourcesContent":["export default \"/* Blog Layout - Article with sidebar */\\n:host {\\n display: block;\\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);\\n}\\n\\n.layout {\\n min-height: 100vh;\\n display: grid;\\n grid-template-rows: auto 1fr auto;\\n}\\n\\n.container {\\n max-width: 1200px;\\n margin: 0 auto;\\n padding: 0 var(--snice-spacing-lg, 2rem);\\n}\\n\\n.header {\\n background: var(--snice-color-background, white);\\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\\n padding: var(--snice-spacing-md, 1rem) 0;\\n}\\n\\n.header .container {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n}\\n\\n.brand h1 {\\n margin: 0;\\n font-size: var(--snice-font-size-xl, 1.5rem);\\n font-weight: var(--snice-font-weight-bold, 700);\\n color: var(--snice-color-text, #374151);\\n}\\n\\n.nav {\\n display: flex;\\n gap: var(--snice-spacing-lg, 2rem);\\n}\\n\\n.nav ::slotted(a) {\\n text-decoration: none;\\n color: var(--snice-color-text-secondary, #6b7280);\\n font-weight: var(--snice-font-weight-medium, 500);\\n transition: color var(--snice-transition-fast, 0.15s) ease;\\n}\\n\\n.nav ::slotted(a:hover) {\\n color: var(--snice-color-primary, #3b82f6);\\n}\\n\\n.main {\\n background: var(--snice-color-background, white);\\n padding: var(--snice-spacing-xl, 3rem) 0;\\n}\\n\\n.content-area {\\n display: grid;\\n grid-template-columns: 1fr 300px;\\n gap: var(--snice-spacing-2xl, 4rem);\\n align-items: start;\\n}\\n\\n.article {\\n max-width: none;\\n}\\n\\n.sidebar {\\n background: var(--snice-color-background-secondary, #f8fafc);\\n border-radius: var(--snice-border-radius-lg, 8px);\\n padding: var(--snice-spacing-lg, 2rem);\\n position: sticky;\\n top: var(--snice-spacing-lg, 2rem);\\n}\\n\\n.footer {\\n background: var(--snice-color-background-tertiary, #f1f5f9);\\n border-top: 1px solid var(--snice-color-border, #d1d5db);\\n padding: var(--snice-spacing-xl, 3rem) 0;\\n}\\n\\n/* Typography for article content */\\n.article ::slotted(h1) {\\n font-size: var(--snice-font-size-3xl, 2.25rem);\\n font-weight: var(--snice-font-weight-bold, 700);\\n color: var(--snice-color-text, #374151);\\n line-height: var(--snice-line-height-tight, 1.25);\\n margin-bottom: var(--snice-spacing-lg, 2rem);\\n}\\n\\n.article ::slotted(h2) {\\n font-size: var(--snice-font-size-2xl, 1.875rem);\\n font-weight: var(--snice-font-weight-semibold, 600);\\n color: var(--snice-color-text, #374151);\\n margin-top: var(--snice-spacing-xl, 3rem);\\n margin-bottom: var(--snice-spacing-md, 1rem);\\n}\\n\\n.article ::slotted(p) {\\n font-size: var(--snice-font-size-base, 1rem);\\n line-height: var(--snice-line-height-relaxed, 1.625);\\n color: var(--snice-color-text, #374151);\\n margin-bottom: var(--snice-spacing-md, 1rem);\\n}\\n\\n/* Mobile responsive */\\n@media (max-width: 968px) {\\n .content-area {\\n grid-template-columns: 1fr;\\n gap: var(--snice-spacing-xl, 3rem);\\n }\\n \\n .sidebar {\\n position: static;\\n }\\n}\\n\\n@media (max-width: 768px) {\\n .header .container {\\n flex-direction: column;\\n gap: var(--snice-spacing-md, 1rem);\\n }\\n \\n .main {\\n padding: var(--snice-spacing-lg, 2rem) 0;\\n }\\n}\";",null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snice-layout-blog.js","sources":["../../../components/layout/snice-layout-blog.css?inline","../../../../components/layout/snice-layout-blog.ts"],"sourcesContent":["export default \":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)}.layout{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.container{max-width:1200px;margin:0 auto;padding:0 var(--snice-spacing-lg,2rem)}.header{background:var(--snice-color-background,#fff);border-bottom:1px solid var(--snice-color-border,#d1d5db);padding:var(--snice-spacing-md,1rem) 0}.header .container{display:flex;align-items:center;justify-content:space-between}.brand h1{margin:0;font-size:var(--snice-font-size-xl, 1.5rem);font-weight:var(--snice-font-weight-bold,700);color:var(--snice-color-text,#374151)}.nav{display:flex;gap:var(--snice-spacing-lg,2rem)}.nav ::slotted(a){text-decoration:none;color:var(--snice-color-text-secondary,#6b7280);font-weight:var(--snice-font-weight-medium,500);transition:color var(--snice-transition-fast, .15s) ease}.nav ::slotted(a:hover){color:var(--snice-color-primary,#3b82f6)}.main{background:var(--snice-color-background,#fff);padding:var(--snice-spacing-xl,3rem) 0}.content-area{display:grid;grid-template-columns:1fr 300px;gap:var(--snice-spacing-2xl,4rem);align-items:start}.article{max-width:none}.sidebar{background:var(--snice-color-background-secondary,#f8fafc);border-radius:var(--snice-border-radius-lg,8px);padding:var(--snice-spacing-lg,2rem);position:sticky;top:var(--snice-spacing-lg,2rem)}.footer{background:var(--snice-color-background-tertiary,#f1f5f9);border-top:1px solid var(--snice-color-border,#d1d5db);padding:var(--snice-spacing-xl,3rem) 0}.article ::slotted(h1){font-size:var(--snice-font-size-3xl, 2.25rem);font-weight:var(--snice-font-weight-bold,700);color:var(--snice-color-text,#374151);line-height:var(--snice-line-height-tight, 1.25);margin-bottom:var(--snice-spacing-lg,2rem)}.article ::slotted(h2){font-size:var(--snice-font-size-2xl, 1.875rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,#374151);margin-top:var(--snice-spacing-xl,3rem);margin-bottom:var(--snice-spacing-md,1rem)}.article ::slotted(p){font-size:var(--snice-font-size-base, 1rem);line-height:var(--snice-line-height-relaxed, 1.625);color:var(--snice-color-text,#374151);margin-bottom:var(--snice-spacing-md,1rem)}@media (max-width:968px){.content-area{grid-template-columns:1fr;gap:var(--snice-spacing-xl,3rem)}.sidebar{position:static}}@media (max-width:768px){.header .container{flex-direction:column;gap:var(--snice-spacing-md,1rem)}.main{padding:var(--snice-spacing-lg,2rem) 0}}\";",null],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export declare class SniceLayoutCard extends HTMLElement {
2
2
  columns: '1' | '2' | '3' | '4' | '6';
3
3
  gap: 'sm' | 'md' | 'lg' | 'xl';
4
- html(): string;
5
- css(): string;
4
+ renderContent(): import("snice").TemplateResult;
5
+ componentStyles(): import("snice").CSSResult;
6
6
  }
@@ -1,7 +1,7 @@
1
1
  import { __esDecorate, __runInitializers } from 'tslib';
2
- import { element, property } from 'snice';
2
+ import { element, property, render, styles, html, css } from 'snice';
3
3
 
4
- var css = "/* Card Grid Layout */\n:host {\n display: block;\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);\n}\n\n.layout {\n min-height: 100vh;\n display: grid;\n grid-template-rows: auto 1fr auto;\n background: var(--snice-color-background-secondary, #f8fafc);\n}\n\n.header {\n background: var(--snice-color-background, white);\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\n padding: var(--snice-spacing-lg, 2rem);\n}\n\n.main {\n padding: var(--snice-spacing-lg, 2rem);\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n}\n\n/* Column variants */\n:host([columns=\"1\"]) .grid {\n grid-template-columns: 1fr;\n}\n\n:host([columns=\"2\"]) .grid {\n grid-template-columns: repeat(2, 1fr);\n}\n\n:host([columns=\"3\"]) .grid {\n grid-template-columns: repeat(3, 1fr);\n}\n\n:host([columns=\"4\"]) .grid {\n grid-template-columns: repeat(4, 1fr);\n}\n\n:host([columns=\"6\"]) .grid {\n grid-template-columns: repeat(6, 1fr);\n}\n\n/* Gap variants */\n:host([gap=\"sm\"]) .grid {\n gap: var(--snice-spacing-sm, 0.75rem);\n}\n\n:host([gap=\"md\"]) .grid,\n:host(:not([gap])) .grid {\n gap: var(--snice-spacing-md, 1rem);\n}\n\n:host([gap=\"lg\"]) .grid {\n gap: var(--snice-spacing-lg, 2rem);\n}\n\n:host([gap=\"xl\"]) .grid {\n gap: var(--snice-spacing-xl, 3rem);\n}\n\n.footer {\n background: var(--snice-color-background, white);\n border-top: 1px solid var(--snice-color-border, #d1d5db);\n padding: var(--snice-spacing-lg, 2rem);\n}\n\n/* Auto-responsive grid */\n@media (max-width: 1200px) {\n :host([columns=\"6\"]) .grid {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n\n@media (max-width: 992px) {\n :host([columns=\"4\"]) .grid,\n :host([columns=\"6\"]) .grid {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n@media (max-width: 768px) {\n :host([columns=\"3\"]) .grid,\n :host([columns=\"4\"]) .grid,\n :host([columns=\"6\"]) .grid {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (max-width: 480px) {\n .grid {\n grid-template-columns: 1fr !important;\n }\n \n .main {\n padding: var(--snice-spacing-md, 1rem);\n }\n}";
4
+ var cssContent = ":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)}.layout{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:var(--snice-color-background-secondary,#f8fafc)}.header{background:var(--snice-color-background,#fff);border-bottom:1px solid var(--snice-color-border,#d1d5db);padding:var(--snice-spacing-lg,2rem)}.main{padding:var(--snice-spacing-lg,2rem)}.grid{display:grid;grid-template-columns:repeat(3,1fr)}:host([columns=\"1\"]) .grid{grid-template-columns:1fr}:host([columns=\"2\"]) .grid{grid-template-columns:repeat(2,1fr)}:host([columns=\"3\"]) .grid{grid-template-columns:repeat(3,1fr)}:host([columns=\"4\"]) .grid{grid-template-columns:repeat(4,1fr)}:host([columns=\"6\"]) .grid{grid-template-columns:repeat(6,1fr)}:host([gap=sm]) .grid{gap:var(--snice-spacing-sm,.75rem)}:host(:not([gap])) .grid,:host([gap=md]) .grid{gap:var(--snice-spacing-md,1rem)}:host([gap=lg]) .grid{gap:var(--snice-spacing-lg,2rem)}:host([gap=xl]) .grid{gap:var(--snice-spacing-xl,3rem)}.footer{background:var(--snice-color-background,#fff);border-top:1px solid var(--snice-color-border,#d1d5db);padding:var(--snice-spacing-lg,2rem)}@media (max-width:1200px){:host([columns=\"6\"]) .grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:992px){:host([columns=\"4\"]) .grid,:host([columns=\"6\"]) .grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){:host([columns=\"3\"]) .grid,:host([columns=\"4\"]) .grid,:host([columns=\"6\"]) .grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.grid{grid-template-columns:1fr!important}.main{padding:var(--snice-spacing-md,1rem)}}";
5
5
 
6
6
  let SniceLayoutCard = (() => {
7
7
  let _classDecorators = [element('snice-layout-card')];
@@ -9,18 +9,25 @@ let SniceLayoutCard = (() => {
9
9
  let _classExtraInitializers = [];
10
10
  let _classThis;
11
11
  let _classSuper = HTMLElement;
12
+ let _instanceExtraInitializers = [];
12
13
  let _columns_decorators;
13
14
  let _columns_initializers = [];
14
15
  let _columns_extraInitializers = [];
15
16
  let _gap_decorators;
16
17
  let _gap_initializers = [];
17
18
  let _gap_extraInitializers = [];
19
+ let _renderContent_decorators;
20
+ let _componentStyles_decorators;
18
21
  (class extends _classSuper {
19
22
  static { _classThis = this; }
20
23
  static {
21
24
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
22
25
  _columns_decorators = [property({})];
23
26
  _gap_decorators = [property({})];
27
+ _renderContent_decorators = [render()];
28
+ _componentStyles_decorators = [styles()];
29
+ __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);
30
+ __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);
24
31
  __esDecorate(null, null, _columns_decorators, { kind: "field", name: "columns", static: false, private: false, access: { has: obj => "columns" in obj, get: obj => obj.columns, set: (obj, value) => { obj.columns = value; } }, metadata: _metadata }, _columns_initializers, _columns_extraInitializers);
25
32
  __esDecorate(null, null, _gap_decorators, { kind: "field", name: "gap", static: false, private: false, access: { has: obj => "gap" in obj, get: obj => obj.gap, set: (obj, value) => { obj.gap = value; } }, metadata: _metadata }, _gap_initializers, _gap_extraInitializers);
26
33
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
@@ -28,31 +35,31 @@ let SniceLayoutCard = (() => {
28
35
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
29
36
  __runInitializers(_classThis, _classExtraInitializers);
30
37
  }
31
- html() {
32
- return /*html*/ `
38
+ renderContent() {
39
+ return html /*html*/ `
33
40
  <div class="layout">
34
41
  <header class="header">
35
42
  <slot name="header"></slot>
36
43
  </header>
37
-
44
+
38
45
  <main class="main">
39
46
  <div class="grid">
40
47
  <slot name="page"></slot>
41
48
  </div>
42
49
  </main>
43
-
50
+
44
51
  <footer class="footer">
45
52
  <slot name="footer"></slot>
46
53
  </footer>
47
54
  </div>
48
55
  `;
49
56
  }
50
- css() {
51
- return css;
57
+ componentStyles() {
58
+ return css /*css*/ `${cssContent}`;
52
59
  }
53
60
  constructor() {
54
61
  super(...arguments);
55
- this.columns = __runInitializers(this, _columns_initializers, '3');
62
+ this.columns = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _columns_initializers, '3'));
56
63
  this.gap = (__runInitializers(this, _columns_extraInitializers), __runInitializers(this, _gap_initializers, 'md'));
57
64
  __runInitializers(this, _gap_extraInitializers);
58
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"snice-layout-card.js","sources":["../../../components/layout/snice-layout-card.css?inline","../../../../components/layout/snice-layout-card.ts"],"sourcesContent":["export default \"/* Card Grid Layout */\\n:host {\\n display: block;\\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);\\n}\\n\\n.layout {\\n min-height: 100vh;\\n display: grid;\\n grid-template-rows: auto 1fr auto;\\n background: var(--snice-color-background-secondary, #f8fafc);\\n}\\n\\n.header {\\n background: var(--snice-color-background, white);\\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\\n padding: var(--snice-spacing-lg, 2rem);\\n}\\n\\n.main {\\n padding: var(--snice-spacing-lg, 2rem);\\n}\\n\\n.grid {\\n display: grid;\\n grid-template-columns: repeat(3, 1fr);\\n}\\n\\n/* Column variants */\\n:host([columns=\\\"1\\\"]) .grid {\\n grid-template-columns: 1fr;\\n}\\n\\n:host([columns=\\\"2\\\"]) .grid {\\n grid-template-columns: repeat(2, 1fr);\\n}\\n\\n:host([columns=\\\"3\\\"]) .grid {\\n grid-template-columns: repeat(3, 1fr);\\n}\\n\\n:host([columns=\\\"4\\\"]) .grid {\\n grid-template-columns: repeat(4, 1fr);\\n}\\n\\n:host([columns=\\\"6\\\"]) .grid {\\n grid-template-columns: repeat(6, 1fr);\\n}\\n\\n/* Gap variants */\\n:host([gap=\\\"sm\\\"]) .grid {\\n gap: var(--snice-spacing-sm, 0.75rem);\\n}\\n\\n:host([gap=\\\"md\\\"]) .grid,\\n:host(:not([gap])) .grid {\\n gap: var(--snice-spacing-md, 1rem);\\n}\\n\\n:host([gap=\\\"lg\\\"]) .grid {\\n gap: var(--snice-spacing-lg, 2rem);\\n}\\n\\n:host([gap=\\\"xl\\\"]) .grid {\\n gap: var(--snice-spacing-xl, 3rem);\\n}\\n\\n.footer {\\n background: var(--snice-color-background, white);\\n border-top: 1px solid var(--snice-color-border, #d1d5db);\\n padding: var(--snice-spacing-lg, 2rem);\\n}\\n\\n/* Auto-responsive grid */\\n@media (max-width: 1200px) {\\n :host([columns=\\\"6\\\"]) .grid {\\n grid-template-columns: repeat(4, 1fr);\\n }\\n}\\n\\n@media (max-width: 992px) {\\n :host([columns=\\\"4\\\"]) .grid,\\n :host([columns=\\\"6\\\"]) .grid {\\n grid-template-columns: repeat(3, 1fr);\\n }\\n}\\n\\n@media (max-width: 768px) {\\n :host([columns=\\\"3\\\"]) .grid,\\n :host([columns=\\\"4\\\"]) .grid,\\n :host([columns=\\\"6\\\"]) .grid {\\n grid-template-columns: repeat(2, 1fr);\\n }\\n}\\n\\n@media (max-width: 480px) {\\n .grid {\\n grid-template-columns: 1fr !important;\\n }\\n \\n .main {\\n padding: var(--snice-spacing-md, 1rem);\\n }\\n}\";",null],"names":[],"mappings":";;;AAAA,UAAe,8oEAA8oE;;ICIhpE,eAAe,GAAA,CAAA,MAAA;4BAD3B,OAAO,CAAC,mBAAmB,CAAC,CAAA;;;;sBACQ,WAAW;;;;;;;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;mCAC7C,QAAQ,CAAC,EAAI,CAAC,CAAA;+BAGd,QAAQ,CAAC,EAAI,CAAC,CAAA;YAFf,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,SAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,OAAO,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAP,OAAO,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,qBAAA,EAAA,0BAAA,CAAA;YAGP,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,GAAG,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAH,GAAG,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,CAAA;YALL,YAAA,CAAA,IAAA,EAAA,gBAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,uBAAA,CAAA;;;YAAa,iBAAA,CAAA,UAAA,EAAA,uBAAA,CAAA;;QAOX,IAAI,GAAA;AACF,YAAA,gBAAe;;;;;;;;;;;;;;;;KAgBd;QACH;QAEA,GAAG,GAAA;AACD,YAAA,OAAO,GAAG;QACZ;;;YA3BA,IAAA,CAAA,OAAO,GAAA,iBAAA,CAAA,IAAA,EAAA,qBAAA,EAAgC,GAAG,CAAA;YAG1C,IAAA,CAAA,GAAG,IAAA,iBAAA,CAAA,IAAA,EAAA,0BAAA,CAAA,EAAA,iBAAA,CAAA,IAAA,EAAA,iBAAA,EAA8B,IAAI,CAAA,CAAA;;;;;;;;;"}
1
+ {"version":3,"file":"snice-layout-card.js","sources":["../../../components/layout/snice-layout-card.css?inline","../../../../components/layout/snice-layout-card.ts"],"sourcesContent":["export default \":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)}.layout{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:var(--snice-color-background-secondary,#f8fafc)}.header{background:var(--snice-color-background,#fff);border-bottom:1px solid var(--snice-color-border,#d1d5db);padding:var(--snice-spacing-lg,2rem)}.main{padding:var(--snice-spacing-lg,2rem)}.grid{display:grid;grid-template-columns:repeat(3,1fr)}:host([columns=\\\"1\\\"]) .grid{grid-template-columns:1fr}:host([columns=\\\"2\\\"]) .grid{grid-template-columns:repeat(2,1fr)}:host([columns=\\\"3\\\"]) .grid{grid-template-columns:repeat(3,1fr)}:host([columns=\\\"4\\\"]) .grid{grid-template-columns:repeat(4,1fr)}:host([columns=\\\"6\\\"]) .grid{grid-template-columns:repeat(6,1fr)}:host([gap=sm]) .grid{gap:var(--snice-spacing-sm,.75rem)}:host(:not([gap])) .grid,:host([gap=md]) .grid{gap:var(--snice-spacing-md,1rem)}:host([gap=lg]) .grid{gap:var(--snice-spacing-lg,2rem)}:host([gap=xl]) .grid{gap:var(--snice-spacing-xl,3rem)}.footer{background:var(--snice-color-background,#fff);border-top:1px solid var(--snice-color-border,#d1d5db);padding:var(--snice-spacing-lg,2rem)}@media (max-width:1200px){:host([columns=\\\"6\\\"]) .grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:992px){:host([columns=\\\"4\\\"]) .grid,:host([columns=\\\"6\\\"]) .grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){:host([columns=\\\"3\\\"]) .grid,:host([columns=\\\"4\\\"]) .grid,:host([columns=\\\"6\\\"]) .grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.grid{grid-template-columns:1fr!important}.main{padding:var(--snice-spacing-md,1rem)}}\";",null],"names":[],"mappings":";;;AAAA,iBAAe,mpDAAmpD;;ICIrpD,eAAe,GAAA,CAAA,MAAA;4BAD3B,OAAO,CAAC,mBAAmB,CAAC,CAAA;;;;sBACQ,WAAW;;;;;;;;;;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;mCAC7C,QAAQ,CAAC,EAAI,CAAC,CAAA;+BAGd,QAAQ,CAAC,EAAI,CAAC,CAAA;AAGd,YAAA,yBAAA,GAAA,CAAA,MAAM,EAAE,CAAA;AAqBR,YAAA,2BAAA,GAAA,CAAA,MAAM,EAAE,CAAA;AApBT,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,yBAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,eAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,aAAa,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;AAqBb,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,2BAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,iBAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,eAAe,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;YA3Bf,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,SAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,OAAO,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAP,OAAO,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,qBAAA,EAAA,0BAAA,CAAA;YAGP,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,GAAG,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAH,GAAG,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,CAAA;YALL,YAAA,CAAA,IAAA,EAAA,gBAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,uBAAA,CAAA;;;YAAa,iBAAA,CAAA,UAAA,EAAA,uBAAA,CAAA;;QAQX,aAAa,GAAA;YACX,OAAO,IAAI,UAAQ;;;;;;;;;;;;;;;;KAgBlB;QACH;QAGA,eAAe,GAAA;AACb,YAAA,OAAO,GAAG,SAAO,CAAA,EAAG,UAAU,EAAE;QAClC;;;AA7BA,YAAA,IAAA,CAAA,OAAO,IAFI,iBAAA,CAAA,IAAA,EAAA,0BAAA,CAAe,EAAA,iBAAA,CAAA,IAAA,EAAA,qBAAA,EAEa,GAAG,CAAA,CAAA;YAG1C,IAAA,CAAA,GAAG,IAAA,iBAAA,CAAA,IAAA,EAAA,0BAAA,CAAA,EAAA,iBAAA,CAAA,IAAA,EAAA,iBAAA,EAA8B,IAAI,CAAA,CAAA;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  export declare class SniceLayoutCentered extends HTMLElement {
2
2
  width: 'sm' | 'md' | 'lg' | 'xl';
3
- html(): string;
4
- css(): string;
3
+ renderContent(): import("snice").TemplateResult;
4
+ componentStyles(): import("snice").CSSResult;
5
5
  }
@@ -1,7 +1,7 @@
1
1
  import { __esDecorate, __runInitializers } from 'tslib';
2
- import { element, property } from 'snice';
2
+ import { element, property, render, styles, html, css } from 'snice';
3
3
 
4
- var css = "/* Centered Layout - For forms, auth pages, etc */\n:host {\n display: block;\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);\n}\n\n.layout {\n min-height: 100vh;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--snice-spacing-lg, 2rem);\n background: var(--snice-color-background-secondary, #f8fafc);\n}\n\n.container {\n width: 100%;\n max-width: 400px;\n background: var(--snice-color-background, white);\n border-radius: var(--snice-border-radius-lg, 8px);\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n padding: var(--snice-spacing-xl, 3rem);\n}\n\n/* Width variants */\n:host([width=\"sm\"]) .container {\n max-width: 320px;\n}\n\n:host([width=\"md\"]) .container {\n max-width: 400px;\n}\n\n:host([width=\"lg\"]) .container {\n max-width: 500px;\n}\n\n:host([width=\"xl\"]) .container {\n max-width: 600px;\n}\n\n/* Mobile responsive */\n@media (max-width: 480px) {\n .layout {\n padding: var(--snice-spacing-md, 1rem);\n }\n \n .container {\n padding: var(--snice-spacing-lg, 2rem);\n }\n}";
4
+ var cssContent = ":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)}.layout{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--snice-spacing-lg,2rem);background:var(--snice-color-background-secondary,#f8fafc)}.container{width:100%;max-width:400px;background:var(--snice-color-background,#fff);border-radius:var(--snice-border-radius-lg,8px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:var(--snice-spacing-xl,3rem)}:host([width=sm]) .container{max-width:320px}:host([width=md]) .container{max-width:400px}:host([width=lg]) .container{max-width:500px}:host([width=xl]) .container{max-width:600px}@media (max-width:480px){.layout{padding:var(--snice-spacing-md,1rem)}.container{padding:var(--snice-spacing-lg,2rem)}}";
5
5
 
6
6
  let SniceLayoutCentered = (() => {
7
7
  let _classDecorators = [element('snice-layout-centered')];
@@ -9,22 +9,29 @@ let SniceLayoutCentered = (() => {
9
9
  let _classExtraInitializers = [];
10
10
  let _classThis;
11
11
  let _classSuper = HTMLElement;
12
+ let _instanceExtraInitializers = [];
12
13
  let _width_decorators;
13
14
  let _width_initializers = [];
14
15
  let _width_extraInitializers = [];
16
+ let _renderContent_decorators;
17
+ let _componentStyles_decorators;
15
18
  (class extends _classSuper {
16
19
  static { _classThis = this; }
17
20
  static {
18
21
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
19
22
  _width_decorators = [property({})];
23
+ _renderContent_decorators = [render()];
24
+ _componentStyles_decorators = [styles()];
25
+ __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);
26
+ __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);
20
27
  __esDecorate(null, null, _width_decorators, { kind: "field", name: "width", static: false, private: false, access: { has: obj => "width" in obj, get: obj => obj.width, set: (obj, value) => { obj.width = value; } }, metadata: _metadata }, _width_initializers, _width_extraInitializers);
21
28
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
22
29
  _classThis = _classDescriptor.value;
23
30
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
24
31
  __runInitializers(_classThis, _classExtraInitializers);
25
32
  }
26
- html() {
27
- return /*html*/ `
33
+ renderContent() {
34
+ return html /*html*/ `
28
35
  <div class="layout">
29
36
  <div class="container">
30
37
  <slot name="page"></slot>
@@ -32,12 +39,12 @@ let SniceLayoutCentered = (() => {
32
39
  </div>
33
40
  `;
34
41
  }
35
- css() {
36
- return css;
42
+ componentStyles() {
43
+ return css /*css*/ `${cssContent}`;
37
44
  }
38
45
  constructor() {
39
46
  super(...arguments);
40
- this.width = __runInitializers(this, _width_initializers, 'md');
47
+ this.width = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _width_initializers, 'md'));
41
48
  __runInitializers(this, _width_extraInitializers);
42
49
  }
43
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"snice-layout-centered.js","sources":["../../../components/layout/snice-layout-centered.css?inline","../../../../components/layout/snice-layout-centered.ts"],"sourcesContent":["export default \"/* Centered Layout - For forms, auth pages, etc */\\n:host {\\n display: block;\\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);\\n}\\n\\n.layout {\\n min-height: 100vh;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding: var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background-secondary, #f8fafc);\\n}\\n\\n.container {\\n width: 100%;\\n max-width: 400px;\\n background: var(--snice-color-background, white);\\n border-radius: var(--snice-border-radius-lg, 8px);\\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\\n padding: var(--snice-spacing-xl, 3rem);\\n}\\n\\n/* Width variants */\\n:host([width=\\\"sm\\\"]) .container {\\n max-width: 320px;\\n}\\n\\n:host([width=\\\"md\\\"]) .container {\\n max-width: 400px;\\n}\\n\\n:host([width=\\\"lg\\\"]) .container {\\n max-width: 500px;\\n}\\n\\n:host([width=\\\"xl\\\"]) .container {\\n max-width: 600px;\\n}\\n\\n/* Mobile responsive */\\n@media (max-width: 480px) {\\n .layout {\\n padding: var(--snice-spacing-md, 1rem);\\n }\\n \\n .container {\\n padding: var(--snice-spacing-lg, 2rem);\\n }\\n}\";",null],"names":[],"mappings":";;;AAAA,UAAe,0oCAA0oC;;ICI5oC,mBAAmB,GAAA,CAAA,MAAA;4BAD/B,OAAO,CAAC,uBAAuB,CAAC,CAAA;;;;sBACQ,WAAW;;;;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;iCACjD,QAAQ,CAAC,EAAI,CAAC,CAAA;YACf,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,OAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,KAAK,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAL,KAAK,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,mBAAA,EAAA,wBAAA,CAAA;YAFP,YAAA,CAAA,IAAA,EAAA,gBAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,uBAAA,CAAA;;;YAAa,iBAAA,CAAA,UAAA,EAAA,uBAAA,CAAA;;QAIX,IAAI,GAAA;AACF,YAAA,gBAAe;;;;;;KAMd;QACH;QAEA,GAAG,GAAA;AACD,YAAA,OAAO,GAAG;QACZ;;;YAdA,IAAA,CAAA,KAAK,GAAA,iBAAA,CAAA,IAAA,EAAA,mBAAA,EAA8B,IAAI,CAAA;;;;;;;;;"}
1
+ {"version":3,"file":"snice-layout-centered.js","sources":["../../../components/layout/snice-layout-centered.css?inline","../../../../components/layout/snice-layout-centered.ts"],"sourcesContent":["export default \":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)}.layout{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--snice-spacing-lg,2rem);background:var(--snice-color-background-secondary,#f8fafc)}.container{width:100%;max-width:400px;background:var(--snice-color-background,#fff);border-radius:var(--snice-border-radius-lg,8px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:var(--snice-spacing-xl,3rem)}:host([width=sm]) .container{max-width:320px}:host([width=md]) .container{max-width:400px}:host([width=lg]) .container{max-width:500px}:host([width=xl]) .container{max-width:600px}@media (max-width:480px){.layout{padding:var(--snice-spacing-md,1rem)}.container{padding:var(--snice-spacing-lg,2rem)}}\";",null],"names":[],"mappings":";;;AAAA,iBAAe,00BAA00B;;ICI50B,mBAAmB,GAAA,CAAA,MAAA;4BAD/B,OAAO,CAAC,uBAAuB,CAAC,CAAA;;;;sBACQ,WAAW;;;;;;;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;iCACjD,QAAQ,CAAC,EAAI,CAAC,CAAA;AAGd,YAAA,yBAAA,GAAA,CAAA,MAAM,EAAE,CAAA;AAWR,YAAA,2BAAA,GAAA,CAAA,MAAM,EAAE,CAAA;AAVT,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,yBAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,eAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,aAAa,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;AAWb,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,2BAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,iBAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,eAAe,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;YAdf,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,OAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,KAAK,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAL,KAAK,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,mBAAA,EAAA,wBAAA,CAAA;YAFP,YAAA,CAAA,IAAA,EAAA,gBAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,uBAAA,CAAA;;;YAAa,iBAAA,CAAA,UAAA,EAAA,uBAAA,CAAA;;QAKX,aAAa,GAAA;YACX,OAAO,IAAI,UAAQ;;;;;;KAMlB;QACH;QAGA,eAAe,GAAA;AACb,YAAA,OAAO,GAAG,SAAO,CAAA,EAAG,UAAU,EAAE;QAClC;;;AAhBA,YAAA,IAAA,CAAA,KAAK,IAFM,iBAAA,CAAA,IAAA,EAAA,0BAAA,CAAmB,EAAA,iBAAA,CAAA,IAAA,EAAA,mBAAA,EAEK,IAAI,CAAA,CAAA;;;;;;;;;"}
@@ -6,10 +6,10 @@ export declare class SniceLayoutDashboard extends HTMLElement implements Layout
6
6
  navElement: SniceNav;
7
7
  private placards;
8
8
  private currentRoute;
9
- html(): string;
10
- css(): string;
11
- update(_appContext: AppContext, placards: Placard[], currentRoute: string, _routeParams: RouteParams): void;
12
- renderNav(): string;
13
- renderBreadcrumbs(): string;
9
+ renderContent(): import("snice").TemplateResult;
10
+ componentStyles(): import("snice").CSSResult;
11
+ update(appContext: AppContext, placards: Placard[], currentRoute: string, routeParams: RouteParams): void;
12
+ updateNav(appContext?: AppContext, routeParams?: RouteParams): void;
13
+ private getBreadcrumbsHtml;
14
14
  private buildBreadcrumbTrail;
15
15
  }