@mhmo91/schmancy 0.9.16 → 0.9.17

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 (51) hide show
  1. package/custom-elements.json +26 -5
  2. package/dist/agent/schmancy.agent.js +119 -15
  3. package/dist/agent/schmancy.agent.js.map +1 -1
  4. package/dist/agent/schmancy.manifest.json +134 -7
  5. package/dist/card-BslSqOsf.cjs.map +1 -1
  6. package/dist/card-CEdgK9nb.js.map +1 -1
  7. package/dist/details-B8p62xmR.cjs.map +1 -1
  8. package/dist/details-CCW52lzz.js.map +1 -1
  9. package/dist/divider-CbEWg3G_.js.map +1 -1
  10. package/dist/divider-JyyFw_3J.cjs.map +1 -1
  11. package/dist/expand-BmwIPNjq.cjs.map +1 -1
  12. package/dist/expand-bFa_qVDT.js.map +1 -1
  13. package/dist/handover/agent-runtime-followups.md +1 -1
  14. package/dist/handover/agent-runtime-v1.md +3 -3
  15. package/dist/page.cjs.map +1 -1
  16. package/dist/page.js.map +1 -1
  17. package/dist/scroll-CdmXRXh2.js.map +1 -1
  18. package/dist/scroll-V1rAZ9fK.cjs.map +1 -1
  19. package/dist/surface-0XM4DBaT.js.map +1 -1
  20. package/dist/surface-B6DA01kL.cjs.map +1 -1
  21. package/dist/theme-Cq_c9IO3.js.map +1 -1
  22. package/dist/theme-DU5yXaV-.cjs.map +1 -1
  23. package/dist/tree.cjs.map +1 -1
  24. package/dist/tree.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/card/actions.ts +9 -0
  27. package/src/card/card.ts +18 -0
  28. package/src/card/content.ts +9 -0
  29. package/src/card/media.ts +6 -0
  30. package/src/details/details.ts +12 -0
  31. package/src/divider/divider.ts +11 -0
  32. package/src/expand/expand-root.component.ts +12 -0
  33. package/src/expand/expand.component.ts +14 -0
  34. package/src/layout/scroll/scroll.ts +5 -1
  35. package/src/page/page.ts +8 -11
  36. package/src/surface/surface.ts +4 -10
  37. package/src/theme/theme.component.ts +10 -15
  38. package/src/tree/tree.ts +12 -0
  39. package/types/src/card/actions.d.ts +9 -0
  40. package/types/src/card/card.d.ts +18 -0
  41. package/types/src/card/content.d.ts +9 -0
  42. package/types/src/card/media.d.ts +6 -0
  43. package/types/src/details/details.d.ts +12 -0
  44. package/types/src/divider/divider.d.ts +11 -0
  45. package/types/src/expand/expand-root.component.d.ts +12 -0
  46. package/types/src/expand/expand.component.d.ts +14 -0
  47. package/types/src/layout/scroll/scroll.d.ts +5 -1
  48. package/types/src/page/page.d.ts +8 -11
  49. package/types/src/surface/surface.d.ts +4 -10
  50. package/types/src/theme/theme.component.d.ts +10 -15
  51. package/types/src/tree/tree.d.ts +12 -0
@@ -1151,6 +1151,7 @@
1151
1151
  {
1152
1152
  "name": "schmancy-card-action",
1153
1153
  "path": "./src/card/actions.ts",
1154
+ "description": "Action row of a schmancy-card — holds the card's buttons / links (typically aligned bottom-right).",
1154
1155
  "slots": [
1155
1156
  {
1156
1157
  "name": "",
@@ -1161,6 +1162,7 @@
1161
1162
  {
1162
1163
  "name": "schmancy-card",
1163
1164
  "path": "./src/card/card.ts",
1165
+ "description": "Material Design card — a surface-level container for grouping related content with media / content / actions slots.",
1164
1166
  "attributes": [
1165
1167
  {
1166
1168
  "name": "type",
@@ -1278,11 +1280,13 @@
1278
1280
  },
1279
1281
  {
1280
1282
  "name": "schmancy-card-content",
1281
- "path": "./src/card/content.ts"
1283
+ "path": "./src/card/content.ts",
1284
+ "description": "Content region of a schmancy-card — holds the card's headline, supporting text, and inline controls."
1282
1285
  },
1283
1286
  {
1284
1287
  "name": "schmancy-card-media",
1285
1288
  "path": "./src/card/media.ts",
1289
+ "description": "Media region of a schmancy-card — the image / thumbnail at the top of the card.",
1286
1290
  "attributes": [
1287
1291
  {
1288
1292
  "name": "src",
@@ -3151,6 +3155,7 @@
3151
3155
  {
3152
3156
  "name": "schmancy-details",
3153
3157
  "path": "./src/details/details.ts",
3158
+ "description": "Expandable disclosure panel — a styled `<details>` / `<summary>` pair with animated expand + overlay options.",
3154
3159
  "attributes": [
3155
3160
  {
3156
3161
  "name": "summary",
@@ -3261,6 +3266,12 @@
3261
3266
  "type": "string",
3262
3267
  "default": "\"all\""
3263
3268
  }
3269
+ ],
3270
+ "events": [
3271
+ {
3272
+ "name": "toggle",
3273
+ "description": "When the open state changes (bubbles from the native `<details>`)."
3274
+ }
3264
3275
  ]
3265
3276
  },
3266
3277
  {
@@ -3410,6 +3421,7 @@
3410
3421
  {
3411
3422
  "name": "schmancy-divider",
3412
3423
  "path": "./src/divider/divider.ts",
3424
+ "description": "Thin horizontal (or vertical) separator rule between sections of content.",
3413
3425
  "attributes": [
3414
3426
  {
3415
3427
  "name": "outline",
@@ -3609,6 +3621,7 @@
3609
3621
  {
3610
3622
  "name": "schmancy-expand-root",
3611
3623
  "path": "./src/expand/expand-root.component.ts",
3624
+ "description": "Container for schmancy-expand children — coordinates mutual-exclusion so only one child is open at a time. Also renders the portal panel that the active child expands into.",
3612
3625
  "attributes": [
3613
3626
  {
3614
3627
  "name": "type",
@@ -3633,6 +3646,7 @@
3633
3646
  {
3634
3647
  "name": "schmancy-expand",
3635
3648
  "path": "./src/expand/expand.component.ts",
3649
+ "description": "Accordion-style section — expands on click, coordinates with siblings via schmancy-expand-root to close any sibling when a new one opens. Only one schmancy-expand can be open at a time within the same root.",
3636
3650
  "attributes": [
3637
3651
  {
3638
3652
  "name": "summary",
@@ -3724,6 +3738,12 @@
3724
3738
  "type": "boolean",
3725
3739
  "default": "false"
3726
3740
  }
3741
+ ],
3742
+ "events": [
3743
+ {
3744
+ "name": "toggle",
3745
+ "description": "When the open state changes."
3746
+ }
3727
3747
  ]
3728
3748
  },
3729
3749
  {
@@ -5973,7 +5993,7 @@
5973
5993
  {
5974
5994
  "name": "schmancy-scroll",
5975
5995
  "path": "./src/layout/scroll/scroll.ts",
5976
- "description": "A custom scrollable container with enhanced features.",
5996
+ "description": "Scrollable container with debounced scroll events, horizontal/vertical direction, optional hidden scrollbar, and programmatic scrollTo via command events or refs.",
5977
5997
  "attributes": [
5978
5998
  {
5979
5999
  "name": "hide",
@@ -8455,7 +8475,7 @@
8455
8475
  {
8456
8476
  "name": "schmancy-page",
8457
8477
  "path": "./src/page/page.ts",
8458
- "description": "Native mobile-like page container.\nPrevents double-tap zoom, pull-to-refresh, rubber-banding.\nAutomatically fills remaining viewport height.",
8478
+ "description": "Mobile-first page container — fills remaining viewport height, suppresses double-tap zoom / pull-to-refresh / rubber-banding. Lays children in a CSS grid whose row template is `rows`.",
8459
8479
  "attributes": [
8460
8480
  {
8461
8481
  "name": "rows",
@@ -9592,7 +9612,7 @@
9592
9612
  {
9593
9613
  "name": "schmancy-surface",
9594
9614
  "path": "./src/surface/surface.ts",
9595
- "description": "`<schmancy-surface>` component\n\nThis component renders a styled container that adapts its dimensions based on the `fill` property.\nIt supports various rounding options, elevation levels, and applies background and text color classes\nbased on the specified surface variant. Additionally, when the `scroller` property is true, the component\nenables internal scrolling by applying overflow and scroll-behavior styles.\n\nSurfaceMixin automatically provides surfaceStyles CSS.",
9615
+ "description": "Themed container the root surface primitive. Sets background, text color, rounding, elevation, and (optionally) internal scroll. Provides a `SchmancySurfaceTypeContext` so descendants can adapt to the enclosing surface variant.",
9596
9616
  "attributes": [
9597
9617
  {
9598
9618
  "name": "type",
@@ -10416,7 +10436,7 @@
10416
10436
  {
10417
10437
  "name": "schmancy-theme",
10418
10438
  "path": "./src/theme/theme.component.ts",
10419
- "description": "SchmancyThemeComponent - Provides theming capabilities for Schmancy components.\n\nThis component manages color schemes, primary colors, and theme distribution\nthroughout the component tree. It can be used at the root level or nested\nto provide different themes to different parts of the application.",
10439
+ "description": "Theme provider generates a Material 3 palette from a seed color, resolves light/dark scheme, and publishes the token set to descendants as CSS custom properties (var(--schmancy-sys-color-…)).",
10420
10440
  "attributes": [
10421
10441
  {
10422
10442
  "name": "color",
@@ -10542,6 +10562,7 @@
10542
10562
  {
10543
10563
  "name": "schmancy-tree",
10544
10564
  "path": "./src/tree/tree.ts",
10565
+ "description": "Expandable tree node — a recursive disclosure widget. One root slot, one default slot for child nodes. Each node can itself contain schmancy-tree children.",
10545
10566
  "attributes": [
10546
10567
  {
10547
10568
  "name": "open",
@@ -31767,10 +31767,18 @@ var qp = {
31767
31767
  kind: "class",
31768
31768
  name: "SchmancyCardAction",
31769
31769
  tagName: "schmancy-card-action",
31770
+ description: "Action row of a schmancy-card — holds the card's buttons / links (typically aligned bottom-right).",
31771
+ summary: "Always nested inside schmancy-card. Holds the primary + secondary CTAs for the card.",
31772
+ platformPrimitive: {
31773
+ tag: "div",
31774
+ mode: "-",
31775
+ note: "Styled flex container. Degrades to a plain div if the tag never registers."
31776
+ },
31770
31777
  slots: [{
31771
31778
  name: "",
31772
31779
  description: "The content of the action"
31773
- }]
31780
+ }],
31781
+ examples: ["<schmancy-card-action>\n <schmancy-button variant=\"text\">Cancel</schmancy-button>\n <schmancy-button variant=\"filled\">Save</schmancy-button>\n</schmancy-card-action>"]
31774
31782
  }]
31775
31783
  },
31776
31784
  {
@@ -31780,6 +31788,13 @@ var qp = {
31780
31788
  kind: "class",
31781
31789
  name: "SchmancyCard",
31782
31790
  tagName: "schmancy-card",
31791
+ description: "Material Design card — a surface-level container for grouping related content with media / content / actions slots.",
31792
+ summary: "Use for discrete pieces of content that appear in a list (a product, a note, a message). Combine with schmancy-card-media / schmancy-card-content / schmancy-card-action children.",
31793
+ platformPrimitive: {
31794
+ tag: "div",
31795
+ mode: "-",
31796
+ note: "Styled `<div>`; becomes an `<a>` when `href` is set so the whole card is a single interactive surface. Degrades to a plain div/a if the tag never registers."
31797
+ },
31783
31798
  attributes: [
31784
31799
  {
31785
31800
  name: "type",
@@ -31832,7 +31847,8 @@ var qp = {
31832
31847
  default: "''",
31833
31848
  description: "ARIA label for accessibility."
31834
31849
  }
31835
- ]
31850
+ ],
31851
+ examples: ["<schmancy-card type=\"elevated\" href=\"/items/42\">\n <schmancy-card-media src=\"/thumb.jpg\" alt=\"Thumbnail\"></schmancy-card-media>\n <schmancy-card-content>\n <h3>Title</h3>\n <p>One-line description of the card's content.</p>\n </schmancy-card-content>\n <schmancy-card-action>\n <schmancy-button variant=\"text\">Open</schmancy-button>\n </schmancy-card-action>\n</schmancy-card>"]
31836
31852
  }]
31837
31853
  },
31838
31854
  {
@@ -31841,7 +31857,15 @@ var qp = {
31841
31857
  declarations: [{
31842
31858
  kind: "class",
31843
31859
  name: "SchmancyCardContent",
31844
- tagName: "schmancy-card-content"
31860
+ tagName: "schmancy-card-content",
31861
+ description: "Content region of a schmancy-card — holds the card's headline, supporting text, and inline controls.",
31862
+ summary: "Always nested inside schmancy-card. The padded content block between the media and action rows.",
31863
+ platformPrimitive: {
31864
+ tag: "div",
31865
+ mode: "-",
31866
+ note: "Styled `<div>` with padding. Degrades to a plain div if the tag never registers."
31867
+ },
31868
+ examples: ["<schmancy-card-content>\n <h3>Card title</h3>\n <p>Supporting text that describes the card's subject.</p>\n</schmancy-card-content>"]
31845
31869
  }]
31846
31870
  },
31847
31871
  {
@@ -31851,6 +31875,13 @@ var qp = {
31851
31875
  kind: "class",
31852
31876
  name: "SchmancyCardMedia",
31853
31877
  tagName: "schmancy-card-media",
31878
+ description: "Media region of a schmancy-card — the image / thumbnail at the top of the card.",
31879
+ summary: "Always nested inside schmancy-card. Pass `src` + `alt` props or slot an `<img>` / `<video>` for custom media.",
31880
+ platformPrimitive: {
31881
+ tag: "img",
31882
+ mode: "-",
31883
+ note: "Renders an `<img>` (or wraps a slotted media element). Degrades to a styled `<img>` if the tag never registers."
31884
+ },
31854
31885
  attributes: [
31855
31886
  {
31856
31887
  name: "src",
@@ -31874,7 +31905,8 @@ var qp = {
31874
31905
  type: { text: "string" },
31875
31906
  default: "''"
31876
31907
  }
31877
- ]
31908
+ ],
31909
+ examples: ["<schmancy-card-media src=\"/thumb.jpg\" alt=\"Product photo\"></schmancy-card-media>"]
31878
31910
  }]
31879
31911
  },
31880
31912
  {
@@ -32755,6 +32787,13 @@ var qp = {
32755
32787
  kind: "class",
32756
32788
  name: "SchmancyDetails",
32757
32789
  tagName: "schmancy-details",
32790
+ description: "Expandable disclosure panel — a styled `<details>` / `<summary>` pair with animated expand + overlay options.",
32791
+ summary: "Use for progressive-disclosure content: FAQs, collapsible settings sections, accordion-style lists. Prefer schmancy-expand for full-page accordions where only one section can be open at a time.",
32792
+ platformPrimitive: {
32793
+ tag: "details",
32794
+ mode: "toggle",
32795
+ note: "Wraps native `<details>`/`<summary>`. Degrades to the native element if the tag never registers — same keyboard accessibility, just no animation."
32796
+ },
32758
32797
  attributes: [
32759
32798
  {
32760
32799
  name: "summary",
@@ -32797,7 +32836,12 @@ var qp = {
32797
32836
  type: { text: "string" },
32798
32837
  default: "'p-3'"
32799
32838
  }
32800
- ]
32839
+ ],
32840
+ events: [{
32841
+ name: "toggle",
32842
+ description: "When the open state changes (bubbles from the native `<details>`)."
32843
+ }],
32844
+ examples: ["<schmancy-details summary=\"Shipping details\">\n <p>Order ships in 2 business days.</p>\n</schmancy-details>"]
32801
32845
  }]
32802
32846
  },
32803
32847
  {
@@ -32908,6 +32952,13 @@ var qp = {
32908
32952
  kind: "class",
32909
32953
  name: "SchmancyDivider",
32910
32954
  tagName: "schmancy-divider",
32955
+ description: "Thin horizontal (or vertical) separator rule between sections of content.",
32956
+ summary: "Semantic separator between groups — list items, menu sections, content blocks. Uses outline theme token.",
32957
+ platformPrimitive: {
32958
+ tag: "hr",
32959
+ mode: "-",
32960
+ note: "Styled horizontal rule. Degrades to a native `<hr>` if the tag never registers."
32961
+ },
32911
32962
  attributes: [
32912
32963
  {
32913
32964
  name: "outline",
@@ -32930,7 +32981,8 @@ var qp = {
32930
32981
  ],
32931
32982
  default: "'start'"
32932
32983
  }
32933
- ]
32984
+ ],
32985
+ examples: ["<schmancy-list-item>First</schmancy-list-item>\n<schmancy-divider></schmancy-divider>\n<schmancy-list-item>Second</schmancy-list-item>"]
32934
32986
  }]
32935
32987
  },
32936
32988
  {
@@ -33042,6 +33094,13 @@ var qp = {
33042
33094
  kind: "class",
33043
33095
  name: "SchmancyExpandRoot",
33044
33096
  tagName: "schmancy-expand-root",
33097
+ description: "Container for schmancy-expand children — coordinates mutual-exclusion so only one child is open at a time. Also renders the portal panel that the active child expands into.",
33098
+ summary: "Always wrap a group of schmancy-expand children. Without a root, each schmancy-expand behaves independently (which is usually not what you want — prefer schmancy-details for that).",
33099
+ platformPrimitive: {
33100
+ tag: "div",
33101
+ mode: "-",
33102
+ note: "Coordinating wrapper. Degrades to a plain div if the tag never registers — children fall back to independent `<details>` behavior."
33103
+ },
33045
33104
  attributes: [{
33046
33105
  name: "type",
33047
33106
  type: { text: "TSurfaceColor" },
@@ -33070,7 +33129,8 @@ var qp = {
33070
33129
  "glassOforim"
33071
33130
  ],
33072
33131
  default: "'solid'"
33073
- }]
33132
+ }],
33133
+ examples: ["<schmancy-expand-root>\n <schmancy-expand summary=\"Step 1\">…</schmancy-expand>\n <schmancy-expand summary=\"Step 2\">…</schmancy-expand>\n</schmancy-expand-root>"]
33074
33134
  }]
33075
33135
  },
33076
33136
  {
@@ -33080,6 +33140,13 @@ var qp = {
33080
33140
  kind: "class",
33081
33141
  name: "SchmancyExpand",
33082
33142
  tagName: "schmancy-expand",
33143
+ description: "Accordion-style section — expands on click, coordinates with siblings via schmancy-expand-root to close any sibling when a new one opens. Only one schmancy-expand can be open at a time within the same root.",
33144
+ summary: "Use for grouped progressive-disclosure where only one section should be open at a time. Prefer schmancy-details when sections should be independent.",
33145
+ platformPrimitive: {
33146
+ tag: "details",
33147
+ mode: "toggle",
33148
+ note: "Schmancy-skinned accordion section. Degrades to `<details>` if the tag never registers — loses mutual-exclusion behavior but stays functional."
33149
+ },
33083
33150
  attributes: [
33084
33151
  {
33085
33152
  name: "summary",
@@ -33121,7 +33188,12 @@ var qp = {
33121
33188
  type: { text: "boolean" },
33122
33189
  default: "false"
33123
33190
  }
33124
- ]
33191
+ ],
33192
+ events: [{
33193
+ name: "toggle",
33194
+ description: "When the open state changes."
33195
+ }],
33196
+ examples: ["<schmancy-expand-root>\n <schmancy-expand summary=\"Billing\">Billing form…</schmancy-expand>\n <schmancy-expand summary=\"Shipping\">Shipping form…</schmancy-expand>\n <schmancy-expand summary=\"Review\">Order review…</schmancy-expand>\n</schmancy-expand-root>"]
33125
33197
  }]
33126
33198
  },
33127
33199
  {
@@ -34682,7 +34754,13 @@ var qp = {
34682
34754
  kind: "class",
34683
34755
  name: "SchmancyPage",
34684
34756
  tagName: "schmancy-page",
34685
- description: "Native mobile-like page container. Prevents double-tap zoom, pull-to-refresh, rubber-banding. Automatically fills remaining viewport height.",
34757
+ description: "Mobile-first page container fills remaining viewport height, suppresses double-tap zoom / pull-to-refresh / rubber-banding. Lays children in a CSS grid whose row template is `rows`.",
34758
+ summary: "The root of any app view — wraps header / main / footer children in a full-viewport grid. Use rows=\"auto_1fr_auto\" to make the middle child scroll while header/footer stay pinned.",
34759
+ platformPrimitive: {
34760
+ tag: "div",
34761
+ mode: "-",
34762
+ note: "Full-height CSS-grid container. Degrades to a plain div if the tag never registers — children still flow vertically but without the height fill and gesture suppression."
34763
+ },
34686
34764
  attributes: [
34687
34765
  {
34688
34766
  name: "rows",
@@ -34701,7 +34779,7 @@ var qp = {
34701
34779
  default: "false"
34702
34780
  }
34703
34781
  ],
34704
- examples: ["html`\n <schmancy-page rows=\"1fr_2fr_auto\">\n <header>App Bar</header>\n <main>Scrollable content</main>\n <footer>Navigation</footer>\n </schmancy-page>\n`"]
34782
+ examples: ["<schmancy-page rows=\"auto_1fr_auto\">\n <schmancy-nav-drawer-appbar>Title</schmancy-nav-drawer-appbar>\n <main>Scrollable content</main>\n <schmancy-navigation-bar></schmancy-navigation-bar>\n</schmancy-page>"]
34705
34783
  }]
34706
34784
  },
34707
34785
  {
@@ -35280,7 +35358,13 @@ var qp = {
35280
35358
  kind: "class",
35281
35359
  name: "SchmancySurface",
35282
35360
  tagName: "schmancy-surface",
35283
- description: "`<schmancy-surface>` component This component renders a styled container that adapts its dimensions based on the `fill` property. It supports various rounding options, elevation levels, and applies background and text color classes based on the specified surface variant. Additionally, when the `scroller` property is true, the component enables internal scrolling by applying overflow and scroll-behavior styles. SurfaceMixin automatically provides surfaceStyles CSS.",
35361
+ description: "Themed container the root surface primitive. Sets background, text color, rounding, elevation, and (optionally) internal scroll. Provides a `SchmancySurfaceTypeContext` so descendants can adapt to the enclosing surface variant.",
35362
+ summary: "Wrap a region of a page when you need it to pick up theme tokens (background + on-color + elevation). Nest surfaces to express Material Design's hierarchical color stacking.",
35363
+ platformPrimitive: {
35364
+ tag: "div",
35365
+ mode: "-",
35366
+ note: "Styled `<div>` with theme-driven background/color/elevation. Degrades to a plain `<div>` if the tag never registers — text stays readable, just loses theming."
35367
+ },
35284
35368
  attributes: [{
35285
35369
  name: "type",
35286
35370
  type: { text: "TSurfaceColor" },
@@ -35712,7 +35796,13 @@ var qp = {
35712
35796
  kind: "class",
35713
35797
  name: "SchmancyThemeComponent",
35714
35798
  tagName: "schmancy-theme",
35715
- description: "SchmancyThemeComponent - Provides theming capabilities for Schmancy components. This component manages color schemes, primary colors, and theme distribution throughout the component tree. It can be used at the root level or nested to provide different themes to different parts of the application.",
35799
+ description: "Theme provider generates a Material 3 palette from a seed color, resolves light/dark scheme, and publishes the token set to descendants as CSS custom properties (var(--schmancy-sys-color-…)).",
35800
+ summary: "Always wrap your app root in a `<schmancy-theme root scheme=\"auto\" color=\"#…\">`. Nest additional `<schmancy-theme>` blocks to override theming for a subtree.",
35801
+ platformPrimitive: {
35802
+ tag: "div",
35803
+ mode: "-",
35804
+ note: "Styled `<div>` that publishes theme tokens via inline `--schmancy-sys-color-*` custom properties. Degrades to a plain div if the tag never registers — children lose theming and fall back to browser defaults."
35805
+ },
35716
35806
  attributes: [
35717
35807
  {
35718
35808
  name: "color",
@@ -35754,7 +35844,7 @@ var qp = {
35754
35844
  description: "Theme configuration object containing all theme variables."
35755
35845
  }
35756
35846
  ],
35757
- examples: ["<!-- Root theme provider -->\n<schmancy-theme color=\"#6200ee\" scheme=\"auto\" root>\n <your-app></your-app>\n</schmancy-theme>\n\n<!-- Nested theme for specific section -->\n<schmancy-theme color=\"#2196f3\" scheme=\"dark\">\n <div class=\"dark-section\">\n <!-- Components here will use blue dark theme -->\n </div>\n</schmancy-theme>"],
35847
+ examples: ["<!-- Root theme provider -->\n<schmancy-theme root scheme=\"auto\" color=\"#6200ee\">\n <your-app></your-app>\n</schmancy-theme>", "<!-- Nested theme for a specific section -->\n<schmancy-theme scheme=\"dark\" color=\"#2196f3\">\n <schmancy-surface fill=\"all\">\n <!-- Components here use the blue dark theme -->\n </schmancy-surface>\n</schmancy-theme>"],
35758
35848
  contexts: [{
35759
35849
  name: "themeContext",
35760
35850
  kind: "provide"
@@ -35799,6 +35889,13 @@ var qp = {
35799
35889
  kind: "class",
35800
35890
  name: "SchmancyTree",
35801
35891
  tagName: "schmancy-tree",
35892
+ description: "Expandable tree node — a recursive disclosure widget. One root slot, one default slot for child nodes. Each node can itself contain schmancy-tree children.",
35893
+ summary: "Use for hierarchical navigation / file-explorer layouts. Each level is a schmancy-tree with a `root` slot (the parent label) and default slot (the children, which may be more schmancy-trees).",
35894
+ platformPrimitive: {
35895
+ tag: "details",
35896
+ mode: "toggle",
35897
+ note: "Recursive `<details>`-like disclosure. Degrades to a plain nested list if the tag never registers — loses expand/collapse but stays navigable."
35898
+ },
35802
35899
  attributes: [{
35803
35900
  name: "open",
35804
35901
  type: { text: "boolean" },
@@ -35811,7 +35908,8 @@ var qp = {
35811
35908
  }, {
35812
35909
  name: "",
35813
35910
  description: "The children of the tree"
35814
- }]
35911
+ }],
35912
+ examples: ["<schmancy-tree>\n <schmancy-list-item slot=\"root\">src/</schmancy-list-item>\n <schmancy-tree>\n <schmancy-list-item slot=\"root\">components/</schmancy-list-item>\n <schmancy-list-item>button.ts</schmancy-list-item>\n </schmancy-tree>\n</schmancy-tree>"]
35815
35913
  }]
35816
35914
  },
35817
35915
  {
@@ -36358,7 +36456,13 @@ var qp = {
36358
36456
  kind: "class",
36359
36457
  name: "SchmancyScroll",
36360
36458
  tagName: "schmancy-scroll",
36361
- description: "A custom scrollable container with enhanced features.",
36459
+ description: "Scrollable container with debounced scroll events, horizontal/vertical direction, optional hidden scrollbar, and programmatic scrollTo via command events or refs.",
36460
+ summary: "Use anywhere you'd reach for `overflow: auto` but also need debounced scroll events (for sticky headers, scroll spies, virtualization triggers) or the ability to drive scroll from elsewhere in the app by dispatching a schmancy-scroll-command event.",
36461
+ platformPrimitive: {
36462
+ tag: "div",
36463
+ mode: "-",
36464
+ note: "Styled scrollable `<div>`. Degrades to a plain scrollable div if the tag never registers — loses the debounced scroll event and the command-bus integration."
36465
+ },
36362
36466
  attributes: [
36363
36467
  {
36364
36468
  name: "hide",