snice 2.5.4 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/README.md +501 -882
  2. package/bin/templates/base/src/components/counter-button.ts +13 -26
  3. package/bin/templates/base/src/controllers/counter-controller.ts +3 -3
  4. package/dist/components/accordion/snice-accordion-item.d.ts +4 -5
  5. package/dist/components/accordion/snice-accordion-item.js +37 -39
  6. package/dist/components/accordion/snice-accordion-item.js.map +1 -1
  7. package/dist/components/accordion/snice-accordion.d.ts +5 -11
  8. package/dist/components/accordion/snice-accordion.js +51 -52
  9. package/dist/components/accordion/snice-accordion.js.map +1 -1
  10. package/dist/components/alert/snice-alert.d.ts +2 -6
  11. package/dist/components/alert/snice-alert.js +41 -56
  12. package/dist/components/alert/snice-alert.js.map +1 -1
  13. package/dist/components/avatar/snice-avatar.d.ts +2 -6
  14. package/dist/components/avatar/snice-avatar.js +64 -71
  15. package/dist/components/avatar/snice-avatar.js.map +1 -1
  16. package/dist/components/badge/snice-badge.d.ts +2 -3
  17. package/dist/components/badge/snice-badge.js +22 -23
  18. package/dist/components/badge/snice-badge.js.map +1 -1
  19. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +5 -12
  20. package/dist/components/breadcrumbs/snice-breadcrumbs.js +88 -89
  21. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  22. package/dist/components/button/snice-button.d.ts +3 -7
  23. package/dist/components/button/snice-button.js +37 -58
  24. package/dist/components/button/snice-button.js.map +1 -1
  25. package/dist/components/card/snice-card.d.ts +5 -8
  26. package/dist/components/card/snice-card.js +71 -56
  27. package/dist/components/card/snice-card.js.map +1 -1
  28. package/dist/components/checkbox/snice-checkbox.d.ts +4 -13
  29. package/dist/components/checkbox/snice-checkbox.js +66 -137
  30. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  31. package/dist/components/chip/snice-chip.d.ts +5 -11
  32. package/dist/components/chip/snice-chip.js +44 -47
  33. package/dist/components/chip/snice-chip.js.map +1 -1
  34. package/dist/components/date-picker/snice-date-picker.d.ts +11 -11
  35. package/dist/components/date-picker/snice-date-picker.js +134 -133
  36. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  37. package/dist/components/divider/snice-divider.d.ts +2 -4
  38. package/dist/components/divider/snice-divider.js +14 -22
  39. package/dist/components/divider/snice-divider.js.map +1 -1
  40. package/dist/components/drawer/snice-drawer.d.ts +4 -4
  41. package/dist/components/drawer/snice-drawer.js +25 -19
  42. package/dist/components/drawer/snice-drawer.js.map +1 -1
  43. package/dist/components/input/snice-input.d.ts +8 -6
  44. package/dist/components/input/snice-input.js +122 -105
  45. package/dist/components/input/snice-input.js.map +1 -1
  46. package/dist/components/layout/snice-layout-blog.d.ts +4 -4
  47. package/dist/components/layout/snice-layout-blog.js +21 -19
  48. package/dist/components/layout/snice-layout-blog.js.map +1 -1
  49. package/dist/components/layout/snice-layout-card.d.ts +2 -2
  50. package/dist/components/layout/snice-layout-card.js +16 -9
  51. package/dist/components/layout/snice-layout-card.js.map +1 -1
  52. package/dist/components/layout/snice-layout-centered.d.ts +2 -2
  53. package/dist/components/layout/snice-layout-centered.js +14 -7
  54. package/dist/components/layout/snice-layout-centered.js.map +1 -1
  55. package/dist/components/layout/snice-layout-dashboard.d.ts +5 -5
  56. package/dist/components/layout/snice-layout-dashboard.js +38 -30
  57. package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
  58. package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
  59. package/dist/components/layout/snice-layout-fullscreen.js +17 -10
  60. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
  61. package/dist/components/layout/snice-layout-landing.d.ts +4 -4
  62. package/dist/components/layout/snice-layout-landing.js +21 -19
  63. package/dist/components/layout/snice-layout-landing.js.map +1 -1
  64. package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
  65. package/dist/components/layout/snice-layout-minimal.js +17 -6
  66. package/dist/components/layout/snice-layout-minimal.js.map +1 -1
  67. package/dist/components/layout/snice-layout-sidebar.d.ts +5 -4
  68. package/dist/components/layout/snice-layout-sidebar.js +42 -20
  69. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  70. package/dist/components/layout/snice-layout-split.d.ts +2 -2
  71. package/dist/components/layout/snice-layout-split.js +14 -7
  72. package/dist/components/layout/snice-layout-split.js.map +1 -1
  73. package/dist/components/layout/snice-layout.d.ts +4 -4
  74. package/dist/components/layout/snice-layout.js +16 -10
  75. package/dist/components/layout/snice-layout.js.map +1 -1
  76. package/dist/components/login/snice-login.d.ts +6 -11
  77. package/dist/components/login/snice-login.js +97 -71
  78. package/dist/components/login/snice-login.js.map +1 -1
  79. package/dist/components/modal/snice-modal.d.ts +5 -9
  80. package/dist/components/modal/snice-modal.js +47 -78
  81. package/dist/components/modal/snice-modal.js.map +1 -1
  82. package/dist/components/nav/snice-nav.d.ts +13 -7
  83. package/dist/components/nav/snice-nav.js +191 -100
  84. package/dist/components/nav/snice-nav.js.map +1 -1
  85. package/dist/components/nav/snice-nav.types.d.ts +3 -3
  86. package/dist/components/pagination/snice-pagination.d.ts +6 -7
  87. package/dist/components/pagination/snice-pagination.js +94 -81
  88. package/dist/components/pagination/snice-pagination.js.map +1 -1
  89. package/dist/components/progress/snice-progress.d.ts +2 -7
  90. package/dist/components/progress/snice-progress.js +41 -98
  91. package/dist/components/progress/snice-progress.js.map +1 -1
  92. package/dist/components/radio/snice-radio.d.ts +4 -4
  93. package/dist/components/radio/snice-radio.js +52 -44
  94. package/dist/components/radio/snice-radio.js.map +1 -1
  95. package/dist/components/select/snice-option.d.ts +2 -1
  96. package/dist/components/select/snice-option.js +12 -5
  97. package/dist/components/select/snice-option.js.map +1 -1
  98. package/dist/components/select/snice-select.d.ts +9 -21
  99. package/dist/components/select/snice-select.js +98 -170
  100. package/dist/components/select/snice-select.js.map +1 -1
  101. package/dist/components/skeleton/snice-skeleton.d.ts +2 -6
  102. package/dist/components/skeleton/snice-skeleton.js +18 -49
  103. package/dist/components/skeleton/snice-skeleton.js.map +1 -1
  104. package/dist/components/snice-cell-BLFVdxPp.js +4 -0
  105. package/dist/components/snice-cell-BLFVdxPp.js.map +1 -0
  106. package/dist/components/switch/snice-switch.d.ts +2 -2
  107. package/dist/components/switch/snice-switch.js +38 -26
  108. package/dist/components/switch/snice-switch.js.map +1 -1
  109. package/dist/components/table/snice-cell-actions.d.ts +24 -0
  110. package/dist/components/table/snice-cell-actions.js +149 -0
  111. package/dist/components/table/snice-cell-actions.js.map +1 -0
  112. package/dist/components/table/snice-cell-boolean.d.ts +2 -2
  113. package/dist/components/table/snice-cell-boolean.js +13 -7
  114. package/dist/components/table/snice-cell-boolean.js.map +1 -1
  115. package/dist/components/table/snice-cell-color.d.ts +18 -0
  116. package/dist/components/table/snice-cell-color.js +149 -0
  117. package/dist/components/table/snice-cell-color.js.map +1 -0
  118. package/dist/components/table/snice-cell-currency.d.ts +24 -0
  119. package/dist/components/table/snice-cell-currency.js +235 -0
  120. package/dist/components/table/snice-cell-currency.js.map +1 -0
  121. package/dist/components/table/snice-cell-date.d.ts +2 -2
  122. package/dist/components/table/snice-cell-date.js +14 -8
  123. package/dist/components/table/snice-cell-date.js.map +1 -1
  124. package/dist/components/table/snice-cell-duration.d.ts +2 -2
  125. package/dist/components/table/snice-cell-duration.js +12 -6
  126. package/dist/components/table/snice-cell-duration.js.map +1 -1
  127. package/dist/components/table/snice-cell-email.d.ts +15 -0
  128. package/dist/components/table/snice-cell-email.js +125 -0
  129. package/dist/components/table/snice-cell-email.js.map +1 -0
  130. package/dist/components/table/snice-cell-filesize.d.ts +2 -2
  131. package/dist/components/table/snice-cell-filesize.js +12 -6
  132. package/dist/components/table/snice-cell-filesize.js.map +1 -1
  133. package/dist/components/table/snice-cell-image.d.ts +20 -0
  134. package/dist/components/table/snice-cell-image.js +162 -0
  135. package/dist/components/table/snice-cell-image.js.map +1 -0
  136. package/dist/components/table/snice-cell-json.d.ts +20 -0
  137. package/dist/components/table/snice-cell-json.js +186 -0
  138. package/dist/components/table/snice-cell-json.js.map +1 -0
  139. package/dist/components/table/snice-cell-link.d.ts +17 -0
  140. package/dist/components/table/snice-cell-link.js +142 -0
  141. package/dist/components/table/snice-cell-link.js.map +1 -0
  142. package/dist/components/table/snice-cell-location.d.ts +19 -0
  143. package/dist/components/table/snice-cell-location.js +185 -0
  144. package/dist/components/table/snice-cell-location.js.map +1 -0
  145. package/dist/components/table/snice-cell-number.d.ts +2 -2
  146. package/dist/components/table/snice-cell-number.js +12 -6
  147. package/dist/components/table/snice-cell-number.js.map +1 -1
  148. package/dist/components/table/snice-cell-percentage.d.ts +22 -0
  149. package/dist/components/table/snice-cell-percentage.js +208 -0
  150. package/dist/components/table/snice-cell-percentage.js.map +1 -0
  151. package/dist/components/table/snice-cell-phone.d.ts +18 -0
  152. package/dist/components/table/snice-cell-phone.js +153 -0
  153. package/dist/components/table/snice-cell-phone.js.map +1 -0
  154. package/dist/components/table/snice-cell-progress.d.ts +2 -2
  155. package/dist/components/table/snice-cell-progress.js +12 -6
  156. package/dist/components/table/snice-cell-progress.js.map +1 -1
  157. package/dist/components/table/snice-cell-rating.d.ts +2 -2
  158. package/dist/components/table/snice-cell-rating.js +12 -6
  159. package/dist/components/table/snice-cell-rating.js.map +1 -1
  160. package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
  161. package/dist/components/table/snice-cell-sparkline.js +13 -7
  162. package/dist/components/table/snice-cell-sparkline.js.map +1 -1
  163. package/dist/components/table/snice-cell-status.d.ts +17 -0
  164. package/dist/components/table/snice-cell-status.js +144 -0
  165. package/dist/components/table/snice-cell-status.js.map +1 -0
  166. package/dist/components/table/snice-cell-tag.d.ts +16 -0
  167. package/dist/components/table/snice-cell-tag.js +131 -0
  168. package/dist/components/table/snice-cell-tag.js.map +1 -0
  169. package/dist/components/table/snice-cell-text.d.ts +2 -2
  170. package/dist/components/table/snice-cell-text.js +14 -8
  171. package/dist/components/table/snice-cell-text.js.map +1 -1
  172. package/dist/components/table/snice-cell.d.ts +2 -2
  173. package/dist/components/table/snice-cell.js +12 -6
  174. package/dist/components/table/snice-cell.js.map +1 -1
  175. package/dist/components/table/snice-column.d.ts +1 -1
  176. package/dist/components/table/snice-column.js +6 -3
  177. package/dist/components/table/snice-column.js.map +1 -1
  178. package/dist/components/table/snice-header.d.ts +5 -5
  179. package/dist/components/table/snice-header.js +60 -50
  180. package/dist/components/table/snice-header.js.map +1 -1
  181. package/dist/components/table/snice-progress.d.ts +2 -2
  182. package/dist/components/table/snice-progress.js +18 -11
  183. package/dist/components/table/snice-progress.js.map +1 -1
  184. package/dist/components/table/snice-rating.d.ts +2 -2
  185. package/dist/components/table/snice-rating.js +15 -8
  186. package/dist/components/table/snice-rating.js.map +1 -1
  187. package/dist/components/table/snice-row.d.ts +17 -6
  188. package/dist/components/table/snice-row.js +95 -44
  189. package/dist/components/table/snice-row.js.map +1 -1
  190. package/dist/components/table/snice-table.d.ts +18 -10
  191. package/dist/components/table/snice-table.js +355 -173
  192. package/dist/components/table/snice-table.js.map +1 -1
  193. package/dist/components/table/snice-table.types.d.ts +101 -2
  194. package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
  195. package/dist/components/tabs/snice-tab-panel.js +12 -6
  196. package/dist/components/tabs/snice-tab-panel.js.map +1 -1
  197. package/dist/components/tabs/snice-tab.d.ts +6 -5
  198. package/dist/components/tabs/snice-tab.js +36 -19
  199. package/dist/components/tabs/snice-tab.js.map +1 -1
  200. package/dist/components/tabs/snice-tabs.d.ts +5 -5
  201. package/dist/components/tabs/snice-tabs.js +38 -28
  202. package/dist/components/tabs/snice-tabs.js.map +1 -1
  203. package/dist/components/toast/snice-toast-container.d.ts +7 -7
  204. package/dist/components/toast/snice-toast-container.js +19 -12
  205. package/dist/components/toast/snice-toast-container.js.map +1 -1
  206. package/dist/components/toast/snice-toast.d.ts +3 -15
  207. package/dist/components/toast/snice-toast.js +49 -108
  208. package/dist/components/toast/snice-toast.js.map +1 -1
  209. package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
  210. package/dist/components/tooltip/snice-tooltip.js +14 -7
  211. package/dist/components/tooltip/snice-tooltip.js.map +1 -1
  212. package/dist/context.d.ts +44 -0
  213. package/dist/element-ready.d.ts +40 -0
  214. package/dist/{types/element.d.ts → element.d.ts} +2 -8
  215. package/dist/{types/events.d.ts → events.d.ts} +0 -4
  216. package/dist/index.cjs +2589 -605
  217. package/dist/index.cjs.map +1 -1
  218. package/dist/index.d.ts +21 -0
  219. package/dist/index.esm.js +2568 -604
  220. package/dist/index.esm.js.map +1 -1
  221. package/dist/index.iife.js +2589 -605
  222. package/dist/index.iife.js.map +1 -1
  223. package/dist/method-decorators.d.ts +121 -0
  224. package/dist/on.d.ts +59 -0
  225. package/dist/parts.d.ts +159 -0
  226. package/dist/render-debug.d.ts +27 -0
  227. package/dist/render-tracker.d.ts +14 -0
  228. package/dist/render.d.ts +96 -0
  229. package/dist/symbols.cjs +163 -0
  230. package/dist/symbols.cjs.map +1 -1
  231. package/dist/{types/symbols.d.ts → symbols.d.ts} +22 -0
  232. package/dist/symbols.esm.js +27 -3
  233. package/dist/symbols.esm.js.map +1 -1
  234. package/dist/template.d.ts +100 -0
  235. package/dist/transitions.cjs +219 -0
  236. package/dist/transitions.esm.js +2 -2
  237. package/dist/types/context.d.ts +48 -0
  238. package/dist/types/element-options.d.ts +26 -0
  239. package/dist/types/index.d.ts +25 -9
  240. package/dist/types/nav-context.d.ts +19 -0
  241. package/dist/types/{types/on-options.d.ts → on-options.d.ts} +2 -0
  242. package/dist/types/{types/placard.d.ts → placard.d.ts} +0 -1
  243. package/docs/ai/README.md +17 -0
  244. package/docs/ai/api.md +175 -0
  245. package/docs/ai/architecture.md +160 -0
  246. package/docs/ai/components/accordion.md +174 -0
  247. package/docs/ai/components/alert.md +77 -0
  248. package/docs/ai/components/avatar.md +61 -0
  249. package/docs/ai/components/badge.md +69 -0
  250. package/docs/ai/components/breadcrumbs.md +74 -0
  251. package/docs/ai/components/button.md +75 -0
  252. package/docs/ai/components/card.md +61 -0
  253. package/docs/ai/components/checkbox.md +74 -0
  254. package/docs/ai/components/chip.md +73 -0
  255. package/docs/ai/components/date-picker.md +75 -0
  256. package/docs/ai/components/divider.md +66 -0
  257. package/docs/ai/components/drawer.md +80 -0
  258. package/docs/ai/components/input.md +111 -0
  259. package/docs/ai/components/login.md +109 -0
  260. package/docs/ai/components/modal.md +67 -0
  261. package/docs/ai/components/nav.md +76 -0
  262. package/docs/ai/components/pagination.md +55 -0
  263. package/docs/ai/components/progress.md +72 -0
  264. package/docs/ai/components/radio.md +79 -0
  265. package/docs/ai/components/select.md +92 -0
  266. package/docs/ai/components/skeleton.md +57 -0
  267. package/docs/ai/components/switch.md +53 -0
  268. package/docs/ai/components/table.md +227 -0
  269. package/docs/ai/components/tabs.md +83 -0
  270. package/docs/ai/components/toast.md +140 -0
  271. package/docs/ai/components/tooltip.md +146 -0
  272. package/docs/ai/patterns.md +244 -0
  273. package/docs/components/accordion.md +558 -0
  274. package/docs/components/drawer.md +602 -0
  275. package/docs/components/modal.md +558 -0
  276. package/docs/components/nav.md +239 -0
  277. package/docs/components/pagination.md +289 -0
  278. package/docs/components/select.md +599 -0
  279. package/docs/components/switch.md +354 -0
  280. package/docs/components/tabs.md +546 -0
  281. package/docs/components/toast.md +506 -0
  282. package/docs/components/tooltip.md +523 -0
  283. package/docs/controllers.md +744 -0
  284. package/docs/elements.md +855 -0
  285. package/docs/events.md +807 -0
  286. package/docs/migration-v2-to-v3.md +569 -0
  287. package/docs/observe.md +588 -0
  288. package/docs/placards.md +401 -0
  289. package/docs/request-response.md +852 -0
  290. package/docs/routing.md +1186 -0
  291. package/package.json +10 -11
  292. package/dist/components/snice-cell-C9N6yGxQ.js +0 -4
  293. package/dist/components/snice-cell-C9N6yGxQ.js.map +0 -1
  294. package/dist/types/types/index.d.ts +0 -23
  295. /package/dist/{types/controller.d.ts → controller.d.ts} +0 -0
  296. /package/dist/{types/global.d.ts → global.d.ts} +0 -0
  297. /package/dist/{types/observe.d.ts → observe.d.ts} +0 -0
  298. /package/dist/{types/request-response.d.ts → request-response.d.ts} +0 -0
  299. /package/dist/{types/router.d.ts → router.d.ts} +0 -0
  300. /package/dist/{types/testing.d.ts → testing.d.ts} +0 -0
  301. /package/dist/{types/transitions.d.ts → transitions.d.ts} +0 -0
  302. /package/dist/types/{types/adopted-options.d.ts → adopted-options.d.ts} +0 -0
  303. /package/dist/types/{types/app-context.d.ts → app-context.d.ts} +0 -0
  304. /package/dist/types/{types/dispatch-options.d.ts → dispatch-options.d.ts} +0 -0
  305. /package/dist/types/{types/guard.d.ts → guard.d.ts} +0 -0
  306. /package/dist/types/{types/i-controller.d.ts → i-controller.d.ts} +0 -0
  307. /package/dist/types/{types/moved-options.d.ts → moved-options.d.ts} +0 -0
  308. /package/dist/types/{types/observe-options.d.ts → observe-options.d.ts} +0 -0
  309. /package/dist/types/{types/page-options.d.ts → page-options.d.ts} +0 -0
  310. /package/dist/types/{types/part-options.d.ts → part-options.d.ts} +0 -0
  311. /package/dist/types/{types/property-converter.d.ts → property-converter.d.ts} +0 -0
  312. /package/dist/types/{types/property-options.d.ts → property-options.d.ts} +0 -0
  313. /package/dist/types/{types/query-options.d.ts → query-options.d.ts} +0 -0
  314. /package/dist/types/{types/request-options.d.ts → request-options.d.ts} +0 -0
  315. /package/dist/types/{types/respond-options.d.ts → respond-options.d.ts} +0 -0
  316. /package/dist/types/{types/route-params.d.ts → route-params.d.ts} +0 -0
  317. /package/dist/types/{types/router-instance.d.ts → router-instance.d.ts} +0 -0
  318. /package/dist/types/{types/router-options.d.ts → router-options.d.ts} +0 -0
  319. /package/dist/types/{types/simple-array.d.ts → simple-array.d.ts} +0 -0
  320. /package/dist/types/{types/snice-element.d.ts → snice-element.d.ts} +0 -0
  321. /package/dist/types/{types/snice-global.d.ts → snice-global.d.ts} +0 -0
  322. /package/dist/types/{types/transition.d.ts → transition.d.ts} +0 -0
  323. /package/dist/{types/utils.d.ts → utils.d.ts} +0 -0
@@ -1,9 +1,9 @@
1
- import { __runInitializers, __esDecorate } from 'tslib';
2
- import { element, query, part } from 'snice';
1
+ import { __esDecorate, __runInitializers } from 'tslib';
2
+ import { element, query, property, render, styles, html, css } from 'snice';
3
3
  import '../breadcrumbs/snice-breadcrumbs.js';
4
4
  import '../nav/snice-nav.js';
5
5
 
6
- var css = "/* Dashboard Layout - Complex grid with multiple areas */\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 display: grid;\n grid-template-areas: \n \"header header header\"\n \"nav nav nav\"\n \"sidebar main right-sidebar\";\n grid-template-rows: auto auto 1fr;\n grid-template-columns: 250px 1fr 250px;\n min-height: 100vh;\n gap: 1px;\n background: var(--snice-color-border, #d1d5db);\n}\n\n.header {\n grid-area: header;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\n background: var(--snice-color-background, white);\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\n}\n\n.header-start h1 {\n margin: 0;\n font-size: var(--snice-font-size-xl, 1.5rem);\n font-weight: var(--snice-font-weight-semibold, 600);\n color: var(--snice-color-text, #374151);\n}\n\n.header-center {\n flex: 1;\n max-width: 400px;\n margin: 0 var(--snice-spacing-lg, 2rem);\n}\n\n.nav {\n grid-area: nav;\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\n background: var(--snice-color-background, white);\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\n}\n\n.sidebar {\n grid-area: sidebar;\n background: var(--snice-color-background, white);\n padding: var(--snice-spacing-lg, 2rem);\n overflow-y: auto;\n}\n\n.main {\n grid-area: main;\n padding: var(--snice-spacing-lg, 2rem);\n background: var(--snice-color-background-secondary, #f8fafc);\n overflow-y: auto;\n}\n\n.right-sidebar {\n grid-area: right-sidebar;\n background: var(--snice-color-background, white);\n padding: var(--snice-spacing-lg, 2rem);\n overflow-y: auto;\n}\n\n/* Responsive */\n@media (max-width: 1024px) {\n .layout {\n grid-template-areas: \n \"header header\"\n \"nav nav\"\n \"main main\";\n grid-template-columns: 1fr;\n }\n \n .sidebar,\n .right-sidebar {\n display: none;\n }\n}\n\n@media (max-width: 768px) {\n .header {\n flex-direction: column;\n gap: var(--snice-spacing-md, 1rem);\n }\n \n .header-center {\n margin: 0;\n max-width: none;\n width: 100%;\n }\n}";
6
+ var cssContent = "/* Dashboard Layout - Complex grid with multiple areas */\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 display: grid;\n grid-template-areas: \n \"header header header\"\n \"nav nav nav\"\n \"sidebar main right-sidebar\";\n grid-template-rows: auto auto 1fr;\n grid-template-columns: 250px 1fr 250px;\n min-height: 100vh;\n gap: 1px;\n background: var(--snice-color-border, #d1d5db);\n}\n\n.header {\n grid-area: header;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\n background: var(--snice-color-background, white);\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\n}\n\n.header-start h1 {\n margin: 0;\n font-size: var(--snice-font-size-xl, 1.5rem);\n font-weight: var(--snice-font-weight-semibold, 600);\n color: var(--snice-color-text, #374151);\n}\n\n.header-center {\n flex: 1;\n max-width: 400px;\n margin: 0 var(--snice-spacing-lg, 2rem);\n}\n\n.nav {\n grid-area: nav;\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\n background: var(--snice-color-background, white);\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\n}\n\n.sidebar {\n grid-area: sidebar;\n background: var(--snice-color-background, white);\n padding: var(--snice-spacing-lg, 2rem);\n overflow-y: auto;\n}\n\n.main {\n grid-area: main;\n padding: var(--snice-spacing-lg, 2rem);\n background: var(--snice-color-background-secondary, #f8fafc);\n overflow-y: auto;\n}\n\n.right-sidebar {\n grid-area: right-sidebar;\n background: var(--snice-color-background, white);\n padding: var(--snice-spacing-lg, 2rem);\n overflow-y: auto;\n}\n\n/* Responsive */\n@media (max-width: 1024px) {\n .layout {\n grid-template-areas: \n \"header header\"\n \"nav nav\"\n \"main main\";\n grid-template-columns: 1fr;\n }\n \n .sidebar,\n .right-sidebar {\n display: none;\n }\n}\n\n@media (max-width: 768px) {\n .header {\n flex-direction: column;\n gap: var(--snice-spacing-md, 1rem);\n }\n \n .header-center {\n margin: 0;\n max-width: none;\n width: 100%;\n }\n}";
7
7
 
8
8
  let SniceLayoutDashboard = (() => {
9
9
  let _classDecorators = [element('snice-layout-dashboard')];
@@ -15,31 +15,35 @@ let SniceLayoutDashboard = (() => {
15
15
  let _navElement_decorators;
16
16
  let _navElement_initializers = [];
17
17
  let _navElement_extraInitializers = [];
18
- let _renderNav_decorators;
19
- let _renderBreadcrumbs_decorators;
18
+ let _placards_decorators;
19
+ let _placards_initializers = [];
20
+ let _placards_extraInitializers = [];
21
+ let _currentRoute_decorators;
22
+ let _currentRoute_initializers = [];
23
+ let _currentRoute_extraInitializers = [];
24
+ let _renderContent_decorators;
25
+ let _componentStyles_decorators;
20
26
  (class extends _classSuper {
21
27
  static { _classThis = this; }
22
- constructor() {
23
- super(...arguments);
24
- this.navElement = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _navElement_initializers, void 0));
25
- this.placards = (__runInitializers(this, _navElement_extraInitializers), []);
26
- this.currentRoute = '';
27
- }
28
28
  static {
29
29
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
30
30
  _navElement_decorators = [query('snice-nav')];
31
- _renderNav_decorators = [part('nav')];
32
- _renderBreadcrumbs_decorators = [part('breadcrumbs')];
33
- __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);
34
- __esDecorate(this, null, _renderBreadcrumbs_decorators, { kind: "method", name: "renderBreadcrumbs", static: false, private: false, access: { has: obj => "renderBreadcrumbs" in obj, get: obj => obj.renderBreadcrumbs }, metadata: _metadata }, null, _instanceExtraInitializers);
31
+ _placards_decorators = [property({ type: Array })];
32
+ _currentRoute_decorators = [property({})];
33
+ _renderContent_decorators = [render()];
34
+ _componentStyles_decorators = [styles()];
35
+ __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);
36
+ __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);
35
37
  __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);
38
+ __esDecorate(null, null, _placards_decorators, { kind: "field", name: "placards", static: false, private: false, access: { has: obj => "placards" in obj, get: obj => obj.placards, set: (obj, value) => { obj.placards = value; } }, metadata: _metadata }, _placards_initializers, _placards_extraInitializers);
39
+ __esDecorate(null, null, _currentRoute_decorators, { kind: "field", name: "currentRoute", static: false, private: false, access: { has: obj => "currentRoute" in obj, get: obj => obj.currentRoute, set: (obj, value) => { obj.currentRoute = value; } }, metadata: _metadata }, _currentRoute_initializers, _currentRoute_extraInitializers);
36
40
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
37
41
  _classThis = _classDescriptor.value;
38
42
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
39
43
  __runInitializers(_classThis, _classExtraInitializers);
40
44
  }
41
- html() {
42
- return /*html*/ `
45
+ renderContent() {
46
+ return html /*html*/ `
43
47
  <div class="layout">
44
48
  <header class="header">
45
49
  <div class="header-start">
@@ -55,9 +59,9 @@ let SniceLayoutDashboard = (() => {
55
59
  </div>
56
60
  </header>
57
61
 
58
- <snice-nav class="nav" part="nav" variant="grouped" orientation="horizontal"></snice-nav>
62
+ <snice-nav class="nav" variant="grouped" orientation="horizontal"></snice-nav>
59
63
 
60
- <aside class="sidebar" part="breadcrumbs"></aside>
64
+ <aside class="sidebar">${this.getBreadcrumbsHtml()}</aside>
61
65
 
62
66
  <main class="main">
63
67
  <slot name="page"></slot>
@@ -69,24 +73,21 @@ let SniceLayoutDashboard = (() => {
69
73
  </div>
70
74
  `;
71
75
  }
72
- css() {
73
- return css;
76
+ componentStyles() {
77
+ return css /*css*/ `${cssContent}`;
74
78
  }
75
- update(_appContext, placards, currentRoute, _routeParams) {
79
+ update(appContext, placards, currentRoute, routeParams) {
76
80
  this.placards = placards;
77
81
  this.currentRoute = currentRoute;
78
- // Update navigation and breadcrumbs
79
- this.renderNav();
80
- this.renderBreadcrumbs();
82
+ // Update navigation
83
+ this.updateNav(appContext, routeParams);
81
84
  }
82
- renderNav() {
85
+ updateNav(appContext, routeParams) {
83
86
  if (this.navElement) {
84
- this.navElement.placards = this.placards;
85
- this.navElement.currentRoute = this.currentRoute;
87
+ this.navElement.update(this.placards, appContext, this.currentRoute, routeParams);
86
88
  }
87
- return '';
88
89
  }
89
- renderBreadcrumbs() {
90
+ getBreadcrumbsHtml() {
90
91
  const currentPlacard = this.placards.find(p => this.currentRoute === p.name || this.currentRoute.startsWith(`/${p.name}`));
91
92
  if (!currentPlacard) {
92
93
  return '';
@@ -135,6 +136,13 @@ let SniceLayoutDashboard = (() => {
135
136
  }
136
137
  return trail;
137
138
  }
139
+ constructor() {
140
+ super(...arguments);
141
+ this.navElement = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _navElement_initializers, void 0));
142
+ this.placards = (__runInitializers(this, _navElement_extraInitializers), __runInitializers(this, _placards_initializers, []));
143
+ this.currentRoute = (__runInitializers(this, _placards_extraInitializers), __runInitializers(this, _currentRoute_initializers, ''));
144
+ __runInitializers(this, _currentRoute_extraInitializers);
145
+ }
138
146
  });
139
147
  return _classThis;
140
148
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"snice-layout-dashboard.js","sources":["../../../components/layout/snice-layout-dashboard.css?inline","../../../../components/layout/snice-layout-dashboard.ts"],"sourcesContent":["export default \"/* Dashboard Layout - Complex grid with multiple areas */\\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 display: grid;\\n grid-template-areas: \\n \\\"header header header\\\"\\n \\\"nav nav nav\\\"\\n \\\"sidebar main right-sidebar\\\";\\n grid-template-rows: auto auto 1fr;\\n grid-template-columns: 250px 1fr 250px;\\n min-height: 100vh;\\n gap: 1px;\\n background: var(--snice-color-border, #d1d5db);\\n}\\n\\n.header {\\n grid-area: header;\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background, white);\\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\\n}\\n\\n.header-start h1 {\\n margin: 0;\\n font-size: var(--snice-font-size-xl, 1.5rem);\\n font-weight: var(--snice-font-weight-semibold, 600);\\n color: var(--snice-color-text, #374151);\\n}\\n\\n.header-center {\\n flex: 1;\\n max-width: 400px;\\n margin: 0 var(--snice-spacing-lg, 2rem);\\n}\\n\\n.nav {\\n grid-area: nav;\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background, white);\\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\\n}\\n\\n.sidebar {\\n grid-area: sidebar;\\n background: var(--snice-color-background, white);\\n padding: var(--snice-spacing-lg, 2rem);\\n overflow-y: auto;\\n}\\n\\n.main {\\n grid-area: main;\\n padding: var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background-secondary, #f8fafc);\\n overflow-y: auto;\\n}\\n\\n.right-sidebar {\\n grid-area: right-sidebar;\\n background: var(--snice-color-background, white);\\n padding: var(--snice-spacing-lg, 2rem);\\n overflow-y: auto;\\n}\\n\\n/* Responsive */\\n@media (max-width: 1024px) {\\n .layout {\\n grid-template-areas: \\n \\\"header header\\\"\\n \\\"nav nav\\\"\\n \\\"main main\\\";\\n grid-template-columns: 1fr;\\n }\\n \\n .sidebar,\\n .right-sidebar {\\n display: none;\\n }\\n}\\n\\n@media (max-width: 768px) {\\n .header {\\n flex-direction: column;\\n gap: var(--snice-spacing-md, 1rem);\\n }\\n \\n .header-center {\\n margin: 0;\\n max-width: none;\\n width: 100%;\\n }\\n}\";",null],"names":[],"mappings":";;;;;AAAA,UAAe,2uEAA2uE;;ICQ7uE,oBAAoB,GAAA,CAAA,MAAA;4BADhC,OAAO,CAAC,wBAAwB,CAAC,CAAA;;;;sBACQ,WAAW;;;;;;;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;YAEnD,IAAA,CAAA,UAAU,IAFC,mDAAoB,EAAA,iBAAA,CAAA,IAAA,EAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;YAIvB,IAAA,CAAA,QAAQ,IAAA,iBAAA,CAAA,IAAA,EAAA,6BAAA,CAAA,EAAc,EAAE,CAAA;YACxB,IAAA,CAAA,YAAY,GAAG,EAAE;QAoH3B;;;sCAxHG,KAAK,CAAC,WAAW,CAAC,CAAA;qCAmDlB,IAAI,CAAC,KAAK,CAAC,CAAA;6CASX,IAAI,CAAC,aAAa,CAAC,CAAA;AARpB,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,WAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,SAAS,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;AAST,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,6BAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,mBAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,iBAAiB,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;YA5DjB,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,YAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,UAAU,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAV,UAAU,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,wBAAA,EAAA,6BAAA,CAAA;YAFZ,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4Bd;QACH;QAEA,GAAG,GAAA;AACD,YAAA,OAAO,GAAG;QACZ;AAEA,QAAA,MAAM,CAAC,WAAuB,EAAE,QAAmB,EAAE,YAAoB,EAAE,YAAyB,EAAA;AAClG,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,YAAA,IAAI,CAAC,YAAY,GAAG,YAAY;;YAGhC,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,iBAAiB,EAAE;QAC1B;QAGA,SAAS,GAAA;AACP,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBACxC,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;YAClD;AACA,YAAA,OAAO,EAAE;QACX;QAGA,iBAAiB,GAAA;AACf,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IACzC,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,CAAC,CAAC,IAAI,CAAA,CAAE,CAAC,CAC3E;YAED,IAAI,CAAC,cAAc,EAAE;AACnB,gBAAA,OAAO,EAAE;YACX;;YAGA,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;AAE7D,YAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,gBAAA,OAAO,EAAE;YACX;YAEA,OAAO;;iBAEM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK;gBAC5C,KAAK,EAAE,CAAC,CAAC,KAAK;AACd,gBAAA,IAAI,EAAE,CAAA,EAAA,EAAK,CAAC,CAAC,IAAI,CAAA,CAAE;gBACnB,IAAI,EAAE,CAAC,CAAC;AACT,aAAA,CAAC,CAAC,CAAC,CAAA;;;KAGP;QACH;AAEQ,QAAA,oBAAoB,CAAC,OAAgB,EAAA;YAC3C,MAAM,KAAK,GAAc,EAAE;;AAG3B,YAAA,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACzD,gBAAA,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,IAAG;AACjC,oBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;AACpD,oBAAA,IAAI,CAAC;AAAE,wBAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACtB,gBAAA,CAAC,CAAC;AACF,gBAAA,OAAO,KAAK;YACd;;YAGA,IAAI,OAAO,GAAwB,OAAO;AAC1C,YAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU;YAEjC,OAAO,OAAO,EAAE;AACd,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AAAE,oBAAA,MAAM;AACrC,gBAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AAEzB,gBAAA,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;AAEtB,gBAAA,IAAI,OAAO,CAAC,MAAM,EAAE;AAClB,oBAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAQ,CAAC,MAAM,CAAC;gBAC/D;qBAAO;oBACL;gBACF;YACF;AAEA,YAAA,OAAO,KAAK;QACd;;;;;;;"}
1
+ {"version":3,"file":"snice-layout-dashboard.js","sources":["../../../components/layout/snice-layout-dashboard.css?inline","../../../../components/layout/snice-layout-dashboard.ts"],"sourcesContent":["export default \"/* Dashboard Layout - Complex grid with multiple areas */\\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 display: grid;\\n grid-template-areas: \\n \\\"header header header\\\"\\n \\\"nav nav nav\\\"\\n \\\"sidebar main right-sidebar\\\";\\n grid-template-rows: auto auto 1fr;\\n grid-template-columns: 250px 1fr 250px;\\n min-height: 100vh;\\n gap: 1px;\\n background: var(--snice-color-border, #d1d5db);\\n}\\n\\n.header {\\n grid-area: header;\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background, white);\\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\\n}\\n\\n.header-start h1 {\\n margin: 0;\\n font-size: var(--snice-font-size-xl, 1.5rem);\\n font-weight: var(--snice-font-weight-semibold, 600);\\n color: var(--snice-color-text, #374151);\\n}\\n\\n.header-center {\\n flex: 1;\\n max-width: 400px;\\n margin: 0 var(--snice-spacing-lg, 2rem);\\n}\\n\\n.nav {\\n grid-area: nav;\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background, white);\\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\\n}\\n\\n.sidebar {\\n grid-area: sidebar;\\n background: var(--snice-color-background, white);\\n padding: var(--snice-spacing-lg, 2rem);\\n overflow-y: auto;\\n}\\n\\n.main {\\n grid-area: main;\\n padding: var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background-secondary, #f8fafc);\\n overflow-y: auto;\\n}\\n\\n.right-sidebar {\\n grid-area: right-sidebar;\\n background: var(--snice-color-background, white);\\n padding: var(--snice-spacing-lg, 2rem);\\n overflow-y: auto;\\n}\\n\\n/* Responsive */\\n@media (max-width: 1024px) {\\n .layout {\\n grid-template-areas: \\n \\\"header header\\\"\\n \\\"nav nav\\\"\\n \\\"main main\\\";\\n grid-template-columns: 1fr;\\n }\\n \\n .sidebar,\\n .right-sidebar {\\n display: none;\\n }\\n}\\n\\n@media (max-width: 768px) {\\n .header {\\n flex-direction: column;\\n gap: var(--snice-spacing-md, 1rem);\\n }\\n \\n .header-center {\\n margin: 0;\\n max-width: none;\\n width: 100%;\\n }\\n}\";",null],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare class SniceLayoutFullscreen extends HTMLElement {
2
2
  overlay: boolean;
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 = "/* Fullscreen Layout - For presentations, media viewers, 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 position: relative;\n width: 100vw;\n height: 100vh;\n overflow: hidden;\n background: var(--snice-color-background-dark, #111827);\n}\n\n.background {\n position: absolute;\n inset: 0;\n z-index: 1;\n}\n\n.overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n background: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity var(--snice-transition-normal, 0.25s) ease;\n pointer-events: none;\n}\n\n:host([overlay]) .overlay {\n opacity: 1;\n pointer-events: auto;\n}\n\n.content {\n position: absolute;\n inset: 0;\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--snice-spacing-lg, 2rem);\n}\n\n.controls {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 4;\n padding: var(--snice-spacing-lg, 2rem);\n background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));\n transform: translateY(100%);\n transition: transform var(--snice-transition-normal, 0.25s) ease;\n}\n\n:host(:hover) .controls {\n transform: translateY(0);\n}\n\n/* Media queries for mobile */\n@media (max-width: 768px) {\n .controls {\n transform: translateY(0);\n background: rgba(0, 0, 0, 0.8);\n }\n \n .content {\n padding: var(--snice-spacing-md, 1rem);\n }\n}";
4
+ var cssContent = "/* Fullscreen Layout - For presentations, media viewers, 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 position: relative;\n width: 100vw;\n height: 100vh;\n overflow: hidden;\n background: var(--snice-color-background-dark, #111827);\n}\n\n.background {\n position: absolute;\n inset: 0;\n z-index: 1;\n}\n\n.overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n background: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity var(--snice-transition-normal, 0.25s) ease;\n pointer-events: none;\n}\n\n:host([overlay]) .overlay {\n opacity: 1;\n pointer-events: auto;\n}\n\n.content {\n position: absolute;\n inset: 0;\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--snice-spacing-lg, 2rem);\n}\n\n.controls {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 4;\n padding: var(--snice-spacing-lg, 2rem);\n background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));\n transform: translateY(100%);\n transition: transform var(--snice-transition-normal, 0.25s) ease;\n}\n\n:host(:hover) .controls {\n transform: translateY(0);\n}\n\n/* Media queries for mobile */\n@media (max-width: 768px) {\n .controls {\n transform: translateY(0);\n background: rgba(0, 0, 0, 0.8);\n }\n \n .content {\n padding: var(--snice-spacing-md, 1rem);\n }\n}";
5
5
 
6
6
  let SniceLayoutFullscreen = (() => {
7
7
  let _classDecorators = [element('snice-layout-fullscreen')];
@@ -9,47 +9,54 @@ let SniceLayoutFullscreen = (() => {
9
9
  let _classExtraInitializers = [];
10
10
  let _classThis;
11
11
  let _classSuper = HTMLElement;
12
+ let _instanceExtraInitializers = [];
12
13
  let _overlay_decorators;
13
14
  let _overlay_initializers = [];
14
15
  let _overlay_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
  _overlay_decorators = [property({ type: Boolean, })];
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, _overlay_decorators, { kind: "field", name: "overlay", static: false, private: false, access: { has: obj => "overlay" in obj, get: obj => obj.overlay, set: (obj, value) => { obj.overlay = value; } }, metadata: _metadata }, _overlay_initializers, _overlay_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="background">
30
37
  <slot name="background"></slot>
31
38
  </div>
32
-
39
+
33
40
  <div class="overlay">
34
41
  <slot name="overlay"></slot>
35
42
  </div>
36
-
43
+
37
44
  <div class="content">
38
45
  <slot name="page"></slot>
39
46
  </div>
40
-
47
+
41
48
  <div class="controls">
42
49
  <slot name="controls"></slot>
43
50
  </div>
44
51
  </div>
45
52
  `;
46
53
  }
47
- css() {
48
- return css;
54
+ componentStyles() {
55
+ return css /*css*/ `${cssContent}`;
49
56
  }
50
57
  constructor() {
51
58
  super(...arguments);
52
- this.overlay = __runInitializers(this, _overlay_initializers, false);
59
+ this.overlay = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _overlay_initializers, false));
53
60
  __runInitializers(this, _overlay_extraInitializers);
54
61
  }
55
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"snice-layout-fullscreen.js","sources":["../../../components/layout/snice-layout-fullscreen.css?inline","../../../../components/layout/snice-layout-fullscreen.ts"],"sourcesContent":["export default \"/* Fullscreen Layout - For presentations, media viewers, 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 position: relative;\\n width: 100vw;\\n height: 100vh;\\n overflow: hidden;\\n background: var(--snice-color-background-dark, #111827);\\n}\\n\\n.background {\\n position: absolute;\\n inset: 0;\\n z-index: 1;\\n}\\n\\n.overlay {\\n position: absolute;\\n inset: 0;\\n z-index: 2;\\n background: rgba(0, 0, 0, 0.5);\\n opacity: 0;\\n transition: opacity var(--snice-transition-normal, 0.25s) ease;\\n pointer-events: none;\\n}\\n\\n:host([overlay]) .overlay {\\n opacity: 1;\\n pointer-events: auto;\\n}\\n\\n.content {\\n position: absolute;\\n inset: 0;\\n z-index: 3;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding: var(--snice-spacing-lg, 2rem);\\n}\\n\\n.controls {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 4;\\n padding: var(--snice-spacing-lg, 2rem);\\n background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));\\n transform: translateY(100%);\\n transition: transform var(--snice-transition-normal, 0.25s) ease;\\n}\\n\\n:host(:hover) .controls {\\n transform: translateY(0);\\n}\\n\\n/* Media queries for mobile */\\n@media (max-width: 768px) {\\n .controls {\\n transform: translateY(0);\\n background: rgba(0, 0, 0, 0.8);\\n }\\n \\n .content {\\n padding: var(--snice-spacing-md, 1rem);\\n }\\n}\";",null],"names":[],"mappings":";;;AAAA,UAAe,28CAA28C;;ICI78C,qBAAqB,GAAA,CAAA,MAAA;4BADjC,OAAO,CAAC,yBAAyB,CAAC,CAAA;;;;sBACQ,WAAW;;;;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;AACnD,YAAA,mBAAA,GAAA,CAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,GAAI,CAAC,CAAA;YAC9B,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;YAFT,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;;;;;;;;;;;;;;;;;;KAkBd;QACH;QAEA,GAAG,GAAA;AACD,YAAA,OAAO,GAAG;QACZ;;;YA1BA,IAAA,CAAA,OAAO,GAAA,iBAAA,CAAA,IAAA,EAAA,qBAAA,EAAG,KAAK,CAAA;;;;;;;;;"}
1
+ {"version":3,"file":"snice-layout-fullscreen.js","sources":["../../../components/layout/snice-layout-fullscreen.css?inline","../../../../components/layout/snice-layout-fullscreen.ts"],"sourcesContent":["export default \"/* Fullscreen Layout - For presentations, media viewers, 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 position: relative;\\n width: 100vw;\\n height: 100vh;\\n overflow: hidden;\\n background: var(--snice-color-background-dark, #111827);\\n}\\n\\n.background {\\n position: absolute;\\n inset: 0;\\n z-index: 1;\\n}\\n\\n.overlay {\\n position: absolute;\\n inset: 0;\\n z-index: 2;\\n background: rgba(0, 0, 0, 0.5);\\n opacity: 0;\\n transition: opacity var(--snice-transition-normal, 0.25s) ease;\\n pointer-events: none;\\n}\\n\\n:host([overlay]) .overlay {\\n opacity: 1;\\n pointer-events: auto;\\n}\\n\\n.content {\\n position: absolute;\\n inset: 0;\\n z-index: 3;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding: var(--snice-spacing-lg, 2rem);\\n}\\n\\n.controls {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 4;\\n padding: var(--snice-spacing-lg, 2rem);\\n background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));\\n transform: translateY(100%);\\n transition: transform var(--snice-transition-normal, 0.25s) ease;\\n}\\n\\n:host(:hover) .controls {\\n transform: translateY(0);\\n}\\n\\n/* Media queries for mobile */\\n@media (max-width: 768px) {\\n .controls {\\n transform: translateY(0);\\n background: rgba(0, 0, 0, 0.8);\\n }\\n \\n .content {\\n padding: var(--snice-spacing-md, 1rem);\\n }\\n}\";",null],"names":[],"mappings":";;;AAAA,iBAAe,28CAA28C;;ICI78C,qBAAqB,GAAA,CAAA,MAAA;4BADjC,OAAO,CAAC,yBAAyB,CAAC,CAAA;;;;sBACQ,WAAW;;;;;;;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;AACnD,YAAA,mBAAA,GAAA,CAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,GAAI,CAAC,CAAA;AAG7B,YAAA,yBAAA,GAAA,CAAA,MAAM,EAAE,CAAA;AAuBR,YAAA,2BAAA,GAAA,CAAA,MAAM,EAAE,CAAA;AAtBT,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;AAuBb,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;YA1Bf,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;YAFT,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;;;;;;;;;;;;;;;;;;KAkBlB;QACH;QAGA,eAAe,GAAA;AACb,YAAA,OAAO,GAAG,SAAO,CAAA,EAAG,UAAU,EAAE;QAClC;;;AA5BA,YAAA,IAAA,CAAA,OAAO,IAFI,iBAAA,CAAA,IAAA,EAAA,0BAAA,CAAqB,EAAA,iBAAA,CAAA,IAAA,EAAA,qBAAA,EAEtB,KAAK,CAAA,CAAA;;;;;;;;;"}
@@ -6,8 +6,8 @@ export declare class SniceLayoutLanding 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 = "/* Landing Page 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: flex;\n flex-direction: column;\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 position: sticky;\n top: 0;\n z-index: 100;\n}\n\n.header .container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: var(--snice-spacing-md, 1rem);\n padding-bottom: var(--snice-spacing-md, 1rem);\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 flex: 1;\n}\n\n.hero {\n background: var(--snice-color-background-secondary, #f8fafc);\n padding: var(--snice-spacing-2xl, 4rem) 0;\n}\n\n.content {\n background: var(--snice-color-background, white);\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 margin-top: auto;\n}\n\n/* Mobile responsive */\n@media (max-width: 768px) {\n .header .container {\n flex-direction: column;\n gap: var(--snice-spacing-md, 1rem);\n }\n \n .nav {\n gap: var(--snice-spacing-md, 1rem);\n }\n \n .hero {\n padding: var(--snice-spacing-xl, 3rem) 0;\n }\n}";
5
+ var cssContent = "/* Landing Page 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: flex;\n flex-direction: column;\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 position: sticky;\n top: 0;\n z-index: 100;\n}\n\n.header .container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: var(--snice-spacing-md, 1rem);\n padding-bottom: var(--snice-spacing-md, 1rem);\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 flex: 1;\n}\n\n.hero {\n background: var(--snice-color-background-secondary, #f8fafc);\n padding: var(--snice-spacing-2xl, 4rem) 0;\n}\n\n.content {\n background: var(--snice-color-background, white);\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 margin-top: auto;\n}\n\n/* Mobile responsive */\n@media (max-width: 768px) {\n .header .container {\n flex-direction: column;\n gap: var(--snice-spacing-md, 1rem);\n }\n \n .nav {\n gap: var(--snice-spacing-md, 1rem);\n }\n \n .hero {\n padding: var(--snice-spacing-xl, 3rem) 0;\n }\n}";
6
6
 
7
7
  let SniceLayoutLanding = (() => {
8
8
  let _classDecorators = [element('snice-layout-landing')];
@@ -17,7 +17,8 @@ let SniceLayoutLanding = (() => {
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 SniceLayoutLanding = (() => {
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 SniceLayoutLanding = (() => {
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 SniceLayoutLanding = (() => {
50
53
  <h1>Brand</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 class="cta">
61
65
  <slot name="cta"></slot>
62
66
  </div>
@@ -81,21 +85,19 @@ let SniceLayoutLanding = (() => {
81
85
  </div>
82
86
  `;
83
87
  }
84
- css() {
85
- return css;
88
+ componentStyles() {
89
+ return css /*css*/ `${cssContent}`;
86
90
  }
87
- update(_appContext, placards, currentRoute, _routeParams) {
91
+ update(appContext, placards, currentRoute, routeParams) {
88
92
  this.placards = placards;
89
93
  this.currentRoute = currentRoute;
90
94
  this.useNav = true;
91
- this.renderNav();
95
+ this.updateNav(appContext, routeParams);
92
96
  }
93
- renderNav() {
97
+ updateNav(appContext, routeParams) {
94
98
  if (this.navElement) {
95
- this.navElement.placards = this.placards;
96
- this.navElement.currentRoute = this.currentRoute;
99
+ this.navElement.update(this.placards, appContext, this.currentRoute, routeParams);
97
100
  }
98
- return '';
99
101
  }
100
102
  });
101
103
  return _classThis;
@@ -1 +1 @@
1
- {"version":3,"file":"snice-layout-landing.js","sources":["../../../components/layout/snice-layout-landing.css?inline","../../../../components/layout/snice-layout-landing.ts"],"sourcesContent":["export default \"/* Landing Page 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: flex;\\n flex-direction: column;\\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 position: sticky;\\n top: 0;\\n z-index: 100;\\n}\\n\\n.header .container {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding-top: var(--snice-spacing-md, 1rem);\\n padding-bottom: var(--snice-spacing-md, 1rem);\\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 flex: 1;\\n}\\n\\n.hero {\\n background: var(--snice-color-background-secondary, #f8fafc);\\n padding: var(--snice-spacing-2xl, 4rem) 0;\\n}\\n\\n.content {\\n background: var(--snice-color-background, white);\\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 margin-top: auto;\\n}\\n\\n/* Mobile responsive */\\n@media (max-width: 768px) {\\n .header .container {\\n flex-direction: column;\\n gap: var(--snice-spacing-md, 1rem);\\n }\\n \\n .nav {\\n gap: var(--snice-spacing-md, 1rem);\\n }\\n \\n .hero {\\n padding: var(--snice-spacing-xl, 3rem) 0;\\n }\\n}\";",null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snice-layout-landing.js","sources":["../../../components/layout/snice-layout-landing.css?inline","../../../../components/layout/snice-layout-landing.ts"],"sourcesContent":["export default \"/* Landing Page 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: flex;\\n flex-direction: column;\\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 position: sticky;\\n top: 0;\\n z-index: 100;\\n}\\n\\n.header .container {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding-top: var(--snice-spacing-md, 1rem);\\n padding-bottom: var(--snice-spacing-md, 1rem);\\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 flex: 1;\\n}\\n\\n.hero {\\n background: var(--snice-color-background-secondary, #f8fafc);\\n padding: var(--snice-spacing-2xl, 4rem) 0;\\n}\\n\\n.content {\\n background: var(--snice-color-background, white);\\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 margin-top: auto;\\n}\\n\\n/* Mobile responsive */\\n@media (max-width: 768px) {\\n .header .container {\\n flex-direction: column;\\n gap: var(--snice-spacing-md, 1rem);\\n }\\n \\n .nav {\\n gap: var(--snice-spacing-md, 1rem);\\n }\\n \\n .hero {\\n padding: var(--snice-spacing-xl, 3rem) 0;\\n }\\n}\";",null],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export declare class SniceLayoutMinimal extends HTMLElement {
2
- html(): string;
3
- css(): string;
2
+ renderContent(): import("snice").TemplateResult;
3
+ componentStyles(): import("snice").CSSResult;
4
4
  }
@@ -1,7 +1,7 @@
1
1
  import { __esDecorate, __runInitializers } from 'tslib';
2
- import { element } from 'snice';
2
+ import { element, render, styles, html, css } from 'snice';
3
3
 
4
- var css = "/* Minimal Layout - Just content */\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 flex-direction: column;\n}\n\n.main {\n flex: 1;\n background: var(--snice-color-background, white);\n}";
4
+ var cssContent = "/* Minimal Layout - Just content */\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 flex-direction: column;\n}\n\n.main {\n flex: 1;\n background: var(--snice-color-background, white);\n}";
5
5
 
6
6
  let SniceLayoutMinimal = (() => {
7
7
  let _classDecorators = [element('snice-layout-minimal')];
@@ -9,17 +9,24 @@ let SniceLayoutMinimal = (() => {
9
9
  let _classExtraInitializers = [];
10
10
  let _classThis;
11
11
  let _classSuper = HTMLElement;
12
+ let _instanceExtraInitializers = [];
13
+ let _renderContent_decorators;
14
+ let _componentStyles_decorators;
12
15
  (class extends _classSuper {
13
16
  static { _classThis = this; }
14
17
  static {
15
18
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
19
+ _renderContent_decorators = [render()];
20
+ _componentStyles_decorators = [styles()];
21
+ __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);
22
+ __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);
16
23
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
17
24
  _classThis = _classDescriptor.value;
18
25
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
19
26
  __runInitializers(_classThis, _classExtraInitializers);
20
27
  }
21
- html() {
22
- return /*html*/ `
28
+ renderContent() {
29
+ return html /*html*/ `
23
30
  <div class="layout">
24
31
  <main class="main">
25
32
  <slot name="page"></slot>
@@ -27,8 +34,12 @@ let SniceLayoutMinimal = (() => {
27
34
  </div>
28
35
  `;
29
36
  }
30
- css() {
31
- return css;
37
+ componentStyles() {
38
+ return css /*css*/ `${cssContent}`;
39
+ }
40
+ constructor() {
41
+ super(...arguments);
42
+ __runInitializers(this, _instanceExtraInitializers);
32
43
  }
33
44
  });
34
45
  return _classThis;
@@ -1 +1 @@
1
- {"version":3,"file":"snice-layout-minimal.js","sources":["../../../components/layout/snice-layout-minimal.css?inline","../../../../components/layout/snice-layout-minimal.ts"],"sourcesContent":["export default \"/* Minimal Layout - Just content */\\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 flex-direction: column;\\n}\\n\\n.main {\\n flex: 1;\\n background: var(--snice-color-background, white);\\n}\";",null],"names":[],"mappings":";;;AAAA,UAAe,mVAAmV;;ICIrV,kBAAkB,GAAA,CAAA,MAAA;4BAD9B,OAAO,CAAC,sBAAsB,CAAC,CAAA;;;;sBACQ,WAAW;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;YAAnD,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;;QACX,IAAI,GAAA;AACF,YAAA,gBAAe;;;;;;KAMd;QACH;QAEA,GAAG,GAAA;AACD,YAAA,OAAO,GAAG;QACZ;;;;;;;"}
1
+ {"version":3,"file":"snice-layout-minimal.js","sources":["../../../components/layout/snice-layout-minimal.css?inline","../../../../components/layout/snice-layout-minimal.ts"],"sourcesContent":["export default \"/* Minimal Layout - Just content */\\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 flex-direction: column;\\n}\\n\\n.main {\\n flex: 1;\\n background: var(--snice-color-background, white);\\n}\";",null],"names":[],"mappings":";;;AAAA,iBAAe,mVAAmV;;ICIrV,kBAAkB,GAAA,CAAA,MAAA;4BAD9B,OAAO,CAAC,sBAAsB,CAAC,CAAA;;;;sBACQ,WAAW;;;;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;AAChD,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;YAbjB,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;;QAEX,aAAa,GAAA;YACX,OAAO,IAAI,UAAQ;;;;;;KAMlB;QACH;QAGA,eAAe,GAAA;AACb,YAAA,OAAO,GAAG,SAAO,CAAA,EAAG,UAAU,EAAE;QAClC;;;YAfW,iBAAA,CAAA,IAAA,EAAA,0BAAA,CAAkB;;;;;;;;"}
@@ -9,9 +9,10 @@ export declare class SniceLayoutSidebar extends HTMLElement implements Layout {
9
9
  navElement: SniceNav;
10
10
  private placards;
11
11
  private currentRoute;
12
- html(): string;
13
- css(): string;
12
+ renderContent(): import("snice").TemplateResult;
13
+ componentStyles(): import("snice").CSSResult;
14
14
  handleSidebarToggle(): void;
15
- update(_appContext: AppContext, placards: Placard[], currentRoute: string, _routeParams: RouteParams): void;
16
- renderNav(): string;
15
+ init(): void;
16
+ update(appContext: AppContext, placards: Placard[], currentRoute: string, routeParams: RouteParams): void;
17
+ updateNav(appContext?: AppContext, routeParams?: RouteParams): void;
17
18
  }