@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/area.md
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# Schmancy Area
|
|
2
|
+
|
|
3
|
+
Schmancy Area is a lightweight, reactive routing and state management system for web components with RxJS integration.
|
|
4
|
+
|
|
5
|
+
## Component Usage
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<!-- Basic router outlet -->
|
|
9
|
+
<schmancy-area
|
|
10
|
+
name="main"
|
|
11
|
+
default="home-component">
|
|
12
|
+
</schmancy-area>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Properties
|
|
16
|
+
|
|
17
|
+
| Property | Type | Description |
|
|
18
|
+
|----------|------|-------------|
|
|
19
|
+
| `name` | `string` | **Required**. Unique identifier for this router outlet. |
|
|
20
|
+
| `default` | `string \| Promise<NodeModule> \| CustomElementConstructor \| TemplateResult` | Default component to display if none is specified. |
|
|
21
|
+
|
|
22
|
+
## Service API
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
// Import the area service
|
|
26
|
+
import { area } from '@schmancy/area';
|
|
27
|
+
|
|
28
|
+
// Navigation methods
|
|
29
|
+
area.push({
|
|
30
|
+
component: 'user-profile', // Component constructor, string tag name, or element instance
|
|
31
|
+
area: 'main', // Target area name
|
|
32
|
+
state?: { view: 'profile' }, // Optional state object
|
|
33
|
+
params?: { id: '123' }, // Optional parameters
|
|
34
|
+
historyStrategy: 'push', // 'push', 'replace', 'pop', 'silent'
|
|
35
|
+
clearQueryParams?: ['sort'] // Clear specific query params
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
area.pop('sidebar'); // Remove an area
|
|
39
|
+
|
|
40
|
+
// Subscription methods (return RxJS Observables)
|
|
41
|
+
area.on(areaName, skipCurrent?) // Subscribe to an area
|
|
42
|
+
area.all(skipCurrent?) // Subscribe to all areas
|
|
43
|
+
area.getState<T>(areaName) // Get typed state from an area
|
|
44
|
+
area.params<T>(areaName) // Get typed params from an area
|
|
45
|
+
area.param<T>(areaName, key) // Get a specific param value
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Examples
|
|
49
|
+
|
|
50
|
+
### Basic Navigation
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
// Navigate to a component
|
|
54
|
+
area.push({
|
|
55
|
+
component: 'home-page',
|
|
56
|
+
area: 'main'
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// Navigate with parameters and state
|
|
60
|
+
area.push({
|
|
61
|
+
component: ProductDetailComponent,
|
|
62
|
+
area: 'main',
|
|
63
|
+
params: { productId: '12345' },
|
|
64
|
+
state: { showReviews: true },
|
|
65
|
+
historyStrategy: 'push'
|
|
66
|
+
});
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Multiple Independent Areas
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
// Update multiple areas independently
|
|
73
|
+
area.push({ component: 'product-list', area: 'main' });
|
|
74
|
+
area.push({ component: 'filter-panel', area: 'sidebar' });
|
|
75
|
+
|
|
76
|
+
// Open a modal dialog
|
|
77
|
+
area.push({
|
|
78
|
+
component: 'dialog-component',
|
|
79
|
+
area: 'modal',
|
|
80
|
+
params: { id: '123' }
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
// Close a modal
|
|
84
|
+
area.pop('modal');
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Reactive Subscriptions
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
// Subscribe to area changes
|
|
91
|
+
area.on('main').subscribe(route => {
|
|
92
|
+
console.log(`Component: ${route.component}`);
|
|
93
|
+
console.log(`Params:`, route.params);
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
// Type-safe state and params
|
|
97
|
+
interface UserState { name: string; role: string; }
|
|
98
|
+
interface UserParams { id: string; tab?: string; }
|
|
99
|
+
|
|
100
|
+
area.getState<UserState>('user').subscribe(state => {
|
|
101
|
+
updateUserInfo(state.name, state.role);
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
area.params<UserParams>('user').subscribe(params => {
|
|
105
|
+
fetchUser(params.id);
|
|
106
|
+
setActiveTab(params.tab || 'profile');
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// Get a specific parameter
|
|
110
|
+
area.param<string>('product', 'productId').subscribe(id => {
|
|
111
|
+
fetchProductDetails(id);
|
|
112
|
+
});
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### DOM Events
|
|
116
|
+
|
|
117
|
+
Areas also dispatch DOM events for non-RxJS consumers:
|
|
118
|
+
|
|
119
|
+
```js
|
|
120
|
+
// Format: schmancy-area-${areaName}-changed
|
|
121
|
+
window.addEventListener('schmancy-area-main-changed', event => {
|
|
122
|
+
const { component, params, state } = event.detail;
|
|
123
|
+
updateUI(component, params, state);
|
|
124
|
+
});
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Advanced Usage
|
|
128
|
+
|
|
129
|
+
### Lazy Loading Components
|
|
130
|
+
|
|
131
|
+
```ts
|
|
132
|
+
area.push({
|
|
133
|
+
component: import('./components/heavy-dashboard.js'),
|
|
134
|
+
area: 'main'
|
|
135
|
+
});
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Navigation Guards
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
import { switchMap, EMPTY, of } from 'rxjs';
|
|
142
|
+
|
|
143
|
+
area.on('protected-area').pipe(
|
|
144
|
+
switchMap(route => {
|
|
145
|
+
if (!isAuthenticated()) {
|
|
146
|
+
area.push({ component: 'login-page', area: 'main' });
|
|
147
|
+
return EMPTY;
|
|
148
|
+
}
|
|
149
|
+
return of(route);
|
|
150
|
+
})
|
|
151
|
+
).subscribe(handleProtectedRoute);
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Component Reloading Pattern
|
|
155
|
+
|
|
156
|
+
When updating the same component with different parameters, use this pattern to ensure re-rendering:
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
// First push to the main routing area to force component re-creation
|
|
160
|
+
area.push({
|
|
161
|
+
area: 'main-area',
|
|
162
|
+
component: 'user-profile',
|
|
163
|
+
params: { userId: '456' },
|
|
164
|
+
historyStrategy: 'push'
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
// Then update any subscription areas with the silent history strategy
|
|
168
|
+
area.push({
|
|
169
|
+
area: 'user-area',
|
|
170
|
+
component: 'user-profile',
|
|
171
|
+
params: { userId: '456' },
|
|
172
|
+
historyStrategy: 'silent' // Don't create history entry
|
|
173
|
+
});
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
This works around the `distinctUntilChanged` behavior in the Area component that compares only component names, not params.
|
|
177
|
+
|
|
178
|
+
## Related Components
|
|
179
|
+
|
|
180
|
+
- **[Store](./store.md)** - For more complex state management
|
|
181
|
+
- **[Layout](./layout.md)** - For responsive layouts
|
|
182
|
+
- **[Teleport](./teleport.md)** - For advanced component transportation
|
|
183
|
+
- **[Sheet](./sheet.md)** - For modal overlays
|
|
184
|
+
|
|
185
|
+
## Type Definitions
|
|
186
|
+
|
|
187
|
+
```ts
|
|
188
|
+
// Route Action - used for navigation
|
|
189
|
+
interface RouteAction {
|
|
190
|
+
component: CustomElementConstructor | string | HTMLElement | Promise<NodeModule>;
|
|
191
|
+
area: string;
|
|
192
|
+
state?: Record<string, unknown>;
|
|
193
|
+
params?: Record<string, unknown>;
|
|
194
|
+
historyStrategy?: 'push' | 'replace' | 'pop' | 'silent';
|
|
195
|
+
clearQueryParams?: string[] | null;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// Active Route - current state of an area
|
|
199
|
+
interface ActiveRoute {
|
|
200
|
+
component: string;
|
|
201
|
+
area: string;
|
|
202
|
+
state?: Record<string, unknown>;
|
|
203
|
+
params?: Record<string, unknown>;
|
|
204
|
+
}
|
|
205
|
+
```
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Schmancy Autocomplete - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Basic Autocomplete (Single-Select)
|
|
5
|
+
<schmancy-autocomplete
|
|
6
|
+
label="Select an option"
|
|
7
|
+
placeholder="Type to search..."
|
|
8
|
+
value="selected-value"
|
|
9
|
+
size="sm|md|lg"
|
|
10
|
+
required?
|
|
11
|
+
maxHeight="300px"
|
|
12
|
+
@change=${handleChange}>
|
|
13
|
+
|
|
14
|
+
<schmancy-option value="option1" label="Option 1"></schmancy-option>
|
|
15
|
+
<schmancy-option value="option2" label="Option 2"></schmancy-option>
|
|
16
|
+
<schmancy-option value="option3" label="Option 3"></schmancy-option>
|
|
17
|
+
</schmancy-autocomplete>
|
|
18
|
+
|
|
19
|
+
// Multi-Select Autocomplete
|
|
20
|
+
<schmancy-autocomplete
|
|
21
|
+
label="Select multiple options"
|
|
22
|
+
placeholder="Type to search..."
|
|
23
|
+
multi
|
|
24
|
+
.values=${['option1', 'option3']} // Array of selected values (preferred for multi-select)
|
|
25
|
+
@change=${handleMultiChange}>
|
|
26
|
+
|
|
27
|
+
<schmancy-option value="option1" label="Option 1"></schmancy-option>
|
|
28
|
+
<schmancy-option value="option2" label="Option 2"></schmancy-option>
|
|
29
|
+
<schmancy-option value="option3" label="Option 3"></schmancy-option>
|
|
30
|
+
</schmancy-autocomplete>
|
|
31
|
+
|
|
32
|
+
// Autocomplete with Custom Trigger
|
|
33
|
+
<schmancy-autocomplete>
|
|
34
|
+
<button slot="trigger">Open Options</button>
|
|
35
|
+
|
|
36
|
+
<schmancy-option value="option1" label="Option 1"></schmancy-option>
|
|
37
|
+
<schmancy-option value="option2" label="Option 2"></schmancy-option>
|
|
38
|
+
</schmancy-autocomplete>
|
|
39
|
+
|
|
40
|
+
// Autocomplete Properties
|
|
41
|
+
value: string // Selected value for single-select, comma-separated string for multi-select (legacy API)
|
|
42
|
+
values: string[] // Array of selected values for multi-select (preferred API for multi-select)
|
|
43
|
+
multi: boolean // Enable multi-select mode
|
|
44
|
+
label: string // Input label
|
|
45
|
+
placeholder: string // Input placeholder
|
|
46
|
+
required: boolean // Mark as required for validation
|
|
47
|
+
size: string // Input size: "sm", "md", "lg"
|
|
48
|
+
maxHeight: string // Maximum height of dropdown
|
|
49
|
+
debounceMs: number // Debounce delay in milliseconds for filtering
|
|
50
|
+
autocomplete: string // Value for input's autocomplete attribute
|
|
51
|
+
description: string // Description for screen readers
|
|
52
|
+
|
|
53
|
+
// Autocomplete Events
|
|
54
|
+
@change // Fires when selection changes with { detail: { value, values? } }
|
|
55
|
+
|
|
56
|
+
// Autocomplete Methods
|
|
57
|
+
checkValidity() -> boolean // Check if the input is valid
|
|
58
|
+
reportValidity() -> boolean // Show validation state and return validity
|
|
59
|
+
|
|
60
|
+
// Examples
|
|
61
|
+
// Basic usage
|
|
62
|
+
<schmancy-autocomplete
|
|
63
|
+
label="Country"
|
|
64
|
+
placeholder="Select country"
|
|
65
|
+
@change=${(e) => selectedCountry = e.detail.value}>
|
|
66
|
+
|
|
67
|
+
<schmancy-option value="us" label="United States"></schmancy-option>
|
|
68
|
+
<schmancy-option value="ca" label="Canada"></schmancy-option>
|
|
69
|
+
<schmancy-option value="mx" label="Mexico"></schmancy-option>
|
|
70
|
+
<schmancy-option value="fr" label="France"></schmancy-option>
|
|
71
|
+
<schmancy-option value="de" label="Germany"></schmancy-option>
|
|
72
|
+
</schmancy-autocomplete>
|
|
73
|
+
|
|
74
|
+
// Multi-select with preferred API
|
|
75
|
+
<schmancy-autocomplete
|
|
76
|
+
label="Programming Languages"
|
|
77
|
+
placeholder="Select languages"
|
|
78
|
+
multi
|
|
79
|
+
.values=${selectedLanguages}
|
|
80
|
+
@change=${(e) => {
|
|
81
|
+
selectedLanguages = e.detail.values; // Use the new values array property
|
|
82
|
+
}}>
|
|
83
|
+
|
|
84
|
+
<schmancy-option value="js" label="JavaScript"></schmancy-option>
|
|
85
|
+
<schmancy-option value="ts" label="TypeScript"></schmancy-option>
|
|
86
|
+
<schmancy-option value="py" label="Python"></schmancy-option>
|
|
87
|
+
<schmancy-option value="java" label="Java"></schmancy-option>
|
|
88
|
+
<schmancy-option value="go" label="Go"></schmancy-option>
|
|
89
|
+
</schmancy-autocomplete>
|
|
90
|
+
|
|
91
|
+
// Handling the change event
|
|
92
|
+
handleChange(e) {
|
|
93
|
+
if (e.target.multi) {
|
|
94
|
+
const selectedValues = e.detail.values; // Array of values (preferred)
|
|
95
|
+
const legacyValue = e.detail.value; // Comma-separated string (legacy)
|
|
96
|
+
console.log('Selected:', selectedValues);
|
|
97
|
+
} else {
|
|
98
|
+
const selectedValue = e.detail.value; // Single value
|
|
99
|
+
console.log('Selected:', selectedValue);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Dynamic options from data
|
|
104
|
+
<schmancy-autocomplete
|
|
105
|
+
label="Select Item"
|
|
106
|
+
.value=${selectedItem}>
|
|
107
|
+
|
|
108
|
+
${items.map(item => html`
|
|
109
|
+
<schmancy-option
|
|
110
|
+
value=${item.id}
|
|
111
|
+
label=${item.name}>
|
|
112
|
+
</schmancy-option>
|
|
113
|
+
`)}
|
|
114
|
+
</schmancy-autocomplete>
|
|
115
|
+
|
|
116
|
+
// In a form
|
|
117
|
+
<schmancy-form @submit=${handleSubmit}>
|
|
118
|
+
<schmancy-input
|
|
119
|
+
name="name"
|
|
120
|
+
label="Name"
|
|
121
|
+
required>
|
|
122
|
+
</schmancy-input>
|
|
123
|
+
|
|
124
|
+
<schmancy-autocomplete
|
|
125
|
+
name="department"
|
|
126
|
+
label="Department"
|
|
127
|
+
required>
|
|
128
|
+
<schmancy-option value="hr" label="Human Resources"></schmancy-option>
|
|
129
|
+
<schmancy-option value="eng" label="Engineering"></schmancy-option>
|
|
130
|
+
<schmancy-option value="fin" label="Finance"></schmancy-option>
|
|
131
|
+
</schmancy-autocomplete>
|
|
132
|
+
|
|
133
|
+
<schmancy-button type="submit">Submit</schmancy-button>
|
|
134
|
+
</schmancy-form>
|
|
135
|
+
```
|
package/ai/avatar.md
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# Schmancy Avatar - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Basic Avatar
|
|
5
|
+
<schmancy-avatar
|
|
6
|
+
src="path/to/image.jpg"
|
|
7
|
+
alt="User Name"
|
|
8
|
+
size="x-small|small|medium|large|x-large">
|
|
9
|
+
</schmancy-avatar>
|
|
10
|
+
|
|
11
|
+
// Avatar with name initials
|
|
12
|
+
<schmancy-avatar
|
|
13
|
+
name="John Doe"
|
|
14
|
+
size="medium">
|
|
15
|
+
</schmancy-avatar>
|
|
16
|
+
|
|
17
|
+
// Avatar with icon
|
|
18
|
+
<schmancy-avatar
|
|
19
|
+
icon="user"
|
|
20
|
+
size="medium">
|
|
21
|
+
</schmancy-avatar>
|
|
22
|
+
|
|
23
|
+
// Avatar with custom size and color
|
|
24
|
+
<schmancy-avatar
|
|
25
|
+
name="John Doe"
|
|
26
|
+
size="48px"
|
|
27
|
+
background-color="#6200ee"
|
|
28
|
+
color="white">
|
|
29
|
+
</schmancy-avatar>
|
|
30
|
+
|
|
31
|
+
// Avatar with shape
|
|
32
|
+
<schmancy-avatar
|
|
33
|
+
src="path/to/image.jpg"
|
|
34
|
+
shape="circle|square|rounded">
|
|
35
|
+
</schmancy-avatar>
|
|
36
|
+
|
|
37
|
+
// Avatar Properties
|
|
38
|
+
src: string // Image URL
|
|
39
|
+
alt: string // Alt text for the image
|
|
40
|
+
name: string // Name for generating initials
|
|
41
|
+
icon: string // Icon name to display (if no src or name)
|
|
42
|
+
size: string // Size: "x-small" (24px), "small" (32px), "medium" (40px), "large" (48px), "x-large" (56px), or custom size
|
|
43
|
+
shape: string // Shape: "circle" (default), "square", "rounded"
|
|
44
|
+
backgroundColor: string // Background color for name and icon avatars
|
|
45
|
+
color: string // Text/icon color
|
|
46
|
+
bordered: boolean // Show border
|
|
47
|
+
badgeContent: string // Content for the badge
|
|
48
|
+
badgeColor: string // Color for the badge
|
|
49
|
+
fallback: string // Fallback content if image fails to load
|
|
50
|
+
clickable: boolean // Make avatar clickable with hover effect
|
|
51
|
+
|
|
52
|
+
// Avatar Events
|
|
53
|
+
@click // Fires when avatar is clicked
|
|
54
|
+
@error // Fires when image fails to load
|
|
55
|
+
|
|
56
|
+
// Examples
|
|
57
|
+
// Basic image avatar
|
|
58
|
+
<schmancy-avatar
|
|
59
|
+
src="https://example.com/avatar.jpg"
|
|
60
|
+
alt="Jane Smith"
|
|
61
|
+
size="medium">
|
|
62
|
+
</schmancy-avatar>
|
|
63
|
+
|
|
64
|
+
// Name initials avatar
|
|
65
|
+
<schmancy-avatar
|
|
66
|
+
name="John Doe"
|
|
67
|
+
size="large">
|
|
68
|
+
</schmancy-avatar>
|
|
69
|
+
|
|
70
|
+
// Icon avatar
|
|
71
|
+
<schmancy-avatar
|
|
72
|
+
icon="user"
|
|
73
|
+
size="medium"
|
|
74
|
+
background-color="var(--color-primary)"
|
|
75
|
+
color="white">
|
|
76
|
+
</schmancy-avatar>
|
|
77
|
+
|
|
78
|
+
// Avatar with badge
|
|
79
|
+
<schmancy-avatar
|
|
80
|
+
src="https://example.com/avatar.jpg"
|
|
81
|
+
badge-content="3"
|
|
82
|
+
badge-color="error">
|
|
83
|
+
</schmancy-avatar>
|
|
84
|
+
|
|
85
|
+
// Avatar with status indicator
|
|
86
|
+
<div style="position: relative;">
|
|
87
|
+
<schmancy-avatar
|
|
88
|
+
name="Jane Smith"
|
|
89
|
+
size="large">
|
|
90
|
+
</schmancy-avatar>
|
|
91
|
+
|
|
92
|
+
<schmancy-badge
|
|
93
|
+
dot
|
|
94
|
+
variant="success"
|
|
95
|
+
style="position: absolute; bottom: 0; right: 0; border: 2px solid white;">
|
|
96
|
+
</schmancy-badge>
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
// Avatar group
|
|
100
|
+
<div style="display: flex;">
|
|
101
|
+
<schmancy-avatar
|
|
102
|
+
src="https://example.com/avatar1.jpg"
|
|
103
|
+
size="medium"
|
|
104
|
+
style="margin-right: -8px; border: 2px solid white;">
|
|
105
|
+
</schmancy-avatar>
|
|
106
|
+
|
|
107
|
+
<schmancy-avatar
|
|
108
|
+
src="https://example.com/avatar2.jpg"
|
|
109
|
+
size="medium"
|
|
110
|
+
style="margin-right: -8px; border: 2px solid white;">
|
|
111
|
+
</schmancy-avatar>
|
|
112
|
+
|
|
113
|
+
<schmancy-avatar
|
|
114
|
+
src="https://example.com/avatar3.jpg"
|
|
115
|
+
size="medium"
|
|
116
|
+
style="margin-right: -8px; border: 2px solid white;">
|
|
117
|
+
</schmancy-avatar>
|
|
118
|
+
|
|
119
|
+
<schmancy-avatar
|
|
120
|
+
name="+5"
|
|
121
|
+
size="medium"
|
|
122
|
+
background-color="#e0e0e0"
|
|
123
|
+
color="#757575"
|
|
124
|
+
style="border: 2px solid white;">
|
|
125
|
+
</schmancy-avatar>
|
|
126
|
+
</div>
|
|
127
|
+
|
|
128
|
+
// Clickable avatar for profile
|
|
129
|
+
<schmancy-avatar
|
|
130
|
+
src="https://example.com/avatar.jpg"
|
|
131
|
+
size="large"
|
|
132
|
+
clickable
|
|
133
|
+
@click=${openProfile}>
|
|
134
|
+
</schmancy-avatar>
|
|
135
|
+
|
|
136
|
+
// Avatar with fallback
|
|
137
|
+
<schmancy-avatar
|
|
138
|
+
src="https://example.com/avatar.jpg"
|
|
139
|
+
name="John Doe"
|
|
140
|
+
fallback="JD"
|
|
141
|
+
@error=${handleImageError}>
|
|
142
|
+
</schmancy-avatar>
|
|
143
|
+
|
|
144
|
+
// Square avatar
|
|
145
|
+
<schmancy-avatar
|
|
146
|
+
src="https://example.com/avatar.jpg"
|
|
147
|
+
shape="square"
|
|
148
|
+
size="large">
|
|
149
|
+
</schmancy-avatar>
|
|
150
|
+
|
|
151
|
+
// Avatar in a list item
|
|
152
|
+
<schmancy-list-item>
|
|
153
|
+
<schmancy-avatar
|
|
154
|
+
slot="start"
|
|
155
|
+
src="https://example.com/avatar.jpg"
|
|
156
|
+
size="medium">
|
|
157
|
+
</schmancy-avatar>
|
|
158
|
+
|
|
159
|
+
<div slot="main">
|
|
160
|
+
<div>John Doe</div>
|
|
161
|
+
<div>Software Engineer</div>
|
|
162
|
+
</div>
|
|
163
|
+
</schmancy-list-item>
|
|
164
|
+
|
|
165
|
+
// Avatar in a chat message
|
|
166
|
+
<div style="display: flex; margin-bottom: 16px;">
|
|
167
|
+
<schmancy-avatar
|
|
168
|
+
src="https://example.com/avatar.jpg"
|
|
169
|
+
size="small"
|
|
170
|
+
style="margin-right: 8px;">
|
|
171
|
+
</schmancy-avatar>
|
|
172
|
+
|
|
173
|
+
<div>
|
|
174
|
+
<div><strong>Jane Smith</strong> <span style="color: #757575;">12:34 PM</span></div>
|
|
175
|
+
<div>Hello! How are you doing today?</div>
|
|
176
|
+
</div>
|
|
177
|
+
</div>
|
|
178
|
+
```
|
package/ai/badge.md
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Schmancy Badge - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Basic Badge
|
|
5
|
+
<schmancy-badge>
|
|
6
|
+
42
|
|
7
|
+
</schmancy-badge>
|
|
8
|
+
|
|
9
|
+
// Badge with variants
|
|
10
|
+
<schmancy-badge
|
|
11
|
+
variant="primary|secondary|success|warning|danger|info"
|
|
12
|
+
size="small|medium|large"
|
|
13
|
+
shape="square|pill|circle">
|
|
14
|
+
New
|
|
15
|
+
</schmancy-badge>
|
|
16
|
+
|
|
17
|
+
// Badge with icon
|
|
18
|
+
<schmancy-badge variant="warning">
|
|
19
|
+
<schmancy-icon icon="warning"></schmancy-icon>
|
|
20
|
+
Caution
|
|
21
|
+
</schmancy-badge>
|
|
22
|
+
|
|
23
|
+
// Dot badge
|
|
24
|
+
<schmancy-badge dot variant="danger"></schmancy-badge>
|
|
25
|
+
|
|
26
|
+
// Badge on other elements
|
|
27
|
+
<div style="position: relative;">
|
|
28
|
+
<schmancy-icon icon="notifications"></schmancy-icon>
|
|
29
|
+
<schmancy-badge
|
|
30
|
+
position="top-right"
|
|
31
|
+
value="5">
|
|
32
|
+
</schmancy-badge>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
// Badge Properties
|
|
36
|
+
variant: string // Visual style: "primary", "secondary", "success", "warning", "danger", "info"
|
|
37
|
+
size: string // Size: "small", "medium", "large"
|
|
38
|
+
shape: string // Shape: "square", "pill", "circle"
|
|
39
|
+
dot: boolean // Show as a dot instead of with content
|
|
40
|
+
position: string // Positioning: "top-right", "top-left", "bottom-right", "bottom-left"
|
|
41
|
+
value: string|number // Value to display (alternative to slot content)
|
|
42
|
+
max: number // Maximum value to display before showing "+"
|
|
43
|
+
invisible: boolean // Hide the badge while maintaining layout
|
|
44
|
+
|
|
45
|
+
// Examples
|
|
46
|
+
// Simple numeric badge
|
|
47
|
+
<schmancy-badge>10</schmancy-badge>
|
|
48
|
+
|
|
49
|
+
// Styled text badge
|
|
50
|
+
<schmancy-badge variant="success" shape="pill">
|
|
51
|
+
Completed
|
|
52
|
+
</schmancy-badge>
|
|
53
|
+
|
|
54
|
+
// Status badges
|
|
55
|
+
<div>
|
|
56
|
+
<schmancy-badge variant="success">Active</schmancy-badge>
|
|
57
|
+
<schmancy-badge variant="warning">Pending</schmancy-badge>
|
|
58
|
+
<schmancy-badge variant="danger">Failed</schmancy-badge>
|
|
59
|
+
<schmancy-badge variant="info">Draft</schmancy-badge>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
// Badge on a button
|
|
63
|
+
<schmancy-button>
|
|
64
|
+
Notifications
|
|
65
|
+
<schmancy-badge
|
|
66
|
+
position="top-right"
|
|
67
|
+
variant="danger"
|
|
68
|
+
value="99+">
|
|
69
|
+
</schmancy-badge>
|
|
70
|
+
</schmancy-button>
|
|
71
|
+
|
|
72
|
+
// Badge with maximum value
|
|
73
|
+
<schmancy-badge
|
|
74
|
+
value="125"
|
|
75
|
+
max="99">
|
|
76
|
+
</schmancy-badge>
|
|
77
|
+
// Shows "99+"
|
|
78
|
+
|
|
79
|
+
// Dot indicators for status
|
|
80
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
81
|
+
<schmancy-badge dot variant="success"></schmancy-badge>
|
|
82
|
+
<span>Online</span>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
86
|
+
<schmancy-badge dot variant="warning"></schmancy-badge>
|
|
87
|
+
<span>Away</span>
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
91
|
+
<schmancy-badge dot variant="danger"></schmancy-badge>
|
|
92
|
+
<span>Offline</span>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
// Badge with dynamic content
|
|
96
|
+
<schmancy-badge
|
|
97
|
+
variant=${status === 'active' ? 'success' : 'warning'}
|
|
98
|
+
value=${count}>
|
|
99
|
+
</schmancy-badge>
|
|
100
|
+
```
|