@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/dist/ai/table.md
ADDED
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
# Schmancy Table - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Basic Table
|
|
5
|
+
<schmancy-table>
|
|
6
|
+
<thead>
|
|
7
|
+
<tr>
|
|
8
|
+
<th>Name</th>
|
|
9
|
+
<th>Email</th>
|
|
10
|
+
<th>Role</th>
|
|
11
|
+
</tr>
|
|
12
|
+
</thead>
|
|
13
|
+
<tbody>
|
|
14
|
+
<tr>
|
|
15
|
+
<td>John Doe</td>
|
|
16
|
+
<td>john@example.com</td>
|
|
17
|
+
<td>Admin</td>
|
|
18
|
+
</tr>
|
|
19
|
+
<tr>
|
|
20
|
+
<td>Jane Smith</td>
|
|
21
|
+
<td>jane@example.com</td>
|
|
22
|
+
<td>User</td>
|
|
23
|
+
</tr>
|
|
24
|
+
</tbody>
|
|
25
|
+
</schmancy-table>
|
|
26
|
+
|
|
27
|
+
// Table with custom row component
|
|
28
|
+
<schmancy-table>
|
|
29
|
+
<thead>
|
|
30
|
+
<tr>
|
|
31
|
+
<th>Name</th>
|
|
32
|
+
<th>Email</th>
|
|
33
|
+
<th>Role</th>
|
|
34
|
+
<th>Actions</th>
|
|
35
|
+
</tr>
|
|
36
|
+
</thead>
|
|
37
|
+
<tbody>
|
|
38
|
+
<schmancy-row
|
|
39
|
+
.data=${{ name: 'John Doe', email: 'john@example.com', role: 'Admin' }}
|
|
40
|
+
@click=${handleRowClick}>
|
|
41
|
+
<td>${data.name}</td>
|
|
42
|
+
<td>${data.email}</td>
|
|
43
|
+
<td>${data.role}</td>
|
|
44
|
+
<td>
|
|
45
|
+
<schmancy-button kind="tertiary" size="small">Edit</schmancy-button>
|
|
46
|
+
<schmancy-button kind="danger" size="small">Delete</schmancy-button>
|
|
47
|
+
</td>
|
|
48
|
+
</schmancy-row>
|
|
49
|
+
<!-- More rows -->
|
|
50
|
+
</tbody>
|
|
51
|
+
</schmancy-table>
|
|
52
|
+
|
|
53
|
+
// Data Table with programmatic columns and custom sorting
|
|
54
|
+
<schmancy-table
|
|
55
|
+
.columns=${[
|
|
56
|
+
{
|
|
57
|
+
name: 'Name',
|
|
58
|
+
key: 'name',
|
|
59
|
+
sortable: true
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: 'Date Joined',
|
|
63
|
+
key: 'dateJoined',
|
|
64
|
+
sortable: true,
|
|
65
|
+
// Custom sort by Unix timestamp
|
|
66
|
+
value: (item) => new Date(item.dateJoined).getTime()
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'Profile Completion',
|
|
70
|
+
key: 'profile',
|
|
71
|
+
sortable: true,
|
|
72
|
+
// Sort by completion percentage
|
|
73
|
+
value: (item) => item.profile.completionPercentage,
|
|
74
|
+
// Display with custom rendering
|
|
75
|
+
render: (item) => html`${item.profile.completionPercentage}%`
|
|
76
|
+
}
|
|
77
|
+
]}
|
|
78
|
+
.data=${users}
|
|
79
|
+
sortable>
|
|
80
|
+
</schmancy-table>
|
|
81
|
+
|
|
82
|
+
// Table Properties
|
|
83
|
+
striped: boolean // Apply alternating row colors
|
|
84
|
+
bordered: boolean // Add borders to cells
|
|
85
|
+
compact: boolean // Reduce cell padding
|
|
86
|
+
hover: boolean // Highlight rows on hover
|
|
87
|
+
responsive: boolean // Make table horizontally scrollable on small screens
|
|
88
|
+
sortable: boolean // Enable column sorting
|
|
89
|
+
selectable: boolean // Enable row selection
|
|
90
|
+
loading: boolean // Show loading state
|
|
91
|
+
|
|
92
|
+
// Column Configuration Properties (when using programmatic columns)
|
|
93
|
+
name: string // Display name for the column header
|
|
94
|
+
key?: keyof T // Object property to access for this column
|
|
95
|
+
align?: string // Text alignment ('left', 'right', 'center')
|
|
96
|
+
weight?: string // Font weight ('normal', 'bold')
|
|
97
|
+
render?: function // Custom render function for complex content: (item) => TemplateResult
|
|
98
|
+
sortable?: boolean // Whether this column supports sorting
|
|
99
|
+
value?: function // Custom value function for sorting: (item) => any
|
|
100
|
+
|
|
101
|
+
// Row Properties
|
|
102
|
+
selected: boolean // Whether the row is selected
|
|
103
|
+
data: object // Data object for the row
|
|
104
|
+
|
|
105
|
+
// Table Events
|
|
106
|
+
@sort // Fires when a sortable column is clicked, with { detail: { column, direction } }
|
|
107
|
+
@selection // Fires when row selection changes, with { detail: { selected } }
|
|
108
|
+
|
|
109
|
+
// Examples
|
|
110
|
+
// Basic responsive table
|
|
111
|
+
<schmancy-table
|
|
112
|
+
responsive
|
|
113
|
+
striped
|
|
114
|
+
hover>
|
|
115
|
+
<thead>
|
|
116
|
+
<tr>
|
|
117
|
+
<th>ID</th>
|
|
118
|
+
<th>Name</th>
|
|
119
|
+
<th>Email</th>
|
|
120
|
+
<th>Created</th>
|
|
121
|
+
<th>Status</th>
|
|
122
|
+
</tr>
|
|
123
|
+
</thead>
|
|
124
|
+
<tbody>
|
|
125
|
+
<tr>
|
|
126
|
+
<td>1</td>
|
|
127
|
+
<td>John Doe</td>
|
|
128
|
+
<td>john@example.com</td>
|
|
129
|
+
<td>2023-04-12</td>
|
|
130
|
+
<td>
|
|
131
|
+
<schmancy-badge variant="success">Active</schmancy-badge>
|
|
132
|
+
</td>
|
|
133
|
+
</tr>
|
|
134
|
+
<tr>
|
|
135
|
+
<td>2</td>
|
|
136
|
+
<td>Jane Smith</td>
|
|
137
|
+
<td>jane@example.com</td>
|
|
138
|
+
<td>2023-04-15</td>
|
|
139
|
+
<td>
|
|
140
|
+
<schmancy-badge variant="warning">Pending</schmancy-badge>
|
|
141
|
+
</td>
|
|
142
|
+
</tr>
|
|
143
|
+
</tbody>
|
|
144
|
+
</schmancy-table>
|
|
145
|
+
|
|
146
|
+
// Sortable table - standard HTML structure
|
|
147
|
+
<schmancy-table
|
|
148
|
+
sortable
|
|
149
|
+
@sort=${(e) => sortData(e.detail.column, e.detail.direction)}>
|
|
150
|
+
<thead>
|
|
151
|
+
<tr>
|
|
152
|
+
<th data-sort="id">ID</th>
|
|
153
|
+
<th data-sort="name">Name</th>
|
|
154
|
+
<th data-sort="email">Email</th>
|
|
155
|
+
<th data-sort="created">Created</th>
|
|
156
|
+
<th>Actions</th>
|
|
157
|
+
</tr>
|
|
158
|
+
</thead>
|
|
159
|
+
<tbody>
|
|
160
|
+
${sortedData.map(item => html`
|
|
161
|
+
<tr>
|
|
162
|
+
<td>${item.id}</td>
|
|
163
|
+
<td>${item.name}</td>
|
|
164
|
+
<td>${item.email}</td>
|
|
165
|
+
<td>${formatDate(item.created)}</td>
|
|
166
|
+
<td>
|
|
167
|
+
<schmancy-icon-button
|
|
168
|
+
icon="edit"
|
|
169
|
+
variant="tertiary"
|
|
170
|
+
@click=${() => editItem(item)}>
|
|
171
|
+
</schmancy-icon-button>
|
|
172
|
+
<schmancy-icon-button
|
|
173
|
+
icon="delete"
|
|
174
|
+
variant="danger"
|
|
175
|
+
@click=${() => deleteItem(item)}>
|
|
176
|
+
</schmancy-icon-button>
|
|
177
|
+
</td>
|
|
178
|
+
</tr>
|
|
179
|
+
`)}
|
|
180
|
+
</tbody>
|
|
181
|
+
</schmancy-table>
|
|
182
|
+
|
|
183
|
+
// Sortable table - programmatic with custom value functions
|
|
184
|
+
<schmancy-table
|
|
185
|
+
.data=${userData}
|
|
186
|
+
.columns=${[
|
|
187
|
+
{
|
|
188
|
+
name: 'ID',
|
|
189
|
+
key: 'id',
|
|
190
|
+
sortable: true
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
name: 'User',
|
|
194
|
+
key: 'user',
|
|
195
|
+
sortable: true,
|
|
196
|
+
// Sort by last name for "user" column
|
|
197
|
+
value: (item) => item.user.lastName,
|
|
198
|
+
// Custom render function for complex data
|
|
199
|
+
render: (item) => html`
|
|
200
|
+
<div class="flex items-center">
|
|
201
|
+
<schmancy-avatar src=${item.user.avatar} size="sm"></schmancy-avatar>
|
|
202
|
+
<div class="ml-2">
|
|
203
|
+
<div>${item.user.firstName} ${item.user.lastName}</div>
|
|
204
|
+
<div class="text-sm text-gray-500">${item.user.email}</div>
|
|
205
|
+
</div>
|
|
206
|
+
</div>
|
|
207
|
+
`
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: 'Status',
|
|
211
|
+
key: 'status',
|
|
212
|
+
sortable: true,
|
|
213
|
+
// Sort by status priority (numeric value) but display text
|
|
214
|
+
value: (item) => statusPriorities[item.status] || 0,
|
|
215
|
+
render: (item) => html`
|
|
216
|
+
<schmancy-badge variant=${getStatusVariant(item.status)}>
|
|
217
|
+
${item.status}
|
|
218
|
+
</schmancy-badge>
|
|
219
|
+
`
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
name: 'Created',
|
|
223
|
+
key: 'createdAt',
|
|
224
|
+
sortable: true,
|
|
225
|
+
// Sort by timestamp but display formatted date
|
|
226
|
+
value: (item) => new Date(item.createdAt).getTime(),
|
|
227
|
+
render: (item) => formatDate(item.createdAt)
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
name: 'Actions',
|
|
231
|
+
render: (item) => html`
|
|
232
|
+
<div class="flex space-x-2">
|
|
233
|
+
<schmancy-icon-button icon="edit" @click=${() => editItem(item)}></schmancy-icon-button>
|
|
234
|
+
<schmancy-icon-button icon="delete" @click=${() => deleteItem(item)}></schmancy-icon-button>
|
|
235
|
+
</div>
|
|
236
|
+
`
|
|
237
|
+
}
|
|
238
|
+
]}
|
|
239
|
+
sortable
|
|
240
|
+
@sort=${(e) => console.log('Sort changed:', e.detail)}>
|
|
241
|
+
</schmancy-table>
|
|
242
|
+
|
|
243
|
+
// Selectable table
|
|
244
|
+
<schmancy-table
|
|
245
|
+
selectable
|
|
246
|
+
@selection=${(e) => handleSelectedRows(e.detail.selected)}>
|
|
247
|
+
<thead>
|
|
248
|
+
<tr>
|
|
249
|
+
<th>
|
|
250
|
+
<schmancy-checkbox
|
|
251
|
+
.checked=${allSelected}
|
|
252
|
+
.indeterminate=${someSelected && !allSelected}
|
|
253
|
+
@change=${toggleAllSelection}>
|
|
254
|
+
</schmancy-checkbox>
|
|
255
|
+
</th>
|
|
256
|
+
<th>Name</th>
|
|
257
|
+
<th>Email</th>
|
|
258
|
+
<th>Role</th>
|
|
259
|
+
</tr>
|
|
260
|
+
</thead>
|
|
261
|
+
<tbody>
|
|
262
|
+
${data.map(item => html`
|
|
263
|
+
<schmancy-row
|
|
264
|
+
.data=${item}
|
|
265
|
+
.selected=${selectedRows.includes(item.id)}>
|
|
266
|
+
<td>
|
|
267
|
+
<schmancy-checkbox
|
|
268
|
+
.checked=${selectedRows.includes(item.id)}
|
|
269
|
+
@change=${(e) => toggleRowSelection(item.id, e.target.checked)}>
|
|
270
|
+
</schmancy-checkbox>
|
|
271
|
+
</td>
|
|
272
|
+
<td>${item.name}</td>
|
|
273
|
+
<td>${item.email}</td>
|
|
274
|
+
<td>${item.role}</td>
|
|
275
|
+
</schmancy-row>
|
|
276
|
+
`)}
|
|
277
|
+
</tbody>
|
|
278
|
+
</schmancy-table>
|
|
279
|
+
|
|
280
|
+
// Loading state
|
|
281
|
+
<schmancy-table loading>
|
|
282
|
+
<thead>
|
|
283
|
+
<tr>
|
|
284
|
+
<th>Name</th>
|
|
285
|
+
<th>Email</th>
|
|
286
|
+
<th>Role</th>
|
|
287
|
+
</tr>
|
|
288
|
+
</thead>
|
|
289
|
+
<tbody>
|
|
290
|
+
<!-- Content will be dimmed and a loading indicator shown -->
|
|
291
|
+
</tbody>
|
|
292
|
+
</schmancy-table>
|
|
293
|
+
|
|
294
|
+
// Pagination (with external component)
|
|
295
|
+
<div>
|
|
296
|
+
<schmancy-table>
|
|
297
|
+
<!-- Table content -->
|
|
298
|
+
</schmancy-table>
|
|
299
|
+
|
|
300
|
+
<div style="display: flex; justify-content: space-between; margin-top: 16px;">
|
|
301
|
+
<div>
|
|
302
|
+
Showing ${startIndex + 1} to ${Math.min(endIndex, totalItems)} of ${totalItems} items
|
|
303
|
+
</div>
|
|
304
|
+
|
|
305
|
+
<div>
|
|
306
|
+
<schmancy-button
|
|
307
|
+
variant="tertiary"
|
|
308
|
+
size="small"
|
|
309
|
+
?disabled=${page === 1}
|
|
310
|
+
@click=${() => setPage(page - 1)}>
|
|
311
|
+
Previous
|
|
312
|
+
</schmancy-button>
|
|
313
|
+
|
|
314
|
+
<!-- Page numbers -->
|
|
315
|
+
${generatePageNumbers(page, totalPages).map(p => html`
|
|
316
|
+
<schmancy-button
|
|
317
|
+
variant=${p === page ? "primary" : "tertiary"}
|
|
318
|
+
size="small"
|
|
319
|
+
@click=${() => setPage(p)}>
|
|
320
|
+
${p}
|
|
321
|
+
</schmancy-button>
|
|
322
|
+
`)}
|
|
323
|
+
|
|
324
|
+
<schmancy-button
|
|
325
|
+
variant="tertiary"
|
|
326
|
+
size="small"
|
|
327
|
+
?disabled=${page === totalPages}
|
|
328
|
+
@click=${() => setPage(page + 1)}>
|
|
329
|
+
Next
|
|
330
|
+
</schmancy-button>
|
|
331
|
+
</div>
|
|
332
|
+
</div>
|
|
333
|
+
</div>
|
|
334
|
+
```
|
package/dist/ai/tabs.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Schmancy Tabs - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Basic Tabs
|
|
5
|
+
<schmancy-tabs value="tab1">
|
|
6
|
+
<schmancy-tab value="tab1" label="Tab 1"></schmancy-tab>
|
|
7
|
+
<schmancy-tab value="tab2" label="Tab 2"></schmancy-tab>
|
|
8
|
+
<schmancy-tab value="tab3" label="Tab 3"></schmancy-tab>
|
|
9
|
+
|
|
10
|
+
<div slot="panel" data-tab="tab1">Content for Tab 1</div>
|
|
11
|
+
<div slot="panel" data-tab="tab2">Content for Tab 2</div>
|
|
12
|
+
<div slot="panel" data-tab="tab3">Content for Tab 3</div>
|
|
13
|
+
</schmancy-tabs>
|
|
14
|
+
|
|
15
|
+
// Tabs with Scrolling
|
|
16
|
+
<schmancy-tabs value="tab1" scrollable>
|
|
17
|
+
<!-- Tab definitions -->
|
|
18
|
+
</schmancy-tabs>
|
|
19
|
+
|
|
20
|
+
// Tabs Groups (for complex tab structures)
|
|
21
|
+
<schmancy-tabs-group value="tab1" @change=${handleTabChange}>
|
|
22
|
+
<schmancy-tab value="tab1" label="Tab 1"></schmancy-tab>
|
|
23
|
+
<schmancy-tab value="tab2" label="Tab 2"></schmancy-tab>
|
|
24
|
+
<schmancy-tab value="tab3" label="Tab 3"></schmancy-tab>
|
|
25
|
+
|
|
26
|
+
<div data-tab="tab1">Content for Tab 1</div>
|
|
27
|
+
<div data-tab="tab2">Content for Tab 2</div>
|
|
28
|
+
<div data-tab="tab3">Content for Tab 3</div>
|
|
29
|
+
</schmancy-tabs-group>
|
|
30
|
+
|
|
31
|
+
// Tabs with Icons
|
|
32
|
+
<schmancy-tabs value="tab1">
|
|
33
|
+
<schmancy-tab value="tab1">
|
|
34
|
+
<schmancy-icon icon="home"></schmancy-icon>
|
|
35
|
+
<span>Home</span>
|
|
36
|
+
</schmancy-tab>
|
|
37
|
+
<schmancy-tab value="tab2">
|
|
38
|
+
<schmancy-icon icon="settings"></schmancy-icon>
|
|
39
|
+
<span>Settings</span>
|
|
40
|
+
</schmancy-tab>
|
|
41
|
+
</schmancy-tabs>
|
|
42
|
+
|
|
43
|
+
// Tab Attributes
|
|
44
|
+
value="tab-id" // Unique identifier for the tab
|
|
45
|
+
label="Tab Label" // Text label (optional if using custom content)
|
|
46
|
+
disabled? // Disabled state
|
|
47
|
+
icon="icon-name" // Icon to display (alternative to using schmancy-icon in content)
|
|
48
|
+
|
|
49
|
+
// Tab Methods and Events
|
|
50
|
+
tabs.select(value) -> void // Programmatically select a tab
|
|
51
|
+
@change // Fires when tab selection changes with { detail: { value } }
|
|
52
|
+
|
|
53
|
+
// Examples
|
|
54
|
+
// Basic usage
|
|
55
|
+
<schmancy-tabs value="tab1" @change=${(e) => console.log('Selected tab:', e.detail.value)}>
|
|
56
|
+
<schmancy-tab value="tab1" label="Info"></schmancy-tab>
|
|
57
|
+
<schmancy-tab value="tab2" label="Settings"></schmancy-tab>
|
|
58
|
+
|
|
59
|
+
<div slot="panel" data-tab="tab1">Information content here</div>
|
|
60
|
+
<div slot="panel" data-tab="tab2">Settings content here</div>
|
|
61
|
+
</schmancy-tabs>
|
|
62
|
+
|
|
63
|
+
// Dynamic tabs from data
|
|
64
|
+
${tabData.map(tab => html`
|
|
65
|
+
<schmancy-tab value=${tab.id} label=${tab.label}></schmancy-tab>
|
|
66
|
+
`)}
|
|
67
|
+
|
|
68
|
+
${tabData.map(tab => html`
|
|
69
|
+
<div slot="panel" data-tab=${tab.id}>${tab.content}</div>
|
|
70
|
+
`)}
|
|
71
|
+
```
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Schmancy AI Documentation Guidelines
|
|
2
|
+
|
|
3
|
+
This document provides a template and guidelines for creating consistent AI-friendly documentation for Schmancy components.
|
|
4
|
+
|
|
5
|
+
## Documentation Format
|
|
6
|
+
|
|
7
|
+
Each component's documentation should follow this structure:
|
|
8
|
+
|
|
9
|
+
1. **Component Title**: `# Schmancy [Component] - AI Reference`
|
|
10
|
+
2. **Code Block**: Main syntax reference with component usage patterns
|
|
11
|
+
3. **Related Components**: List of related components with links and relationship descriptions
|
|
12
|
+
4. **Technical Details**: Interfaces, types, CSS custom properties, etc.
|
|
13
|
+
5. **Common Use Cases**: Practical examples with explanations
|
|
14
|
+
|
|
15
|
+
## Code Block Template
|
|
16
|
+
|
|
17
|
+
```js
|
|
18
|
+
// Component Tag
|
|
19
|
+
<schmancy-[component]
|
|
20
|
+
[primary-attribute]="value"
|
|
21
|
+
[boolean-attribute]?
|
|
22
|
+
@[event-name]=${handler}>
|
|
23
|
+
<!-- Content/children if applicable -->
|
|
24
|
+
</schmancy-[component]>
|
|
25
|
+
|
|
26
|
+
// Component Variations (if applicable)
|
|
27
|
+
<schmancy-[component]
|
|
28
|
+
variant="[variant]"
|
|
29
|
+
size="small|medium|large">
|
|
30
|
+
</schmancy-[component]>
|
|
31
|
+
|
|
32
|
+
// Component Methods
|
|
33
|
+
component.method() -> returnType
|
|
34
|
+
component.property = value
|
|
35
|
+
|
|
36
|
+
// Event details
|
|
37
|
+
@event-name // { detail: { relevantData } }
|
|
38
|
+
|
|
39
|
+
// Examples (always number examples for clarity)
|
|
40
|
+
// 1. Basic example
|
|
41
|
+
<schmancy-[component] [primary-attribute]="value">
|
|
42
|
+
Content
|
|
43
|
+
</schmancy-[component]>
|
|
44
|
+
|
|
45
|
+
// 2. Advanced example
|
|
46
|
+
<schmancy-[component]
|
|
47
|
+
[attribute]="value"
|
|
48
|
+
@[event]=${() => handleEvent()}>
|
|
49
|
+
<!-- Structured content -->
|
|
50
|
+
</schmancy-[component]>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Related Components Section
|
|
54
|
+
|
|
55
|
+
Always include a "Related Components" section that links to other relevant components:
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
## Related Components
|
|
59
|
+
- **[Related-1](./related-1.md)**: Brief description of relationship
|
|
60
|
+
- **[Related-2](./related-2.md)**: Brief description of relationship
|
|
61
|
+
- **[Related-3](./related-3.md)**: Brief description of relationship
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Technical Details Section
|
|
65
|
+
|
|
66
|
+
Include relevant technical information:
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
## Technical Details
|
|
70
|
+
|
|
71
|
+
### Interfaces
|
|
72
|
+
```typescript
|
|
73
|
+
interface ComponentProps {
|
|
74
|
+
property: type;
|
|
75
|
+
optionalProperty?: type;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### CSS Custom Properties (if applicable)
|
|
80
|
+
```css
|
|
81
|
+
--schmancy-component-color: /* Controls the component color */
|
|
82
|
+
--schmancy-component-spacing: /* Controls internal spacing */
|
|
83
|
+
```
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Common Use Cases Section
|
|
87
|
+
|
|
88
|
+
Provide 2-4 practical use cases with code examples:
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
### Common Use Cases
|
|
92
|
+
|
|
93
|
+
1. **Use Case 1**: Brief description
|
|
94
|
+
```html
|
|
95
|
+
<schmancy-[component] specific-attribute="value"></schmancy-[component]>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
2. **Use Case 2**: Brief description
|
|
99
|
+
```html
|
|
100
|
+
<schmancy-[component] with="specific-configuration"></schmancy-[component]>
|
|
101
|
+
```
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Style Guide
|
|
105
|
+
|
|
106
|
+
1. **Code Examples**:
|
|
107
|
+
- Number all examples sequentially (e.g., `// 1. Basic example`)
|
|
108
|
+
- Include descriptive comments
|
|
109
|
+
- Ensure examples are realistic and complete
|
|
110
|
+
|
|
111
|
+
2. **Component Descriptions**:
|
|
112
|
+
- Focus on functionality and API usage
|
|
113
|
+
- Avoid marketing language
|
|
114
|
+
- Provide context for when and why to use the component
|
|
115
|
+
|
|
116
|
+
3. **Cross-Referencing**:
|
|
117
|
+
- Always link to related components
|
|
118
|
+
- Explain the relationship (e.g., "Used within", "Alternative to", "Extends")
|
|
119
|
+
|
|
120
|
+
4. **Formatting**:
|
|
121
|
+
- Use backticks for inline code references
|
|
122
|
+
- Use proper markdown headers for sections
|
|
123
|
+
- Use TypeScript for type definitions
|
|
124
|
+
|
|
125
|
+
## Component Categories
|
|
126
|
+
|
|
127
|
+
Organize components according to these categories for better cross-referencing:
|
|
128
|
+
|
|
129
|
+
1. **Core Infrastructure**: Area, Store, Teleport, RxJS Utils
|
|
130
|
+
2. **Layout Components**: Layout, Surface, Card, Divider
|
|
131
|
+
3. **Navigation & Structure**: Tabs, Menu, Nav-Drawer, Content-Drawer, Sheet, Dialog
|
|
132
|
+
4. **Form Controls**: Form, Input, Textarea, Select, Autocomplete, Checkbox, Radio-Group, Option
|
|
133
|
+
5. **Interactive Elements**: Button, Dropdown, Chips, List, Tree, Table
|
|
134
|
+
6. **Feedback & Status**: Notification, Tooltip, Badge, Busy, Avatar
|
|
135
|
+
7. **Typography & Visual**: Typography, Icons, Animated-Text, Typewriter
|
|
136
|
+
8. **Utilities**: Directives, Theme, Theme-Button, Utils, Types, Delay, Date-Range, Steps
|
|
137
|
+
|
|
138
|
+
## Examples
|
|
139
|
+
|
|
140
|
+
See these files for examples of well-formatted component documentation:
|
|
141
|
+
- [area.md](./area.md): Complex service component
|
|
142
|
+
- [form.md](./form.md): Container component
|
|
143
|
+
- [input.md](./input.md): Form field component
|
|
144
|
+
- [store.md](./store.md): State management
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Schmancy Textarea - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Basic Textarea
|
|
5
|
+
<schmancy-textarea
|
|
6
|
+
name="textarea-name"
|
|
7
|
+
label="Textarea Label"
|
|
8
|
+
value="Initial text"
|
|
9
|
+
placeholder="Enter text here..."
|
|
10
|
+
rows="4"
|
|
11
|
+
cols="50"
|
|
12
|
+
maxlength="500"
|
|
13
|
+
minlength="10"
|
|
14
|
+
required?
|
|
15
|
+
disabled?
|
|
16
|
+
readonly?
|
|
17
|
+
error="Error message"
|
|
18
|
+
resize="both|horizontal|vertical|none"
|
|
19
|
+
@input=${handleInput}
|
|
20
|
+
@change=${handleChange}>
|
|
21
|
+
</schmancy-textarea>
|
|
22
|
+
|
|
23
|
+
// Textarea with counter and helper text
|
|
24
|
+
<schmancy-textarea
|
|
25
|
+
label="Description"
|
|
26
|
+
maxlength="200"
|
|
27
|
+
show-counter?
|
|
28
|
+
helper-text="Briefly describe your issue">
|
|
29
|
+
</schmancy-textarea>
|
|
30
|
+
|
|
31
|
+
// Auto-growing textarea
|
|
32
|
+
<schmancy-textarea
|
|
33
|
+
auto-grow?
|
|
34
|
+
min-rows="2"
|
|
35
|
+
max-rows="10"
|
|
36
|
+
label="Comments">
|
|
37
|
+
</schmancy-textarea>
|
|
38
|
+
|
|
39
|
+
// Textarea Methods
|
|
40
|
+
textarea.focus() -> void // Focus the textarea
|
|
41
|
+
textarea.blur() -> void // Remove focus
|
|
42
|
+
textarea.select() -> void // Select all text
|
|
43
|
+
textarea.validate() -> boolean // Validate and show error if invalid
|
|
44
|
+
textarea.reset() -> void // Reset to initial value
|
|
45
|
+
textarea.setCustomValidity(message) -> void // Set custom validation message
|
|
46
|
+
|
|
47
|
+
// Textarea Properties
|
|
48
|
+
value: string // The content of the textarea
|
|
49
|
+
name: string // The name attribute
|
|
50
|
+
label: string // Label text
|
|
51
|
+
placeholder: string // Placeholder text
|
|
52
|
+
rows: number // Number of rows to display
|
|
53
|
+
cols: number // Number of columns to display
|
|
54
|
+
minlength: number // Minimum number of characters required
|
|
55
|
+
maxlength: number // Maximum number of characters allowed
|
|
56
|
+
disabled: boolean // Whether the textarea is disabled
|
|
57
|
+
readonly: boolean // Whether the textarea is read-only
|
|
58
|
+
required: boolean // Whether the textarea is required
|
|
59
|
+
error: string // Error message to display
|
|
60
|
+
resize: string // Resize behavior: "both", "horizontal", "vertical", "none"
|
|
61
|
+
autoGrow: boolean // Whether the textarea should automatically grow with content
|
|
62
|
+
minRows: number // Minimum number of rows when auto-growing
|
|
63
|
+
maxRows: number // Maximum number of rows when auto-growing
|
|
64
|
+
showCounter: boolean // Whether to show the character counter
|
|
65
|
+
|
|
66
|
+
// Textarea Events
|
|
67
|
+
@input // Fires on input with { detail: { value } }
|
|
68
|
+
@change // Fires when value changes and focus is lost with { detail: { value } }
|
|
69
|
+
@focus // Fires when textarea gains focus
|
|
70
|
+
@blur // Fires when textarea loses focus
|
|
71
|
+
|
|
72
|
+
// Examples
|
|
73
|
+
// Basic usage
|
|
74
|
+
<schmancy-textarea
|
|
75
|
+
name="comments"
|
|
76
|
+
label="Comments"
|
|
77
|
+
placeholder="Enter your comments here"
|
|
78
|
+
rows="4"
|
|
79
|
+
required
|
|
80
|
+
@change=${(e) => console.log('Comments:', e.detail.value)}>
|
|
81
|
+
</schmancy-textarea>
|
|
82
|
+
|
|
83
|
+
// Textarea with character counter
|
|
84
|
+
<schmancy-textarea
|
|
85
|
+
name="bio"
|
|
86
|
+
label="Biography"
|
|
87
|
+
maxlength="500"
|
|
88
|
+
show-counter
|
|
89
|
+
helper-text="Tell us about yourself">
|
|
90
|
+
</schmancy-textarea>
|
|
91
|
+
|
|
92
|
+
// Auto-growing textarea
|
|
93
|
+
<schmancy-textarea
|
|
94
|
+
name="notes"
|
|
95
|
+
label="Meeting Notes"
|
|
96
|
+
auto-grow
|
|
97
|
+
min-rows="3"
|
|
98
|
+
max-rows="15"
|
|
99
|
+
placeholder="Type your notes here...">
|
|
100
|
+
</schmancy-textarea>
|
|
101
|
+
|
|
102
|
+
// Usage in a form
|
|
103
|
+
<schmancy-form @submit=${handleSubmit}>
|
|
104
|
+
<schmancy-input
|
|
105
|
+
name="title"
|
|
106
|
+
label="Title"
|
|
107
|
+
required>
|
|
108
|
+
</schmancy-input>
|
|
109
|
+
|
|
110
|
+
<schmancy-textarea
|
|
111
|
+
name="description"
|
|
112
|
+
label="Description"
|
|
113
|
+
rows="5"
|
|
114
|
+
required>
|
|
115
|
+
</schmancy-textarea>
|
|
116
|
+
|
|
117
|
+
<schmancy-button type="submit">Submit</schmancy-button>
|
|
118
|
+
</schmancy-form>
|
|
119
|
+
|
|
120
|
+
// Textarea with error state
|
|
121
|
+
<schmancy-textarea
|
|
122
|
+
name="feedback"
|
|
123
|
+
label="Feedback"
|
|
124
|
+
value=${feedback}
|
|
125
|
+
error=${feedback.length < 10 ? 'Feedback must be at least 10 characters' : ''}
|
|
126
|
+
@input=${(e) => feedback = e.detail.value}>
|
|
127
|
+
</schmancy-textarea>
|
|
128
|
+
|
|
129
|
+
// Textarea with prefilled markdown template
|
|
130
|
+
<schmancy-textarea
|
|
131
|
+
name="issue"
|
|
132
|
+
label="Issue Description"
|
|
133
|
+
value="## Issue Description
|
|
134
|
+
-
|
|
135
|
+
-
|
|
136
|
+
|
|
137
|
+
## Steps to Reproduce
|
|
138
|
+
1.
|
|
139
|
+
2.
|
|
140
|
+
3.
|
|
141
|
+
|
|
142
|
+
## Expected Behavior
|
|
143
|
+
|
|
144
|
+
"
|
|
145
|
+
rows="12">
|
|
146
|
+
</schmancy-textarea>
|
|
147
|
+
```
|