@mhmo91/schmancy 0.5.34 → 0.5.36

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 (383) hide show
  1. package/ai/content-drawer.md +114 -140
  2. package/ai/navigation-bar.md +30 -4
  3. package/ai/navigation-rail.md +72 -0
  4. package/ai/theme.md +218 -789
  5. package/dist/ai/content-drawer.md +114 -140
  6. package/dist/ai/navigation-bar.md +30 -4
  7. package/dist/ai/navigation-rail.md +72 -0
  8. package/dist/ai/theme.md +218 -789
  9. package/dist/{animated-text-COvhr8E3.js → animated-text-BEAHZetl.js} +4 -3
  10. package/dist/{animated-text-COvhr8E3.js.map → animated-text-BEAHZetl.js.map} +1 -1
  11. package/dist/{animated-text-BZUrBdvN.cjs → animated-text-ChV1GUee.cjs} +2 -2
  12. package/dist/{animated-text-BZUrBdvN.cjs.map → animated-text-ChV1GUee.cjs.map} +1 -1
  13. package/dist/animated-text.cjs +1 -1
  14. package/dist/animated-text.js +1 -1
  15. package/dist/area.cjs +1 -1
  16. package/dist/{area.component-BHtBHWVt.js → area.component-R4KQInpP.js} +4 -3
  17. package/dist/{area.component-BHtBHWVt.js.map → area.component-R4KQInpP.js.map} +1 -1
  18. package/dist/area.component-cxxQIhCN.cjs +12 -0
  19. package/dist/{area.component-Ch2Eaa4i.cjs.map → area.component-cxxQIhCN.cjs.map} +1 -1
  20. package/dist/area.js +1 -1
  21. package/dist/{autocomplete-CenwFcT1.cjs → autocomplete-Cq_NzrBX.cjs} +2 -2
  22. package/dist/{autocomplete-CenwFcT1.cjs.map → autocomplete-Cq_NzrBX.cjs.map} +1 -1
  23. package/dist/{autocomplete-9RkU9LmA.js → autocomplete-DKYBmt2q.js} +18 -18
  24. package/dist/{autocomplete-9RkU9LmA.js.map → autocomplete-DKYBmt2q.js.map} +1 -1
  25. package/dist/autocomplete.cjs +1 -1
  26. package/dist/autocomplete.js +1 -1
  27. package/dist/{avatar-DnYQquLU.js → avatar-DJ7qYc6-.js} +163 -152
  28. package/dist/avatar-DJ7qYc6-.js.map +1 -0
  29. package/dist/avatar-DbUCDe1w.cjs +306 -0
  30. package/dist/avatar-DbUCDe1w.cjs.map +1 -0
  31. package/dist/badge.cjs +1 -1
  32. package/dist/badge.js +1 -1
  33. package/dist/boat-BBFE1yJY.js +276 -0
  34. package/dist/boat-BBFE1yJY.js.map +1 -0
  35. package/dist/boat-BSYtwy1W.cjs +78 -0
  36. package/dist/boat-BSYtwy1W.cjs.map +1 -0
  37. package/dist/boat.cjs +1 -1
  38. package/dist/boat.js +1 -1
  39. package/dist/busy.cjs +1 -1
  40. package/dist/busy.js +1 -1
  41. package/dist/button.cjs +1 -1
  42. package/dist/button.js +1 -1
  43. package/dist/card.cjs +1 -1
  44. package/dist/card.js +1 -1
  45. package/dist/{checkbox-8djp_8NK.cjs → checkbox-BBJqucMb.cjs} +2 -2
  46. package/dist/{checkbox-8djp_8NK.cjs.map → checkbox-BBJqucMb.cjs.map} +1 -1
  47. package/dist/{checkbox-D6-WQeEk.js → checkbox-geD1IIHh.js} +3 -2
  48. package/dist/{checkbox-D6-WQeEk.js.map → checkbox-geD1IIHh.js.map} +1 -1
  49. package/dist/checkbox.cjs +1 -1
  50. package/dist/checkbox.js +1 -1
  51. package/dist/chips.cjs +1 -1
  52. package/dist/chips.js +2 -2
  53. package/dist/code-highlight.cjs +1 -1
  54. package/dist/code-highlight.js +1 -1
  55. package/dist/{code-preview-BFoEmN8y.cjs → code-preview-CR3U6wXD.cjs} +5 -5
  56. package/dist/{code-preview-BFoEmN8y.cjs.map → code-preview-CR3U6wXD.cjs.map} +1 -1
  57. package/dist/{code-preview-Z02-2suM.js → code-preview-D2ZpTZ7C.js} +8 -8
  58. package/dist/{code-preview-Z02-2suM.js.map → code-preview-D2ZpTZ7C.js.map} +1 -1
  59. package/dist/components.cjs +1 -1
  60. package/dist/components.js +1 -1
  61. package/dist/content-drawer.cjs +1 -1
  62. package/dist/content-drawer.js +1 -1
  63. package/dist/context-create-CA907mdD.cjs +2 -0
  64. package/dist/context-create-CA907mdD.cjs.map +1 -0
  65. package/dist/{context-object-BE1o2XB3.js → context-create-DCiujzV2.js} +262 -212
  66. package/dist/context-create-DCiujzV2.js.map +1 -0
  67. package/dist/{date-range-DoCtnpW6.cjs → date-range-DkSLcajW.cjs} +2 -2
  68. package/dist/{date-range-DoCtnpW6.cjs.map → date-range-DkSLcajW.cjs.map} +1 -1
  69. package/dist/{date-range-kFnTrnHN.js → date-range-NB6Q02hz.js} +141 -140
  70. package/dist/{date-range-kFnTrnHN.js.map → date-range-NB6Q02hz.js.map} +1 -1
  71. package/dist/date-range-inline-C8InUZoD.cjs +44 -0
  72. package/dist/{date-range-inline-DNr7C5X-.cjs.map → date-range-inline-C8InUZoD.cjs.map} +1 -1
  73. package/dist/{date-range-inline-BXeX6T7R.js → date-range-inline-DXBR0Ocx.js} +8 -7
  74. package/dist/{date-range-inline-BXeX6T7R.js.map → date-range-inline-DXBR0Ocx.js.map} +1 -1
  75. package/dist/date-range-inline.cjs +1 -1
  76. package/dist/date-range-inline.js +1 -1
  77. package/dist/date-range.cjs +1 -1
  78. package/dist/date-range.js +1 -1
  79. package/dist/{delay-CrdOikhP.cjs → delay-B4IPKZEn.cjs} +2 -2
  80. package/dist/{delay-CrdOikhP.cjs.map → delay-B4IPKZEn.cjs.map} +1 -1
  81. package/dist/{delay-Cz-9rZxi.js → delay-DsOC-uuq.js} +2 -2
  82. package/dist/{delay-Cz-9rZxi.js.map → delay-DsOC-uuq.js.map} +1 -1
  83. package/dist/delay.cjs +1 -1
  84. package/dist/delay.js +1 -1
  85. package/dist/{details-CsqhGMjL.cjs → details-7pcQWJF9.cjs} +2 -2
  86. package/dist/{details-CsqhGMjL.cjs.map → details-7pcQWJF9.cjs.map} +1 -1
  87. package/dist/{details-DeBtsJlp.js → details-D6Vq36lN.js} +3 -2
  88. package/dist/{details-DeBtsJlp.js.map → details-D6Vq36lN.js.map} +1 -1
  89. package/dist/details.cjs +1 -1
  90. package/dist/details.js +1 -1
  91. package/dist/{dialog-content-BzSQoM2J.cjs → dialog-content-BC--KBf7.cjs} +2 -2
  92. package/dist/{dialog-content-BzSQoM2J.cjs.map → dialog-content-BC--KBf7.cjs.map} +1 -1
  93. package/dist/{dialog-content-DTKdAF_l.js → dialog-content-XoKxxGTv.js} +4 -4
  94. package/dist/{dialog-content-DTKdAF_l.js.map → dialog-content-XoKxxGTv.js.map} +1 -1
  95. package/dist/dialog.cjs +1 -1
  96. package/dist/dialog.js +1 -1
  97. package/dist/discovery.cjs +2 -0
  98. package/dist/discovery.cjs.map +1 -0
  99. package/dist/discovery.js +6 -0
  100. package/dist/discovery.js.map +1 -0
  101. package/dist/discovery.service-BbYjU5x8.js +21 -0
  102. package/dist/discovery.service-BbYjU5x8.js.map +1 -0
  103. package/dist/discovery.service-BpGCuXPd.cjs +2 -0
  104. package/dist/discovery.service-BpGCuXPd.cjs.map +1 -0
  105. package/dist/divider-55yUklFI.cjs +2 -0
  106. package/dist/{divider-CNxOc8ep.cjs.map → divider-55yUklFI.cjs.map} +1 -1
  107. package/dist/{divider-7iyyEd8k.js → divider-JaB5FtmR.js} +4 -3
  108. package/dist/{divider-7iyyEd8k.js.map → divider-JaB5FtmR.js.map} +1 -1
  109. package/dist/divider.cjs +1 -1
  110. package/dist/divider.js +1 -1
  111. package/dist/{dropdown-content-De0OkNoq.cjs → dropdown-content-C2nxdAFA.cjs} +2 -2
  112. package/dist/{dropdown-content-De0OkNoq.cjs.map → dropdown-content-C2nxdAFA.cjs.map} +1 -1
  113. package/dist/{dropdown-content-_GMpqsNq.js → dropdown-content-Qzt-B1FB.js} +4 -3
  114. package/dist/{dropdown-content-_GMpqsNq.js.map → dropdown-content-Qzt-B1FB.js.map} +1 -1
  115. package/dist/dropdown.cjs +1 -1
  116. package/dist/dropdown.js +1 -1
  117. package/dist/{email-recipients-DS01C3V3.cjs → email-recipients-7reIxhmF.cjs} +2 -2
  118. package/dist/{email-recipients-DS01C3V3.cjs.map → email-recipients-7reIxhmF.cjs.map} +1 -1
  119. package/dist/{email-recipients-CPZlUiRR.js → email-recipients-C3TfQU2c.js} +6 -5
  120. package/dist/{email-recipients-CPZlUiRR.js.map → email-recipients-C3TfQU2c.js.map} +1 -1
  121. package/dist/extra.cjs +1 -1
  122. package/dist/extra.js +1 -1
  123. package/dist/{flex-CHf9Gc5V.cjs → flex-1y7FNRpS.cjs} +2 -2
  124. package/dist/{flex-CHf9Gc5V.cjs.map → flex-1y7FNRpS.cjs.map} +1 -1
  125. package/dist/{flex-BeSoRNTu.js → flex-DauT7n0E.js} +3 -2
  126. package/dist/{flex-BeSoRNTu.js.map → flex-DauT7n0E.js.map} +1 -1
  127. package/dist/{form-DNeKagke.js → form-DqA7DfNR.js} +3 -2
  128. package/dist/{form-DNeKagke.js.map → form-DqA7DfNR.js.map} +1 -1
  129. package/dist/form-Xg8jZsBF.cjs +2 -0
  130. package/dist/{form-DzDksPgv.cjs.map → form-Xg8jZsBF.cjs.map} +1 -1
  131. package/dist/form.cjs +1 -1
  132. package/dist/form.js +1 -1
  133. package/dist/{formField.mixin-D5YAYIS1.cjs → formField.mixin-BnSYnYXQ.cjs} +2 -2
  134. package/dist/{formField.mixin-D5YAYIS1.cjs.map → formField.mixin-BnSYnYXQ.cjs.map} +1 -1
  135. package/dist/{formField.mixin-BNj75WQ4.js → formField.mixin-YvrrvL_A.js} +2 -2
  136. package/dist/{formField.mixin-BNj75WQ4.js.map → formField.mixin-YvrrvL_A.js.map} +1 -1
  137. package/dist/{icon-DebIySqv.cjs → icon-BFYUD00J.cjs} +3 -3
  138. package/dist/{icon-DebIySqv.cjs.map → icon-BFYUD00J.cjs.map} +1 -1
  139. package/dist/{icon-CCMpTJTp.js → icon-BtdeB2JT.js} +9 -9
  140. package/dist/{icon-CCMpTJTp.js.map → icon-BtdeB2JT.js.map} +1 -1
  141. package/dist/{icon-button-DwnnW2oj.cjs → icon-button-B-uxvO86.cjs} +2 -2
  142. package/dist/{icon-button-DwnnW2oj.cjs.map → icon-button-B-uxvO86.cjs.map} +1 -1
  143. package/dist/{icon-button-D6DH52j4.js → icon-button-DwL4WnDE.js} +4 -3
  144. package/dist/{icon-button-D6DH52j4.js.map → icon-button-DwL4WnDE.js.map} +1 -1
  145. package/dist/icons.cjs +1 -1
  146. package/dist/icons.js +1 -1
  147. package/dist/index.cjs +1 -1
  148. package/dist/index.js +187 -182
  149. package/dist/index.js.map +1 -1
  150. package/dist/{input-DtHPCCyd.js → input-CuOmXLVJ.js} +4 -3
  151. package/dist/{input-DtHPCCyd.js.map → input-CuOmXLVJ.js.map} +1 -1
  152. package/dist/input-PoerIsqx.cjs +51 -0
  153. package/dist/{input-C2Vz-51i.cjs.map → input-PoerIsqx.cjs.map} +1 -1
  154. package/dist/{input-chip-B7ANrtLF.cjs → input-chip-BlmZB-cO.cjs} +2 -2
  155. package/dist/{input-chip-B7ANrtLF.cjs.map → input-chip-BlmZB-cO.cjs.map} +1 -1
  156. package/dist/{input-chip-DbIvSyvP.js → input-chip-CcNElytP.js} +2 -2
  157. package/dist/{input-chip-DbIvSyvP.js.map → input-chip-CcNElytP.js.map} +1 -1
  158. package/dist/input.cjs +1 -1
  159. package/dist/input.js +1 -1
  160. package/dist/layout.cjs +1 -1
  161. package/dist/layout.js +1 -1
  162. package/dist/{list-BH8OJ3Rv.cjs → list-BJjW-iAW.cjs} +2 -2
  163. package/dist/{list-BH8OJ3Rv.cjs.map → list-BJjW-iAW.cjs.map} +1 -1
  164. package/dist/{list-BBo0--_Q.js → list-Bou3BRYQ.js} +3 -2
  165. package/dist/{list-BBo0--_Q.js.map → list-Bou3BRYQ.js.map} +1 -1
  166. package/dist/list.cjs +1 -1
  167. package/dist/list.js +1 -1
  168. package/dist/{litElement.mixin-CzF0mNQd.js → litElement.mixin-Bkdw4DeE.js} +2 -2
  169. package/dist/{litElement.mixin-CzF0mNQd.js.map → litElement.mixin-Bkdw4DeE.js.map} +1 -1
  170. package/dist/{litElement.mixin-LplXbzd8.cjs → litElement.mixin-Di-HgRnn.cjs} +2 -2
  171. package/dist/{litElement.mixin-LplXbzd8.cjs.map → litElement.mixin-Di-HgRnn.cjs.map} +1 -1
  172. package/dist/mailbox.cjs +1 -1
  173. package/dist/mailbox.js +1 -1
  174. package/dist/{map-C7lxYU4A.cjs → map-CXNKwo__.cjs} +2 -2
  175. package/dist/{map-C7lxYU4A.cjs.map → map-CXNKwo__.cjs.map} +1 -1
  176. package/dist/{map-DeiCBxMP.js → map-bUVyL7jN.js} +19 -19
  177. package/dist/{map-DeiCBxMP.js.map → map-bUVyL7jN.js.map} +1 -1
  178. package/dist/map.cjs +1 -1
  179. package/dist/map.js +1 -1
  180. package/dist/{media-CsYVcfaX.cjs → media-8D6oDv1e.cjs} +6 -6
  181. package/dist/{media-CsYVcfaX.cjs.map → media-8D6oDv1e.cjs.map} +1 -1
  182. package/dist/{media-CEnaqjig.js → media-CF1lpFAm.js} +9 -8
  183. package/dist/{media-CEnaqjig.js.map → media-CF1lpFAm.js.map} +1 -1
  184. package/dist/{menu-Boqsyfmh.cjs → menu-B8Ad1OVm.cjs} +2 -2
  185. package/dist/{menu-Boqsyfmh.cjs.map → menu-B8Ad1OVm.cjs.map} +1 -1
  186. package/dist/{menu-wtkHGlyc.js → menu-C9mJa_ck.js} +4 -3
  187. package/dist/{menu-wtkHGlyc.js.map → menu-C9mJa_ck.js.map} +1 -1
  188. package/dist/menu.cjs +1 -1
  189. package/dist/menu.js +1 -1
  190. package/dist/mixins/baseElement.ts +33 -1
  191. package/dist/nav-drawer.cjs +1 -1
  192. package/dist/nav-drawer.js +1 -1
  193. package/dist/navigation-bar.cjs +1 -1
  194. package/dist/navigation-bar.js +1 -1
  195. package/dist/{navigation-rail-6ONc-XE-.cjs → navigation-rail-CAgKSJh4.cjs} +14 -11
  196. package/dist/navigation-rail-CAgKSJh4.cjs.map +1 -0
  197. package/dist/{navigation-rail-D-lK9oVd.js → navigation-rail-Dh3B6B0L.js} +43 -31
  198. package/dist/navigation-rail-Dh3B6B0L.js.map +1 -0
  199. package/dist/navigation-rail.cjs +1 -1
  200. package/dist/navigation-rail.js +1 -1
  201. package/dist/{notification-service-ZiGUSd63.js → notification-service-IBQJTcmw.js} +7 -6
  202. package/dist/{notification-service-ZiGUSd63.js.map → notification-service-IBQJTcmw.js.map} +1 -1
  203. package/dist/{notification-service-9HXSKWcw.cjs → notification-service-L82ozhd0.cjs} +2 -2
  204. package/dist/{notification-service-9HXSKWcw.cjs.map → notification-service-L82ozhd0.cjs.map} +1 -1
  205. package/dist/notification.cjs +1 -1
  206. package/dist/notification.js +2 -2
  207. package/dist/{notify-W-NrP0cC.cjs → notify-AIKWEjDG.cjs} +2 -2
  208. package/dist/{notify-W-NrP0cC.cjs.map → notify-AIKWEjDG.cjs.map} +1 -1
  209. package/dist/{notify-DbfX6Z2P.js → notify-CtxRmxjL.js} +2 -2
  210. package/dist/{notify-DbfX6Z2P.js.map → notify-CtxRmxjL.js.map} +1 -1
  211. package/dist/{option-D2bxihLu.cjs → option-D5OW1kDk.cjs} +2 -2
  212. package/dist/{option-D2bxihLu.cjs.map → option-D5OW1kDk.cjs.map} +1 -1
  213. package/dist/{option-BFlWiCu0.js → option-DHGTgRBn.js} +11 -10
  214. package/dist/{option-BFlWiCu0.js.map → option-DHGTgRBn.js.map} +1 -1
  215. package/dist/option.cjs +1 -1
  216. package/dist/option.js +1 -1
  217. package/dist/payment-card-form-CHS_s_Fk.cjs +74 -0
  218. package/dist/{payment-card-form--v94EhJF.cjs.map → payment-card-form-CHS_s_Fk.cjs.map} +1 -1
  219. package/dist/{payment-card-form-DLRNX9NX.js → payment-card-form-wj2JWoyn.js} +4 -3
  220. package/dist/{payment-card-form-DLRNX9NX.js.map → payment-card-form-wj2JWoyn.js.map} +1 -1
  221. package/dist/{progress-CjkD8QBy.cjs → progress-CP4R_l3i.cjs} +2 -2
  222. package/dist/{progress-CjkD8QBy.cjs.map → progress-CP4R_l3i.cjs.map} +1 -1
  223. package/dist/{progress-BYohUvYO.js → progress-ZrDv_k3Z.js} +10 -9
  224. package/dist/{progress-BYohUvYO.js.map → progress-ZrDv_k3Z.js.map} +1 -1
  225. package/dist/progress.cjs +1 -1
  226. package/dist/progress.js +1 -1
  227. package/dist/{radio-button-CGmGOAil.cjs → radio-button-BXP_yPjS.cjs} +2 -2
  228. package/dist/{radio-button-CGmGOAil.cjs.map → radio-button-BXP_yPjS.cjs.map} +1 -1
  229. package/dist/{radio-button-BlxeCjdq.js → radio-button-D0pVoIe-.js} +4 -3
  230. package/dist/{radio-button-BlxeCjdq.js.map → radio-button-D0pVoIe-.js.map} +1 -1
  231. package/dist/radio-group.cjs +1 -1
  232. package/dist/radio-group.js +1 -1
  233. package/dist/{schmancy-steps-container-CydL78yk.cjs → schmancy-steps-container-BSv1aURP.cjs} +2 -2
  234. package/dist/{schmancy-steps-container-CydL78yk.cjs.map → schmancy-steps-container-BSv1aURP.cjs.map} +1 -1
  235. package/dist/{schmancy-steps-container-BtAHCm73.js → schmancy-steps-container-vjioa19k.js} +2 -2
  236. package/dist/{schmancy-steps-container-BtAHCm73.js.map → schmancy-steps-container-vjioa19k.js.map} +1 -1
  237. package/dist/{select-CrB02cIO.cjs → select-DZ-Cy-lg.cjs} +2 -2
  238. package/dist/{select-CrB02cIO.cjs.map → select-DZ-Cy-lg.cjs.map} +1 -1
  239. package/dist/{select-BiN334GN.js → select-SgSe22qC.js} +13 -13
  240. package/dist/{select-BiN334GN.js.map → select-SgSe22qC.js.map} +1 -1
  241. package/dist/select.cjs +1 -1
  242. package/dist/select.js +1 -1
  243. package/dist/selector-hook-BWMY8npH.cjs +2 -0
  244. package/dist/selector-hook-BWMY8npH.cjs.map +1 -0
  245. package/dist/selector-hook-CKeyK4K-.js +313 -0
  246. package/dist/selector-hook-CKeyK4K-.js.map +1 -0
  247. package/dist/{sheet-sgVoRMi1.cjs → sheet-CNMKrulQ.cjs} +2 -2
  248. package/dist/{sheet-sgVoRMi1.cjs.map → sheet-CNMKrulQ.cjs.map} +1 -1
  249. package/dist/{sheet-DpJv4DRi.js → sheet-CevNG0tZ.js} +4 -3
  250. package/dist/{sheet-DpJv4DRi.js.map → sheet-CevNG0tZ.js.map} +1 -1
  251. package/dist/sheet.cjs +1 -1
  252. package/dist/sheet.js +1 -1
  253. package/dist/{slider-Dd1L6oYm.cjs → slider-BSxJatG-.cjs} +4 -4
  254. package/dist/{slider-Dd1L6oYm.cjs.map → slider-BSxJatG-.cjs.map} +1 -1
  255. package/dist/{slider-D7qdxfvX.js → slider-DIRocNv8.js} +9 -9
  256. package/dist/{slider-D7qdxfvX.js.map → slider-DIRocNv8.js.map} +1 -1
  257. package/dist/slider.cjs +1 -1
  258. package/dist/slider.js +1 -1
  259. package/dist/{spinner-CaXU45TV.cjs → spinner-Cx54uto8.cjs} +2 -2
  260. package/dist/{spinner-CaXU45TV.cjs.map → spinner-Cx54uto8.cjs.map} +1 -1
  261. package/dist/{spinner-XN4W5ihQ.js → spinner-DZcG-AtO.js} +3 -2
  262. package/dist/{spinner-XN4W5ihQ.js.map → spinner-DZcG-AtO.js.map} +1 -1
  263. package/dist/steps.cjs +1 -1
  264. package/dist/steps.js +1 -1
  265. package/dist/store.cjs +1 -1
  266. package/dist/store.js +26 -26
  267. package/dist/{suggestion-chip-CdhoATv9.js → suggestion-chip-DADIje6B.js} +3 -3
  268. package/dist/{suggestion-chip-CdhoATv9.js.map → suggestion-chip-DADIje6B.js.map} +1 -1
  269. package/dist/{suggestion-chip-PI24Hc3s.cjs → suggestion-chip-ssmmc0q6.cjs} +2 -2
  270. package/dist/{suggestion-chip-PI24Hc3s.cjs.map → suggestion-chip-ssmmc0q6.cjs.map} +1 -1
  271. package/dist/{surface-CKrYJ58l.js → surface-_cS9Ehk0.js} +2 -2
  272. package/dist/{surface-CKrYJ58l.js.map → surface-_cS9Ehk0.js.map} +1 -1
  273. package/dist/{surface-Ax6I7ldp.cjs → surface-ix9qOb7a.cjs} +2 -2
  274. package/dist/{surface-Ax6I7ldp.cjs.map → surface-ix9qOb7a.cjs.map} +1 -1
  275. package/dist/surface.cjs +1 -1
  276. package/dist/surface.js +1 -1
  277. package/dist/{table-CP6_NkPm.js → table-Bi2ftsJe.js} +2 -2
  278. package/dist/{table-CP6_NkPm.js.map → table-Bi2ftsJe.js.map} +1 -1
  279. package/dist/{table-BlwUyf_4.cjs → table-DSEK3bMb.cjs} +2 -2
  280. package/dist/{table-BlwUyf_4.cjs.map → table-DSEK3bMb.cjs.map} +1 -1
  281. package/dist/table.cjs +1 -1
  282. package/dist/table.js +1 -1
  283. package/dist/{tabs-compatibility-CX0cIu_Y.cjs → tabs-compatibility-BE2Q3rig.cjs} +4 -4
  284. package/dist/{tabs-compatibility-CX0cIu_Y.cjs.map → tabs-compatibility-BE2Q3rig.cjs.map} +1 -1
  285. package/dist/{tabs-compatibility-7QKuXX4i.js → tabs-compatibility-DA3RIq35.js} +7 -6
  286. package/dist/{tabs-compatibility-7QKuXX4i.js.map → tabs-compatibility-DA3RIq35.js.map} +1 -1
  287. package/dist/tabs.cjs +1 -1
  288. package/dist/tabs.js +1 -1
  289. package/dist/tailwind.mixin-CvQn8Ynb.cjs +2 -0
  290. package/dist/tailwind.mixin-CvQn8Ynb.cjs.map +1 -0
  291. package/dist/tailwind.mixin-DGLcZhRp.js +57 -0
  292. package/dist/tailwind.mixin-DGLcZhRp.js.map +1 -0
  293. package/dist/teleport.cjs +1 -1
  294. package/dist/teleport.js +1 -1
  295. package/dist/{textarea-DHrDn-O6.js → textarea-CBb2CzKu.js} +3 -2
  296. package/dist/{textarea-DHrDn-O6.js.map → textarea-CBb2CzKu.js.map} +1 -1
  297. package/dist/textarea-ClgK_mP6.cjs +44 -0
  298. package/dist/{textarea-qLA0vP78.cjs.map → textarea-ClgK_mP6.cjs.map} +1 -1
  299. package/dist/textarea.cjs +1 -1
  300. package/dist/textarea.js +1 -1
  301. package/dist/theme-button-Dhp3ozyB.cjs +9 -0
  302. package/dist/{theme-button-D7fBEUGf.cjs.map → theme-button-Dhp3ozyB.cjs.map} +1 -1
  303. package/dist/{theme-button-BEUsbH5m.js → theme-button-Z_xWXMaf.js} +6 -5
  304. package/dist/{theme-button-BEUsbH5m.js.map → theme-button-Z_xWXMaf.js.map} +1 -1
  305. package/dist/theme-button.cjs +1 -1
  306. package/dist/theme-button.js +1 -1
  307. package/dist/theme.cjs +1 -1
  308. package/dist/{theme.component-ByGua01V.js → theme.controls-BtaZcM7z.js} +367 -238
  309. package/dist/theme.controls-BtaZcM7z.js.map +1 -0
  310. package/dist/theme.controls-C_zAMJgA.cjs +67 -0
  311. package/dist/theme.controls-C_zAMJgA.cjs.map +1 -0
  312. package/dist/theme.js +13 -11
  313. package/dist/{timezone-BpDMR26D.js → timezone-CZ0gCI2P.js} +10 -9
  314. package/dist/{timezone-BpDMR26D.js.map → timezone-CZ0gCI2P.js.map} +1 -1
  315. package/dist/{timezone-Bw4EXBt7.cjs → timezone-DucGbWcE.cjs} +2 -2
  316. package/dist/{timezone-Bw4EXBt7.cjs.map → timezone-DucGbWcE.cjs.map} +1 -1
  317. package/dist/{tooltip-Dhs4HL3A.cjs → tooltip-BSWp7Mmz.cjs} +2 -2
  318. package/dist/{tooltip-Dhs4HL3A.cjs.map → tooltip-BSWp7Mmz.cjs.map} +1 -1
  319. package/dist/{tooltip-B1jynZOH.js → tooltip-BSppSqZM.js} +2 -2
  320. package/dist/{tooltip-B1jynZOH.js.map → tooltip-BSppSqZM.js.map} +1 -1
  321. package/dist/tooltip.cjs +1 -1
  322. package/dist/tooltip.js +1 -1
  323. package/dist/{tree-D-ezei_U.cjs → tree-DL71EUih.cjs} +4 -4
  324. package/dist/{tree-D-ezei_U.cjs.map → tree-DL71EUih.cjs.map} +1 -1
  325. package/dist/{tree-BH1qCJ_U.js → tree-dEse6eMH.js} +3 -2
  326. package/dist/{tree-BH1qCJ_U.js.map → tree-dEse6eMH.js.map} +1 -1
  327. package/dist/tree.cjs +1 -1
  328. package/dist/tree.js +1 -1
  329. package/dist/typewriter-B1Au4MRO.cjs +9 -0
  330. package/dist/{typewriter-CtPh4Pyj.cjs.map → typewriter-B1Au4MRO.cjs.map} +1 -1
  331. package/dist/{typewriter-DQbpNPtY.js → typewriter-DBvUYzpl.js} +5 -4
  332. package/dist/{typewriter-DQbpNPtY.js.map → typewriter-DBvUYzpl.js.map} +1 -1
  333. package/dist/typewriter.cjs +1 -1
  334. package/dist/typewriter.js +1 -1
  335. package/dist/{typography-BrIaOYmC.cjs → typography-3gXQvLXN.cjs} +2 -2
  336. package/dist/{typography-BrIaOYmC.cjs.map → typography-3gXQvLXN.cjs.map} +1 -1
  337. package/dist/{typography-D71cmr0R.js → typography-iOtjgSkI.js} +2 -2
  338. package/dist/{typography-D71cmr0R.js.map → typography-iOtjgSkI.js.map} +1 -1
  339. package/dist/typography.cjs +1 -1
  340. package/dist/typography.js +1 -1
  341. package/package.json +1 -1
  342. package/types/mixins/baseElement.d.ts +2 -1
  343. package/types/src/boat/boat.d.ts +10 -5
  344. package/types/src/discovery/discovery.service.d.ts +17 -0
  345. package/types/src/discovery/index.d.ts +1 -0
  346. package/types/src/index.d.ts +1 -0
  347. package/types/src/navigation-bar/navigation-bar.d.ts +19 -2
  348. package/types/src/navigation-rail/navigation-rail.d.ts +13 -0
  349. package/types/src/theme/index.d.ts +1 -0
  350. package/types/src/theme/theme.controls.d.ts +27 -0
  351. package/types/src/theme/theme.service.d.ts +58 -2
  352. package/dist/area.component-Ch2Eaa4i.cjs +0 -12
  353. package/dist/avatar-DZMY4ePP.cjs +0 -303
  354. package/dist/avatar-DZMY4ePP.cjs.map +0 -1
  355. package/dist/avatar-DnYQquLU.js.map +0 -1
  356. package/dist/boat-CUsJXaLf.js +0 -240
  357. package/dist/boat-CUsJXaLf.js.map +0 -1
  358. package/dist/boat-Dfx9-P8c.cjs +0 -83
  359. package/dist/boat-Dfx9-P8c.cjs.map +0 -1
  360. package/dist/context-object-BE1o2XB3.js.map +0 -1
  361. package/dist/context-object-DA9DM9QJ.cjs +0 -2
  362. package/dist/context-object-DA9DM9QJ.cjs.map +0 -1
  363. package/dist/date-range-inline-DNr7C5X-.cjs +0 -44
  364. package/dist/divider-CNxOc8ep.cjs +0 -2
  365. package/dist/form-DzDksPgv.cjs +0 -2
  366. package/dist/input-C2Vz-51i.cjs +0 -51
  367. package/dist/navigation-rail-6ONc-XE-.cjs.map +0 -1
  368. package/dist/navigation-rail-D-lK9oVd.js.map +0 -1
  369. package/dist/payment-card-form--v94EhJF.cjs +0 -74
  370. package/dist/selector-hook-DOsvFxG2.js +0 -364
  371. package/dist/selector-hook-DOsvFxG2.js.map +0 -1
  372. package/dist/selector-hook-DQ9zoDM4.cjs +0 -2
  373. package/dist/selector-hook-DQ9zoDM4.cjs.map +0 -1
  374. package/dist/tailwind.mixin-BjDGMGbj.js +0 -43
  375. package/dist/tailwind.mixin-BjDGMGbj.js.map +0 -1
  376. package/dist/tailwind.mixin-ClfV2_Nh.cjs +0 -2
  377. package/dist/tailwind.mixin-ClfV2_Nh.cjs.map +0 -1
  378. package/dist/textarea-qLA0vP78.cjs +0 -44
  379. package/dist/theme-button-D7fBEUGf.cjs +0 -9
  380. package/dist/theme.component-ByGua01V.js.map +0 -1
  381. package/dist/theme.component-CQ1trrZB.cjs +0 -3
  382. package/dist/theme.component-CQ1trrZB.cjs.map +0 -1
  383. package/dist/typewriter-CtPh4Pyj.cjs +0 -9
@@ -1,55 +1,73 @@
1
1
  # Content Drawer
2
2
 
3
- Sliding panel system for navigation, overlays, and responsive layouts.
3
+ Responsive sliding panel that automatically switches between push and overlay modes based on screen size.
4
+
5
+ ## Overview
6
+
7
+ The content drawer provides a responsive panel system that adapts to different screen sizes:
8
+ - **Large screens**: Panel pushes content aside (push mode)
9
+ - **Small screens**: Panel overlays content (overlay mode)
10
+ - **Automatic switching**: Responds to screen width changes
4
11
 
5
12
  ## Components
6
13
 
7
14
  ```js
8
- // Main container that manages drawer behavior
15
+ // Main container that manages responsive behavior
9
16
  <schmancy-content-drawer
10
- ?open="${boolean}" // Controls drawer visibility
11
- position="left|right|top|bottom" // Drawer position (default: left)
12
- variant="standard|modal|persistent" // Behavior type
13
- breakpoint="1024px" // Responsive breakpoint
14
- ?backdrop="${boolean}" // Show backdrop when open
17
+ ?open="${boolean}" // Controls drawer visibility (auto-managed)
18
+ .minWidth="${{main: 360, sheet: 576}}" // Min widths for main and sheet
15
19
  >
16
- <schmancy-content-drawer-main>
17
- // Main content that shifts when drawer opens
20
+ <schmancy-content-drawer-main
21
+ minWidth="${number}" // Minimum width for main content (default: 360px)
22
+ >
23
+ // Main content area
18
24
  </schmancy-content-drawer-main>
19
-
25
+
20
26
  <schmancy-content-drawer-sheet
21
- width="256px" // Width for left/right drawers
22
- height="auto" // Height for top/bottom drawers
23
- offset="0" // Offset for nested drawers
27
+ minWidth="${number}" // Minimum width for sheet (default: 576px)
24
28
  >
25
- // Drawer content
29
+ <section slot="placeholder">
30
+ // Optional placeholder content when sheet is empty
31
+ </section>
26
32
  </schmancy-content-drawer-sheet>
27
33
  </schmancy-content-drawer>
28
34
  ```
29
35
 
36
+ ## Responsive Behavior
37
+
38
+ The drawer automatically switches between modes based on viewport width:
39
+ - **Push mode**: When `viewport >= main.minWidth + sheet.minWidth`
40
+ - Sheet panel appears inline beside main content
41
+ - Content is pushed to make room for the sheet
42
+ - Sheet remains visible
43
+ - **Overlay mode**: When `viewport < main.minWidth + sheet.minWidth`
44
+ - Sheet overlays on top of main content
45
+ - Opens/closes via the service API
46
+ - Shows as a modal sheet
47
+
30
48
  ## Service API
31
49
 
32
50
  ```js
33
51
  import { schmancyContentDrawer } from '@schmancy/content-drawer'
34
52
 
35
- // NEW: Push API - Renders component with automatic re-rendering support
53
+ // Push API - Recommended for dynamic content rendering
36
54
  schmancyContentDrawer.push(component)
37
55
  // component can be:
38
- // - string: 'demo-button' (tag name)
39
- // - HTMLElement: new DemoButton()
40
- // - Factory: () => new DemoButton()
41
- // - Async: () => import('./button').then(m => new m.default())
56
+ // - string: 'demo-button' (HTML tag name)
57
+ // - HTMLElement: new DemoButton() (component instance)
58
+ // - Factory: () => new DemoButton() (factory function)
59
+ // - Async: async () => import('./button').then(m => new m.default())
42
60
 
43
- // Legacy render API (backward compatible)
61
+ // Legacy render API (for backward compatibility)
44
62
  schmancyContentDrawer.render(ref, component, title?)
45
63
 
46
- // Dismiss drawer
64
+ // Dismiss drawer (note: method has typo in implementation)
47
65
  schmancyContentDrawer.dimiss(ref)
48
66
  ```
49
67
 
50
68
  ### Push API Features
51
69
 
52
- The `push` API solves the re-rendering issue when the same component instance is pushed with updated properties:
70
+ The `push` API automatically handles re-rendering when the same component instance is pushed with updated properties:
53
71
 
54
72
  ```js
55
73
  // Create a component instance
@@ -61,23 +79,50 @@ schmancyContentDrawer.push(myComponent)
61
79
 
62
80
  // Later, update properties and push again
63
81
  myComponent.variant = 'outlined'
64
- schmancyContentDrawer.push(myComponent) // Automatically detects same instance and forces re-render
82
+ schmancyContentDrawer.push(myComponent) // Automatically re-renders with new properties
65
83
  ```
66
84
 
67
85
  ## Examples
68
86
 
69
- ### 1. Using Push API for Dynamic Content
87
+ ### 1. Basic Responsive Drawer
88
+
89
+ ```html
90
+ <schmancy-content-drawer>
91
+ <schmancy-content-drawer-main>
92
+ <schmancy-list class="p-0">
93
+ <schmancy-list-item @click=${() => {
94
+ schmancyContentDrawer.push('demo-button')
95
+ }}>
96
+ Show Button Demo
97
+ </schmancy-list-item>
98
+ <schmancy-list-item @click=${() => {
99
+ schmancyContentDrawer.push(new TypographyDemo())
100
+ }}>
101
+ Show Typography Demo
102
+ </schmancy-list-item>
103
+ </schmancy-list>
104
+ </schmancy-content-drawer-main>
105
+
106
+ <schmancy-content-drawer-sheet class="px-4">
107
+ <section slot="placeholder">
108
+ <schmancy-typography>Select an item to view</schmancy-typography>
109
+ </section>
110
+ </schmancy-content-drawer-sheet>
111
+ </schmancy-content-drawer>
112
+ ```
113
+
114
+ ### 2. Using Different Push API Patterns
70
115
 
71
116
  ```js
72
- // Simple string component
73
- schmancyContentDrawer.push('demo-typography')
117
+ // String tag name
118
+ schmancyContentDrawer.push('demo-button')
74
119
 
75
- // Component instance with properties
120
+ // Component instance
76
121
  const button = new DemoButton()
77
122
  button.variant = 'filled'
78
123
  schmancyContentDrawer.push(button)
79
124
 
80
- // Factory function for custom setup
125
+ // Factory function with custom setup
81
126
  schmancyContentDrawer.push(() => {
82
127
  const comp = new MyComponent()
83
128
  comp.setAttribute('theme', 'dark')
@@ -91,134 +136,63 @@ schmancyContentDrawer.push(async () => {
91
136
  })
92
137
  ```
93
138
 
94
- ### 2. Basic Navigation Drawer
95
- ```html
96
- <schmancy-content-drawer ?open="${drawerOpen}">
97
- <schmancy-content-drawer-main>
98
- <button @click="${() => drawerOpen = !drawerOpen}">Menu</button>
99
- <main>App content</main>
100
- </schmancy-content-drawer-main>
101
-
102
- <schmancy-content-drawer-sheet width="280px">
103
- <nav>
104
- <a href="/home">Home</a>
105
- <a href="/about">About</a>
106
- </nav>
107
- </schmancy-content-drawer-sheet>
108
- </schmancy-content-drawer>
109
- ```
139
+ ### 3. Configuring Minimum Widths
110
140
 
111
- ### 2. Bottom Sheet
112
141
  ```html
113
- <schmancy-content-drawer
114
- ?open="${sheetOpen}"
115
- position="bottom"
116
- @drawer-closed="${() => sheetOpen = false}"
117
- >
118
- <schmancy-content-drawer-main>
119
- <button @click="${() => sheetOpen = true}">Show Options</button>
142
+ <schmancy-content-drawer>
143
+ <!-- Main content requires at least 400px -->
144
+ <schmancy-content-drawer-main minWidth="400">
145
+ <div>Main application content</div>
120
146
  </schmancy-content-drawer-main>
121
-
122
- <schmancy-content-drawer-sheet height="auto" max-height="50vh">
123
- <div class="sheet-handle"></div>
124
- <h3>Select Option</h3>
125
- <schmancy-list>
126
- <schmancy-list-item>Option 1</schmancy-list-item>
127
- <schmancy-list-item>Option 2</schmancy-list-item>
128
- </schmancy-list>
147
+
148
+ <!-- Sheet requires at least 600px -->
149
+ <schmancy-content-drawer-sheet minWidth="600">
150
+ <div>Detail panel content</div>
129
151
  </schmancy-content-drawer-sheet>
130
152
  </schmancy-content-drawer>
131
153
  ```
132
154
 
133
- ### 3. Persistent Sidebar
134
- ```js
135
- // Responsive persistent drawer
136
- const drawer = contentDrawerContext.create('sidebar')
155
+ ## Integration with Schmancy Systems
137
156
 
138
- // Auto-persist on large screens
139
- const mediaQuery = window.matchMedia('(min-width: 1024px)')
140
- drawer.setPersistent(mediaQuery.matches)
141
- mediaQuery.addEventListener('change', e => drawer.setPersistent(e.matches))
142
- ```
157
+ The content drawer integrates with:
158
+ - **Area router**: In push mode, uses `schmancy-area` for content routing
159
+ - **Sheet system**: In overlay mode, uses the schmancy sheet for modal presentation
160
+ - **Grid system**: Uses `schmancy-grid` for responsive layout
143
161
 
144
- ```html
145
- <schmancy-content-drawer
146
- .context="${drawer}"
147
- variant="persistent"
148
- breakpoint="1024px"
149
- >
150
- <schmancy-content-drawer-main>
151
- <schmancy-app-bar>
152
- <schmancy-icon-button
153
- icon="menu"
154
- @click="${() => drawer.toggle()}"
155
- ></schmancy-icon-button>
156
- </schmancy-app-bar>
157
- <main>Dashboard content</main>
158
- </schmancy-content-drawer-main>
159
-
160
- <schmancy-content-drawer-sheet width="240px">
161
- <aside>Sidebar content</aside>
162
- </schmancy-content-drawer-sheet>
163
- </schmancy-content-drawer>
164
- ```
162
+ ## CSS Styling
163
+
164
+ The component uses standard Tailwind classes for styling:
165
+ - Main container uses `overflow-scroll` for scrollable content
166
+ - Sheet positioning handled automatically based on mode
167
+ - Animations use Web Animations API (500ms duration)
165
168
 
166
- ### 4. Nested Drawers
169
+ ## Common Patterns
170
+
171
+ **Master-Detail View**: List of items in main, details in sheet
167
172
  ```js
168
- const mainDrawer = contentDrawerContext.create('main')
169
- const subDrawer = contentDrawerContext.create('sub')
173
+ // In main area - list of items
174
+ <schmancy-list-item @click=${() => {
175
+ schmancyContentDrawer.push(new ItemDetail(item))
176
+ }}>
177
+ ${item.name}
178
+ </schmancy-list-item>
170
179
  ```
171
180
 
172
- ```html
173
- <schmancy-content-drawer .context="${mainDrawer}">
174
- <schmancy-content-drawer-main>
175
- <!-- Nested drawer container -->
176
- <schmancy-content-drawer .context="${subDrawer}">
177
- <schmancy-content-drawer-main>
178
- <button @click="${() => mainDrawer.open()}">Menu</button>
179
- </schmancy-content-drawer-main>
180
-
181
- <!-- Sub drawer -->
182
- <schmancy-content-drawer-sheet width="280px" offset="240px">
183
- <button @click="${() => subDrawer.close()}">Back</button>
184
- <div>Sub menu content</div>
185
- </schmancy-content-drawer-sheet>
186
- </schmancy-content-drawer>
187
- </schmancy-content-drawer-main>
188
-
189
- <!-- Main drawer -->
190
- <schmancy-content-drawer-sheet width="240px">
191
- <button @click="${() => subDrawer.open()}">Open Submenu</button>
192
- <div>Main menu content</div>
193
- </schmancy-content-drawer-sheet>
194
- </schmancy-content-drawer>
181
+ **Settings Panel**: Configuration options in the sheet
182
+ ```js
183
+ // Push settings component
184
+ schmancyContentDrawer.push(new SettingsPanel())
195
185
  ```
196
186
 
197
- ## CSS Variables
198
-
199
- ```css
200
- schmancy-content-drawer {
201
- --drawer-width: 256px;
202
- --drawer-background: var(--md-sys-color-surface);
203
- --drawer-shadow: 0 8px 10px -5px rgba(0,0,0,0.2);
204
- --drawer-transition-duration: 250ms;
205
- --drawer-transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
206
- --backdrop-color: rgba(0, 0, 0, 0.5);
207
- --drawer-z-index: 200;
208
- }
187
+ **Navigation Drawer**: Navigation links in main, content in sheet
188
+ ```js
189
+ // Navigation item clicks update sheet content
190
+ schmancyContentDrawer.push(() => import(`./pages/${page}`))
209
191
  ```
210
192
 
211
193
  ## Related Components
212
194
 
213
- - [Sheet](./sheet.md) - Simpler sheet component for modals
214
- - [Navigation Drawer](./nav-drawer.md) - Specialized navigation component
215
- - [Dialog](./dialog.md) - Modal dialogs
216
- - [Layout](./layout.md) - Layout utilities
217
-
218
- ## Common Patterns
219
-
220
- **Command Palette**: Top drawer with search input
221
- **Help Panel**: Right drawer with contextual help
222
- **Mobile Menu**: Left drawer for navigation
223
- **Action Sheet**: Bottom drawer for mobile actions
224
- **Settings Panel**: Persistent right drawer
195
+ - [Sheet](./sheet.md) - Modal sheet component used in overlay mode
196
+ - [Area](./area.md) - Routing system used in push mode
197
+ - [Grid](./grid.md) - Layout system for responsive design
198
+ - [List](./list.md) - List component for navigation items
@@ -33,6 +33,22 @@ The `<schmancy-navigation-bar>` component is a Material Design 3 compliant horiz
33
33
  </schmancy-navigation-bar>
34
34
  ```
35
35
 
36
+ ### Fullscreen Mode Support
37
+ The navigation bar automatically hides in fullscreen mode when triggered via the theme service:
38
+
39
+ ```javascript
40
+ import { schmancyTheme } from '@schmancy/theme';
41
+
42
+ // Enter fullscreen mode (hides navigation bar)
43
+ schmancyTheme.next({ fullscreen: true });
44
+
45
+ // Exit fullscreen mode (shows navigation bar)
46
+ schmancyTheme.next({ fullscreen: false });
47
+
48
+ // Toggle fullscreen mode
49
+ schmancyTheme.toggleFullscreen();
50
+ ```
51
+
36
52
  ## Properties
37
53
 
38
54
  | Property | Type | Default | Description |
@@ -42,6 +58,7 @@ The `<schmancy-navigation-bar>` component is a Material Design 3 compliant horiz
42
58
  | `elevation` | `number` | `2` | Elevation level for the navigation bar (0-5) |
43
59
  | `hideOnScroll` | `boolean` | `false` | Automatically hide bar when scrolling down, show when scrolling up |
44
60
 
61
+
45
62
  ## Events
46
63
 
47
64
  ### navigation-change
@@ -55,6 +72,7 @@ navigationBar.addEventListener('navigation-change', (event) => {
55
72
  });
56
73
  ```
57
74
 
75
+
58
76
  ## Features
59
77
 
60
78
  ### Reactive State Management
@@ -68,6 +86,15 @@ When `hideOnScroll` is enabled:
68
86
  - Implements a 10px scroll threshold to prevent jittery behavior
69
87
  - Always visible when near the top of the page
70
88
 
89
+ ### Visibility Control
90
+ The navigation bar provides comprehensive visibility control:
91
+ - **Manual Control**: Use `hide()`, `show()`, or `toggleVisibility()` methods
92
+ - **Fullscreen Support**: Hide the navigation bar for immersive experiences
93
+ - **Event-driven**: Listen to `visibility-change` events to react to visibility changes
94
+ - **Smooth Transitions**: All visibility changes use smooth animations (300ms cubic-bezier)
95
+ - **ARIA Compliance**: Automatically updates `aria-hidden` attribute
96
+ - **Independent Controls**: `hidden` property works independently of scroll-based hiding
97
+
71
98
  ### Keyboard Navigation
72
99
  Full keyboard support for accessibility:
73
100
  - `ArrowLeft` / `ArrowRight` - Navigate between items
@@ -156,8 +183,7 @@ class MyApp extends LitElement {
156
183
 
157
184
  ## Performance Notes
158
185
 
159
- - Uses RxJS for efficient event handling
160
- - Scroll events are throttled at 100ms intervals
186
+ - Efficient event handling with automatic cleanup
187
+ - Scroll events are throttled at 100ms intervals to prevent performance issues
161
188
  - CSS transforms for smooth GPU-accelerated animations
162
- - Debounced navigation events (300ms) prevent accidental double-clicks
163
- - Lazy subscription setup for scroll listeners
189
+ - Lazy subscription setup for scroll listeners only when needed
@@ -266,6 +266,23 @@ Navigation rail items use the Schmancy design token system and do not expose cus
266
266
  </schmancy-navigation-rail>
267
267
  ```
268
268
 
269
+ ### Fullscreen Mode Support
270
+
271
+ The navigation rail automatically hides in fullscreen mode when triggered via the theme service:
272
+
273
+ ```typescript
274
+ import { schmancyTheme } from '@schmancy/theme';
275
+
276
+ // Enter fullscreen mode (hides navigation rail)
277
+ schmancyTheme.next({ fullscreen: true });
278
+
279
+ // Exit fullscreen mode (shows navigation rail)
280
+ schmancyTheme.next({ fullscreen: false });
281
+
282
+ // Toggle fullscreen mode
283
+ schmancyTheme.toggleFullscreen();
284
+ ```
285
+
269
286
  ### Programmatic Control
270
287
 
271
288
  ```typescript
@@ -363,6 +380,61 @@ class MyApp extends LitElement {
363
380
  </script>
364
381
  ```
365
382
 
383
+ ### With Fullscreen Mode Support
384
+
385
+ ```typescript
386
+ import { LitElement, html } from 'lit'
387
+ import { customElement, state } from 'lit/decorators.js'
388
+
389
+ @customElement('my-app')
390
+ class MyApp extends LitElement {
391
+ @state() private fullScreen = false
392
+
393
+ handleFullscreenToggle() {
394
+ this.fullScreen = !this.fullScreen
395
+ }
396
+
397
+ handleVisibilityChange(e: CustomEvent) {
398
+ console.log(`Navigation rail is ${e.detail.hidden ? 'hidden' : 'visible'}`)
399
+ }
400
+
401
+ render() {
402
+ return html`
403
+ <schmancy-nav-drawer .fullscreen=${this.fullScreen}>
404
+ <!-- Navigation rail hides automatically in fullscreen mode -->
405
+ <schmancy-navigation-rail
406
+ .hidden=${this.fullScreen}
407
+ activeIndex="0"
408
+ @visibility-change=${this.handleVisibilityChange}
409
+ >
410
+ <schmancy-navigation-rail-item
411
+ icon="home"
412
+ label="Home"
413
+ ></schmancy-navigation-rail-item>
414
+
415
+ <schmancy-navigation-rail-item
416
+ icon="search"
417
+ label="Search"
418
+ ></schmancy-navigation-rail-item>
419
+
420
+ <schmancy-navigation-rail-item
421
+ icon="settings"
422
+ label="Settings"
423
+ ></schmancy-navigation-rail-item>
424
+ </schmancy-navigation-rail>
425
+
426
+ <main>
427
+ <button @click=${this.handleFullscreenToggle}>
428
+ ${this.fullScreen ? 'Exit Fullscreen' : 'Enter Fullscreen'}
429
+ </button>
430
+ <!-- Main content here -->
431
+ </main>
432
+ </schmancy-nav-drawer>
433
+ `
434
+ }
435
+ }
436
+ ```
437
+
366
438
  ### With Router Integration
367
439
 
368
440
  ```typescript