@mhmo91/schmancy 0.2.193 → 0.2.195
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/area.md +205 -0
- package/ai/autocomplete.md +135 -0
- package/ai/avatar.md +178 -0
- package/ai/badge.md +100 -0
- package/ai/busy.md +195 -0
- package/ai/button.md +112 -0
- package/ai/card.md +155 -0
- package/ai/checkbox.md +108 -0
- package/ai/chips.md +180 -0
- package/ai/component-relationships.md +93 -0
- package/ai/content-drawer.md +190 -0
- package/ai/dialog.md +119 -0
- package/ai/dropdown.md +238 -0
- package/ai/form.md +148 -0
- package/ai/icons.md +147 -0
- package/ai/index.md +72 -0
- package/ai/input.md +167 -0
- package/ai/layout.md +166 -0
- package/ai/list.md +145 -0
- package/ai/menu.md +217 -0
- package/ai/notification.md +93 -0
- package/ai/radio-group.md +176 -0
- package/ai/select.md +174 -0
- package/ai/sheet.md +122 -0
- package/ai/store.md +235 -0
- package/ai/surface.md +221 -0
- package/ai/table.md +334 -0
- package/ai/tabs.md +71 -0
- package/ai/template.md +144 -0
- package/ai/textarea.md +147 -0
- package/ai/tooltip.md +149 -0
- package/ai/tree.md +279 -0
- package/ai/typography.md +170 -0
- package/dist/_headers +2 -0
- package/dist/ai/area.md +205 -0
- package/dist/ai/autocomplete.md +135 -0
- package/dist/ai/avatar.md +178 -0
- package/dist/ai/badge.md +100 -0
- package/dist/ai/busy.md +195 -0
- package/dist/ai/button.md +112 -0
- package/dist/ai/card.md +155 -0
- package/dist/ai/checkbox.md +108 -0
- package/dist/ai/chips.md +180 -0
- package/dist/ai/component-relationships.md +93 -0
- package/dist/ai/content-drawer.md +190 -0
- package/dist/ai/dialog.md +119 -0
- package/dist/ai/dropdown.md +238 -0
- package/dist/ai/form.md +148 -0
- package/dist/ai/icons.md +147 -0
- package/dist/ai/index.md +72 -0
- package/dist/ai/input.md +167 -0
- package/dist/ai/layout.md +166 -0
- package/dist/ai/list.md +145 -0
- package/dist/ai/menu.md +217 -0
- package/dist/ai/notification.md +93 -0
- package/dist/ai/radio-group.md +176 -0
- package/dist/ai/select.md +174 -0
- package/dist/ai/sheet.md +122 -0
- package/dist/ai/store.md +235 -0
- package/dist/ai/surface.md +221 -0
- package/dist/ai/table.md +334 -0
- package/dist/ai/tabs.md +71 -0
- package/dist/ai/template.md +144 -0
- package/dist/ai/textarea.md +147 -0
- package/dist/ai/tooltip.md +149 -0
- package/dist/ai/tree.md +279 -0
- package/dist/ai/typography.md +170 -0
- package/dist/{animated-text-9AM64DHd.cjs → animated-text-Bu9wh3wv.cjs} +2 -2
- package/dist/{animated-text-9AM64DHd.cjs.map → animated-text-Bu9wh3wv.cjs.map} +1 -1
- package/dist/{animated-text-CVStWn5N.js → animated-text-Ci7M0QTx.js} +3 -3
- package/dist/{animated-text-CVStWn5N.js.map → animated-text-Ci7M0QTx.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-Cg9dqZJ5.cjs +8 -0
- package/dist/area.component-Cg9dqZJ5.cjs.map +1 -0
- package/dist/area.component-eJJ_wryh.js +191 -0
- package/dist/area.component-eJJ_wryh.js.map +1 -0
- package/dist/area.js +21 -6
- package/dist/area.js.map +1 -1
- package/dist/{autocomplete-DBXvIJgc.cjs → autocomplete-BH7nQbid.cjs} +2 -2
- package/dist/{autocomplete-DBXvIJgc.cjs.map → autocomplete-BH7nQbid.cjs.map} +1 -1
- package/dist/{autocomplete-ih92pPkb.js → autocomplete-D9n1MeKT.js} +3 -3
- package/dist/{autocomplete-ih92pPkb.js.map → autocomplete-D9n1MeKT.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-WAIlaNJg.js → avatar-B4lSs4z5.js} +183 -145
- package/dist/avatar-B4lSs4z5.js.map +1 -0
- package/dist/{avatar-s-2jSsaH.cjs → avatar-Bg-rdjAe.cjs} +62 -24
- package/dist/avatar-Bg-rdjAe.cjs.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-DtnX5sT6.cjs → checkbox-CgL23smr.cjs} +10 -10
- package/dist/{checkbox-DtnX5sT6.cjs.map → checkbox-CgL23smr.cjs.map} +1 -1
- package/dist/{checkbox-Jxxbjxp0.js → checkbox-y37-tGrk.js} +72 -65
- package/dist/{checkbox-Jxxbjxp0.js.map → checkbox-y37-tGrk.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CVDnpVUM.cjs → chips-CKST7ug-.cjs} +2 -2
- package/dist/{chips-CVDnpVUM.cjs.map → chips-CKST7ug-.cjs.map} +1 -1
- package/dist/{chips-lP7ohQep.js → chips-Ndwt1V4b.js} +3 -3
- package/dist/{chips-lP7ohQep.js.map → chips-Ndwt1V4b.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/circular-progress-BDmc1zlm.cjs +9 -0
- package/dist/circular-progress-BDmc1zlm.cjs.map +1 -0
- package/dist/circular-progress-vokDGjmG.js +35 -0
- package/dist/circular-progress-vokDGjmG.js.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-Ca9WLI4Q.js → date-range-CpDVPn_v.js} +3 -3
- package/dist/{date-range-Ca9WLI4Q.js.map → date-range-CpDVPn_v.js.map} +1 -1
- package/dist/{date-range-DbPA5Y-t.cjs → date-range-DfZz3ifP.cjs} +2 -2
- package/dist/{date-range-DbPA5Y-t.cjs.map → date-range-DfZz3ifP.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-BgNgQV2G.cjs → delay-ASLyLkQL.cjs} +2 -2
- package/dist/{delay-BgNgQV2G.cjs.map → delay-ASLyLkQL.cjs.map} +1 -1
- package/dist/{delay-5cCl7ji3.js → delay-CG5SRrzF.js} +2 -2
- package/dist/{delay-5cCl7ji3.js.map → delay-CG5SRrzF.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{dialog-content-9pumpyLD.js → dialog-content-BoPviBAt.js} +86 -82
- package/dist/dialog-content-BoPviBAt.js.map +1 -0
- package/dist/{dialog-content-qj1E8aye.cjs → dialog-content-D88EcY6L.cjs} +8 -8
- package/dist/dialog-content-D88EcY6L.cjs.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-CHckHGEQ.cjs → divider-C38JDYss.cjs} +2 -2
- package/dist/{divider-CHckHGEQ.cjs.map → divider-C38JDYss.cjs.map} +1 -1
- package/dist/{divider-r8-9eNnl.js → divider-N7GWgK6o.js} +3 -3
- package/dist/{divider-r8-9eNnl.js.map → divider-N7GWgK6o.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-D-TddflQ.js → dropdown-content-DmO_yIVb.js} +3 -3
- package/dist/{dropdown-content-D-TddflQ.js.map → dropdown-content-DmO_yIVb.js.map} +1 -1
- package/dist/{dropdown-content-B41MDDRG.cjs → dropdown-content-rH8awIRA.cjs} +2 -2
- package/dist/{dropdown-content-B41MDDRG.cjs.map → dropdown-content-rH8awIRA.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-CXYfL6bE.js} +2 -2
- package/dist/{flex-Bf0zNqji.js.map → flex-CXYfL6bE.js.map} +1 -1
- package/dist/{flex-CFv-Zb76.cjs → flex-wYuewqrr.cjs} +2 -2
- package/dist/{flex-CFv-Zb76.cjs.map → flex-wYuewqrr.cjs.map} +1 -1
- package/dist/{form-BN75s0PI.cjs → form-CNWWdhT_.cjs} +2 -2
- package/dist/{form-BN75s0PI.cjs.map → form-CNWWdhT_.cjs.map} +1 -1
- package/dist/{form-uYcr1RLJ.js → form-q3JZjWez.js} +2 -2
- package/dist/{form-uYcr1RLJ.js.map → form-q3JZjWez.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-Cu-imayV.cjs → icon-QnmfHtfT.cjs} +2 -2
- package/dist/{icon-Cu-imayV.cjs.map → icon-QnmfHtfT.cjs.map} +1 -1
- package/dist/{icon-button-1tZaicyb.js → icon-button-DOTB_28y.js} +3 -3
- package/dist/{icon-button-1tZaicyb.js.map → icon-button-DOTB_28y.js.map} +1 -1
- package/dist/{icon-button-D0BbHnDL.cjs → icon-button-oAOX71_s.cjs} +2 -2
- package/dist/{icon-button-D0BbHnDL.cjs.map → icon-button-oAOX71_s.cjs.map} +1 -1
- package/dist/{icon-BR-jE0Y2.js → icon-pLQWXzo8.js} +3 -3
- package/dist/{icon-BR-jE0Y2.js.map → icon-pLQWXzo8.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 +190 -173
- package/dist/index.js.map +1 -1
- package/dist/{input-B2oV6Hck.cjs → input-CCniOtAr.cjs} +2 -2
- package/dist/{input-B2oV6Hck.cjs.map → input-CCniOtAr.cjs.map} +1 -1
- package/dist/{input-kiz5O3dY.js → input-DeJitVSV.js} +2 -2
- package/dist/{input-kiz5O3dY.js.map → input-DeJitVSV.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-CMHoPfX9.cjs → list-Ad-24MHW.cjs} +2 -2
- package/dist/{list-CMHoPfX9.cjs.map → list-Ad-24MHW.cjs.map} +1 -1
- package/dist/{list-wT4DLXCh.js → list-Ca79GGNH.js} +2 -2
- package/dist/{list-wT4DLXCh.js.map → list-Ca79GGNH.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-B9Qdq5S_.js → litElement.mixin-BoUiP2tU.js} +2 -2
- package/dist/{litElement.mixin-B9Qdq5S_.js.map → litElement.mixin-BoUiP2tU.js.map} +1 -1
- package/dist/{litElement.mixin-CHvyxfxf.cjs → litElement.mixin-qOTYSaNG.cjs} +2 -2
- package/dist/{litElement.mixin-CHvyxfxf.cjs.map → litElement.mixin-qOTYSaNG.cjs.map} +1 -1
- package/dist/{menu-BcSplMNh.cjs → menu-6Wum4ysc.cjs} +2 -2
- package/dist/{menu-BcSplMNh.cjs.map → menu-6Wum4ysc.cjs.map} +1 -1
- package/dist/{menu-Dl1QU86K.js → menu-Dd_X9oET.js} +3 -3
- package/dist/{menu-Dl1QU86K.js.map → menu-Dd_X9oET.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-CC698xHg.js → notification-service-C-9IqObm.js} +3 -3
- package/dist/{notification-service-CC698xHg.js.map → notification-service-C-9IqObm.js.map} +1 -1
- package/dist/{notification-service-BV9ybQBu.cjs → notification-service-CrNyAbmv.cjs} +2 -2
- package/dist/{notification-service-BV9ybQBu.cjs.map → notification-service-CrNyAbmv.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-CkLBgH71.cjs → option-BbBbwrJq.cjs} +2 -2
- package/dist/{option-CkLBgH71.cjs.map → option-BbBbwrJq.cjs.map} +1 -1
- package/dist/{option-DDxxXwwc.js → option-DVSXUJ96.js} +2 -2
- package/dist/{option-DDxxXwwc.js.map → option-DVSXUJ96.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-DDTO5_AA.js → payment-card-form-CTjgVoJK.js} +3 -3
- package/dist/{payment-card-form-DDTO5_AA.js.map → payment-card-form-CTjgVoJK.js.map} +1 -1
- package/dist/{payment-card-form-UWbAYNPR.cjs → payment-card-form-R5wNWHAv.cjs} +2 -2
- package/dist/{payment-card-form-UWbAYNPR.cjs.map → payment-card-form-R5wNWHAv.cjs.map} +1 -1
- package/dist/{radio-button-wWoxPDfq.js → radio-button-BDAW1Euc.js} +2 -2
- package/dist/{radio-button-wWoxPDfq.js.map → radio-button-BDAW1Euc.js.map} +1 -1
- package/dist/{radio-button-BykiVxTD.cjs → radio-button-Cg1JobXT.cjs} +2 -2
- package/dist/{radio-button-BykiVxTD.cjs.map → radio-button-Cg1JobXT.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-ByO98z7L.js → schmancy-steps-container--d7VK-QR.js} +2 -2
- package/dist/{schmancy-steps-container-ByO98z7L.js.map → schmancy-steps-container--d7VK-QR.js.map} +1 -1
- package/dist/{schmancy-steps-container-B1mIGa9M.cjs → schmancy-steps-container-BAPIxl4s.cjs} +2 -2
- package/dist/{schmancy-steps-container-B1mIGa9M.cjs.map → schmancy-steps-container-BAPIxl4s.cjs.map} +1 -1
- package/dist/{select-DE57Nios.cjs → select-CnjO7DLl.cjs} +2 -2
- package/dist/{select-DE57Nios.cjs.map → select-CnjO7DLl.cjs.map} +1 -1
- package/dist/{select-BIOhocL7.js → select-DfbOOZtm.js} +3 -3
- package/dist/{select-BIOhocL7.js.map → select-DfbOOZtm.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-Dh4MLVsU.js → sheet-DhbKM9gJ.js} +3 -3
- package/dist/{sheet-Dh4MLVsU.js.map → sheet-DhbKM9gJ.js.map} +1 -1
- package/dist/{sheet-fZYAWGsm.cjs → sheet-Ds0Fp0lM.cjs} +2 -2
- package/dist/{sheet-fZYAWGsm.cjs.map → sheet-Ds0Fp0lM.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-DVlJoDgU.js → slider-Ba3AEh2W.js} +3 -3
- package/dist/{slider-DVlJoDgU.js.map → slider-Ba3AEh2W.js.map} +1 -1
- package/dist/{slider-CejrdmPF.cjs → slider-CSOzhUhA.cjs} +2 -2
- package/dist/{slider-CejrdmPF.cjs.map → slider-CSOzhUhA.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-DbTnai_Q.js → spinner-BgeQqlFU.js} +3 -3
- package/dist/{spinner-DbTnai_Q.js.map → spinner-BgeQqlFU.js.map} +1 -1
- package/dist/{spinner-DxVJ7QJZ.cjs → spinner-llMfjiIc.cjs} +2 -2
- package/dist/{spinner-DxVJ7QJZ.cjs.map → spinner-llMfjiIc.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/surface-CT2g8fDM.cjs +92 -0
- package/dist/surface-CT2g8fDM.cjs.map +1 -0
- package/dist/surface-UcsAmLj5.js +113 -0
- package/dist/surface-UcsAmLj5.js.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CBhyHINV.cjs → table-CSBhQ-pa.cjs} +4 -4
- package/dist/{table-CBhyHINV.cjs.map → table-CSBhQ-pa.cjs.map} +1 -1
- package/dist/{table-CqUv1TOC.js → table-DuUlrDCu.js} +72 -68
- package/dist/{table-CqUv1TOC.js.map → table-DuUlrDCu.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-DUo2f_sV.js → tabs-compatibility-BVFHArgV.js} +2 -2
- package/dist/{tabs-compatibility-DUo2f_sV.js.map → tabs-compatibility-BVFHArgV.js.map} +1 -1
- package/dist/{tabs-compatibility-DPD6jfGF.cjs → tabs-compatibility-Bt3coGzN.cjs} +2 -2
- package/dist/{tabs-compatibility-DPD6jfGF.cjs.map → tabs-compatibility-Bt3coGzN.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-C71e_LC1.js +43 -0
- package/dist/{tailwind.mixin-Di7KWye7.js.map → tailwind.mixin-C71e_LC1.js.map} +1 -1
- package/dist/tailwind.mixin-CFCJhe5p.cjs +2 -0
- package/dist/{tailwind.mixin-Dm5QDZav.cjs.map → tailwind.mixin-CFCJhe5p.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-Dbz18REy.js → textarea-B8eIpYa-.js} +2 -2
- package/dist/{textarea-Dbz18REy.js.map → textarea-B8eIpYa-.js.map} +1 -1
- package/dist/{textarea-CesFdBkm.cjs → textarea-CtCk_1Fq.cjs} +2 -2
- package/dist/{textarea-CesFdBkm.cjs.map → textarea-CtCk_1Fq.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-Bt2OV4iu.cjs → theme-button-DQe5uOxU.cjs} +2 -2
- package/dist/{theme-button-Bt2OV4iu.cjs.map → theme-button-DQe5uOxU.cjs.map} +1 -1
- package/dist/{theme-button-lqbT2_LL.js → theme-button-TEzhKUy6.js} +2 -2
- package/dist/{theme-button-lqbT2_LL.js.map → theme-button-TEzhKUy6.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-BlBaN7d6.cjs → theme.component-Be6M74nN.cjs} +3 -3
- package/dist/{theme.component-BlBaN7d6.cjs.map → theme.component-Be6M74nN.cjs.map} +1 -1
- package/dist/{theme.component-xarFSe8p.js → theme.component-DiTpToTC.js} +2 -2
- package/dist/{theme.component-xarFSe8p.js.map → theme.component-DiTpToTC.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-VUMRmZaJ.cjs → timezone-C1aR24i0.cjs} +2 -2
- package/dist/{timezone-VUMRmZaJ.cjs.map → timezone-C1aR24i0.cjs.map} +1 -1
- package/dist/{timezone-DwT_pQrj.js → timezone-CBSuTrU2.js} +3 -3
- package/dist/{timezone-DwT_pQrj.js.map → timezone-CBSuTrU2.js.map} +1 -1
- package/dist/{tooltip-BKOHVCMK.js → tooltip-DYQW9R3I.js} +2 -2
- package/dist/{tooltip-BKOHVCMK.js.map → tooltip-DYQW9R3I.js.map} +1 -1
- package/dist/{tooltip-Cvoroe7w.cjs → tooltip-DYcXTtFy.cjs} +2 -2
- package/dist/{tooltip-Cvoroe7w.cjs.map → tooltip-DYcXTtFy.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-Cyp2AZ8g.cjs → tree-D-rTjnPs.cjs} +2 -2
- package/dist/{tree-Cyp2AZ8g.cjs.map → tree-D-rTjnPs.cjs.map} +1 -1
- package/dist/{tree-_FJnHVmP.js → tree-nsSIkdNT.js} +2 -2
- package/dist/{tree-_FJnHVmP.js.map → tree-nsSIkdNT.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-BIm2tOe4.cjs → typewriter-Cj0R-RDa.cjs} +2 -2
- package/dist/{typewriter-BIm2tOe4.cjs.map → typewriter-Cj0R-RDa.cjs.map} +1 -1
- package/dist/{typewriter-DWfXPBni.js → typewriter-DrYb6_FB.js} +22 -22
- package/dist/{typewriter-DWfXPBni.js.map → typewriter-DrYb6_FB.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-OpLt6LNd.cjs → typography-B0Kj2XoC.cjs} +2 -2
- package/dist/{typography-OpLt6LNd.cjs.map → typography-B0Kj2XoC.cjs.map} +1 -1
- package/dist/{typography-DaKLzjFB.js → typography-DMj2H_lZ.js} +2 -2
- package/dist/{typography-DaKLzjFB.js.map → typography-DMj2H_lZ.js.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 +14 -14
- package/types/src/area/area.component.d.ts +1 -1
- package/types/src/area/area.service.d.ts +72 -5
- package/types/src/area/index.d.ts +1 -0
- package/types/src/area/router.types.d.ts +41 -2
- 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-CZELEuMj.js +0 -107
- package/dist/area.component-CZELEuMj.js.map +0 -1
- package/dist/area.component-grRkXEse.cjs +0 -8
- package/dist/area.component-grRkXEse.cjs.map +0 -1
- package/dist/avatar-WAIlaNJg.js.map +0 -1
- package/dist/avatar-s-2jSsaH.cjs.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
package/ai/input.md
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Schmancy Input - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Text Input
|
|
5
|
+
<schmancy-input
|
|
6
|
+
name="field-name"
|
|
7
|
+
label="Field Label"
|
|
8
|
+
value="initial value"
|
|
9
|
+
type="text|password|email|number|tel|url|search|date"
|
|
10
|
+
placeholder="Placeholder text"
|
|
11
|
+
required?
|
|
12
|
+
disabled?
|
|
13
|
+
readonly?
|
|
14
|
+
error="Error message"
|
|
15
|
+
success?
|
|
16
|
+
size="small|medium|large"
|
|
17
|
+
@input=${handleInput}
|
|
18
|
+
@change=${handleChange}
|
|
19
|
+
@focus=${handleFocus}
|
|
20
|
+
@blur=${handleBlur}>
|
|
21
|
+
</schmancy-input>
|
|
22
|
+
|
|
23
|
+
// Input v2 (enhanced version with formatting and validation)
|
|
24
|
+
<schmancy-input-v2
|
|
25
|
+
name="field-name"
|
|
26
|
+
label="Field Label"
|
|
27
|
+
value="initial value"
|
|
28
|
+
type="text|password|email|number|tel|url|search|date"
|
|
29
|
+
placeholder="Placeholder text"
|
|
30
|
+
required?
|
|
31
|
+
disabled?
|
|
32
|
+
readonly?
|
|
33
|
+
error="Error message"
|
|
34
|
+
success?
|
|
35
|
+
size="small|medium|large"
|
|
36
|
+
.format=${(value) => formattedValue}
|
|
37
|
+
.parse=${(displayValue) => parsedValue}
|
|
38
|
+
.validate=${(value) => errorMessage}
|
|
39
|
+
@input=${handleInput}
|
|
40
|
+
@change=${handleChange}>
|
|
41
|
+
</schmancy-input-v2>
|
|
42
|
+
|
|
43
|
+
// Input Methods
|
|
44
|
+
input.focus() -> void
|
|
45
|
+
input.blur() -> void
|
|
46
|
+
input.validate() -> boolean
|
|
47
|
+
input.setCustomValidity(message) -> void
|
|
48
|
+
input.select() -> void
|
|
49
|
+
|
|
50
|
+
// Events
|
|
51
|
+
@input // { target: { value: string } }
|
|
52
|
+
@change // { target: { value: string } }
|
|
53
|
+
@focus // { target: HTMLElement }
|
|
54
|
+
@blur // { target: HTMLElement }
|
|
55
|
+
|
|
56
|
+
// Examples
|
|
57
|
+
// 1. Basic input with validation
|
|
58
|
+
<schmancy-input
|
|
59
|
+
name="email"
|
|
60
|
+
label="Email Address"
|
|
61
|
+
type="email"
|
|
62
|
+
required
|
|
63
|
+
placeholder="Enter your email"
|
|
64
|
+
@change=${(e) => console.log(e.target.value)}>
|
|
65
|
+
</schmancy-input>
|
|
66
|
+
|
|
67
|
+
// 2. Input with currency formatting
|
|
68
|
+
<schmancy-input-v2
|
|
69
|
+
name="amount"
|
|
70
|
+
label="Amount"
|
|
71
|
+
type="number"
|
|
72
|
+
.format=${(value) => `$${value.toFixed(2)}`}
|
|
73
|
+
.parse=${(value) => parseFloat(value.replace('$', ''))}
|
|
74
|
+
.validate=${(value) => value < 0 ? 'Amount must be positive' : ''}>
|
|
75
|
+
</schmancy-input-v2>
|
|
76
|
+
|
|
77
|
+
// 3. Input with prefix/suffix
|
|
78
|
+
<schmancy-input label="Price">
|
|
79
|
+
<span slot="prefix">$</span>
|
|
80
|
+
<span slot="suffix">.00</span>
|
|
81
|
+
</schmancy-input>
|
|
82
|
+
|
|
83
|
+
// 4. Input with icons
|
|
84
|
+
<schmancy-input label="Search">
|
|
85
|
+
<schmancy-icon slot="prefix" icon="search"></schmancy-icon>
|
|
86
|
+
<schmancy-icon slot="suffix" icon="close" @click=${clearInput}></schmancy-icon>
|
|
87
|
+
</schmancy-input>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Related Components
|
|
91
|
+
- **[Form](./form.md)**: Container for input and other form components
|
|
92
|
+
- **[Textarea](./textarea.md)**: Multi-line text input fields
|
|
93
|
+
- **[Icons](./icons.md)**: Can be used within input slots
|
|
94
|
+
- **[Autocomplete](./autocomplete.md)**: Extended input with suggestions
|
|
95
|
+
|
|
96
|
+
## Technical Details
|
|
97
|
+
|
|
98
|
+
### Slots
|
|
99
|
+
```html
|
|
100
|
+
prefix: Content displayed before the input field
|
|
101
|
+
suffix: Content displayed after the input field
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### CSS Custom Properties
|
|
105
|
+
```css
|
|
106
|
+
--schmancy-input-height: /* Controls the input height */
|
|
107
|
+
--schmancy-input-border-color: /* Controls the border color */
|
|
108
|
+
--schmancy-input-focus-color: /* Controls the focus color */
|
|
109
|
+
--schmancy-input-error-color: /* Controls the error state color */
|
|
110
|
+
--schmancy-input-success-color: /* Controls the success state color */
|
|
111
|
+
--schmancy-input-font-size: /* Controls the font size */
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Input v2 Interfaces
|
|
115
|
+
```typescript
|
|
116
|
+
interface InputValidator {
|
|
117
|
+
(value: any): string | null;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
interface InputFormatter {
|
|
121
|
+
(value: any): string;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
interface InputParser {
|
|
125
|
+
(displayValue: string): any;
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Common Use Cases
|
|
130
|
+
|
|
131
|
+
1. **Password input with toggle visibility**
|
|
132
|
+
```html
|
|
133
|
+
<schmancy-input
|
|
134
|
+
type="password"
|
|
135
|
+
label="Password"
|
|
136
|
+
name="password">
|
|
137
|
+
<schmancy-icon
|
|
138
|
+
slot="suffix"
|
|
139
|
+
icon="eye"
|
|
140
|
+
@click=${togglePasswordVisibility}>
|
|
141
|
+
</schmancy-icon>
|
|
142
|
+
</schmancy-input>
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
2. **Validating email format**
|
|
146
|
+
```html
|
|
147
|
+
<schmancy-input-v2
|
|
148
|
+
type="email"
|
|
149
|
+
label="Email"
|
|
150
|
+
name="email"
|
|
151
|
+
.validate=${value => {
|
|
152
|
+
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
153
|
+
return emailRegex.test(value) ? '' : 'Please enter a valid email';
|
|
154
|
+
}}>
|
|
155
|
+
</schmancy-input-v2>
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
3. **Input with character count**
|
|
159
|
+
```html
|
|
160
|
+
<schmancy-input
|
|
161
|
+
label="Message"
|
|
162
|
+
name="message"
|
|
163
|
+
maxlength="100"
|
|
164
|
+
@input=${e => updateCharCount(e.target.value.length)}>
|
|
165
|
+
<span slot="suffix" id="charCount">0/100</span>
|
|
166
|
+
</schmancy-input>
|
|
167
|
+
```
|
package/ai/layout.md
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# Schmancy Layout - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Grid Layout
|
|
5
|
+
<schmancy-grid
|
|
6
|
+
columns="3" // Number of columns or template
|
|
7
|
+
rows="auto" // Number of rows or template
|
|
8
|
+
gap="16px" // Gap between items
|
|
9
|
+
column-gap="16px" // Column-specific gap
|
|
10
|
+
row-gap="16px" // Row-specific gap
|
|
11
|
+
justify-items="start|center|end|stretch"
|
|
12
|
+
align-items="start|center|end|stretch"
|
|
13
|
+
justify-content="start|center|end|space-between|space-around|space-evenly"
|
|
14
|
+
align-content="start|center|end|space-between|space-around|space-evenly">
|
|
15
|
+
|
|
16
|
+
<div>Item 1</div>
|
|
17
|
+
<div>Item 2</div>
|
|
18
|
+
<div>Item 3</div>
|
|
19
|
+
</schmancy-grid>
|
|
20
|
+
|
|
21
|
+
// Advanced grid with template
|
|
22
|
+
<schmancy-grid
|
|
23
|
+
columns="repeat(12, 1fr)"
|
|
24
|
+
rows="auto auto 1fr"
|
|
25
|
+
template-areas="
|
|
26
|
+
'header header header header'
|
|
27
|
+
'sidebar content content content'
|
|
28
|
+
'footer footer footer footer'
|
|
29
|
+
">
|
|
30
|
+
<div style="grid-area: header">Header</div>
|
|
31
|
+
<div style="grid-area: sidebar">Sidebar</div>
|
|
32
|
+
<div style="grid-area: content">Content</div>
|
|
33
|
+
<div style="grid-area: footer">Footer</div>
|
|
34
|
+
</schmancy-grid>
|
|
35
|
+
|
|
36
|
+
// Flex Layout
|
|
37
|
+
<schmancy-flex
|
|
38
|
+
direction="row|column|row-reverse|column-reverse"
|
|
39
|
+
wrap="nowrap|wrap|wrap-reverse"
|
|
40
|
+
justify-content="start|center|end|space-between|space-around|space-evenly"
|
|
41
|
+
align-items="start|center|end|stretch|baseline"
|
|
42
|
+
align-content="start|center|end|space-between|space-around|space-evenly"
|
|
43
|
+
gap="16px" // Gap between items
|
|
44
|
+
column-gap="16px" // Column-specific gap
|
|
45
|
+
row-gap="16px"> // Row-specific gap
|
|
46
|
+
|
|
47
|
+
<div>Item 1</div>
|
|
48
|
+
<div>Item 2</div>
|
|
49
|
+
<div style="flex: 1">Flexible Item</div>
|
|
50
|
+
</schmancy-flex>
|
|
51
|
+
|
|
52
|
+
// Responsive layouts (using attributes)
|
|
53
|
+
<schmancy-grid
|
|
54
|
+
columns="1"
|
|
55
|
+
columns-md="2"
|
|
56
|
+
columns-lg="3"
|
|
57
|
+
columns-xl="4"
|
|
58
|
+
gap="8px"
|
|
59
|
+
gap-md="16px"
|
|
60
|
+
gap-lg="24px">
|
|
61
|
+
|
|
62
|
+
<!-- Content -->
|
|
63
|
+
</schmancy-grid>
|
|
64
|
+
|
|
65
|
+
<schmancy-flex
|
|
66
|
+
direction="column"
|
|
67
|
+
direction-md="row"
|
|
68
|
+
align-items="center"
|
|
69
|
+
justify-content-md="space-between">
|
|
70
|
+
|
|
71
|
+
<!-- Content -->
|
|
72
|
+
</schmancy-flex>
|
|
73
|
+
|
|
74
|
+
// Scroll Container
|
|
75
|
+
<schmancy-scroll
|
|
76
|
+
direction="vertical|horizontal|both"
|
|
77
|
+
scrollbar="auto|always|hover|none">
|
|
78
|
+
|
|
79
|
+
<!-- Scrollable content -->
|
|
80
|
+
</schmancy-scroll>
|
|
81
|
+
|
|
82
|
+
// Layout v2 Components (enhanced versions)
|
|
83
|
+
<schmancy-flex-v2
|
|
84
|
+
display="flex|inline-flex"
|
|
85
|
+
direction="row|column"
|
|
86
|
+
wrap="nowrap|wrap|wrap-reverse"
|
|
87
|
+
justify="flex-start|flex-end|center|space-between|space-around|space-evenly"
|
|
88
|
+
items="flex-start|flex-end|center|stretch|baseline"
|
|
89
|
+
content="flex-start|flex-end|center|space-between|space-around|space-evenly"
|
|
90
|
+
gap="none|xs|sm|md|lg|xl">
|
|
91
|
+
|
|
92
|
+
<!-- Content -->
|
|
93
|
+
</schmancy-flex-v2>
|
|
94
|
+
|
|
95
|
+
<schmancy-grid-v2
|
|
96
|
+
display="grid|inline-grid"
|
|
97
|
+
template-columns="1fr 1fr|repeat(3, 1fr)"
|
|
98
|
+
template-rows="auto|1fr auto"
|
|
99
|
+
template-areas="'header header' 'sidebar content' 'footer footer'"
|
|
100
|
+
gap="none|xs|sm|md|lg|xl"
|
|
101
|
+
justify-content="start|end|center|stretch|space-around|space-between|space-evenly"
|
|
102
|
+
align-content="start|end|center|stretch|space-around|space-between|space-evenly"
|
|
103
|
+
justify-items="start|end|center|stretch"
|
|
104
|
+
align-items="start|end|center|stretch">
|
|
105
|
+
|
|
106
|
+
<!-- Content -->
|
|
107
|
+
</schmancy-grid-v2>
|
|
108
|
+
|
|
109
|
+
// Examples
|
|
110
|
+
// Responsive grid layout
|
|
111
|
+
<schmancy-grid
|
|
112
|
+
columns="1"
|
|
113
|
+
columns-md="2"
|
|
114
|
+
columns-lg="4"
|
|
115
|
+
gap="16px">
|
|
116
|
+
<div>Card 1</div>
|
|
117
|
+
<div>Card 2</div>
|
|
118
|
+
<div>Card 3</div>
|
|
119
|
+
<div>Card 4</div>
|
|
120
|
+
</schmancy-grid>
|
|
121
|
+
|
|
122
|
+
// Flex layout for a form
|
|
123
|
+
<schmancy-flex
|
|
124
|
+
direction="column"
|
|
125
|
+
gap="16px">
|
|
126
|
+
<h2>Contact Form</h2>
|
|
127
|
+
<schmancy-input label="Name"></schmancy-input>
|
|
128
|
+
<schmancy-input label="Email"></schmancy-input>
|
|
129
|
+
<schmancy-textarea label="Message"></schmancy-textarea>
|
|
130
|
+
|
|
131
|
+
<schmancy-flex
|
|
132
|
+
direction="row"
|
|
133
|
+
justify-content="end"
|
|
134
|
+
gap="8px">
|
|
135
|
+
<schmancy-button kind="secondary">Cancel</schmancy-button>
|
|
136
|
+
<schmancy-button kind="primary">Submit</schmancy-button>
|
|
137
|
+
</schmancy-flex>
|
|
138
|
+
</schmancy-flex>
|
|
139
|
+
|
|
140
|
+
// App layout with header, sidebar and content
|
|
141
|
+
<schmancy-grid
|
|
142
|
+
style="height: 100vh"
|
|
143
|
+
template-areas="
|
|
144
|
+
'header header'
|
|
145
|
+
'sidebar content'
|
|
146
|
+
"
|
|
147
|
+
template-rows="64px 1fr"
|
|
148
|
+
template-columns="250px 1fr">
|
|
149
|
+
|
|
150
|
+
<div style="grid-area: header">
|
|
151
|
+
<schmancy-appbar>App Title</schmancy-appbar>
|
|
152
|
+
</div>
|
|
153
|
+
|
|
154
|
+
<div style="grid-area: sidebar">
|
|
155
|
+
<schmancy-list>
|
|
156
|
+
<schmancy-list-item>Dashboard</schmancy-list-item>
|
|
157
|
+
<schmancy-list-item>Settings</schmancy-list-item>
|
|
158
|
+
<schmancy-list-item>Profile</schmancy-list-item>
|
|
159
|
+
</schmancy-list>
|
|
160
|
+
</div>
|
|
161
|
+
|
|
162
|
+
<schmancy-scroll style="grid-area: content">
|
|
163
|
+
<!-- Main content -->
|
|
164
|
+
</schmancy-scroll>
|
|
165
|
+
</schmancy-grid>
|
|
166
|
+
```
|
package/ai/list.md
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Schmancy List - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Basic List
|
|
5
|
+
<schmancy-list>
|
|
6
|
+
<schmancy-list-item>Item 1</schmancy-list-item>
|
|
7
|
+
<schmancy-list-item>Item 2</schmancy-list-item>
|
|
8
|
+
<schmancy-list-item>Item 3</schmancy-list-item>
|
|
9
|
+
</schmancy-list>
|
|
10
|
+
|
|
11
|
+
// List Options
|
|
12
|
+
<schmancy-list
|
|
13
|
+
size="small|medium|large"
|
|
14
|
+
dividers? // Show dividers between items
|
|
15
|
+
interactive? // Enable hover and focus states
|
|
16
|
+
dense? // More compact appearance
|
|
17
|
+
@select=${handleSelect}>
|
|
18
|
+
<!-- List items -->
|
|
19
|
+
</schmancy-list>
|
|
20
|
+
|
|
21
|
+
// List Item Options
|
|
22
|
+
<schmancy-list-item
|
|
23
|
+
value="item-value" // Value for selection
|
|
24
|
+
disabled? // Disabled state
|
|
25
|
+
selected? // Selected state
|
|
26
|
+
compact? // Compact appearance
|
|
27
|
+
clickable? // Makes item clickable (implied if interactive list)
|
|
28
|
+
@click=${handleClick}>
|
|
29
|
+
|
|
30
|
+
<!-- Content structure -->
|
|
31
|
+
<div slot="start">
|
|
32
|
+
<schmancy-icon icon="home"></schmancy-icon>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div slot="main">
|
|
36
|
+
<div>Primary Text</div>
|
|
37
|
+
<div>Secondary Text</div>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
<div slot="end">
|
|
41
|
+
<schmancy-badge>42</schmancy-badge>
|
|
42
|
+
</div>
|
|
43
|
+
</schmancy-list-item>
|
|
44
|
+
|
|
45
|
+
// List Events
|
|
46
|
+
@select // Fires when item is selected, with { detail: { value, item } }
|
|
47
|
+
@action // Fires when action is triggered, with { detail: { action, value, item } }
|
|
48
|
+
|
|
49
|
+
// List Context
|
|
50
|
+
// For creating controlled lists and handling selection
|
|
51
|
+
import { ListContext } from 'schmancy/list';
|
|
52
|
+
|
|
53
|
+
const listContext = new ListContext({
|
|
54
|
+
selectable: true, // Enable selection
|
|
55
|
+
multiple: false, // Allow multiple selection
|
|
56
|
+
selected: [], // Initial selected values
|
|
57
|
+
onSelect: handleSelect // Selection handler
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
// Examples
|
|
61
|
+
// Simple navigation list
|
|
62
|
+
<schmancy-list interactive>
|
|
63
|
+
<schmancy-list-item>
|
|
64
|
+
<schmancy-icon slot="start" icon="home"></schmancy-icon>
|
|
65
|
+
Dashboard
|
|
66
|
+
</schmancy-list-item>
|
|
67
|
+
<schmancy-list-item>
|
|
68
|
+
<schmancy-icon slot="start" icon="settings"></schmancy-icon>
|
|
69
|
+
Settings
|
|
70
|
+
</schmancy-list-item>
|
|
71
|
+
<schmancy-list-item>
|
|
72
|
+
<schmancy-icon slot="start" icon="person"></schmancy-icon>
|
|
73
|
+
Profile
|
|
74
|
+
</schmancy-list-item>
|
|
75
|
+
</schmancy-list>
|
|
76
|
+
|
|
77
|
+
// Selectable list
|
|
78
|
+
<schmancy-list
|
|
79
|
+
interactive
|
|
80
|
+
@select=${(e) => console.log('Selected:', e.detail.value)}>
|
|
81
|
+
|
|
82
|
+
<schmancy-list-item value="item1">
|
|
83
|
+
<div slot="main">
|
|
84
|
+
<div>Item One</div>
|
|
85
|
+
<div>Description for item one</div>
|
|
86
|
+
</div>
|
|
87
|
+
</schmancy-list-item>
|
|
88
|
+
|
|
89
|
+
<schmancy-list-item value="item2">
|
|
90
|
+
<div slot="main">
|
|
91
|
+
<div>Item Two</div>
|
|
92
|
+
<div>Description for item two</div>
|
|
93
|
+
</div>
|
|
94
|
+
<div slot="end">
|
|
95
|
+
<schmancy-badge>New</schmancy-badge>
|
|
96
|
+
</div>
|
|
97
|
+
</schmancy-list-item>
|
|
98
|
+
|
|
99
|
+
<schmancy-list-item value="item3" disabled>
|
|
100
|
+
<div slot="main">
|
|
101
|
+
<div>Item Three (Disabled)</div>
|
|
102
|
+
<div>Cannot be selected</div>
|
|
103
|
+
</div>
|
|
104
|
+
</schmancy-list-item>
|
|
105
|
+
</schmancy-list>
|
|
106
|
+
|
|
107
|
+
// Dynamic list from data
|
|
108
|
+
<schmancy-list>
|
|
109
|
+
${items.map(item => html`
|
|
110
|
+
<schmancy-list-item value=${item.id}>
|
|
111
|
+
${item.icon ? html`
|
|
112
|
+
<schmancy-icon slot="start" icon=${item.icon}></schmancy-icon>
|
|
113
|
+
` : ''}
|
|
114
|
+
|
|
115
|
+
<div slot="main">
|
|
116
|
+
<div>${item.primary}</div>
|
|
117
|
+
${item.secondary ? html`<div>${item.secondary}</div>` : ''}
|
|
118
|
+
</div>
|
|
119
|
+
|
|
120
|
+
${item.badge ? html`
|
|
121
|
+
<div slot="end">
|
|
122
|
+
<schmancy-badge>${item.badge}</schmancy-badge>
|
|
123
|
+
</div>
|
|
124
|
+
` : ''}
|
|
125
|
+
</schmancy-list-item>
|
|
126
|
+
`)}
|
|
127
|
+
</schmancy-list>
|
|
128
|
+
|
|
129
|
+
// List with context (controlled selection)
|
|
130
|
+
const selectedItems = ['item2'];
|
|
131
|
+
|
|
132
|
+
<schmancy-list .context=${new ListContext({
|
|
133
|
+
selectable: true,
|
|
134
|
+
multiple: true,
|
|
135
|
+
selected: selectedItems,
|
|
136
|
+
onSelect: (values) => {
|
|
137
|
+
selectedItems = values;
|
|
138
|
+
console.log('Selected items:', values);
|
|
139
|
+
}
|
|
140
|
+
})}>
|
|
141
|
+
<schmancy-list-item value="item1">Item 1</schmancy-list-item>
|
|
142
|
+
<schmancy-list-item value="item2">Item 2</schmancy-list-item>
|
|
143
|
+
<schmancy-list-item value="item3">Item 3</schmancy-list-item>
|
|
144
|
+
</schmancy-list>
|
|
145
|
+
```
|
package/ai/menu.md
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Schmancy Menu - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Basic Menu
|
|
5
|
+
<schmancy-menu @select=${handleSelect}>
|
|
6
|
+
<schmancy-menu-item value="item1">Item 1</schmancy-menu-item>
|
|
7
|
+
<schmancy-menu-item value="item2">Item 2</schmancy-menu-item>
|
|
8
|
+
<schmancy-menu-item value="item3" disabled>Item 3</schmancy-menu-item>
|
|
9
|
+
<schmancy-divider></schmancy-divider>
|
|
10
|
+
<schmancy-menu-item value="item4">Item 4</schmancy-menu-item>
|
|
11
|
+
</schmancy-menu>
|
|
12
|
+
|
|
13
|
+
// Menu with icons
|
|
14
|
+
<schmancy-menu>
|
|
15
|
+
<schmancy-menu-item value="copy">
|
|
16
|
+
<schmancy-icon slot="prefix" icon="copy"></schmancy-icon>
|
|
17
|
+
Copy
|
|
18
|
+
</schmancy-menu-item>
|
|
19
|
+
|
|
20
|
+
<schmancy-menu-item value="cut">
|
|
21
|
+
<schmancy-icon slot="prefix" icon="scissors"></schmancy-icon>
|
|
22
|
+
Cut
|
|
23
|
+
</schmancy-menu-item>
|
|
24
|
+
|
|
25
|
+
<schmancy-menu-item value="paste">
|
|
26
|
+
<schmancy-icon slot="prefix" icon="clipboard"></schmancy-icon>
|
|
27
|
+
Paste
|
|
28
|
+
</schmancy-menu-item>
|
|
29
|
+
</schmancy-menu>
|
|
30
|
+
|
|
31
|
+
// Menu with checkable items
|
|
32
|
+
<schmancy-menu multiple>
|
|
33
|
+
<schmancy-menu-item value="bold" checkable>
|
|
34
|
+
<schmancy-icon slot="prefix" icon="bold"></schmancy-icon>
|
|
35
|
+
Bold
|
|
36
|
+
</schmancy-menu-item>
|
|
37
|
+
|
|
38
|
+
<schmancy-menu-item value="italic" checkable>
|
|
39
|
+
<schmancy-icon slot="prefix" icon="italic"></schmancy-icon>
|
|
40
|
+
Italic
|
|
41
|
+
</schmancy-menu-item>
|
|
42
|
+
|
|
43
|
+
<schmancy-menu-item value="underline" checkable>
|
|
44
|
+
<schmancy-icon slot="prefix" icon="underline"></schmancy-icon>
|
|
45
|
+
Underline
|
|
46
|
+
</schmancy-menu-item>
|
|
47
|
+
</schmancy-menu>
|
|
48
|
+
|
|
49
|
+
// Menu in a dropdown
|
|
50
|
+
<schmancy-dropdown>
|
|
51
|
+
<schmancy-button slot="trigger">
|
|
52
|
+
Options
|
|
53
|
+
</schmancy-button>
|
|
54
|
+
|
|
55
|
+
<schmancy-menu slot="content" @select=${handleMenuSelect}>
|
|
56
|
+
<schmancy-menu-item value="edit">Edit</schmancy-menu-item>
|
|
57
|
+
<schmancy-menu-item value="duplicate">Duplicate</schmancy-menu-item>
|
|
58
|
+
<schmancy-menu-item value="archive">Archive</schmancy-menu-item>
|
|
59
|
+
<schmancy-divider></schmancy-divider>
|
|
60
|
+
<schmancy-menu-item value="delete" variant="danger">Delete</schmancy-menu-item>
|
|
61
|
+
</schmancy-menu>
|
|
62
|
+
</schmancy-dropdown>
|
|
63
|
+
|
|
64
|
+
// Menu Properties
|
|
65
|
+
multiple: boolean // Allow selecting multiple items
|
|
66
|
+
value: string|string[] // Selected item value(s)
|
|
67
|
+
size: string // Size: "small", "medium", "large"
|
|
68
|
+
dense: boolean // More compact appearance
|
|
69
|
+
|
|
70
|
+
// Menu Item Properties
|
|
71
|
+
value: string // Value for selection
|
|
72
|
+
disabled: boolean // Disable the item
|
|
73
|
+
selected: boolean // Whether the item is selected
|
|
74
|
+
checkable: boolean // Show checkbox/radio indicator
|
|
75
|
+
checked: boolean // Checked state for checkable items
|
|
76
|
+
variant: string // Variant: "default", "primary", "danger", etc.
|
|
77
|
+
|
|
78
|
+
// Menu Events
|
|
79
|
+
@select // Fires when item is selected, with { detail: { value, item } }
|
|
80
|
+
@change // Fires when selection changes, with { detail: { value } }
|
|
81
|
+
|
|
82
|
+
// Examples
|
|
83
|
+
// Context menu
|
|
84
|
+
<schmancy-dropdown>
|
|
85
|
+
<div
|
|
86
|
+
slot="trigger"
|
|
87
|
+
@contextmenu=${(e) => {
|
|
88
|
+
e.preventDefault();
|
|
89
|
+
dropdown.open({ x: e.clientX, y: e.clientY });
|
|
90
|
+
}}
|
|
91
|
+
style="width: 300px; height: 200px; border: 1px dashed #ccc; display: flex; align-items: center; justify-content: center;">
|
|
92
|
+
Right-click me
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<schmancy-menu slot="content" @select=${handleContextMenuSelect}>
|
|
96
|
+
<schmancy-menu-item value="view">
|
|
97
|
+
<schmancy-icon slot="prefix" icon="eye"></schmancy-icon>
|
|
98
|
+
View
|
|
99
|
+
</schmancy-menu-item>
|
|
100
|
+
|
|
101
|
+
<schmancy-menu-item value="edit">
|
|
102
|
+
<schmancy-icon slot="prefix" icon="edit"></schmancy-icon>
|
|
103
|
+
Edit
|
|
104
|
+
</schmancy-menu-item>
|
|
105
|
+
|
|
106
|
+
<schmancy-menu-item value="share">
|
|
107
|
+
<schmancy-icon slot="prefix" icon="share"></schmancy-icon>
|
|
108
|
+
Share
|
|
109
|
+
<schmancy-icon slot="suffix" icon="external-link"></schmancy-icon>
|
|
110
|
+
</schmancy-menu-item>
|
|
111
|
+
|
|
112
|
+
<schmancy-divider></schmancy-divider>
|
|
113
|
+
|
|
114
|
+
<schmancy-menu-item value="delete" variant="danger">
|
|
115
|
+
<schmancy-icon slot="prefix" icon="trash"></schmancy-icon>
|
|
116
|
+
Delete
|
|
117
|
+
</schmancy-menu-item>
|
|
118
|
+
</schmancy-menu>
|
|
119
|
+
</schmancy-dropdown>
|
|
120
|
+
|
|
121
|
+
// Multi-select menu
|
|
122
|
+
<schmancy-menu
|
|
123
|
+
multiple
|
|
124
|
+
.value=${selectedOptions}
|
|
125
|
+
@change=${(e) => selectedOptions = e.detail.value}>
|
|
126
|
+
|
|
127
|
+
<schmancy-menu-item value="wifi" checkable>
|
|
128
|
+
<schmancy-icon slot="prefix" icon="wifi"></schmancy-icon>
|
|
129
|
+
Wi-Fi
|
|
130
|
+
</schmancy-menu-item>
|
|
131
|
+
|
|
132
|
+
<schmancy-menu-item value="bluetooth" checkable>
|
|
133
|
+
<schmancy-icon slot="prefix" icon="bluetooth"></schmancy-icon>
|
|
134
|
+
Bluetooth
|
|
135
|
+
</schmancy-menu-item>
|
|
136
|
+
|
|
137
|
+
<schmancy-menu-item value="airplane" checkable>
|
|
138
|
+
<schmancy-icon slot="prefix" icon="airplane"></schmancy-icon>
|
|
139
|
+
Airplane Mode
|
|
140
|
+
</schmancy-menu-item>
|
|
141
|
+
|
|
142
|
+
<schmancy-menu-item value="location" checkable>
|
|
143
|
+
<schmancy-icon slot="prefix" icon="map-pin"></schmancy-icon>
|
|
144
|
+
Location
|
|
145
|
+
</schmancy-menu-item>
|
|
146
|
+
</schmancy-menu>
|
|
147
|
+
|
|
148
|
+
// Menu with keyboard shortcuts
|
|
149
|
+
<schmancy-menu>
|
|
150
|
+
<schmancy-menu-item value="new">
|
|
151
|
+
<schmancy-icon slot="prefix" icon="file"></schmancy-icon>
|
|
152
|
+
New File
|
|
153
|
+
<span slot="suffix">Ctrl+N</span>
|
|
154
|
+
</schmancy-menu-item>
|
|
155
|
+
|
|
156
|
+
<schmancy-menu-item value="open">
|
|
157
|
+
<schmancy-icon slot="prefix" icon="folder-open"></schmancy-icon>
|
|
158
|
+
Open...
|
|
159
|
+
<span slot="suffix">Ctrl+O</span>
|
|
160
|
+
</schmancy-menu-item>
|
|
161
|
+
|
|
162
|
+
<schmancy-menu-item value="save">
|
|
163
|
+
<schmancy-icon slot="prefix" icon="save"></schmancy-icon>
|
|
164
|
+
Save
|
|
165
|
+
<span slot="suffix">Ctrl+S</span>
|
|
166
|
+
</schmancy-menu-item>
|
|
167
|
+
|
|
168
|
+
<schmancy-menu-item value="saveAs">
|
|
169
|
+
<schmancy-icon slot="prefix" icon="save"></schmancy-icon>
|
|
170
|
+
Save As...
|
|
171
|
+
<span slot="suffix">Ctrl+Shift+S</span>
|
|
172
|
+
</schmancy-menu-item>
|
|
173
|
+
|
|
174
|
+
<schmancy-divider></schmancy-divider>
|
|
175
|
+
|
|
176
|
+
<schmancy-menu-item value="exit">
|
|
177
|
+
<schmancy-icon slot="prefix" icon="x"></schmancy-icon>
|
|
178
|
+
Exit
|
|
179
|
+
<span slot="suffix">Alt+F4</span>
|
|
180
|
+
</schmancy-menu-item>
|
|
181
|
+
</schmancy-menu>
|
|
182
|
+
|
|
183
|
+
// Menu with nested items (using dropdown)
|
|
184
|
+
<schmancy-menu>
|
|
185
|
+
<schmancy-menu-item value="file">File</schmancy-menu-item>
|
|
186
|
+
<schmancy-menu-item value="edit">Edit</schmancy-menu-item>
|
|
187
|
+
<schmancy-menu-item value="view">View</schmancy-menu-item>
|
|
188
|
+
|
|
189
|
+
<schmancy-dropdown position="right-start">
|
|
190
|
+
<schmancy-menu-item slot="trigger" value="insert">
|
|
191
|
+
Insert
|
|
192
|
+
<schmancy-icon slot="suffix" icon="chevron-right"></schmancy-icon>
|
|
193
|
+
</schmancy-menu-item>
|
|
194
|
+
|
|
195
|
+
<schmancy-menu slot="content">
|
|
196
|
+
<schmancy-menu-item value="insert-image">
|
|
197
|
+
<schmancy-icon slot="prefix" icon="image"></schmancy-icon>
|
|
198
|
+
Image
|
|
199
|
+
</schmancy-menu-item>
|
|
200
|
+
|
|
201
|
+
<schmancy-menu-item value="insert-table">
|
|
202
|
+
<schmancy-icon slot="prefix" icon="grid"></schmancy-icon>
|
|
203
|
+
Table
|
|
204
|
+
</schmancy-menu-item>
|
|
205
|
+
|
|
206
|
+
<schmancy-menu-item value="insert-chart">
|
|
207
|
+
<schmancy-icon slot="prefix" icon="bar-chart"></schmancy-icon>
|
|
208
|
+
Chart
|
|
209
|
+
</schmancy-menu-item>
|
|
210
|
+
</schmancy-menu>
|
|
211
|
+
</schmancy-dropdown>
|
|
212
|
+
|
|
213
|
+
<schmancy-menu-item value="format">Format</schmancy-menu-item>
|
|
214
|
+
<schmancy-menu-item value="tools">Tools</schmancy-menu-item>
|
|
215
|
+
<schmancy-menu-item value="help">Help</schmancy-menu-item>
|
|
216
|
+
</schmancy-menu>
|
|
217
|
+
```
|