@mhmo91/schmancy 0.5.35 → 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.
- package/ai/content-drawer.md +114 -140
- package/ai/navigation-bar.md +30 -4
- package/ai/navigation-rail.md +72 -0
- package/ai/theme.md +218 -789
- package/dist/ai/content-drawer.md +114 -140
- package/dist/ai/navigation-bar.md +30 -4
- package/dist/ai/navigation-rail.md +72 -0
- package/dist/ai/theme.md +218 -789
- package/dist/{animated-text-COvhr8E3.js → animated-text-BEAHZetl.js} +4 -3
- package/dist/{animated-text-COvhr8E3.js.map → animated-text-BEAHZetl.js.map} +1 -1
- package/dist/{animated-text-BZUrBdvN.cjs → animated-text-ChV1GUee.cjs} +2 -2
- package/dist/{animated-text-BZUrBdvN.cjs.map → animated-text-ChV1GUee.cjs.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-BHtBHWVt.js → area.component-R4KQInpP.js} +4 -3
- package/dist/{area.component-BHtBHWVt.js.map → area.component-R4KQInpP.js.map} +1 -1
- package/dist/area.component-cxxQIhCN.cjs +12 -0
- package/dist/{area.component-Ch2Eaa4i.cjs.map → area.component-cxxQIhCN.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-CenwFcT1.cjs → autocomplete-Cq_NzrBX.cjs} +2 -2
- package/dist/{autocomplete-CenwFcT1.cjs.map → autocomplete-Cq_NzrBX.cjs.map} +1 -1
- package/dist/{autocomplete-9RkU9LmA.js → autocomplete-DKYBmt2q.js} +18 -18
- package/dist/{autocomplete-9RkU9LmA.js.map → autocomplete-DKYBmt2q.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-CjjwZDsw.js → avatar-DJ7qYc6-.js} +144 -134
- package/dist/avatar-DJ7qYc6-.js.map +1 -0
- package/dist/avatar-DbUCDe1w.cjs +306 -0
- package/dist/avatar-DbUCDe1w.cjs.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/boat-BBFE1yJY.js +276 -0
- package/dist/boat-BBFE1yJY.js.map +1 -0
- package/dist/boat-BSYtwy1W.cjs +78 -0
- package/dist/boat-BSYtwy1W.cjs.map +1 -0
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-8djp_8NK.cjs → checkbox-BBJqucMb.cjs} +2 -2
- package/dist/{checkbox-8djp_8NK.cjs.map → checkbox-BBJqucMb.cjs.map} +1 -1
- package/dist/{checkbox-D6-WQeEk.js → checkbox-geD1IIHh.js} +3 -2
- package/dist/{checkbox-D6-WQeEk.js.map → checkbox-geD1IIHh.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-BFoEmN8y.cjs → code-preview-CR3U6wXD.cjs} +5 -5
- package/dist/{code-preview-BFoEmN8y.cjs.map → code-preview-CR3U6wXD.cjs.map} +1 -1
- package/dist/{code-preview-Z02-2suM.js → code-preview-D2ZpTZ7C.js} +8 -8
- package/dist/{code-preview-Z02-2suM.js.map → code-preview-D2ZpTZ7C.js.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/context-create-CA907mdD.cjs +2 -0
- package/dist/context-create-CA907mdD.cjs.map +1 -0
- package/dist/{context-object-BE1o2XB3.js → context-create-DCiujzV2.js} +262 -212
- package/dist/context-create-DCiujzV2.js.map +1 -0
- package/dist/{date-range-DoCtnpW6.cjs → date-range-DkSLcajW.cjs} +2 -2
- package/dist/{date-range-DoCtnpW6.cjs.map → date-range-DkSLcajW.cjs.map} +1 -1
- package/dist/{date-range-kFnTrnHN.js → date-range-NB6Q02hz.js} +141 -140
- package/dist/{date-range-kFnTrnHN.js.map → date-range-NB6Q02hz.js.map} +1 -1
- package/dist/date-range-inline-C8InUZoD.cjs +44 -0
- package/dist/{date-range-inline-DNr7C5X-.cjs.map → date-range-inline-C8InUZoD.cjs.map} +1 -1
- package/dist/{date-range-inline-BXeX6T7R.js → date-range-inline-DXBR0Ocx.js} +8 -7
- package/dist/{date-range-inline-BXeX6T7R.js.map → date-range-inline-DXBR0Ocx.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-CrdOikhP.cjs → delay-B4IPKZEn.cjs} +2 -2
- package/dist/{delay-CrdOikhP.cjs.map → delay-B4IPKZEn.cjs.map} +1 -1
- package/dist/{delay-Cz-9rZxi.js → delay-DsOC-uuq.js} +2 -2
- package/dist/{delay-Cz-9rZxi.js.map → delay-DsOC-uuq.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-CsqhGMjL.cjs → details-7pcQWJF9.cjs} +2 -2
- package/dist/{details-CsqhGMjL.cjs.map → details-7pcQWJF9.cjs.map} +1 -1
- package/dist/{details-DeBtsJlp.js → details-D6Vq36lN.js} +3 -2
- package/dist/{details-DeBtsJlp.js.map → details-D6Vq36lN.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-BzSQoM2J.cjs → dialog-content-BC--KBf7.cjs} +2 -2
- package/dist/{dialog-content-BzSQoM2J.cjs.map → dialog-content-BC--KBf7.cjs.map} +1 -1
- package/dist/{dialog-content-DTKdAF_l.js → dialog-content-XoKxxGTv.js} +4 -4
- package/dist/{dialog-content-DTKdAF_l.js.map → dialog-content-XoKxxGTv.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/discovery.cjs +2 -0
- package/dist/discovery.cjs.map +1 -0
- package/dist/discovery.js +6 -0
- package/dist/discovery.js.map +1 -0
- package/dist/discovery.service-BbYjU5x8.js +21 -0
- package/dist/discovery.service-BbYjU5x8.js.map +1 -0
- package/dist/discovery.service-BpGCuXPd.cjs +2 -0
- package/dist/discovery.service-BpGCuXPd.cjs.map +1 -0
- package/dist/divider-55yUklFI.cjs +2 -0
- package/dist/{divider-CNxOc8ep.cjs.map → divider-55yUklFI.cjs.map} +1 -1
- package/dist/{divider-7iyyEd8k.js → divider-JaB5FtmR.js} +4 -3
- package/dist/{divider-7iyyEd8k.js.map → divider-JaB5FtmR.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-De0OkNoq.cjs → dropdown-content-C2nxdAFA.cjs} +2 -2
- package/dist/{dropdown-content-De0OkNoq.cjs.map → dropdown-content-C2nxdAFA.cjs.map} +1 -1
- package/dist/{dropdown-content-_GMpqsNq.js → dropdown-content-Qzt-B1FB.js} +4 -3
- package/dist/{dropdown-content-_GMpqsNq.js.map → dropdown-content-Qzt-B1FB.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-DS01C3V3.cjs → email-recipients-7reIxhmF.cjs} +2 -2
- package/dist/{email-recipients-DS01C3V3.cjs.map → email-recipients-7reIxhmF.cjs.map} +1 -1
- package/dist/{email-recipients-CPZlUiRR.js → email-recipients-C3TfQU2c.js} +6 -5
- package/dist/{email-recipients-CPZlUiRR.js.map → email-recipients-C3TfQU2c.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-CHf9Gc5V.cjs → flex-1y7FNRpS.cjs} +2 -2
- package/dist/{flex-CHf9Gc5V.cjs.map → flex-1y7FNRpS.cjs.map} +1 -1
- package/dist/{flex-BeSoRNTu.js → flex-DauT7n0E.js} +3 -2
- package/dist/{flex-BeSoRNTu.js.map → flex-DauT7n0E.js.map} +1 -1
- package/dist/{form-DNeKagke.js → form-DqA7DfNR.js} +3 -2
- package/dist/{form-DNeKagke.js.map → form-DqA7DfNR.js.map} +1 -1
- package/dist/form-Xg8jZsBF.cjs +2 -0
- package/dist/{form-DzDksPgv.cjs.map → form-Xg8jZsBF.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-D5YAYIS1.cjs → formField.mixin-BnSYnYXQ.cjs} +2 -2
- package/dist/{formField.mixin-D5YAYIS1.cjs.map → formField.mixin-BnSYnYXQ.cjs.map} +1 -1
- package/dist/{formField.mixin-BNj75WQ4.js → formField.mixin-YvrrvL_A.js} +2 -2
- package/dist/{formField.mixin-BNj75WQ4.js.map → formField.mixin-YvrrvL_A.js.map} +1 -1
- package/dist/{icon-DebIySqv.cjs → icon-BFYUD00J.cjs} +3 -3
- package/dist/{icon-DebIySqv.cjs.map → icon-BFYUD00J.cjs.map} +1 -1
- package/dist/{icon-CCMpTJTp.js → icon-BtdeB2JT.js} +9 -9
- package/dist/{icon-CCMpTJTp.js.map → icon-BtdeB2JT.js.map} +1 -1
- package/dist/{icon-button-DwnnW2oj.cjs → icon-button-B-uxvO86.cjs} +2 -2
- package/dist/{icon-button-DwnnW2oj.cjs.map → icon-button-B-uxvO86.cjs.map} +1 -1
- package/dist/{icon-button-D6DH52j4.js → icon-button-DwL4WnDE.js} +4 -3
- package/dist/{icon-button-D6DH52j4.js.map → icon-button-DwL4WnDE.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +187 -182
- package/dist/index.js.map +1 -1
- package/dist/{input-DtHPCCyd.js → input-CuOmXLVJ.js} +4 -3
- package/dist/{input-DtHPCCyd.js.map → input-CuOmXLVJ.js.map} +1 -1
- package/dist/input-PoerIsqx.cjs +51 -0
- package/dist/{input-C2Vz-51i.cjs.map → input-PoerIsqx.cjs.map} +1 -1
- package/dist/{input-chip-B7ANrtLF.cjs → input-chip-BlmZB-cO.cjs} +2 -2
- package/dist/{input-chip-B7ANrtLF.cjs.map → input-chip-BlmZB-cO.cjs.map} +1 -1
- package/dist/{input-chip-DbIvSyvP.js → input-chip-CcNElytP.js} +2 -2
- package/dist/{input-chip-DbIvSyvP.js.map → input-chip-CcNElytP.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-BH8OJ3Rv.cjs → list-BJjW-iAW.cjs} +2 -2
- package/dist/{list-BH8OJ3Rv.cjs.map → list-BJjW-iAW.cjs.map} +1 -1
- package/dist/{list-BBo0--_Q.js → list-Bou3BRYQ.js} +3 -2
- package/dist/{list-BBo0--_Q.js.map → list-Bou3BRYQ.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-CzF0mNQd.js → litElement.mixin-Bkdw4DeE.js} +2 -2
- package/dist/{litElement.mixin-CzF0mNQd.js.map → litElement.mixin-Bkdw4DeE.js.map} +1 -1
- package/dist/{litElement.mixin-LplXbzd8.cjs → litElement.mixin-Di-HgRnn.cjs} +2 -2
- package/dist/{litElement.mixin-LplXbzd8.cjs.map → litElement.mixin-Di-HgRnn.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-C7lxYU4A.cjs → map-CXNKwo__.cjs} +2 -2
- package/dist/{map-C7lxYU4A.cjs.map → map-CXNKwo__.cjs.map} +1 -1
- package/dist/{map-DeiCBxMP.js → map-bUVyL7jN.js} +19 -19
- package/dist/{map-DeiCBxMP.js.map → map-bUVyL7jN.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-CsYVcfaX.cjs → media-8D6oDv1e.cjs} +6 -6
- package/dist/{media-CsYVcfaX.cjs.map → media-8D6oDv1e.cjs.map} +1 -1
- package/dist/{media-CEnaqjig.js → media-CF1lpFAm.js} +9 -8
- package/dist/{media-CEnaqjig.js.map → media-CF1lpFAm.js.map} +1 -1
- package/dist/{menu-Boqsyfmh.cjs → menu-B8Ad1OVm.cjs} +2 -2
- package/dist/{menu-Boqsyfmh.cjs.map → menu-B8Ad1OVm.cjs.map} +1 -1
- package/dist/{menu-wtkHGlyc.js → menu-C9mJa_ck.js} +4 -3
- package/dist/{menu-wtkHGlyc.js.map → menu-C9mJa_ck.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins/baseElement.ts +33 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{navigation-rail-6ONc-XE-.cjs → navigation-rail-CAgKSJh4.cjs} +14 -11
- package/dist/navigation-rail-CAgKSJh4.cjs.map +1 -0
- package/dist/{navigation-rail-D-lK9oVd.js → navigation-rail-Dh3B6B0L.js} +43 -31
- package/dist/navigation-rail-Dh3B6B0L.js.map +1 -0
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-ZiGUSd63.js → notification-service-IBQJTcmw.js} +7 -6
- package/dist/{notification-service-ZiGUSd63.js.map → notification-service-IBQJTcmw.js.map} +1 -1
- package/dist/{notification-service-9HXSKWcw.cjs → notification-service-L82ozhd0.cjs} +2 -2
- package/dist/{notification-service-9HXSKWcw.cjs.map → notification-service-L82ozhd0.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-W-NrP0cC.cjs → notify-AIKWEjDG.cjs} +2 -2
- package/dist/{notify-W-NrP0cC.cjs.map → notify-AIKWEjDG.cjs.map} +1 -1
- package/dist/{notify-DbfX6Z2P.js → notify-CtxRmxjL.js} +2 -2
- package/dist/{notify-DbfX6Z2P.js.map → notify-CtxRmxjL.js.map} +1 -1
- package/dist/{option-D2bxihLu.cjs → option-D5OW1kDk.cjs} +2 -2
- package/dist/{option-D2bxihLu.cjs.map → option-D5OW1kDk.cjs.map} +1 -1
- package/dist/{option-BFlWiCu0.js → option-DHGTgRBn.js} +11 -10
- package/dist/{option-BFlWiCu0.js.map → option-DHGTgRBn.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/payment-card-form-CHS_s_Fk.cjs +74 -0
- package/dist/{payment-card-form--v94EhJF.cjs.map → payment-card-form-CHS_s_Fk.cjs.map} +1 -1
- package/dist/{payment-card-form-DLRNX9NX.js → payment-card-form-wj2JWoyn.js} +4 -3
- package/dist/{payment-card-form-DLRNX9NX.js.map → payment-card-form-wj2JWoyn.js.map} +1 -1
- package/dist/{progress-CjkD8QBy.cjs → progress-CP4R_l3i.cjs} +2 -2
- package/dist/{progress-CjkD8QBy.cjs.map → progress-CP4R_l3i.cjs.map} +1 -1
- package/dist/{progress-BYohUvYO.js → progress-ZrDv_k3Z.js} +10 -9
- package/dist/{progress-BYohUvYO.js.map → progress-ZrDv_k3Z.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-CGmGOAil.cjs → radio-button-BXP_yPjS.cjs} +2 -2
- package/dist/{radio-button-CGmGOAil.cjs.map → radio-button-BXP_yPjS.cjs.map} +1 -1
- package/dist/{radio-button-BlxeCjdq.js → radio-button-D0pVoIe-.js} +4 -3
- package/dist/{radio-button-BlxeCjdq.js.map → radio-button-D0pVoIe-.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-CydL78yk.cjs → schmancy-steps-container-BSv1aURP.cjs} +2 -2
- package/dist/{schmancy-steps-container-CydL78yk.cjs.map → schmancy-steps-container-BSv1aURP.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-BtAHCm73.js → schmancy-steps-container-vjioa19k.js} +2 -2
- package/dist/{schmancy-steps-container-BtAHCm73.js.map → schmancy-steps-container-vjioa19k.js.map} +1 -1
- package/dist/{select-CrB02cIO.cjs → select-DZ-Cy-lg.cjs} +2 -2
- package/dist/{select-CrB02cIO.cjs.map → select-DZ-Cy-lg.cjs.map} +1 -1
- package/dist/{select-BiN334GN.js → select-SgSe22qC.js} +13 -13
- package/dist/{select-BiN334GN.js.map → select-SgSe22qC.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/selector-hook-BWMY8npH.cjs +2 -0
- package/dist/selector-hook-BWMY8npH.cjs.map +1 -0
- package/dist/selector-hook-CKeyK4K-.js +313 -0
- package/dist/selector-hook-CKeyK4K-.js.map +1 -0
- package/dist/{sheet-sgVoRMi1.cjs → sheet-CNMKrulQ.cjs} +2 -2
- package/dist/{sheet-sgVoRMi1.cjs.map → sheet-CNMKrulQ.cjs.map} +1 -1
- package/dist/{sheet-DpJv4DRi.js → sheet-CevNG0tZ.js} +4 -3
- package/dist/{sheet-DpJv4DRi.js.map → sheet-CevNG0tZ.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-Dd1L6oYm.cjs → slider-BSxJatG-.cjs} +4 -4
- package/dist/{slider-Dd1L6oYm.cjs.map → slider-BSxJatG-.cjs.map} +1 -1
- package/dist/{slider-D7qdxfvX.js → slider-DIRocNv8.js} +9 -9
- package/dist/{slider-D7qdxfvX.js.map → slider-DIRocNv8.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CaXU45TV.cjs → spinner-Cx54uto8.cjs} +2 -2
- package/dist/{spinner-CaXU45TV.cjs.map → spinner-Cx54uto8.cjs.map} +1 -1
- package/dist/{spinner-XN4W5ihQ.js → spinner-DZcG-AtO.js} +3 -2
- package/dist/{spinner-XN4W5ihQ.js.map → spinner-DZcG-AtO.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/store.cjs +1 -1
- package/dist/store.js +26 -26
- package/dist/{suggestion-chip-CdhoATv9.js → suggestion-chip-DADIje6B.js} +3 -3
- package/dist/{suggestion-chip-CdhoATv9.js.map → suggestion-chip-DADIje6B.js.map} +1 -1
- package/dist/{suggestion-chip-PI24Hc3s.cjs → suggestion-chip-ssmmc0q6.cjs} +2 -2
- package/dist/{suggestion-chip-PI24Hc3s.cjs.map → suggestion-chip-ssmmc0q6.cjs.map} +1 -1
- package/dist/{surface-CKrYJ58l.js → surface-_cS9Ehk0.js} +2 -2
- package/dist/{surface-CKrYJ58l.js.map → surface-_cS9Ehk0.js.map} +1 -1
- package/dist/{surface-Ax6I7ldp.cjs → surface-ix9qOb7a.cjs} +2 -2
- package/dist/{surface-Ax6I7ldp.cjs.map → surface-ix9qOb7a.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CP6_NkPm.js → table-Bi2ftsJe.js} +2 -2
- package/dist/{table-CP6_NkPm.js.map → table-Bi2ftsJe.js.map} +1 -1
- package/dist/{table-BlwUyf_4.cjs → table-DSEK3bMb.cjs} +2 -2
- package/dist/{table-BlwUyf_4.cjs.map → table-DSEK3bMb.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-CX0cIu_Y.cjs → tabs-compatibility-BE2Q3rig.cjs} +4 -4
- package/dist/{tabs-compatibility-CX0cIu_Y.cjs.map → tabs-compatibility-BE2Q3rig.cjs.map} +1 -1
- package/dist/{tabs-compatibility-7QKuXX4i.js → tabs-compatibility-DA3RIq35.js} +7 -6
- package/dist/{tabs-compatibility-7QKuXX4i.js.map → tabs-compatibility-DA3RIq35.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-CvQn8Ynb.cjs +2 -0
- package/dist/tailwind.mixin-CvQn8Ynb.cjs.map +1 -0
- package/dist/tailwind.mixin-DGLcZhRp.js +57 -0
- package/dist/tailwind.mixin-DGLcZhRp.js.map +1 -0
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DHrDn-O6.js → textarea-CBb2CzKu.js} +3 -2
- package/dist/{textarea-DHrDn-O6.js.map → textarea-CBb2CzKu.js.map} +1 -1
- package/dist/textarea-ClgK_mP6.cjs +44 -0
- package/dist/{textarea-qLA0vP78.cjs.map → textarea-ClgK_mP6.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/theme-button-Dhp3ozyB.cjs +9 -0
- package/dist/{theme-button-D7fBEUGf.cjs.map → theme-button-Dhp3ozyB.cjs.map} +1 -1
- package/dist/{theme-button-BEUsbH5m.js → theme-button-Z_xWXMaf.js} +6 -5
- package/dist/{theme-button-BEUsbH5m.js.map → theme-button-Z_xWXMaf.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.component-ByGua01V.js → theme.controls-BtaZcM7z.js} +367 -238
- package/dist/theme.controls-BtaZcM7z.js.map +1 -0
- package/dist/theme.controls-C_zAMJgA.cjs +67 -0
- package/dist/theme.controls-C_zAMJgA.cjs.map +1 -0
- package/dist/theme.js +13 -11
- package/dist/{timezone-BpDMR26D.js → timezone-CZ0gCI2P.js} +10 -9
- package/dist/{timezone-BpDMR26D.js.map → timezone-CZ0gCI2P.js.map} +1 -1
- package/dist/{timezone-Bw4EXBt7.cjs → timezone-DucGbWcE.cjs} +2 -2
- package/dist/{timezone-Bw4EXBt7.cjs.map → timezone-DucGbWcE.cjs.map} +1 -1
- package/dist/{tooltip-Dhs4HL3A.cjs → tooltip-BSWp7Mmz.cjs} +2 -2
- package/dist/{tooltip-Dhs4HL3A.cjs.map → tooltip-BSWp7Mmz.cjs.map} +1 -1
- package/dist/{tooltip-B1jynZOH.js → tooltip-BSppSqZM.js} +2 -2
- package/dist/{tooltip-B1jynZOH.js.map → tooltip-BSppSqZM.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-D-ezei_U.cjs → tree-DL71EUih.cjs} +4 -4
- package/dist/{tree-D-ezei_U.cjs.map → tree-DL71EUih.cjs.map} +1 -1
- package/dist/{tree-BH1qCJ_U.js → tree-dEse6eMH.js} +3 -2
- package/dist/{tree-BH1qCJ_U.js.map → tree-dEse6eMH.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/typewriter-B1Au4MRO.cjs +9 -0
- package/dist/{typewriter-CtPh4Pyj.cjs.map → typewriter-B1Au4MRO.cjs.map} +1 -1
- package/dist/{typewriter-DQbpNPtY.js → typewriter-DBvUYzpl.js} +5 -4
- package/dist/{typewriter-DQbpNPtY.js.map → typewriter-DBvUYzpl.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-BrIaOYmC.cjs → typography-3gXQvLXN.cjs} +2 -2
- package/dist/{typography-BrIaOYmC.cjs.map → typography-3gXQvLXN.cjs.map} +1 -1
- package/dist/{typography-D71cmr0R.js → typography-iOtjgSkI.js} +2 -2
- package/dist/{typography-D71cmr0R.js.map → typography-iOtjgSkI.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/mixins/baseElement.d.ts +2 -1
- package/types/src/boat/boat.d.ts +10 -5
- package/types/src/discovery/discovery.service.d.ts +17 -0
- package/types/src/discovery/index.d.ts +1 -0
- package/types/src/index.d.ts +1 -0
- package/types/src/navigation-bar/navigation-bar.d.ts +15 -1
- package/types/src/navigation-rail/navigation-rail.d.ts +13 -0
- package/types/src/theme/index.d.ts +1 -0
- package/types/src/theme/theme.controls.d.ts +27 -0
- package/types/src/theme/theme.service.d.ts +58 -2
- package/dist/area.component-Ch2Eaa4i.cjs +0 -12
- package/dist/avatar-CjjwZDsw.js.map +0 -1
- package/dist/avatar-DlhBTIc8.cjs +0 -303
- package/dist/avatar-DlhBTIc8.cjs.map +0 -1
- package/dist/boat-CUsJXaLf.js +0 -240
- package/dist/boat-CUsJXaLf.js.map +0 -1
- package/dist/boat-Dfx9-P8c.cjs +0 -83
- package/dist/boat-Dfx9-P8c.cjs.map +0 -1
- package/dist/context-object-BE1o2XB3.js.map +0 -1
- package/dist/context-object-DA9DM9QJ.cjs +0 -2
- package/dist/context-object-DA9DM9QJ.cjs.map +0 -1
- package/dist/date-range-inline-DNr7C5X-.cjs +0 -44
- package/dist/divider-CNxOc8ep.cjs +0 -2
- package/dist/form-DzDksPgv.cjs +0 -2
- package/dist/input-C2Vz-51i.cjs +0 -51
- package/dist/navigation-rail-6ONc-XE-.cjs.map +0 -1
- package/dist/navigation-rail-D-lK9oVd.js.map +0 -1
- package/dist/payment-card-form--v94EhJF.cjs +0 -74
- package/dist/selector-hook-DOsvFxG2.js +0 -364
- package/dist/selector-hook-DOsvFxG2.js.map +0 -1
- package/dist/selector-hook-DQ9zoDM4.cjs +0 -2
- package/dist/selector-hook-DQ9zoDM4.cjs.map +0 -1
- package/dist/tailwind.mixin-BjDGMGbj.js +0 -43
- package/dist/tailwind.mixin-BjDGMGbj.js.map +0 -1
- package/dist/tailwind.mixin-ClfV2_Nh.cjs +0 -2
- package/dist/tailwind.mixin-ClfV2_Nh.cjs.map +0 -1
- package/dist/textarea-qLA0vP78.cjs +0 -44
- package/dist/theme-button-D7fBEUGf.cjs +0 -9
- package/dist/theme.component-ByGua01V.js.map +0 -1
- package/dist/theme.component-CQ1trrZB.cjs +0 -3
- package/dist/theme.component-CQ1trrZB.cjs.map +0 -1
- package/dist/typewriter-CtPh4Pyj.cjs +0 -9
package/ai/content-drawer.md
CHANGED
|
@@ -1,55 +1,73 @@
|
|
|
1
1
|
# Content Drawer
|
|
2
2
|
|
|
3
|
-
|
|
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
|
|
15
|
+
// Main container that manages responsive behavior
|
|
9
16
|
<schmancy-content-drawer
|
|
10
|
-
?open="${boolean}" // Controls drawer visibility
|
|
11
|
-
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
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
|
|
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
|
|
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
|
|
82
|
+
schmancyContentDrawer.push(myComponent) // Automatically re-renders with new properties
|
|
65
83
|
```
|
|
66
84
|
|
|
67
85
|
## Examples
|
|
68
86
|
|
|
69
|
-
### 1.
|
|
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
|
-
//
|
|
73
|
-
schmancyContentDrawer.push('demo-
|
|
117
|
+
// String tag name
|
|
118
|
+
schmancyContentDrawer.push('demo-button')
|
|
74
119
|
|
|
75
|
-
// Component instance
|
|
120
|
+
// Component instance
|
|
76
121
|
const button = new DemoButton()
|
|
77
122
|
button.variant = 'filled'
|
|
78
123
|
schmancyContentDrawer.push(button)
|
|
79
124
|
|
|
80
|
-
// Factory function
|
|
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
|
-
###
|
|
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
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
|
|
123
|
-
|
|
124
|
-
<
|
|
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
|
-
|
|
134
|
-
```js
|
|
135
|
-
// Responsive persistent drawer
|
|
136
|
-
const drawer = contentDrawerContext.create('sidebar')
|
|
155
|
+
## Integration with Schmancy Systems
|
|
137
156
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
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
|
-
|
|
169
|
+
## Common Patterns
|
|
170
|
+
|
|
171
|
+
**Master-Detail View**: List of items in main, details in sheet
|
|
167
172
|
```js
|
|
168
|
-
|
|
169
|
-
|
|
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
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
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) -
|
|
214
|
-
- [
|
|
215
|
-
- [
|
|
216
|
-
- [
|
|
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
|
package/ai/navigation-bar.md
CHANGED
|
@@ -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
|
-
-
|
|
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
|
-
-
|
|
163
|
-
- Lazy subscription setup for scroll listeners
|
|
189
|
+
- Lazy subscription setup for scroll listeners only when needed
|
package/ai/navigation-rail.md
CHANGED
|
@@ -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
|