@mhmo91/schmancy 0.2.192 → 0.2.194
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 +125 -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/dialog.md +109 -0
- package/ai/dropdown.md +238 -0
- package/ai/form.md +148 -0
- package/ai/icons.md +147 -0
- package/ai/index.md +71 -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 +236 -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/ai/area.md +125 -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/dialog.md +109 -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 +71 -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 +236 -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-DU8PPnsu.cjs → animated-text-9AM64DHd.cjs} +2 -2
- package/dist/{animated-text-DU8PPnsu.cjs.map → animated-text-9AM64DHd.cjs.map} +1 -1
- package/dist/{animated-text-CRlnEvtJ.js → animated-text-CVStWn5N.js} +3 -3
- package/dist/{animated-text-CRlnEvtJ.js.map → animated-text-CVStWn5N.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-CzFJM7Y4.js +143 -0
- package/dist/area.component-CzFJM7Y4.js.map +1 -0
- package/dist/area.component-WxccFh1z.cjs +8 -0
- package/dist/area.component-WxccFh1z.cjs.map +1 -0
- package/dist/area.js +1 -1
- package/dist/autocomplete-DBXvIJgc.cjs +56 -0
- package/dist/autocomplete-DBXvIJgc.cjs.map +1 -0
- package/dist/{autocomplete-BYVrh34v.js → autocomplete-ih92pPkb.js} +23 -17
- package/dist/autocomplete-ih92pPkb.js.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-Da4jaDOV.cjs → avatar-Bmg5TXj9.cjs} +2 -2
- package/dist/{avatar-Da4jaDOV.cjs.map → avatar-Bmg5TXj9.cjs.map} +1 -1
- package/dist/{avatar-CZJwWLSE.js → avatar-CgP1tBZq.js} +40 -40
- package/dist/{avatar-CZJwWLSE.js.map → avatar-CgP1tBZq.js.map} +1 -1
- 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-JoeyCVVx.cjs → checkbox-DtnX5sT6.cjs} +2 -2
- package/dist/{checkbox-JoeyCVVx.cjs.map → checkbox-DtnX5sT6.cjs.map} +1 -1
- package/dist/{checkbox-2zE3U2CA.js → checkbox-Jxxbjxp0.js} +2 -2
- package/dist/{checkbox-2zE3U2CA.js.map → checkbox-Jxxbjxp0.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-BkXSfa41.cjs → chips-CVDnpVUM.cjs} +2 -2
- package/dist/{chips-BkXSfa41.cjs.map → chips-CVDnpVUM.cjs.map} +1 -1
- package/dist/{chips-DBx_2dFJ.js → chips-lP7ohQep.js} +3 -3
- package/dist/{chips-DBx_2dFJ.js.map → chips-lP7ohQep.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-sbuFYvFc.js → date-range-Ca9WLI4Q.js} +3 -3
- package/dist/{date-range-sbuFYvFc.js.map → date-range-Ca9WLI4Q.js.map} +1 -1
- package/dist/{date-range-TqPcxDV6.cjs → date-range-DbPA5Y-t.cjs} +2 -2
- package/dist/{date-range-TqPcxDV6.cjs.map → date-range-DbPA5Y-t.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-B1vg8_Gp.js → delay-5cCl7ji3.js} +2 -2
- package/dist/{delay-B1vg8_Gp.js.map → delay-5cCl7ji3.js.map} +1 -1
- package/dist/{delay-rMaXv8P_.cjs → delay-BgNgQV2G.cjs} +2 -2
- package/dist/{delay-rMaXv8P_.cjs.map → delay-BgNgQV2G.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{dialog-content-H5JNHI4z.js → dialog-content-9pumpyLD.js} +3 -3
- package/dist/{dialog-content-H5JNHI4z.js.map → dialog-content-9pumpyLD.js.map} +1 -1
- package/dist/{dialog-content-BOJ4BpEr.cjs → dialog-content-qj1E8aye.cjs} +2 -2
- package/dist/{dialog-content-BOJ4BpEr.cjs.map → dialog-content-qj1E8aye.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-D9xov_XO.cjs → divider-CHckHGEQ.cjs} +2 -2
- package/dist/{divider-D9xov_XO.cjs.map → divider-CHckHGEQ.cjs.map} +1 -1
- package/dist/{divider-BxeCR4pP.js → divider-r8-9eNnl.js} +3 -3
- package/dist/{divider-BxeCR4pP.js.map → divider-r8-9eNnl.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-ltAuKAq_.cjs → dropdown-content-B41MDDRG.cjs} +2 -2
- package/dist/{dropdown-content-ltAuKAq_.cjs.map → dropdown-content-B41MDDRG.cjs.map} +1 -1
- package/dist/{dropdown-content-QrlJDJj9.js → dropdown-content-D-TddflQ.js} +3 -3
- package/dist/{dropdown-content-QrlJDJj9.js.map → dropdown-content-D-TddflQ.js.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-DT3XHFSb.js → flex-Bf0zNqji.js} +2 -2
- package/dist/{flex-DT3XHFSb.js.map → flex-Bf0zNqji.js.map} +1 -1
- package/dist/{flex-CRTV1yz3.cjs → flex-CFv-Zb76.cjs} +2 -2
- package/dist/{flex-CRTV1yz3.cjs.map → flex-CFv-Zb76.cjs.map} +1 -1
- package/dist/{form-D6n2UP9B.cjs → form-BN75s0PI.cjs} +2 -2
- package/dist/{form-D6n2UP9B.cjs.map → form-BN75s0PI.cjs.map} +1 -1
- package/dist/{form-DfCknx7Y.js → form-uYcr1RLJ.js} +2 -2
- package/dist/{form-DfCknx7Y.js.map → form-uYcr1RLJ.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-BmJGenTZ.js → icon-BR-jE0Y2.js} +3 -3
- package/dist/{icon-BmJGenTZ.js.map → icon-BR-jE0Y2.js.map} +1 -1
- package/dist/{icon-Xqq_eMXt.cjs → icon-Cu-imayV.cjs} +2 -2
- package/dist/{icon-Xqq_eMXt.cjs.map → icon-Cu-imayV.cjs.map} +1 -1
- package/dist/{icon-button-DpxC8WQP.js → icon-button-1tZaicyb.js} +3 -3
- package/dist/{icon-button-DpxC8WQP.js.map → icon-button-1tZaicyb.js.map} +1 -1
- package/dist/{icon-button-UiEHOmmk.cjs → icon-button-D0BbHnDL.cjs} +2 -2
- package/dist/{icon-button-UiEHOmmk.cjs.map → icon-button-D0BbHnDL.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +38 -38
- package/dist/{input-o74ZxIRk.cjs → input-B2oV6Hck.cjs} +2 -2
- package/dist/{input-o74ZxIRk.cjs.map → input-B2oV6Hck.cjs.map} +1 -1
- package/dist/{input-DnEvTRuh.js → input-kiz5O3dY.js} +2 -2
- package/dist/{input-DnEvTRuh.js.map → input-kiz5O3dY.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-ChRCTc9A.cjs → list-CMHoPfX9.cjs} +2 -2
- package/dist/{list-ChRCTc9A.cjs.map → list-CMHoPfX9.cjs.map} +1 -1
- package/dist/{list-CPRV9D4J.js → list-wT4DLXCh.js} +2 -2
- package/dist/{list-CPRV9D4J.js.map → list-wT4DLXCh.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-CifwP6Gy.js → litElement.mixin-B9Qdq5S_.js} +2 -2
- package/dist/{litElement.mixin-CifwP6Gy.js.map → litElement.mixin-B9Qdq5S_.js.map} +1 -1
- package/dist/{litElement.mixin-BrC_tdrr.cjs → litElement.mixin-CHvyxfxf.cjs} +2 -2
- package/dist/{litElement.mixin-BrC_tdrr.cjs.map → litElement.mixin-CHvyxfxf.cjs.map} +1 -1
- package/dist/{menu-D08kPl8X.cjs → menu-BcSplMNh.cjs} +2 -2
- package/dist/{menu-D08kPl8X.cjs.map → menu-BcSplMNh.cjs.map} +1 -1
- package/dist/{menu-DZtTU6cT.js → menu-Dl1QU86K.js} +3 -3
- package/dist/{menu-DZtTU6cT.js.map → menu-Dl1QU86K.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-zNn5My79.cjs → notification-service-BV9ybQBu.cjs} +2 -2
- package/dist/{notification-service-zNn5My79.cjs.map → notification-service-BV9ybQBu.cjs.map} +1 -1
- package/dist/{notification-service-jcW6LcD9.js → notification-service-CC698xHg.js} +3 -3
- package/dist/{notification-service-jcW6LcD9.js.map → notification-service-CC698xHg.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BeSO48Ou.cjs → option-CkLBgH71.cjs} +2 -2
- package/dist/{option-BeSO48Ou.cjs.map → option-CkLBgH71.cjs.map} +1 -1
- package/dist/{option-XmhVdbQ0.js → option-DDxxXwwc.js} +2 -2
- package/dist/{option-XmhVdbQ0.js.map → option-DDxxXwwc.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-xPdGrSUi.js → payment-card-form-DDTO5_AA.js} +3 -3
- package/dist/{payment-card-form-xPdGrSUi.js.map → payment-card-form-DDTO5_AA.js.map} +1 -1
- package/dist/{payment-card-form-Cs_Kjcge.cjs → payment-card-form-UWbAYNPR.cjs} +2 -2
- package/dist/{payment-card-form-Cs_Kjcge.cjs.map → payment-card-form-UWbAYNPR.cjs.map} +1 -1
- package/dist/{radio-button-BFwFYicE.cjs → radio-button-BykiVxTD.cjs} +2 -2
- package/dist/{radio-button-BFwFYicE.cjs.map → radio-button-BykiVxTD.cjs.map} +1 -1
- package/dist/{radio-button-fAQpF9XC.js → radio-button-wWoxPDfq.js} +2 -2
- package/dist/{radio-button-fAQpF9XC.js.map → radio-button-wWoxPDfq.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-CNCQfw48.cjs → schmancy-steps-container-B1mIGa9M.cjs} +2 -2
- package/dist/{schmancy-steps-container-CNCQfw48.cjs.map → schmancy-steps-container-B1mIGa9M.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-Cd6wx804.js → schmancy-steps-container-ByO98z7L.js} +2 -2
- package/dist/{schmancy-steps-container-Cd6wx804.js.map → schmancy-steps-container-ByO98z7L.js.map} +1 -1
- package/dist/{select-ujdAxZ6K.js → select-BIOhocL7.js} +3 -3
- package/dist/{select-ujdAxZ6K.js.map → select-BIOhocL7.js.map} +1 -1
- package/dist/{select-CzHttZpN.cjs → select-DE57Nios.cjs} +2 -2
- package/dist/{select-CzHttZpN.cjs.map → select-DE57Nios.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-CX5mgzlz.js → sheet-Dh4MLVsU.js} +3 -3
- package/dist/{sheet-CX5mgzlz.js.map → sheet-Dh4MLVsU.js.map} +1 -1
- package/dist/{sheet-ABpUdDjY.cjs → sheet-fZYAWGsm.cjs} +2 -2
- package/dist/{sheet-ABpUdDjY.cjs.map → sheet-fZYAWGsm.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-Drp85D_v.cjs → slider-CejrdmPF.cjs} +2 -2
- package/dist/{slider-Drp85D_v.cjs.map → slider-CejrdmPF.cjs.map} +1 -1
- package/dist/{slider-C4cTmjLY.js → slider-DVlJoDgU.js} +3 -3
- package/dist/{slider-C4cTmjLY.js.map → slider-DVlJoDgU.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-fGK3FMoM.js → spinner-DbTnai_Q.js} +3 -3
- package/dist/{spinner-fGK3FMoM.js.map → spinner-DbTnai_Q.js.map} +1 -1
- package/dist/{spinner-Bmopv8Vn.cjs → spinner-DxVJ7QJZ.cjs} +2 -2
- package/dist/{spinner-Bmopv8Vn.cjs.map → spinner-DxVJ7QJZ.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-BTpQe1mC.cjs → surface-BTuzKmT2.cjs} +2 -2
- package/dist/{surface-BTpQe1mC.cjs.map → surface-BTuzKmT2.cjs.map} +1 -1
- package/dist/{surface-BgYWVNyL.js → surface-DXx1bJN4.js} +2 -2
- package/dist/{surface-BgYWVNyL.js.map → surface-DXx1bJN4.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-BVojeUhT.cjs → table-CBhyHINV.cjs} +2 -2
- package/dist/{table-BVojeUhT.cjs.map → table-CBhyHINV.cjs.map} +1 -1
- package/dist/{table-COmozyPk.js → table-CqUv1TOC.js} +2 -2
- package/dist/{table-COmozyPk.js.map → table-CqUv1TOC.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-DU2bf7Xr.cjs → tabs-compatibility-DPD6jfGF.cjs} +2 -2
- package/dist/{tabs-compatibility-DU2bf7Xr.cjs.map → tabs-compatibility-DPD6jfGF.cjs.map} +1 -1
- package/dist/{tabs-compatibility-BdcN_IDz.js → tabs-compatibility-DUo2f_sV.js} +2 -2
- package/dist/{tabs-compatibility-BdcN_IDz.js.map → tabs-compatibility-DUo2f_sV.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/{tailwind.mixin-D-kkSKp-.js → tailwind.mixin-Di7KWye7.js} +2 -2
- package/dist/{tailwind.mixin-D-kkSKp-.js.map → tailwind.mixin-Di7KWye7.js.map} +1 -1
- package/dist/{tailwind.mixin-BAGuwQKs.cjs → tailwind.mixin-Dm5QDZav.cjs} +2 -2
- package/dist/{tailwind.mixin-BAGuwQKs.cjs.map → tailwind.mixin-Dm5QDZav.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-CPyQvAWI.cjs → textarea-CesFdBkm.cjs} +2 -2
- package/dist/{textarea-CPyQvAWI.cjs.map → textarea-CesFdBkm.cjs.map} +1 -1
- package/dist/{textarea-CztnQryA.js → textarea-Dbz18REy.js} +2 -2
- package/dist/{textarea-CztnQryA.js.map → textarea-Dbz18REy.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-DRACAw64.cjs → theme-button-Bt2OV4iu.cjs} +2 -2
- package/dist/{theme-button-DRACAw64.cjs.map → theme-button-Bt2OV4iu.cjs.map} +1 -1
- package/dist/{theme-button-DaEkh8la.js → theme-button-lqbT2_LL.js} +2 -2
- package/dist/{theme-button-DaEkh8la.js.map → theme-button-lqbT2_LL.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-Hb2RlmAN.cjs → theme.component-BlBaN7d6.cjs} +2 -2
- package/dist/{theme.component-Hb2RlmAN.cjs.map → theme.component-BlBaN7d6.cjs.map} +1 -1
- package/dist/{theme.component-DkFe9fpE.js → theme.component-xarFSe8p.js} +2 -2
- package/dist/{theme.component-DkFe9fpE.js.map → theme.component-xarFSe8p.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-UKEAXQcC.js → timezone-DwT_pQrj.js} +3 -3
- package/dist/{timezone-UKEAXQcC.js.map → timezone-DwT_pQrj.js.map} +1 -1
- package/dist/{timezone-DpzKnPVI.cjs → timezone-VUMRmZaJ.cjs} +2 -2
- package/dist/{timezone-DpzKnPVI.cjs.map → timezone-VUMRmZaJ.cjs.map} +1 -1
- package/dist/{tooltip-CmvJQPh0.js → tooltip-BKOHVCMK.js} +2 -2
- package/dist/{tooltip-CmvJQPh0.js.map → tooltip-BKOHVCMK.js.map} +1 -1
- package/dist/{tooltip-BuZzFSoa.cjs → tooltip-Cvoroe7w.cjs} +2 -2
- package/dist/{tooltip-BuZzFSoa.cjs.map → tooltip-Cvoroe7w.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-ChJhwwCs.cjs → tree-Cyp2AZ8g.cjs} +2 -2
- package/dist/{tree-ChJhwwCs.cjs.map → tree-Cyp2AZ8g.cjs.map} +1 -1
- package/dist/{tree-BEYMdPfY.js → tree-_FJnHVmP.js} +2 -2
- package/dist/{tree-BEYMdPfY.js.map → tree-_FJnHVmP.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-CQj9HK5k.cjs → typewriter-BIm2tOe4.cjs} +2 -2
- package/dist/{typewriter-CQj9HK5k.cjs.map → typewriter-BIm2tOe4.cjs.map} +1 -1
- package/dist/{typewriter-CFYwWJfp.js → typewriter-DWfXPBni.js} +4 -4
- package/dist/{typewriter-CFYwWJfp.js.map → typewriter-DWfXPBni.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-C8sf8eaH.js → typography-DaKLzjFB.js} +2 -2
- package/dist/{typography-C8sf8eaH.js.map → typography-DaKLzjFB.js.map} +1 -1
- package/dist/{typography-CMvzZ9Ec.cjs → typography-OpLt6LNd.cjs} +2 -2
- package/dist/{typography-CMvzZ9Ec.cjs.map → typography-OpLt6LNd.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +2 -1
- package/types/src/area/area.service.d.ts +53 -4
- package/types/src/area/router.types.d.ts +41 -2
- package/types/src/autocomplete/autocomplete.d.ts +7 -0
- package/dist/area.component-BoR212xW.cjs +0 -8
- package/dist/area.component-BoR212xW.cjs.map +0 -1
- package/dist/area.component-CRk-Eoq4.js +0 -107
- package/dist/area.component-CRk-Eoq4.js.map +0 -1
- package/dist/autocomplete-BYVrh34v.js.map +0 -1
- package/dist/autocomplete-C7HIgBT5.cjs +0 -56
- package/dist/autocomplete-C7HIgBT5.cjs.map +0 -1
package/ai/textarea.md
ADDED
|
@@ -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
|
+
```
|
package/ai/tooltip.md
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Schmancy Tooltip - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Basic Tooltip
|
|
5
|
+
<schmancy-tooltip text="Tooltip text">
|
|
6
|
+
<schmancy-button>Hover me</schmancy-button>
|
|
7
|
+
</schmancy-tooltip>
|
|
8
|
+
|
|
9
|
+
// Tooltip with position
|
|
10
|
+
<schmancy-tooltip
|
|
11
|
+
text="Tooltip content"
|
|
12
|
+
position="top|right|bottom|left|top-start|top-end|right-start|right-end|bottom-start|bottom-end|left-start|left-end">
|
|
13
|
+
<div>Hover over this element</div>
|
|
14
|
+
</schmancy-tooltip>
|
|
15
|
+
|
|
16
|
+
// Tooltip with custom content
|
|
17
|
+
<schmancy-tooltip>
|
|
18
|
+
<schmancy-button>Hover me</schmancy-button>
|
|
19
|
+
|
|
20
|
+
<div slot="content">
|
|
21
|
+
<h4>Custom Tooltip</h4>
|
|
22
|
+
<p>This is a tooltip with custom HTML content.</p>
|
|
23
|
+
</div>
|
|
24
|
+
</schmancy-tooltip>
|
|
25
|
+
|
|
26
|
+
// Tooltip with delay and offset
|
|
27
|
+
<schmancy-tooltip
|
|
28
|
+
text="Delayed tooltip"
|
|
29
|
+
show-delay="500"
|
|
30
|
+
hide-delay="200"
|
|
31
|
+
offset="10">
|
|
32
|
+
<span>Hover for delayed tooltip</span>
|
|
33
|
+
</schmancy-tooltip>
|
|
34
|
+
|
|
35
|
+
// Tooltip directive (alternative usage)
|
|
36
|
+
<schmancy-button
|
|
37
|
+
${tooltip('Button tooltip', {
|
|
38
|
+
position: 'top',
|
|
39
|
+
showDelay: 300
|
|
40
|
+
})}>
|
|
41
|
+
Hover me
|
|
42
|
+
</schmancy-button>
|
|
43
|
+
|
|
44
|
+
// Tooltip Properties
|
|
45
|
+
text: string // Text content of the tooltip
|
|
46
|
+
position: string // Position relative to target: "top", "right", "bottom", "left" and variations
|
|
47
|
+
showDelay: number // Delay before showing tooltip (milliseconds)
|
|
48
|
+
hideDelay: number // Delay before hiding tooltip (milliseconds)
|
|
49
|
+
offset: number // Distance between tooltip and target (pixels)
|
|
50
|
+
maxWidth: string // Maximum width of the tooltip
|
|
51
|
+
interactive: boolean // Allow interaction with tooltip content
|
|
52
|
+
disabled: boolean // Disable the tooltip
|
|
53
|
+
always-visible: boolean // Keep tooltip visible (for testing)
|
|
54
|
+
|
|
55
|
+
// Tooltip Events
|
|
56
|
+
@show // Fires when tooltip is shown
|
|
57
|
+
@hide // Fires when tooltip is hidden
|
|
58
|
+
|
|
59
|
+
// Tooltip Directive Options
|
|
60
|
+
tooltip(text, {
|
|
61
|
+
position: string, // Position relative to target
|
|
62
|
+
showDelay: number, // Delay before showing tooltip (milliseconds)
|
|
63
|
+
hideDelay: number, // Delay before hiding tooltip (milliseconds)
|
|
64
|
+
offset: number, // Distance between tooltip and target (pixels)
|
|
65
|
+
maxWidth: string, // Maximum width of the tooltip
|
|
66
|
+
interactive: boolean // Allow interaction with tooltip content
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
// Examples
|
|
70
|
+
// Basic usage
|
|
71
|
+
<schmancy-tooltip text="Delete this item">
|
|
72
|
+
<schmancy-icon-button
|
|
73
|
+
icon="delete"
|
|
74
|
+
variant="danger">
|
|
75
|
+
</schmancy-icon-button>
|
|
76
|
+
</schmancy-tooltip>
|
|
77
|
+
|
|
78
|
+
// Tooltip with rich content
|
|
79
|
+
<schmancy-tooltip position="right">
|
|
80
|
+
<schmancy-icon-button icon="info"></schmancy-icon-button>
|
|
81
|
+
|
|
82
|
+
<div slot="content">
|
|
83
|
+
<h4>Information</h4>
|
|
84
|
+
<p>This feature allows you to:</p>
|
|
85
|
+
<ul>
|
|
86
|
+
<li>Create new records</li>
|
|
87
|
+
<li>Edit existing data</li>
|
|
88
|
+
<li>Export as CSV</li>
|
|
89
|
+
</ul>
|
|
90
|
+
</div>
|
|
91
|
+
</schmancy-tooltip>
|
|
92
|
+
|
|
93
|
+
// Interactive tooltip
|
|
94
|
+
<schmancy-tooltip
|
|
95
|
+
position="bottom"
|
|
96
|
+
interactive>
|
|
97
|
+
<span>Settings</span>
|
|
98
|
+
|
|
99
|
+
<div slot="content">
|
|
100
|
+
<h4>Quick Settings</h4>
|
|
101
|
+
<schmancy-checkbox label="Enable notifications"></schmancy-checkbox>
|
|
102
|
+
<schmancy-checkbox label="Dark mode"></schmancy-checkbox>
|
|
103
|
+
<schmancy-button size="small">Apply</schmancy-button>
|
|
104
|
+
</div>
|
|
105
|
+
</schmancy-tooltip>
|
|
106
|
+
|
|
107
|
+
// Using tooltip directive
|
|
108
|
+
<div>
|
|
109
|
+
<schmancy-button ${tooltip('Save changes')}>
|
|
110
|
+
Save
|
|
111
|
+
</schmancy-button>
|
|
112
|
+
|
|
113
|
+
<schmancy-button ${tooltip('Discard all changes', { position: 'bottom' })}>
|
|
114
|
+
Cancel
|
|
115
|
+
</schmancy-button>
|
|
116
|
+
|
|
117
|
+
<schmancy-icon-button
|
|
118
|
+
icon="help"
|
|
119
|
+
${tooltip('Need help?', { position: 'right', showDelay: 500 })}>
|
|
120
|
+
</schmancy-icon-button>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
// Tooltip on disabled elements
|
|
124
|
+
<schmancy-tooltip text="You don't have permission to edit">
|
|
125
|
+
<span>
|
|
126
|
+
<schmancy-button disabled>
|
|
127
|
+
Edit
|
|
128
|
+
</schmancy-button>
|
|
129
|
+
</span>
|
|
130
|
+
</schmancy-tooltip>
|
|
131
|
+
|
|
132
|
+
// Tooltip for form fields
|
|
133
|
+
<div>
|
|
134
|
+
<schmancy-input
|
|
135
|
+
label="Username"
|
|
136
|
+
${tooltip('Enter your username or email address')}>
|
|
137
|
+
</schmancy-input>
|
|
138
|
+
|
|
139
|
+
<schmancy-input
|
|
140
|
+
label="Password"
|
|
141
|
+
type="password">
|
|
142
|
+
<schmancy-icon
|
|
143
|
+
slot="suffix"
|
|
144
|
+
icon="info"
|
|
145
|
+
${tooltip('Password must be at least 8 characters')}>
|
|
146
|
+
</schmancy-icon>
|
|
147
|
+
</schmancy-input>
|
|
148
|
+
</div>
|
|
149
|
+
```
|
package/ai/tree.md
ADDED
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# Schmancy Tree - AI Reference
|
|
2
|
+
|
|
3
|
+
```js
|
|
4
|
+
// Basic Tree
|
|
5
|
+
<schmancy-tree>
|
|
6
|
+
<schmancy-tree-item label="Root">
|
|
7
|
+
<schmancy-tree-item label="Child 1"></schmancy-tree-item>
|
|
8
|
+
<schmancy-tree-item label="Child 2">
|
|
9
|
+
<schmancy-tree-item label="Grandchild 1"></schmancy-tree-item>
|
|
10
|
+
<schmancy-tree-item label="Grandchild 2"></schmancy-tree-item>
|
|
11
|
+
</schmancy-tree-item>
|
|
12
|
+
<schmancy-tree-item label="Child 3"></schmancy-tree-item>
|
|
13
|
+
</schmancy-tree-item>
|
|
14
|
+
</schmancy-tree>
|
|
15
|
+
|
|
16
|
+
// Tree with selection
|
|
17
|
+
<schmancy-tree
|
|
18
|
+
selectable
|
|
19
|
+
@select=${handleSelection}>
|
|
20
|
+
<!-- Tree items -->
|
|
21
|
+
</schmancy-tree>
|
|
22
|
+
|
|
23
|
+
// Tree with custom items
|
|
24
|
+
<schmancy-tree>
|
|
25
|
+
<schmancy-tree-item value="item1">
|
|
26
|
+
<div slot="label">
|
|
27
|
+
<schmancy-icon icon="folder"></schmancy-icon>
|
|
28
|
+
<span>Documents</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<schmancy-tree-item value="item1.1">
|
|
32
|
+
<div slot="label">
|
|
33
|
+
<schmancy-icon icon="file-text"></schmancy-icon>
|
|
34
|
+
<span>Report.pdf</span>
|
|
35
|
+
</div>
|
|
36
|
+
</schmancy-tree-item>
|
|
37
|
+
|
|
38
|
+
<schmancy-tree-item value="item1.2">
|
|
39
|
+
<div slot="label">
|
|
40
|
+
<schmancy-icon icon="file-text"></schmancy-icon>
|
|
41
|
+
<span>Presentation.pptx</span>
|
|
42
|
+
</div>
|
|
43
|
+
</schmancy-tree-item>
|
|
44
|
+
</schmancy-tree-item>
|
|
45
|
+
</schmancy-tree>
|
|
46
|
+
|
|
47
|
+
// Tree Properties
|
|
48
|
+
selectable: boolean // Enable item selection
|
|
49
|
+
multiselect: boolean // Allow multiple selections
|
|
50
|
+
expandOnSelect: boolean // Expand items when selected
|
|
51
|
+
compact: boolean // Reduce padding and spacing
|
|
52
|
+
indentSize: number // Indentation size in pixels (default: 20)
|
|
53
|
+
expandedItems: string[] // Initially expanded items (by value)
|
|
54
|
+
selectedItems: string[] // Initially selected items (by value)
|
|
55
|
+
|
|
56
|
+
// Tree Item Properties
|
|
57
|
+
label: string // Text label for the item
|
|
58
|
+
value: string // Value for selection/identification
|
|
59
|
+
expanded: boolean // Whether the item is expanded
|
|
60
|
+
selected: boolean // Whether the item is selected
|
|
61
|
+
disabled: boolean // Disable the item
|
|
62
|
+
icon: string // Icon to display (if using default rendering)
|
|
63
|
+
loading: boolean // Show loading indicator
|
|
64
|
+
checkable: boolean // Show checkbox for selection
|
|
65
|
+
childrenCount: number // Number of children (for lazy loading)
|
|
66
|
+
|
|
67
|
+
// Tree Events
|
|
68
|
+
@select // Fires when selection changes, with { detail: { selected } }
|
|
69
|
+
@expand // Fires when item expands, with { detail: { value, expanded } }
|
|
70
|
+
@collapse // Fires when item collapses, with { detail: { value, expanded } }
|
|
71
|
+
@toggle // Fires when item expands/collapses, with { detail: { value, expanded } }
|
|
72
|
+
|
|
73
|
+
// Tree Methods
|
|
74
|
+
tree.expandAll() -> void // Expand all items
|
|
75
|
+
tree.collapseAll() -> void // Collapse all items
|
|
76
|
+
tree.getSelectedItems() -> string[] // Get selected item values
|
|
77
|
+
tree.selectItem(value) -> void // Select an item
|
|
78
|
+
tree.deselectItem(value) -> void // Deselect an item
|
|
79
|
+
tree.expandItem(value) -> void // Expand an item
|
|
80
|
+
tree.collapseItem(value) -> void // Collapse an item
|
|
81
|
+
|
|
82
|
+
// Examples
|
|
83
|
+
// File explorer tree
|
|
84
|
+
<schmancy-tree
|
|
85
|
+
selectable
|
|
86
|
+
expandOnSelect
|
|
87
|
+
@select=${(e) => handleFileSelection(e.detail.selected)}>
|
|
88
|
+
|
|
89
|
+
<schmancy-tree-item value="documents" expanded>
|
|
90
|
+
<div slot="label">
|
|
91
|
+
<schmancy-icon icon="folder"></schmancy-icon>
|
|
92
|
+
<span>Documents</span>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<schmancy-tree-item value="documents/reports">
|
|
96
|
+
<div slot="label">
|
|
97
|
+
<schmancy-icon icon="folder"></schmancy-icon>
|
|
98
|
+
<span>Reports</span>
|
|
99
|
+
</div>
|
|
100
|
+
|
|
101
|
+
<schmancy-tree-item value="documents/reports/q1.pdf">
|
|
102
|
+
<div slot="label">
|
|
103
|
+
<schmancy-icon icon="file-text"></schmancy-icon>
|
|
104
|
+
<span>Q1 Report.pdf</span>
|
|
105
|
+
</div>
|
|
106
|
+
</schmancy-tree-item>
|
|
107
|
+
|
|
108
|
+
<schmancy-tree-item value="documents/reports/q2.pdf">
|
|
109
|
+
<div slot="label">
|
|
110
|
+
<schmancy-icon icon="file-text"></schmancy-icon>
|
|
111
|
+
<span>Q2 Report.pdf</span>
|
|
112
|
+
</div>
|
|
113
|
+
</schmancy-tree-item>
|
|
114
|
+
</schmancy-tree-item>
|
|
115
|
+
|
|
116
|
+
<schmancy-tree-item value="documents/presentations">
|
|
117
|
+
<div slot="label">
|
|
118
|
+
<schmancy-icon icon="folder"></schmancy-icon>
|
|
119
|
+
<span>Presentations</span>
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
<schmancy-tree-item value="documents/presentations/product.pptx">
|
|
123
|
+
<div slot="label">
|
|
124
|
+
<schmancy-icon icon="file-presentation"></schmancy-icon>
|
|
125
|
+
<span>Product Roadmap.pptx</span>
|
|
126
|
+
</div>
|
|
127
|
+
</schmancy-tree-item>
|
|
128
|
+
</schmancy-tree-item>
|
|
129
|
+
</schmancy-tree-item>
|
|
130
|
+
|
|
131
|
+
<schmancy-tree-item value="images">
|
|
132
|
+
<div slot="label">
|
|
133
|
+
<schmancy-icon icon="folder"></schmancy-icon>
|
|
134
|
+
<span>Images</span>
|
|
135
|
+
</div>
|
|
136
|
+
|
|
137
|
+
<schmancy-tree-item value="images/logo.png">
|
|
138
|
+
<div slot="label">
|
|
139
|
+
<schmancy-icon icon="image"></schmancy-icon>
|
|
140
|
+
<span>Logo.png</span>
|
|
141
|
+
</div>
|
|
142
|
+
</schmancy-tree-item>
|
|
143
|
+
|
|
144
|
+
<schmancy-tree-item value="images/banner.jpg">
|
|
145
|
+
<div slot="label">
|
|
146
|
+
<schmancy-icon icon="image"></schmancy-icon>
|
|
147
|
+
<span>Banner.jpg</span>
|
|
148
|
+
</div>
|
|
149
|
+
</schmancy-tree-item>
|
|
150
|
+
</schmancy-tree-item>
|
|
151
|
+
</schmancy-tree>
|
|
152
|
+
|
|
153
|
+
// Organization tree with checkboxes
|
|
154
|
+
<schmancy-tree
|
|
155
|
+
selectable
|
|
156
|
+
multiselect
|
|
157
|
+
@select=${(e) => updateSelectedDepartments(e.detail.selected)}>
|
|
158
|
+
|
|
159
|
+
<schmancy-tree-item value="company" checkable expanded>
|
|
160
|
+
<div slot="label">
|
|
161
|
+
<strong>Acme Inc.</strong>
|
|
162
|
+
</div>
|
|
163
|
+
|
|
164
|
+
<schmancy-tree-item value="engineering" checkable>
|
|
165
|
+
<div slot="label">Engineering</div>
|
|
166
|
+
|
|
167
|
+
<schmancy-tree-item value="frontend" checkable>
|
|
168
|
+
<div slot="label">Frontend</div>
|
|
169
|
+
</schmancy-tree-item>
|
|
170
|
+
|
|
171
|
+
<schmancy-tree-item value="backend" checkable>
|
|
172
|
+
<div slot="label">Backend</div>
|
|
173
|
+
</schmancy-tree-item>
|
|
174
|
+
|
|
175
|
+
<schmancy-tree-item value="qa" checkable>
|
|
176
|
+
<div slot="label">QA</div>
|
|
177
|
+
</schmancy-tree-item>
|
|
178
|
+
</schmancy-tree-item>
|
|
179
|
+
|
|
180
|
+
<schmancy-tree-item value="design" checkable>
|
|
181
|
+
<div slot="label">Design</div>
|
|
182
|
+
|
|
183
|
+
<schmancy-tree-item value="ux" checkable>
|
|
184
|
+
<div slot="label">UX</div>
|
|
185
|
+
</schmancy-tree-item>
|
|
186
|
+
|
|
187
|
+
<schmancy-tree-item value="ui" checkable>
|
|
188
|
+
<div slot="label">UI</div>
|
|
189
|
+
</schmancy-tree-item>
|
|
190
|
+
</schmancy-tree-item>
|
|
191
|
+
|
|
192
|
+
<schmancy-tree-item value="marketing" checkable>
|
|
193
|
+
<div slot="label">Marketing</div>
|
|
194
|
+
</schmancy-tree-item>
|
|
195
|
+
|
|
196
|
+
<schmancy-tree-item value="sales" checkable>
|
|
197
|
+
<div slot="label">Sales</div>
|
|
198
|
+
</schmancy-tree-item>
|
|
199
|
+
</schmancy-tree-item>
|
|
200
|
+
</schmancy-tree>
|
|
201
|
+
|
|
202
|
+
// Dynamic tree from data
|
|
203
|
+
<schmancy-tree
|
|
204
|
+
selectable
|
|
205
|
+
.expandedItems=${expandedItems}
|
|
206
|
+
.selectedItems=${selectedItems}
|
|
207
|
+
@select=${handleSelection}
|
|
208
|
+
@toggle=${handleToggle}>
|
|
209
|
+
|
|
210
|
+
${renderTree(treeData)}
|
|
211
|
+
</schmancy-tree>
|
|
212
|
+
|
|
213
|
+
// Helper function to render tree recursively
|
|
214
|
+
function renderTree(items) {
|
|
215
|
+
return items.map(item => html`
|
|
216
|
+
<schmancy-tree-item
|
|
217
|
+
value=${item.id}
|
|
218
|
+
label=${item.label}
|
|
219
|
+
?expanded=${expandedItems.includes(item.id)}
|
|
220
|
+
?selected=${selectedItems.includes(item.id)}
|
|
221
|
+
?disabled=${item.disabled}
|
|
222
|
+
?loading=${item.loading}>
|
|
223
|
+
|
|
224
|
+
${item.children ? renderTree(item.children) : ''}
|
|
225
|
+
</schmancy-tree-item>
|
|
226
|
+
`);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// Lazy loading tree
|
|
230
|
+
<schmancy-tree @toggle=${handleToggle}>
|
|
231
|
+
<schmancy-tree-item
|
|
232
|
+
value="root"
|
|
233
|
+
label="Root Folder"
|
|
234
|
+
expanded
|
|
235
|
+
childrenCount=${3}>
|
|
236
|
+
|
|
237
|
+
${loadedChildren.root ? loadedChildren.root.map(child => html`
|
|
238
|
+
<schmancy-tree-item
|
|
239
|
+
value=${child.id}
|
|
240
|
+
label=${child.name}
|
|
241
|
+
childrenCount=${child.hasChildren ? 1 : 0}
|
|
242
|
+
?loading=${loadingItems.includes(child.id)}>
|
|
243
|
+
|
|
244
|
+
${loadedChildren[child.id] ? loadedChildren[child.id].map(grandchild => html`
|
|
245
|
+
<schmancy-tree-item
|
|
246
|
+
value=${grandchild.id}
|
|
247
|
+
label=${grandchild.name}
|
|
248
|
+
childrenCount=${grandchild.hasChildren ? 1 : 0}>
|
|
249
|
+
</schmancy-tree-item>
|
|
250
|
+
`) : ''}
|
|
251
|
+
</schmancy-tree-item>
|
|
252
|
+
`) : html`
|
|
253
|
+
<schmancy-tree-item loading>Loading...</schmancy-tree-item>
|
|
254
|
+
`}
|
|
255
|
+
</schmancy-tree-item>
|
|
256
|
+
</schmancy-tree>
|
|
257
|
+
|
|
258
|
+
// Handling toggle for lazy loading
|
|
259
|
+
async function handleToggle(e) {
|
|
260
|
+
const { value, expanded } = e.detail;
|
|
261
|
+
|
|
262
|
+
if (expanded && !loadedChildren[value]) {
|
|
263
|
+
// Mark item as loading
|
|
264
|
+
loadingItems = [...loadingItems, value];
|
|
265
|
+
|
|
266
|
+
// Load children
|
|
267
|
+
const children = await fetchChildren(value);
|
|
268
|
+
|
|
269
|
+
// Update loaded children
|
|
270
|
+
loadedChildren = {
|
|
271
|
+
...loadedChildren,
|
|
272
|
+
[value]: children
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
// Remove from loading items
|
|
276
|
+
loadingItems = loadingItems.filter(id => id !== value);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
```
|