@mhmo91/schmancy 0.2.194 → 0.2.196
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/animated-text.md +114 -0
- package/ai/area.md +158 -78
- package/ai/card.md +162 -131
- package/ai/circular-progress.md +91 -0
- package/ai/content-drawer.md +190 -0
- package/ai/date-range.md +142 -0
- package/ai/delay.md +158 -0
- package/ai/dialog.md +10 -0
- package/ai/divider.md +153 -0
- package/ai/index.md +43 -3
- package/ai/nav-drawer.md +206 -0
- package/ai/option.md +173 -0
- package/ai/slider.md +227 -0
- package/ai/steps.md +231 -0
- package/ai/surface.md +139 -200
- package/ai/table.md +99 -1
- package/ai/teleport.md +196 -0
- package/ai/theme-button.md +173 -0
- package/ai/theme.md +241 -0
- package/ai/typewriter.md +217 -0
- package/dist/_headers +2 -0
- package/dist/ai/animated-text.md +114 -0
- package/dist/ai/area.md +158 -78
- package/dist/ai/card.md +162 -131
- package/dist/ai/circular-progress.md +91 -0
- package/dist/ai/content-drawer.md +190 -0
- package/dist/ai/date-range.md +142 -0
- package/dist/ai/delay.md +158 -0
- package/dist/ai/dialog.md +10 -0
- package/dist/ai/divider.md +153 -0
- package/dist/ai/index.md +43 -3
- package/dist/ai/nav-drawer.md +206 -0
- package/dist/ai/option.md +173 -0
- package/dist/ai/slider.md +227 -0
- package/dist/ai/steps.md +231 -0
- package/dist/ai/surface.md +139 -200
- package/dist/ai/table.md +99 -1
- package/dist/ai/teleport.md +196 -0
- package/dist/ai/theme-button.md +173 -0
- package/dist/ai/theme.md +241 -0
- package/dist/ai/typewriter.md +217 -0
- package/dist/{animated-text-9AM64DHd.cjs → animated-text-DnX2TopW.cjs} +2 -2
- package/dist/{animated-text-9AM64DHd.cjs.map → animated-text-DnX2TopW.cjs.map} +1 -1
- package/dist/{animated-text-CVStWn5N.js → animated-text-jv1yAwLh.js} +3 -3
- package/dist/{animated-text-CVStWn5N.js.map → animated-text-jv1yAwLh.js.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-DMD20wqd.js +191 -0
- package/dist/area.component-DMD20wqd.js.map +1 -0
- package/dist/area.component-Vs2WGXgk.cjs +8 -0
- package/dist/area.component-Vs2WGXgk.cjs.map +1 -0
- package/dist/area.js +21 -6
- package/dist/area.js.map +1 -1
- package/dist/{autocomplete-DBXvIJgc.cjs → autocomplete-BrAxEJJq.cjs} +2 -2
- package/dist/{autocomplete-DBXvIJgc.cjs.map → autocomplete-BrAxEJJq.cjs.map} +1 -1
- package/dist/{autocomplete-ih92pPkb.js → autocomplete-OS61ngsy.js} +3 -3
- package/dist/{autocomplete-ih92pPkb.js.map → autocomplete-OS61ngsy.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-Bmg5TXj9.cjs → avatar-CEdv8DJY.cjs} +62 -24
- package/dist/avatar-CEdv8DJY.cjs.map +1 -0
- package/dist/{avatar-CgP1tBZq.js → avatar-CUHTDenQ.js} +183 -145
- package/dist/avatar-CUHTDenQ.js.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.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-Jxxbjxp0.js → checkbox-CVXRiSWP.js} +72 -65
- package/dist/{checkbox-Jxxbjxp0.js.map → checkbox-CVXRiSWP.js.map} +1 -1
- package/dist/{checkbox-DtnX5sT6.cjs → checkbox-Chd-COYm.cjs} +10 -10
- package/dist/{checkbox-DtnX5sT6.cjs.map → checkbox-Chd-COYm.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CVDnpVUM.cjs → chips-Bx9gSvN1.cjs} +2 -2
- package/dist/{chips-CVDnpVUM.cjs.map → chips-Bx9gSvN1.cjs.map} +1 -1
- package/dist/{chips-lP7ohQep.js → chips-Dx_erk55.js} +3 -3
- package/dist/{chips-lP7ohQep.js.map → chips-Dx_erk55.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/circular-progress-BQnGvbss.js +35 -0
- package/dist/circular-progress-BQnGvbss.js.map +1 -0
- package/dist/circular-progress-CNBah5dz.cjs +9 -0
- package/dist/circular-progress-CNBah5dz.cjs.map +1 -0
- package/dist/circular-progress.cjs +2 -0
- package/dist/circular-progress.cjs.map +1 -0
- package/dist/circular-progress.js +5 -0
- package/dist/circular-progress.js.map +1 -0
- 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/{date-range-DbPA5Y-t.cjs → date-range-Cq0diVSY.cjs} +4 -3
- package/dist/{date-range-DbPA5Y-t.cjs.map → date-range-Cq0diVSY.cjs.map} +1 -1
- package/dist/{date-range-Ca9WLI4Q.js → date-range-wxdt6Ha0.js} +5 -4
- package/dist/date-range-wxdt6Ha0.js.map +1 -0
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-BgNgQV2G.cjs → delay-BzkhDhs0.cjs} +2 -2
- package/dist/{delay-BgNgQV2G.cjs.map → delay-BzkhDhs0.cjs.map} +1 -1
- package/dist/{delay-5cCl7ji3.js → delay-Ds5suSsc.js} +2 -2
- package/dist/{delay-5cCl7ji3.js.map → delay-Ds5suSsc.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{dialog-content-qj1E8aye.cjs → dialog-content-CJY69qfC.cjs} +8 -8
- package/dist/dialog-content-CJY69qfC.cjs.map +1 -0
- package/dist/{dialog-content-9pumpyLD.js → dialog-content-DFJnYzff.js} +86 -82
- package/dist/dialog-content-DFJnYzff.js.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-r8-9eNnl.js → divider-C3w1_-N1.js} +3 -3
- package/dist/{divider-r8-9eNnl.js.map → divider-C3w1_-N1.js.map} +1 -1
- package/dist/{divider-CHckHGEQ.cjs → divider-CFzbCFsr.cjs} +2 -2
- package/dist/{divider-CHckHGEQ.cjs.map → divider-CFzbCFsr.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-D-TddflQ.js → dropdown-content-BGFYBXcx.js} +3 -3
- package/dist/{dropdown-content-D-TddflQ.js.map → dropdown-content-BGFYBXcx.js.map} +1 -1
- package/dist/{dropdown-content-B41MDDRG.cjs → dropdown-content-PaMOJphI.cjs} +2 -2
- package/dist/{dropdown-content-B41MDDRG.cjs.map → dropdown-content-PaMOJphI.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-Bf0zNqji.js → flex-Cy4Stl_1.js} +2 -2
- package/dist/{flex-Bf0zNqji.js.map → flex-Cy4Stl_1.js.map} +1 -1
- package/dist/{flex-CFv-Zb76.cjs → flex-DP5O5644.cjs} +2 -2
- package/dist/{flex-CFv-Zb76.cjs.map → flex-DP5O5644.cjs.map} +1 -1
- package/dist/{form-uYcr1RLJ.js → form-BQamcLFL.js} +2 -2
- package/dist/{form-uYcr1RLJ.js.map → form-BQamcLFL.js.map} +1 -1
- package/dist/{form-BN75s0PI.cjs → form-CG3kns69.cjs} +2 -2
- package/dist/{form-BN75s0PI.cjs.map → form-CG3kns69.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-BR-jE0Y2.js → icon-Cd4p9jRB.js} +3 -3
- package/dist/{icon-BR-jE0Y2.js.map → icon-Cd4p9jRB.js.map} +1 -1
- package/dist/{icon-Cu-imayV.cjs → icon-CilwMTXB.cjs} +2 -2
- package/dist/{icon-Cu-imayV.cjs.map → icon-CilwMTXB.cjs.map} +1 -1
- package/dist/{icon-button-1tZaicyb.js → icon-button-By17is4V.js} +3 -3
- package/dist/{icon-button-1tZaicyb.js.map → icon-button-By17is4V.js.map} +1 -1
- package/dist/{icon-button-D0BbHnDL.cjs → icon-button-C4Hf63hY.cjs} +2 -2
- package/dist/{icon-button-D0BbHnDL.cjs.map → icon-button-C4Hf63hY.cjs.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 +190 -173
- package/dist/index.js.map +1 -1
- package/dist/{input-B2oV6Hck.cjs → input-BIi0rS2t.cjs} +2 -2
- package/dist/{input-B2oV6Hck.cjs.map → input-BIi0rS2t.cjs.map} +1 -1
- package/dist/{input-kiz5O3dY.js → input-C8OAokVe.js} +2 -2
- package/dist/{input-kiz5O3dY.js.map → input-C8OAokVe.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-wT4DLXCh.js → list-BC3OE3Pu.js} +2 -2
- package/dist/{list-wT4DLXCh.js.map → list-BC3OE3Pu.js.map} +1 -1
- package/dist/{list-CMHoPfX9.cjs → list-jFsCubuy.cjs} +2 -2
- package/dist/{list-CMHoPfX9.cjs.map → list-jFsCubuy.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-B9Qdq5S_.js → litElement.mixin-C6PzcPXd.js} +2 -2
- package/dist/{litElement.mixin-B9Qdq5S_.js.map → litElement.mixin-C6PzcPXd.js.map} +1 -1
- package/dist/{litElement.mixin-CHvyxfxf.cjs → litElement.mixin-Cypiq-N-.cjs} +2 -2
- package/dist/{litElement.mixin-CHvyxfxf.cjs.map → litElement.mixin-Cypiq-N-.cjs.map} +1 -1
- package/dist/{menu-BcSplMNh.cjs → menu-CDjqdEd6.cjs} +2 -2
- package/dist/{menu-BcSplMNh.cjs.map → menu-CDjqdEd6.cjs.map} +1 -1
- package/dist/{menu-Dl1QU86K.js → menu-n_Doj-bW.js} +3 -3
- package/dist/{menu-Dl1QU86K.js.map → menu-n_Doj-bW.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/{notification-service-BV9ybQBu.cjs → notification-service--VLqOJJg.cjs} +2 -2
- package/dist/{notification-service-BV9ybQBu.cjs.map → notification-service--VLqOJJg.cjs.map} +1 -1
- package/dist/{notification-service-CC698xHg.js → notification-service-DHIhgWQr.js} +3 -3
- package/dist/{notification-service-CC698xHg.js.map → notification-service-DHIhgWQr.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-CkLBgH71.cjs → option-B359EBiZ.cjs} +2 -2
- package/dist/{option-CkLBgH71.cjs.map → option-B359EBiZ.cjs.map} +1 -1
- package/dist/{option-DDxxXwwc.js → option-oyyjCwnL.js} +2 -2
- package/dist/{option-DDxxXwwc.js.map → option-oyyjCwnL.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-UWbAYNPR.cjs → payment-card-form-B-ZAsSED.cjs} +2 -2
- package/dist/{payment-card-form-UWbAYNPR.cjs.map → payment-card-form-B-ZAsSED.cjs.map} +1 -1
- package/dist/{payment-card-form-DDTO5_AA.js → payment-card-form-BSueaw97.js} +3 -3
- package/dist/{payment-card-form-DDTO5_AA.js.map → payment-card-form-BSueaw97.js.map} +1 -1
- package/dist/{radio-button-wWoxPDfq.js → radio-button-84TD7rpH.js} +2 -2
- package/dist/{radio-button-wWoxPDfq.js.map → radio-button-84TD7rpH.js.map} +1 -1
- package/dist/{radio-button-BykiVxTD.cjs → radio-button-BO6mIWCi.cjs} +2 -2
- package/dist/{radio-button-BykiVxTD.cjs.map → radio-button-BO6mIWCi.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-B1mIGa9M.cjs → schmancy-steps-container-Cfq8OsWt.cjs} +2 -2
- package/dist/{schmancy-steps-container-B1mIGa9M.cjs.map → schmancy-steps-container-Cfq8OsWt.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-ByO98z7L.js → schmancy-steps-container-Lo4d27n3.js} +2 -2
- package/dist/{schmancy-steps-container-ByO98z7L.js.map → schmancy-steps-container-Lo4d27n3.js.map} +1 -1
- package/dist/{select-BIOhocL7.js → select-B-zgP_v6.js} +3 -3
- package/dist/{select-BIOhocL7.js.map → select-B-zgP_v6.js.map} +1 -1
- package/dist/{select-DE57Nios.cjs → select-DhEVsWh6.cjs} +2 -2
- package/dist/{select-DE57Nios.cjs.map → select-DhEVsWh6.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-fZYAWGsm.cjs → sheet-BEWq40cN.cjs} +2 -2
- package/dist/{sheet-fZYAWGsm.cjs.map → sheet-BEWq40cN.cjs.map} +1 -1
- package/dist/{sheet-Dh4MLVsU.js → sheet-DDY4pbD4.js} +3 -3
- package/dist/{sheet-Dh4MLVsU.js.map → sheet-DDY4pbD4.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-DVlJoDgU.js → slider--irxEv_B.js} +3 -3
- package/dist/{slider-DVlJoDgU.js.map → slider--irxEv_B.js.map} +1 -1
- package/dist/{slider-CejrdmPF.cjs → slider-De-H5fe8.cjs} +2 -2
- package/dist/{slider-CejrdmPF.cjs.map → slider-De-H5fe8.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-DbTnai_Q.js → spinner-Bl9n09Z5.js} +3 -3
- package/dist/{spinner-DbTnai_Q.js.map → spinner-Bl9n09Z5.js.map} +1 -1
- package/dist/{spinner-DxVJ7QJZ.cjs → spinner-DNz1IjmL.cjs} +2 -2
- package/dist/{spinner-DxVJ7QJZ.cjs.map → spinner-DNz1IjmL.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/surface-BAEUiWcq.cjs +92 -0
- package/dist/surface-BAEUiWcq.cjs.map +1 -0
- package/dist/surface-h9dLHMTm.js +113 -0
- package/dist/surface-h9dLHMTm.js.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CqUv1TOC.js → table-CxazXBjI.js} +72 -68
- package/dist/{table-CqUv1TOC.js.map → table-CxazXBjI.js.map} +1 -1
- package/dist/{table-CBhyHINV.cjs → table-Dn07ykGG.cjs} +4 -4
- package/dist/{table-CBhyHINV.cjs.map → table-Dn07ykGG.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-DUo2f_sV.js → tabs-compatibility-B8I0vg7Y.js} +2 -2
- package/dist/{tabs-compatibility-DUo2f_sV.js.map → tabs-compatibility-B8I0vg7Y.js.map} +1 -1
- package/dist/{tabs-compatibility-DPD6jfGF.cjs → tabs-compatibility-BrTxeSS-.cjs} +2 -2
- package/dist/{tabs-compatibility-DPD6jfGF.cjs.map → tabs-compatibility-BrTxeSS-.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-Du4i6vQR.js +43 -0
- package/dist/{tailwind.mixin-Di7KWye7.js.map → tailwind.mixin-Du4i6vQR.js.map} +1 -1
- package/dist/tailwind.mixin-qyIcoDLk.cjs +2 -0
- package/dist/{tailwind.mixin-Dm5QDZav.cjs.map → tailwind.mixin-qyIcoDLk.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-Dbz18REy.js → textarea-DibCLxC2.js} +2 -2
- package/dist/{textarea-Dbz18REy.js.map → textarea-DibCLxC2.js.map} +1 -1
- package/dist/{textarea-CesFdBkm.cjs → textarea-pMec4Wpg.cjs} +2 -2
- package/dist/{textarea-CesFdBkm.cjs.map → textarea-pMec4Wpg.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-Bt2OV4iu.cjs → theme-button-CG1w_waw.cjs} +2 -2
- package/dist/{theme-button-Bt2OV4iu.cjs.map → theme-button-CG1w_waw.cjs.map} +1 -1
- package/dist/{theme-button-lqbT2_LL.js → theme-button-irLEczd5.js} +2 -2
- package/dist/{theme-button-lqbT2_LL.js.map → theme-button-irLEczd5.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-xarFSe8p.js → theme.component-CMM8Xws2.js} +2 -2
- package/dist/{theme.component-xarFSe8p.js.map → theme.component-CMM8Xws2.js.map} +1 -1
- package/dist/{theme.component-BlBaN7d6.cjs → theme.component-CpRuySmd.cjs} +3 -3
- package/dist/{theme.component-BlBaN7d6.cjs.map → theme.component-CpRuySmd.cjs.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-DwT_pQrj.js → timezone-DIrmlnD6.js} +3 -3
- package/dist/{timezone-DwT_pQrj.js.map → timezone-DIrmlnD6.js.map} +1 -1
- package/dist/{timezone-VUMRmZaJ.cjs → timezone-n5GflDRe.cjs} +2 -2
- package/dist/{timezone-VUMRmZaJ.cjs.map → timezone-n5GflDRe.cjs.map} +1 -1
- package/dist/{tooltip-Cvoroe7w.cjs → tooltip-0vIcVm5-.cjs} +2 -2
- package/dist/{tooltip-Cvoroe7w.cjs.map → tooltip-0vIcVm5-.cjs.map} +1 -1
- package/dist/{tooltip-BKOHVCMK.js → tooltip-N_B-vsDa.js} +2 -2
- package/dist/{tooltip-BKOHVCMK.js.map → tooltip-N_B-vsDa.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-_FJnHVmP.js → tree-2Hf2X0Hv.js} +2 -2
- package/dist/{tree-_FJnHVmP.js.map → tree-2Hf2X0Hv.js.map} +1 -1
- package/dist/{tree-Cyp2AZ8g.cjs → tree-Q8AMxJxP.cjs} +2 -2
- package/dist/{tree-Cyp2AZ8g.cjs.map → tree-Q8AMxJxP.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-BIm2tOe4.cjs → typewriter-CsL-NfYC.cjs} +2 -2
- package/dist/{typewriter-BIm2tOe4.cjs.map → typewriter-CsL-NfYC.cjs.map} +1 -1
- package/dist/{typewriter-DWfXPBni.js → typewriter-bqbNKczJ.js} +22 -22
- package/dist/{typewriter-DWfXPBni.js.map → typewriter-bqbNKczJ.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DaKLzjFB.js → typography-CbrvouLo.js} +2 -2
- package/dist/{typography-DaKLzjFB.js.map → typography-CbrvouLo.js.map} +1 -1
- package/dist/{typography-OpLt6LNd.cjs → typography-Hlts-hzc.cjs} +2 -2
- package/dist/{typography-OpLt6LNd.cjs.map → typography-Hlts-hzc.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/utils-BqFGvnN9.cjs +2 -0
- package/dist/utils-BqFGvnN9.cjs.map +1 -0
- package/dist/utils-jduntaQU.js +128 -0
- package/dist/utils-jduntaQU.js.map +1 -0
- package/package.json +13 -14
- package/types/src/area/area.component.d.ts +1 -1
- package/types/src/area/area.service.d.ts +44 -26
- package/types/src/area/index.d.ts +1 -0
- package/types/src/area/utils.d.ts +91 -1
- package/types/src/checkbox/checkbox.d.ts +9 -0
- package/types/src/circular-progress/circular-progress.d.ts +15 -0
- package/types/src/circular-progress/index.d.ts +1 -0
- package/types/src/dialog/dailog.d.ts +8 -0
- package/types/src/dialog/dialog-service.d.ts +1 -0
- package/types/src/index.d.ts +1 -0
- package/types/src/table/table.d.ts +1 -0
- package/dist/area.component-CzFJM7Y4.js +0 -143
- package/dist/area.component-CzFJM7Y4.js.map +0 -1
- package/dist/area.component-WxccFh1z.cjs +0 -8
- package/dist/area.component-WxccFh1z.cjs.map +0 -1
- package/dist/avatar-Bmg5TXj9.cjs.map +0 -1
- package/dist/avatar-CgP1tBZq.js.map +0 -1
- package/dist/date-range-Ca9WLI4Q.js.map +0 -1
- package/dist/dialog-content-9pumpyLD.js.map +0 -1
- package/dist/dialog-content-qj1E8aye.cjs.map +0 -1
- package/dist/surface-BTuzKmT2.cjs +0 -20
- package/dist/surface-BTuzKmT2.cjs.map +0 -1
- package/dist/surface-DXx1bJN4.js +0 -43
- package/dist/surface-DXx1bJN4.js.map +0 -1
- package/dist/tailwind.mixin-Di7KWye7.js +0 -43
- package/dist/tailwind.mixin-Dm5QDZav.cjs +0 -2
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Divider Component
|
|
2
|
+
|
|
3
|
+
A sleek animated divider component that provides visual separation between content sections with customizable orientation and animation effects.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<!-- Basic horizontal divider -->
|
|
9
|
+
<schmancy-divider></schmancy-divider>
|
|
10
|
+
|
|
11
|
+
<!-- Vertical divider -->
|
|
12
|
+
<schmancy-divider orientation="vertical"></schmancy-divider>
|
|
13
|
+
|
|
14
|
+
<!-- Animated from center -->
|
|
15
|
+
<schmancy-divider grow="both"></schmancy-divider>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Properties
|
|
19
|
+
|
|
20
|
+
| Property | Type | Default | Description |
|
|
21
|
+
|----------|------|---------|-------------|
|
|
22
|
+
| `outline` | `'default' \| 'variant'` | `'variant'` | Color style of the divider |
|
|
23
|
+
| `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Divider direction |
|
|
24
|
+
| `grow` | `'start' \| 'end' \| 'both'` | `'start'` | Animation growth direction |
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Section Separators
|
|
29
|
+
```html
|
|
30
|
+
<schmancy-surface>
|
|
31
|
+
<h2>Section One</h2>
|
|
32
|
+
<p>Content for the first section...</p>
|
|
33
|
+
|
|
34
|
+
<schmancy-divider class="my-6"></schmancy-divider>
|
|
35
|
+
|
|
36
|
+
<h2>Section Two</h2>
|
|
37
|
+
<p>Content for the second section...</p>
|
|
38
|
+
</schmancy-surface>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Sidebar Layout
|
|
42
|
+
```html
|
|
43
|
+
<div class="flex">
|
|
44
|
+
<nav class="w-64 p-4">
|
|
45
|
+
<!-- Navigation items -->
|
|
46
|
+
</nav>
|
|
47
|
+
|
|
48
|
+
<schmancy-divider orientation="vertical" class="h-screen"></schmancy-divider>
|
|
49
|
+
|
|
50
|
+
<main class="flex-1 p-4">
|
|
51
|
+
<!-- Main content -->
|
|
52
|
+
</main>
|
|
53
|
+
</div>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Animated List Separators
|
|
57
|
+
```html
|
|
58
|
+
<schmancy-list>
|
|
59
|
+
${items.map((item, index) => html`
|
|
60
|
+
<schmancy-list-item>${item.name}</schmancy-list-item>
|
|
61
|
+
${index < items.length - 1 ? html`
|
|
62
|
+
<schmancy-divider
|
|
63
|
+
grow="both"
|
|
64
|
+
style="--animation-duration: 0.3s"
|
|
65
|
+
></schmancy-divider>
|
|
66
|
+
` : ''}
|
|
67
|
+
`)}
|
|
68
|
+
</schmancy-list>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Card with Sections
|
|
72
|
+
```html
|
|
73
|
+
<schmancy-card>
|
|
74
|
+
<div slot="header">
|
|
75
|
+
<h3>User Profile</h3>
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
<div>
|
|
79
|
+
<p>Name: John Doe</p>
|
|
80
|
+
<p>Email: john@example.com</p>
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
<schmancy-divider outline="default" class="my-4"></schmancy-divider>
|
|
84
|
+
|
|
85
|
+
<div>
|
|
86
|
+
<h4>Recent Activity</h4>
|
|
87
|
+
<ul>
|
|
88
|
+
<li>Logged in - 2 hours ago</li>
|
|
89
|
+
<li>Updated profile - Yesterday</li>
|
|
90
|
+
</ul>
|
|
91
|
+
</div>
|
|
92
|
+
</schmancy-card>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Features
|
|
96
|
+
|
|
97
|
+
### Animation Options
|
|
98
|
+
|
|
99
|
+
**Growth Direction**:
|
|
100
|
+
- `start`: Animates from start (left/top)
|
|
101
|
+
- `end`: Animates from end (right/bottom)
|
|
102
|
+
- `both`: Animates from center outward
|
|
103
|
+
|
|
104
|
+
### RTL Support
|
|
105
|
+
The component automatically adjusts animation direction for right-to-left layouts.
|
|
106
|
+
|
|
107
|
+
### Color Variants
|
|
108
|
+
- `variant`: Uses `outlineVariant` color (subtle)
|
|
109
|
+
- `default`: Uses `outline` color (more prominent)
|
|
110
|
+
|
|
111
|
+
## Styling
|
|
112
|
+
|
|
113
|
+
### CSS Custom Properties
|
|
114
|
+
```css
|
|
115
|
+
schmancy-divider {
|
|
116
|
+
--divider-color: var(--schmancy-sys-color-outlineVariant);
|
|
117
|
+
--animation-duration: 1s;
|
|
118
|
+
--transform-origin: left; /* or right, center */
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Animation Keyframes
|
|
123
|
+
The component uses CSS animations for smooth drawing effects:
|
|
124
|
+
- Horizontal dividers use `scaleX` transformation
|
|
125
|
+
- Vertical dividers use `scaleY` transformation
|
|
126
|
+
|
|
127
|
+
## Accessibility
|
|
128
|
+
|
|
129
|
+
- Uses `aria-hidden="true"` on decorative connector lines
|
|
130
|
+
- Semantic HTML structure
|
|
131
|
+
- No interactive elements
|
|
132
|
+
|
|
133
|
+
## Related Components
|
|
134
|
+
|
|
135
|
+
- [Surface](./surface.md) - Container for divided content
|
|
136
|
+
- [Card](./card.md) - Cards with divided sections
|
|
137
|
+
- [List](./list.md) - Lists with dividers
|
|
138
|
+
- [Layout](./layout.md) - Page layout divisions
|
|
139
|
+
|
|
140
|
+
## Best Practices
|
|
141
|
+
|
|
142
|
+
1. **Spacing**: Use consistent margin/padding around dividers
|
|
143
|
+
2. **Animation**: Keep animations subtle (300-500ms)
|
|
144
|
+
3. **Contrast**: Ensure sufficient contrast in both light/dark themes
|
|
145
|
+
4. **Semantic HTML**: Use dividers for visual separation, not structural
|
|
146
|
+
|
|
147
|
+
## Use Cases
|
|
148
|
+
|
|
149
|
+
1. **Form Sections**: Separate form groups
|
|
150
|
+
2. **Navigation**: Divide menu sections
|
|
151
|
+
3. **Content**: Break up long text content
|
|
152
|
+
4. **Lists**: Separate list items
|
|
153
|
+
5. **Layouts**: Create visual boundaries in layouts
|
package/dist/ai/index.md
CHANGED
|
@@ -4,17 +4,57 @@ This directory contains concise reference documentation for the Schmancy compone
|
|
|
4
4
|
|
|
5
5
|
## Components
|
|
6
6
|
|
|
7
|
+
### Core Components
|
|
8
|
+
- [Animated Text](./animated-text.md) - Animated text effects with word and letter animations
|
|
7
9
|
- [Area](./area.md) - Routing and subscription API for application areas
|
|
10
|
+
- [Autocomplete](./autocomplete.md) - Searchable input with dropdown suggestions
|
|
11
|
+
- [Avatar](./avatar.md) - User profile images with fallback initials
|
|
12
|
+
- [Badge](./badge.md) - Status indicators and notification counts
|
|
13
|
+
- [Busy](./busy.md) - Loading states and progress indicators
|
|
8
14
|
- [Button](./button.md) - Primary, secondary, and tertiary buttons with various states
|
|
15
|
+
- [Card](./card.md) - Content containers with headers and actions
|
|
16
|
+
- [Checkbox](./checkbox.md) - Checkable input with indeterminate state
|
|
17
|
+
- [Chips](./chips.md) - Compact elements for input or selection
|
|
18
|
+
|
|
19
|
+
### Layout & Navigation
|
|
20
|
+
- [Content Drawer](./content-drawer.md) - Sliding panel system for navigation and overlays
|
|
21
|
+
- [Date Range](./date-range.md) - Date range selector with presets
|
|
22
|
+
- [Delay](./delay.md) - Delayed content rendering with animations
|
|
9
23
|
- [Dialog](./dialog.md) - Modal dialog boxes for confirmations and custom content
|
|
10
|
-
- [
|
|
11
|
-
- [
|
|
24
|
+
- [Divider](./divider.md) - Visual separators with animations
|
|
25
|
+
- [Dropdown](./dropdown.md) - Floating dropdown menus
|
|
12
26
|
- [Layout](./layout.md) - Flex and grid layout components
|
|
13
27
|
- [List](./list.md) - Interactive lists with selection support
|
|
28
|
+
- [Menu](./menu.md) - Context and dropdown menus
|
|
29
|
+
- [Nav Drawer](./nav-drawer.md) - Responsive navigation drawer system
|
|
30
|
+
|
|
31
|
+
### Form Elements
|
|
32
|
+
- [Form](./form.md) - Form containers with validation capabilities
|
|
33
|
+
- [Input](./input.md) - Text input fields with various types and features
|
|
34
|
+
- [Option](./option.md) - Option elements for selects and autocomplete
|
|
35
|
+
- [Radio Group](./radio-group.md) - Single-selection radio button groups
|
|
36
|
+
- [Select](./select.md) - Dropdown selection components
|
|
37
|
+
- [Textarea](./textarea.md) - Multi-line text input
|
|
38
|
+
|
|
39
|
+
### Feedback & Interaction
|
|
14
40
|
- [Notification](./notification.md) - Toast notifications and alerts
|
|
15
41
|
- [Sheet](./sheet.md) - Side panels and drawers
|
|
16
|
-
- [
|
|
42
|
+
- [Slider](./slider.md) - Carousel component for content
|
|
43
|
+
- [Steps](./steps.md) - Multi-step process indicators
|
|
17
44
|
- [Tabs](./tabs.md) - Tabbed interface components
|
|
45
|
+
- [Tooltip](./tooltip.md) - Contextual help text
|
|
46
|
+
|
|
47
|
+
### Utilities
|
|
48
|
+
- [Icons](./icons.md) - Material Design icon system
|
|
49
|
+
- [Store](./store.md) - State management system
|
|
50
|
+
- [Surface](./surface.md) - Elevation and container system
|
|
51
|
+
- [Table](./table.md) - Data table components
|
|
52
|
+
- [Teleport](./teleport.md) - FLIP animations between DOM positions
|
|
53
|
+
- [Theme](./theme.md) - Material Design 3 theming system
|
|
54
|
+
- [Theme Button](./theme-button.md) - Theme switching button
|
|
55
|
+
- [Tree](./tree.md) - Hierarchical tree view
|
|
56
|
+
- [Typography](./typography.md) - Text styling system
|
|
57
|
+
- [Typewriter](./typewriter.md) - Typing animation effects
|
|
18
58
|
|
|
19
59
|
## Reference Format
|
|
20
60
|
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# Navigation Drawer Component
|
|
2
|
+
|
|
3
|
+
A responsive navigation drawer system that adapts between overlay and push modes based on screen size, providing flexible app navigation patterns.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<!-- Basic navigation drawer -->
|
|
9
|
+
<schmancy-nav-drawer>
|
|
10
|
+
<schmancy-nav-drawer-navbar>
|
|
11
|
+
<nav>
|
|
12
|
+
<schmancy-list>
|
|
13
|
+
<schmancy-list-item>Dashboard</schmancy-list-item>
|
|
14
|
+
<schmancy-list-item>Settings</schmancy-list-item>
|
|
15
|
+
</schmancy-list>
|
|
16
|
+
</nav>
|
|
17
|
+
</schmancy-nav-drawer-navbar>
|
|
18
|
+
|
|
19
|
+
<schmancy-nav-drawer-content>
|
|
20
|
+
<schmancy-nav-drawer-appbar>
|
|
21
|
+
<h1>My App</h1>
|
|
22
|
+
</schmancy-nav-drawer-appbar>
|
|
23
|
+
<main>
|
|
24
|
+
<!-- Page content -->
|
|
25
|
+
</main>
|
|
26
|
+
</schmancy-nav-drawer-content>
|
|
27
|
+
</schmancy-nav-drawer>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Components
|
|
31
|
+
|
|
32
|
+
### schmancy-nav-drawer
|
|
33
|
+
The root container that manages drawer state and responsive behavior.
|
|
34
|
+
|
|
35
|
+
**Properties:**
|
|
36
|
+
| Property | Type | Default | Description |
|
|
37
|
+
|----------|------|---------|-------------|
|
|
38
|
+
| `fullscreen` | `boolean` | `false` | Hide drawer in fullscreen mode |
|
|
39
|
+
| `breakpoint` | `'sm' \| 'md' \| 'lg' \| 'xl'` | `'md'` | Responsive breakpoint |
|
|
40
|
+
| `open` | `'open' \| 'close'` | - | Drawer state |
|
|
41
|
+
|
|
42
|
+
### schmancy-nav-drawer-navbar
|
|
43
|
+
The navigation sidebar component.
|
|
44
|
+
|
|
45
|
+
**Properties:**
|
|
46
|
+
| Property | Type | Default | Description |
|
|
47
|
+
|----------|------|---------|-------------|
|
|
48
|
+
| `width` | `string` | `'320px'` | Drawer width |
|
|
49
|
+
|
|
50
|
+
### schmancy-nav-drawer-content
|
|
51
|
+
Container for main content area.
|
|
52
|
+
|
|
53
|
+
### schmancy-nav-drawer-appbar
|
|
54
|
+
Optional app bar for the content area.
|
|
55
|
+
|
|
56
|
+
## Examples
|
|
57
|
+
|
|
58
|
+
### Complete App Layout
|
|
59
|
+
```html
|
|
60
|
+
<schmancy-nav-drawer breakpoint="lg">
|
|
61
|
+
<!-- Navigation Sidebar -->
|
|
62
|
+
<schmancy-nav-drawer-navbar width="280px">
|
|
63
|
+
<div class="p-4">
|
|
64
|
+
<h2 class="text-xl font-bold mb-4">My App</h2>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<schmancy-list>
|
|
68
|
+
<schmancy-list-item @click="${() => navigate('/dashboard')}">
|
|
69
|
+
<schmancy-icon slot="start">dashboard</schmancy-icon>
|
|
70
|
+
Dashboard
|
|
71
|
+
</schmancy-list-item>
|
|
72
|
+
|
|
73
|
+
<schmancy-list-item @click="${() => navigate('/users')}">
|
|
74
|
+
<schmancy-icon slot="start">people</schmancy-icon>
|
|
75
|
+
Users
|
|
76
|
+
</schmancy-list-item>
|
|
77
|
+
|
|
78
|
+
<schmancy-divider class="my-2"></schmancy-divider>
|
|
79
|
+
|
|
80
|
+
<schmancy-list-item @click="${() => navigate('/settings')}">
|
|
81
|
+
<schmancy-icon slot="start">settings</schmancy-icon>
|
|
82
|
+
Settings
|
|
83
|
+
</schmancy-list-item>
|
|
84
|
+
</schmancy-list>
|
|
85
|
+
</schmancy-nav-drawer-navbar>
|
|
86
|
+
|
|
87
|
+
<!-- Main Content -->
|
|
88
|
+
<schmancy-nav-drawer-content>
|
|
89
|
+
<!-- App Bar -->
|
|
90
|
+
<schmancy-nav-drawer-appbar>
|
|
91
|
+
<schmancy-icon-button @click="${toggleDrawer}">
|
|
92
|
+
menu
|
|
93
|
+
</schmancy-icon-button>
|
|
94
|
+
<h1 class="text-xl">Dashboard</h1>
|
|
95
|
+
</schmancy-nav-drawer-appbar>
|
|
96
|
+
|
|
97
|
+
<!-- Page Content -->
|
|
98
|
+
<main class="p-4">
|
|
99
|
+
<router-outlet></router-outlet>
|
|
100
|
+
</main>
|
|
101
|
+
</schmancy-nav-drawer-content>
|
|
102
|
+
</schmancy-nav-drawer>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### With User Profile
|
|
106
|
+
```html
|
|
107
|
+
<schmancy-nav-drawer>
|
|
108
|
+
<schmancy-nav-drawer-navbar>
|
|
109
|
+
<!-- User Profile Section -->
|
|
110
|
+
<div class="p-4 border-b">
|
|
111
|
+
<schmancy-avatar
|
|
112
|
+
src="/user-avatar.jpg"
|
|
113
|
+
name="John Doe"
|
|
114
|
+
></schmancy-avatar>
|
|
115
|
+
<div class="mt-2">
|
|
116
|
+
<div class="font-medium">John Doe</div>
|
|
117
|
+
<div class="text-sm opacity-70">john@example.com</div>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
<!-- Navigation -->
|
|
122
|
+
<schmancy-list class="py-2">
|
|
123
|
+
<!-- Menu items -->
|
|
124
|
+
</schmancy-list>
|
|
125
|
+
</schmancy-nav-drawer-navbar>
|
|
126
|
+
|
|
127
|
+
<schmancy-nav-drawer-content>
|
|
128
|
+
<!-- Content -->
|
|
129
|
+
</schmancy-nav-drawer-content>
|
|
130
|
+
</schmancy-nav-drawer>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Features
|
|
134
|
+
|
|
135
|
+
### Responsive Modes
|
|
136
|
+
- **Push Mode**: Drawer pushes content (desktop)
|
|
137
|
+
- **Overlay Mode**: Drawer overlays content (mobile)
|
|
138
|
+
- Automatic switching based on breakpoint
|
|
139
|
+
|
|
140
|
+
### Breakpoint Values
|
|
141
|
+
- `sm`: 640px
|
|
142
|
+
- `md`: 768px (default)
|
|
143
|
+
- `lg`: 1024px
|
|
144
|
+
- `xl`: 1280px
|
|
145
|
+
|
|
146
|
+
### Events
|
|
147
|
+
Toggle drawer programmatically:
|
|
148
|
+
```javascript
|
|
149
|
+
window.dispatchEvent(
|
|
150
|
+
new CustomEvent('schmancy-nav-drawer-toggle', {
|
|
151
|
+
detail: { state: 'open' } // or 'close'
|
|
152
|
+
})
|
|
153
|
+
);
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Animation
|
|
157
|
+
Smooth transitions with customizable easing:
|
|
158
|
+
- Overlay fade: 200ms open, 150ms close
|
|
159
|
+
- Drawer slide: 200ms
|
|
160
|
+
- Cubic bezier easing for natural motion
|
|
161
|
+
|
|
162
|
+
## Styling
|
|
163
|
+
|
|
164
|
+
```css
|
|
165
|
+
/* Custom drawer styling */
|
|
166
|
+
schmancy-nav-drawer-navbar {
|
|
167
|
+
--drawer-width: 320px;
|
|
168
|
+
--animation-duration: 200ms;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/* Overlay customization */
|
|
172
|
+
schmancy-nav-drawer {
|
|
173
|
+
--overlay-opacity: 0.4;
|
|
174
|
+
--overlay-color: var(--schmancy-sys-color-scrim);
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Context System
|
|
179
|
+
|
|
180
|
+
The component uses Lit Context API for state management:
|
|
181
|
+
- `SchmancyDrawerNavbarMode`: Current mode (push/overlay)
|
|
182
|
+
- `SchmancyDrawerNavbarState`: Open/close state
|
|
183
|
+
|
|
184
|
+
## Best Practices
|
|
185
|
+
|
|
186
|
+
1. **Navigation Structure**: Keep navigation hierarchy shallow
|
|
187
|
+
2. **Mobile First**: Design for overlay mode first
|
|
188
|
+
3. **Breakpoints**: Choose breakpoints based on content
|
|
189
|
+
4. **Performance**: Use `fullscreen` prop for immersive experiences
|
|
190
|
+
5. **Accessibility**: Include proper ARIA labels
|
|
191
|
+
|
|
192
|
+
## Related Components
|
|
193
|
+
|
|
194
|
+
- [List](./list.md) - Navigation menu items
|
|
195
|
+
- [Icon](./icons.md) - Menu icons
|
|
196
|
+
- [Avatar](./avatar.md) - User profiles
|
|
197
|
+
- [Surface](./surface.md) - Content containers
|
|
198
|
+
- [Button](./button.md) - Navigation triggers
|
|
199
|
+
|
|
200
|
+
## Use Cases
|
|
201
|
+
|
|
202
|
+
1. **Admin Dashboards**: Multi-section navigation
|
|
203
|
+
2. **Mobile Apps**: Responsive app shells
|
|
204
|
+
3. **Documentation Sites**: Side navigation
|
|
205
|
+
4. **E-commerce**: Category navigation
|
|
206
|
+
5. **Social Apps**: User navigation with profiles
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# Option Component
|
|
2
|
+
|
|
3
|
+
A versatile option element designed for use with select dropdowns and autocomplete components, providing accessible and interactive selection items.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<!-- Basic option -->
|
|
9
|
+
<schmancy-option value="1">Option One</schmancy-option>
|
|
10
|
+
|
|
11
|
+
<!-- Option with custom label -->
|
|
12
|
+
<schmancy-option value="us" label="United States"></schmancy-option>
|
|
13
|
+
|
|
14
|
+
<!-- Option with icon -->
|
|
15
|
+
<schmancy-option value="email" icon="✉️">Email Notifications</schmancy-option>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Properties
|
|
19
|
+
|
|
20
|
+
| Property | Type | Default | Description |
|
|
21
|
+
|----------|------|---------|-------------|
|
|
22
|
+
| `value` | `string` | `''` | The value when selected |
|
|
23
|
+
| `label` | `string` | `''` | Display label (defaults to text content) |
|
|
24
|
+
| `selected` | `boolean` | `false` | Whether option is selected |
|
|
25
|
+
| `disabled` | `boolean` | `false` | Whether option is disabled |
|
|
26
|
+
| `group` | `string` | `''` | Optional group name |
|
|
27
|
+
| `icon` | `string` | `''` | Optional icon/emoji |
|
|
28
|
+
|
|
29
|
+
## Events
|
|
30
|
+
|
|
31
|
+
### option-select
|
|
32
|
+
Fired when option is clicked or selected via keyboard.
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
interface OptionSelectEvent {
|
|
36
|
+
detail: {
|
|
37
|
+
value: string;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Examples
|
|
43
|
+
|
|
44
|
+
### In Select Component
|
|
45
|
+
```html
|
|
46
|
+
<schmancy-select placeholder="Choose country">
|
|
47
|
+
<schmancy-option value="us" icon="🇺🇸">United States</schmancy-option>
|
|
48
|
+
<schmancy-option value="uk" icon="🇬🇧">United Kingdom</schmancy-option>
|
|
49
|
+
<schmancy-option value="ca" icon="🇨🇦">Canada</schmancy-option>
|
|
50
|
+
<schmancy-option value="au" icon="🇦🇺">Australia</schmancy-option>
|
|
51
|
+
</schmancy-select>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Grouped Options
|
|
55
|
+
```html
|
|
56
|
+
<schmancy-select>
|
|
57
|
+
<!-- North America -->
|
|
58
|
+
<schmancy-option value="us" group="North America">United States</schmancy-option>
|
|
59
|
+
<schmancy-option value="ca" group="North America">Canada</schmancy-option>
|
|
60
|
+
<schmancy-option value="mx" group="North America">Mexico</schmancy-option>
|
|
61
|
+
|
|
62
|
+
<!-- Europe -->
|
|
63
|
+
<schmancy-option value="uk" group="Europe">United Kingdom</schmancy-option>
|
|
64
|
+
<schmancy-option value="de" group="Europe">Germany</schmancy-option>
|
|
65
|
+
<schmancy-option value="fr" group="Europe">France</schmancy-option>
|
|
66
|
+
</schmancy-select>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### With Status Indicators
|
|
70
|
+
```html
|
|
71
|
+
<schmancy-autocomplete>
|
|
72
|
+
<schmancy-option value="active" icon="🟢">Active</schmancy-option>
|
|
73
|
+
<schmancy-option value="pending" icon="🟡">Pending</schmancy-option>
|
|
74
|
+
<schmancy-option value="inactive" icon="🔴">Inactive</schmancy-option>
|
|
75
|
+
<schmancy-option value="archived" icon="📦" disabled>Archived</schmancy-option>
|
|
76
|
+
</schmancy-autocomplete>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Dynamic Options
|
|
80
|
+
```html
|
|
81
|
+
${users.map(user => html`
|
|
82
|
+
<schmancy-option
|
|
83
|
+
value="${user.id}"
|
|
84
|
+
label="${user.name}"
|
|
85
|
+
?disabled="${!user.active}"
|
|
86
|
+
>
|
|
87
|
+
<span class="flex items-center gap-2">
|
|
88
|
+
<schmancy-avatar size="xs" name="${user.name}"></schmancy-avatar>
|
|
89
|
+
<span>
|
|
90
|
+
<div>${user.name}</div>
|
|
91
|
+
<div class="text-xs opacity-70">${user.email}</div>
|
|
92
|
+
</span>
|
|
93
|
+
</span>
|
|
94
|
+
</schmancy-option>
|
|
95
|
+
`)}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Features
|
|
99
|
+
|
|
100
|
+
### Automatic Value Assignment
|
|
101
|
+
- If no value is provided, uses text content
|
|
102
|
+
- If no label is provided, uses text content or value
|
|
103
|
+
|
|
104
|
+
### Keyboard Navigation
|
|
105
|
+
- `Space` or `Enter` to select
|
|
106
|
+
- Full keyboard accessibility
|
|
107
|
+
|
|
108
|
+
### Visual States
|
|
109
|
+
- Hover highlighting
|
|
110
|
+
- Selected state with checkmark
|
|
111
|
+
- Disabled state with reduced opacity
|
|
112
|
+
- Focus ring for keyboard navigation
|
|
113
|
+
|
|
114
|
+
### Unique IDs
|
|
115
|
+
Automatically generates unique IDs for accessibility if not provided.
|
|
116
|
+
|
|
117
|
+
## Styling
|
|
118
|
+
|
|
119
|
+
The component uses semantic design tokens:
|
|
120
|
+
|
|
121
|
+
```css
|
|
122
|
+
/* Default state */
|
|
123
|
+
.hover:bg-surface-high
|
|
124
|
+
|
|
125
|
+
/* Selected state */
|
|
126
|
+
.bg-primary-container
|
|
127
|
+
.text-primary-onContainer
|
|
128
|
+
|
|
129
|
+
/* Custom styling */
|
|
130
|
+
schmancy-option {
|
|
131
|
+
--option-padding-y: 0.5rem;
|
|
132
|
+
--option-padding-x: 0.75rem;
|
|
133
|
+
--option-border-radius: 0.25rem;
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Accessibility
|
|
138
|
+
|
|
139
|
+
- `role="option"` for semantic meaning
|
|
140
|
+
- `aria-selected` state management
|
|
141
|
+
- `aria-disabled` for disabled options
|
|
142
|
+
- Keyboard event handling
|
|
143
|
+
- Focus management
|
|
144
|
+
|
|
145
|
+
## Integration
|
|
146
|
+
|
|
147
|
+
Options are designed to work seamlessly with:
|
|
148
|
+
- `schmancy-select` - Dropdown selection
|
|
149
|
+
- `schmancy-autocomplete` - Filtered selection
|
|
150
|
+
- Custom dropdown components
|
|
151
|
+
|
|
152
|
+
## Best Practices
|
|
153
|
+
|
|
154
|
+
1. **Clear Values**: Use meaningful, unique values
|
|
155
|
+
2. **Icons**: Use icons to improve scannability
|
|
156
|
+
3. **Groups**: Group related options together
|
|
157
|
+
4. **Labels**: Provide clear, concise labels
|
|
158
|
+
5. **Disabled State**: Clearly indicate why options are disabled
|
|
159
|
+
|
|
160
|
+
## Related Components
|
|
161
|
+
|
|
162
|
+
- [Select](./select.md) - Dropdown selector
|
|
163
|
+
- [Autocomplete](./autocomplete.md) - Searchable selector
|
|
164
|
+
- [List](./list.md) - Similar list item pattern
|
|
165
|
+
- [Menu](./menu.md) - Menu items
|
|
166
|
+
|
|
167
|
+
## Use Cases
|
|
168
|
+
|
|
169
|
+
1. **Form Selects**: Country, state, category selection
|
|
170
|
+
2. **Settings**: Preference options
|
|
171
|
+
3. **Filters**: Data filtering options
|
|
172
|
+
4. **Status Selection**: Workflow states
|
|
173
|
+
5. **User Selection**: Team member pickers
|