@mhmo91/schmancy 0.7.6 → 0.7.7
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/details.md +309 -44
- package/dist/ai/details.md +309 -44
- package/dist/{animated-text-1FDC-OTA.cjs → animated-text-Be290e6l.cjs} +2 -2
- package/dist/{animated-text-1FDC-OTA.cjs.map → animated-text-Be290e6l.cjs.map} +1 -1
- package/dist/{animated-text-1_latidd.js → animated-text-DuLrWJ6O.js} +3 -3
- package/dist/{animated-text-1_latidd.js.map → animated-text-DuLrWJ6O.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-CQq-Mh0Z.js → area.component-BzjJiNTJ.js} +3 -3
- package/dist/{area.component-CQq-Mh0Z.js.map → area.component-BzjJiNTJ.js.map} +1 -1
- package/dist/{area.component-Ciw7vGsx.cjs → area.component-FL_IUylM.cjs} +2 -2
- package/dist/{area.component-Ciw7vGsx.cjs.map → area.component-FL_IUylM.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-auTO_M_w.cjs → autocomplete-CHmGhBNt.cjs} +2 -2
- package/dist/{autocomplete-auTO_M_w.cjs.map → autocomplete-CHmGhBNt.cjs.map} +1 -1
- package/dist/{autocomplete-DT9MFPEG.js → autocomplete-FLkd9ju8.js} +4 -4
- package/dist/{autocomplete-DT9MFPEG.js.map → autocomplete-FLkd9ju8.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-Bo8kRnA-.cjs → avatar-B_uJN9WV.cjs} +2 -2
- package/dist/{avatar-Bo8kRnA-.cjs.map → avatar-B_uJN9WV.cjs.map} +1 -1
- package/dist/{avatar-Dm_qg-n1.js → avatar-C8P4lVfa.js} +51 -51
- package/dist/{avatar-Dm_qg-n1.js.map → avatar-C8P4lVfa.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-RNCKlx8b.js → boat-Ma6LW-ny.js} +3 -3
- package/dist/{boat-RNCKlx8b.js.map → boat-Ma6LW-ny.js.map} +1 -1
- package/dist/{boat-98He5-K8.cjs → boat-kYOUec8f.cjs} +2 -2
- package/dist/{boat-98He5-K8.cjs.map → boat-kYOUec8f.cjs.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.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-Dj06r6MD.cjs → checkbox-DLZkKaon.cjs} +2 -2
- package/dist/{checkbox-Dj06r6MD.cjs.map → checkbox-DLZkKaon.cjs.map} +1 -1
- package/dist/{checkbox-Bdn1_WJg.js → checkbox-x46L-XTG.js} +2 -2
- package/dist/{checkbox-Bdn1_WJg.js.map → checkbox-x46L-XTG.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-ByxcwPma.cjs → code-preview-BsQq77nu.cjs} +2 -2
- package/dist/{code-preview-ByxcwPma.cjs.map → code-preview-BsQq77nu.cjs.map} +1 -1
- package/dist/{code-preview-Br7zBkyM.js → code-preview-C3DLglSl.js} +2 -2
- package/dist/{code-preview-Br7zBkyM.js.map → code-preview-C3DLglSl.js.map} +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-VkIMcQdT.js → date-range-Cm0TCfwu.js} +3 -3
- package/dist/{date-range-VkIMcQdT.js.map → date-range-Cm0TCfwu.js.map} +1 -1
- package/dist/{date-range-xYUr_KKx.cjs → date-range-Cy97kOP_.cjs} +2 -2
- package/dist/{date-range-xYUr_KKx.cjs.map → date-range-Cy97kOP_.cjs.map} +1 -1
- package/dist/{date-range-inline-l2G48xTX.js → date-range-inline-CfDu-lIo.js} +3 -3
- package/dist/{date-range-inline-l2G48xTX.js.map → date-range-inline-CfDu-lIo.js.map} +1 -1
- package/dist/{date-range-inline-kbokz03Z.cjs → date-range-inline-cGptw0hr.cjs} +2 -2
- package/dist/{date-range-inline-kbokz03Z.cjs.map → date-range-inline-cGptw0hr.cjs.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-Nu7RVtYd.js → delay-BINGOQ7f.js} +2 -2
- package/dist/{delay-Nu7RVtYd.js.map → delay-BINGOQ7f.js.map} +1 -1
- package/dist/{delay-CCreUpYu.cjs → delay-CXFIM6qK.cjs} +2 -2
- package/dist/{delay-CCreUpYu.cjs.map → delay-CXFIM6qK.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/details-CLRikV4s.cjs +64 -0
- package/dist/details-CLRikV4s.cjs.map +1 -0
- package/dist/details-bgq2X_hO.js +115 -0
- package/dist/details-bgq2X_hO.js.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-CM3-RXQQ.cjs → dialog-content-B59ekS_y.cjs} +2 -2
- package/dist/{dialog-content-CM3-RXQQ.cjs.map → dialog-content-B59ekS_y.cjs.map} +1 -1
- package/dist/{dialog-content-BgxKi73O.js → dialog-content-Cu7fqN8Y.js} +3 -3
- package/dist/{dialog-content-BgxKi73O.js.map → dialog-content-Cu7fqN8Y.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-0yHQS8kR.cjs → divider-8tk2mDbL.cjs} +2 -2
- package/dist/{divider-0yHQS8kR.cjs.map → divider-8tk2mDbL.cjs.map} +1 -1
- package/dist/{divider-CqyzFfn1.js → divider-Bu6tzwGl.js} +3 -3
- package/dist/{divider-CqyzFfn1.js.map → divider-Bu6tzwGl.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-BmHQE5-P.cjs → dropdown-content-DFb07S8x.cjs} +2 -2
- package/dist/{dropdown-content-BmHQE5-P.cjs.map → dropdown-content-DFb07S8x.cjs.map} +1 -1
- package/dist/{dropdown-content-iFlLupVo.js → dropdown-content-fVhnEKdY.js} +3 -3
- package/dist/{dropdown-content-iFlLupVo.js.map → dropdown-content-fVhnEKdY.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-Cioc3U0Z.cjs → email-recipients-BG3GxJvc.cjs} +2 -2
- package/dist/{email-recipients-Cioc3U0Z.cjs.map → email-recipients-BG3GxJvc.cjs.map} +1 -1
- package/dist/{email-recipients-CmAEJDMC.js → email-recipients-OG52RGiH.js} +6 -6
- package/dist/{email-recipients-CmAEJDMC.js.map → email-recipients-OG52RGiH.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-BgcbHlPo.js → flex-CYQU6Pf8.js} +2 -2
- package/dist/{flex-BgcbHlPo.js.map → flex-CYQU6Pf8.js.map} +1 -1
- package/dist/{flex-BEB1yuMF.cjs → flex-DytMcHmq.cjs} +2 -2
- package/dist/{flex-BEB1yuMF.cjs.map → flex-DytMcHmq.cjs.map} +1 -1
- package/dist/{form-DFDTspmH.cjs → form-cWJBcwc6.cjs} +2 -2
- package/dist/{form-DFDTspmH.cjs.map → form-cWJBcwc6.cjs.map} +1 -1
- package/dist/{form-CxrvY530.js → form-tpyd1nsT.js} +2 -2
- package/dist/{form-CxrvY530.js.map → form-tpyd1nsT.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-hZ2qP4iG.js → formField.mixin-Mx5CwYUh.js} +2 -2
- package/dist/{formField.mixin-hZ2qP4iG.js.map → formField.mixin-Mx5CwYUh.js.map} +1 -1
- package/dist/{formField.mixin-C7H5DaEl.cjs → formField.mixin-XlN2pAL0.cjs} +2 -2
- package/dist/{formField.mixin-C7H5DaEl.cjs.map → formField.mixin-XlN2pAL0.cjs.map} +1 -1
- package/dist/{icon-DJnGMAQ2.cjs → icon-C8Q_XMtJ.cjs} +2 -2
- package/dist/{icon-DJnGMAQ2.cjs.map → icon-C8Q_XMtJ.cjs.map} +1 -1
- package/dist/{icon-D0FAI5uJ.js → icon-Y2qLOFqe.js} +2 -2
- package/dist/{icon-D0FAI5uJ.js.map → icon-Y2qLOFqe.js.map} +1 -1
- package/dist/{icon-button-CbgQp3AL.js → icon-button-CJ6AVTv9.js} +3 -3
- package/dist/{icon-button-CbgQp3AL.js.map → icon-button-CJ6AVTv9.js.map} +1 -1
- package/dist/{icon-button-CSZtSmOy.cjs → icon-button-IdG1NVgA.cjs} +2 -2
- package/dist/{icon-button-CSZtSmOy.cjs.map → icon-button-IdG1NVgA.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 +50 -50
- package/dist/{input-DLnKAj3B.js → input-DDCFZ3cr.js} +3 -3
- package/dist/{input-DLnKAj3B.js.map → input-DDCFZ3cr.js.map} +1 -1
- package/dist/{input-wZ6ORWru.cjs → input-UyknNHNr.cjs} +2 -2
- package/dist/{input-wZ6ORWru.cjs.map → input-UyknNHNr.cjs.map} +1 -1
- package/dist/{input-chip-C3EPsHcP.cjs → input-chip-Bht9MU9G.cjs} +2 -2
- package/dist/{input-chip-C3EPsHcP.cjs.map → input-chip-Bht9MU9G.cjs.map} +1 -1
- package/dist/{input-chip-dmqYCExV.js → input-chip-DVE4_1wn.js} +2 -2
- package/dist/{input-chip-dmqYCExV.js.map → input-chip-DVE4_1wn.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-BegNkhOn.js → list-BO1gnjmc.js} +2 -2
- package/dist/{list-BegNkhOn.js.map → list-BO1gnjmc.js.map} +1 -1
- package/dist/{list-CLKiZ6lk.cjs → list-Bac329kq.cjs} +2 -2
- package/dist/{list-CLKiZ6lk.cjs.map → list-Bac329kq.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-CPQYJnK_.cjs → litElement.mixin-B1WTI3WY.cjs} +2 -2
- package/dist/{litElement.mixin-CPQYJnK_.cjs.map → litElement.mixin-B1WTI3WY.cjs.map} +1 -1
- package/dist/{litElement.mixin-DWDPaNoc.js → litElement.mixin-CVje6z-M.js} +2 -2
- package/dist/{litElement.mixin-DWDPaNoc.js.map → litElement.mixin-CVje6z-M.js.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-w4Kdtycx.cjs → map-BlmS6Zfx.cjs} +2 -2
- package/dist/{map-w4Kdtycx.cjs.map → map-BlmS6Zfx.cjs.map} +1 -1
- package/dist/{map-CUKZ6LrR.js → map-C1jVMhlF.js} +2 -2
- package/dist/{map-CUKZ6LrR.js.map → map-C1jVMhlF.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-CjdCchz8.js → media-CNMZbEJe.js} +2 -2
- package/dist/{media-CjdCchz8.js.map → media-CNMZbEJe.js.map} +1 -1
- package/dist/{media-DDNmuoV0.cjs → media-CxfrOjie.cjs} +2 -2
- package/dist/{media-DDNmuoV0.cjs.map → media-CxfrOjie.cjs.map} +1 -1
- package/dist/{menu-ofiPDY2a.js → menu-CUKV4pVJ.js} +3 -3
- package/dist/{menu-ofiPDY2a.js.map → menu-CUKV4pVJ.js.map} +1 -1
- package/dist/{menu-D9-9vipn.cjs → menu-DEa2K7Pk.cjs} +2 -2
- package/dist/{menu-D9-9vipn.cjs.map → menu-DEa2K7Pk.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +3 -3
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{navigation-rail-weSW6BCv.js → navigation-rail-CYKfvZs9.js} +3 -3
- package/dist/{navigation-rail-weSW6BCv.js.map → navigation-rail-CYKfvZs9.js.map} +1 -1
- package/dist/{navigation-rail-CEDLJTrH.cjs → navigation-rail-DXr4NJnN.cjs} +2 -2
- package/dist/{navigation-rail-CEDLJTrH.cjs.map → navigation-rail-DXr4NJnN.cjs.map} +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-B4nvP2Jc.js → notification-service-CZ56fXew.js} +4 -4
- package/dist/{notification-service-B4nvP2Jc.js.map → notification-service-CZ56fXew.js.map} +1 -1
- package/dist/{notification-service-B_pa74hl.cjs → notification-service-DQGs9O0f.cjs} +2 -2
- package/dist/{notification-service-B_pa74hl.cjs.map → notification-service-DQGs9O0f.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-Ci0HrUIo.js → notify-KvHZ-8z9.js} +2 -2
- package/dist/{notify-Ci0HrUIo.js.map → notify-KvHZ-8z9.js.map} +1 -1
- package/dist/{notify-aasSKQGA.cjs → notify-VkDx6hMZ.cjs} +2 -2
- package/dist/{notify-aasSKQGA.cjs.map → notify-VkDx6hMZ.cjs.map} +1 -1
- package/dist/{option-Cs4e3CzF.js → option-DnRdbsTb.js} +2 -2
- package/dist/{option-Cs4e3CzF.js.map → option-DnRdbsTb.js.map} +1 -1
- package/dist/{option-Uze_q9Ef.cjs → option-Eh2AXe-Z.cjs} +2 -2
- package/dist/{option-Uze_q9Ef.cjs.map → option-Eh2AXe-Z.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-rJCPUtWE.cjs → payment-card-form-8a4Nqqhy.cjs} +2 -2
- package/dist/{payment-card-form-rJCPUtWE.cjs.map → payment-card-form-8a4Nqqhy.cjs.map} +1 -1
- package/dist/{payment-card-form-BLoUTYiB.js → payment-card-form-EVQEb5OX.js} +3 -3
- package/dist/{payment-card-form-BLoUTYiB.js.map → payment-card-form-EVQEb5OX.js.map} +1 -1
- package/dist/{progress-B1f3y-Mf.js → progress-D5kgn2Fg.js} +2 -2
- package/dist/{progress-B1f3y-Mf.js.map → progress-D5kgn2Fg.js.map} +1 -1
- package/dist/{progress-DdBHNIMT.cjs → progress-yFxoJDYf.cjs} +2 -2
- package/dist/{progress-DdBHNIMT.cjs.map → progress-yFxoJDYf.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-BAS7gKmA.cjs → radio-button-BTdqEOSJ.cjs} +2 -2
- package/dist/{radio-button-BAS7gKmA.cjs.map → radio-button-BTdqEOSJ.cjs.map} +1 -1
- package/dist/{radio-button-CaDaw5VH.js → radio-button-QCukBJLy.js} +3 -3
- package/dist/{radio-button-CaDaw5VH.js.map → radio-button-QCukBJLy.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-wQsksygx.cjs → schmancy-steps-container-CtwqkRBU.cjs} +2 -2
- package/dist/{schmancy-steps-container-wQsksygx.cjs.map → schmancy-steps-container-CtwqkRBU.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-BInNput3.js → schmancy-steps-container-NZOamraF.js} +2 -2
- package/dist/{schmancy-steps-container-BInNput3.js.map → schmancy-steps-container-NZOamraF.js.map} +1 -1
- package/dist/{select-_2Ag_znm.cjs → select-C-Kv7ey_.cjs} +2 -2
- package/dist/{select-_2Ag_znm.cjs.map → select-C-Kv7ey_.cjs.map} +1 -1
- package/dist/{select-ApLZefMf.js → select-DSTQ-Zau.js} +3 -3
- package/dist/{select-ApLZefMf.js.map → select-DSTQ-Zau.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-DovyNsok.js → sheet-DY-z5_tm.js} +5 -5
- package/dist/{sheet-DovyNsok.js.map → sheet-DY-z5_tm.js.map} +1 -1
- package/dist/{sheet-wjDOQ8Hs.cjs → sheet-IzYy3H8n.cjs} +2 -2
- package/dist/{sheet-wjDOQ8Hs.cjs.map → sheet-IzYy3H8n.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-DfHrOxyc.cjs → sheet.service-BNz-ird-.cjs} +2 -2
- package/dist/{sheet.service-DfHrOxyc.cjs.map → sheet.service-BNz-ird-.cjs.map} +1 -1
- package/dist/{sheet.service-BvOiOFMm.js → sheet.service-DuVcXyOB.js} +2 -2
- package/dist/{sheet.service-BvOiOFMm.js.map → sheet.service-DuVcXyOB.js.map} +1 -1
- package/dist/{slider-CeVgx4pL.js → slider-CFtbSQ9Y.js} +3 -3
- package/dist/{slider-CeVgx4pL.js.map → slider-CFtbSQ9Y.js.map} +1 -1
- package/dist/{slider-BgJccHrg.cjs → slider-CGE_Qeok.cjs} +2 -2
- package/dist/{slider-BgJccHrg.cjs.map → slider-CGE_Qeok.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-BKeA2bdB.cjs → spinner-CSPJs8CL.cjs} +2 -2
- package/dist/{spinner-BKeA2bdB.cjs.map → spinner-CSPJs8CL.cjs.map} +1 -1
- package/dist/{spinner-Brq1TenP.js → spinner-DAF-hCvQ.js} +2 -2
- package/dist/{spinner-Brq1TenP.js.map → spinner-DAF-hCvQ.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-CWBSzu7C.js → suggestion-chip-CYu-4xrL.js} +3 -3
- package/dist/{suggestion-chip-CWBSzu7C.js.map → suggestion-chip-CYu-4xrL.js.map} +1 -1
- package/dist/{suggestion-chip-dq20NKWy.cjs → suggestion-chip-Cj8gwZqq.cjs} +2 -2
- package/dist/{suggestion-chip-dq20NKWy.cjs.map → suggestion-chip-Cj8gwZqq.cjs.map} +1 -1
- package/dist/{surface-Bf8pvmdG.js → surface-DTOK-0E4.js} +2 -2
- package/dist/{surface-Bf8pvmdG.js.map → surface-DTOK-0E4.js.map} +1 -1
- package/dist/{surface-fEPJ-cuu.cjs → surface-VX_THUHv.cjs} +2 -2
- package/dist/{surface-fEPJ-cuu.cjs.map → surface-VX_THUHv.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-DEnB9_Rf.cjs → table-BV0-o9Wi.cjs} +2 -2
- package/dist/{table-DEnB9_Rf.cjs.map → table-BV0-o9Wi.cjs.map} +1 -1
- package/dist/{table-MLd3oXm6.js → table-CkXbXqi9.js} +2 -2
- package/dist/{table-MLd3oXm6.js.map → table-CkXbXqi9.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-KWKzYolX.js → tabs-compatibility-D_BBW655.js} +2 -2
- package/dist/{tabs-compatibility-KWKzYolX.js.map → tabs-compatibility-D_BBW655.js.map} +1 -1
- package/dist/{tabs-compatibility-CXVHOR5X.cjs → tabs-compatibility-DsfD60U_.cjs} +2 -2
- package/dist/{tabs-compatibility-CXVHOR5X.cjs.map → tabs-compatibility-DsfD60U_.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-JFXu3GSo.cjs +2 -0
- package/dist/{tailwind.mixin-3TPVvhYf.cjs.map → tailwind.mixin-JFXu3GSo.cjs.map} +1 -1
- package/dist/tailwind.mixin-wLaKUxf1.js +67 -0
- package/dist/{tailwind.mixin-DIW0B_of.js.map → tailwind.mixin-wLaKUxf1.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-B7arkA7y.cjs → textarea-B6LDhRed.cjs} +2 -2
- package/dist/{textarea-B7arkA7y.cjs.map → textarea-B6LDhRed.cjs.map} +1 -1
- package/dist/{textarea-BK1m_CFR.js → textarea-TeVnUeIJ.js} +2 -2
- package/dist/{textarea-BK1m_CFR.js.map → textarea-TeVnUeIJ.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-C6kk8bay.js → theme-button-BXXqAu2Y.js} +2 -2
- package/dist/{theme-button-C6kk8bay.js.map → theme-button-BXXqAu2Y.js.map} +1 -1
- package/dist/{theme-button-BTKwL3oC.cjs → theme-button-DxMbO3yP.cjs} +2 -2
- package/dist/{theme-button-BTKwL3oC.cjs.map → theme-button-DxMbO3yP.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{theme-controller-boat-Y5QXwJxW.cjs → theme-controller-boat-CCBNOGxF.cjs} +2 -2
- package/dist/{theme-controller-boat-Y5QXwJxW.cjs.map → theme-controller-boat-CCBNOGxF.cjs.map} +1 -1
- package/dist/{theme-controller-boat-BK59LqH9.js → theme-controller-boat-CVS77gnH.js} +3 -3
- package/dist/{theme-controller-boat-BK59LqH9.js.map → theme-controller-boat-CVS77gnH.js.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-nbn0o5GC.cjs → timezone-D7YOMM8G.cjs} +2 -2
- package/dist/{timezone-nbn0o5GC.cjs.map → timezone-D7YOMM8G.cjs.map} +1 -1
- package/dist/{timezone-D_skWX6Z.js → timezone-RBV74f85.js} +3 -3
- package/dist/{timezone-D_skWX6Z.js.map → timezone-RBV74f85.js.map} +1 -1
- package/dist/{tooltip-DyuMJEjL.cjs → tooltip-BH_RLoZI.cjs} +2 -2
- package/dist/{tooltip-DyuMJEjL.cjs.map → tooltip-BH_RLoZI.cjs.map} +1 -1
- package/dist/{tooltip-Btl0IKYC.js → tooltip-DssL6Qfx.js} +2 -2
- package/dist/{tooltip-Btl0IKYC.js.map → tooltip-DssL6Qfx.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-N4Y6MoQe.cjs → tree-7Zz1sJKl.cjs} +2 -2
- package/dist/{tree-N4Y6MoQe.cjs.map → tree-7Zz1sJKl.cjs.map} +1 -1
- package/dist/{tree-B_2eIFQi.js → tree-C33t9-0j.js} +2 -2
- package/dist/{tree-B_2eIFQi.js.map → tree-C33t9-0j.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-Blyrk_4c.js → typewriter-Dt1Js2lP.js} +4 -4
- package/dist/{typewriter-Blyrk_4c.js.map → typewriter-Dt1Js2lP.js.map} +1 -1
- package/dist/{typewriter-CFQAeOaw.cjs → typewriter-WbYqfXO7.cjs} +2 -2
- package/dist/{typewriter-CFQAeOaw.cjs.map → typewriter-WbYqfXO7.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DsIU0TGe.cjs → typography-Ck-OdI83.cjs} +2 -2
- package/dist/{typography-DsIU0TGe.cjs.map → typography-Ck-OdI83.cjs.map} +1 -1
- package/dist/{typography-DjGWK58I.js → typography-DdG9aEAg.js} +2 -2
- package/dist/{typography-DjGWK58I.js.map → typography-DdG9aEAg.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/details/details.d.ts +9 -0
- package/dist/details-CjQrqBli.cjs +0 -98
- package/dist/details-CjQrqBli.cjs.map +0 -1
- package/dist/details-DVIWpEsI.js +0 -137
- package/dist/details-DVIWpEsI.js.map +0 -1
- package/dist/tailwind.mixin-3TPVvhYf.cjs +0 -2
- package/dist/tailwind.mixin-DIW0B_of.js +0 -67
package/ai/details.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# Schmancy Details - AI Reference
|
|
2
2
|
|
|
3
|
-
A Material Design 3 compliant expansion panel component with smooth
|
|
4
|
-
|
|
3
|
+
A Material Design 3 compliant expansion panel component with smooth Web Animations API transitions, customizable indicators, and flexible padding control.
|
|
5
4
|
```js
|
|
6
5
|
// Import
|
|
7
6
|
import '@schmancy/index' // For all Schmancy components
|
|
@@ -11,64 +10,176 @@ import '@schmancy/index' // For all Schmancy components
|
|
|
11
10
|
<schmancy-details
|
|
12
11
|
summary="Section Title" // Summary text (also via slot)
|
|
13
12
|
open? // Whether details is expanded (default: false)
|
|
14
|
-
variant="
|
|
13
|
+
variant="outlined|filled|elevated" // Visual variant (default: "outlined")
|
|
14
|
+
type="success|error|warning" // Semantic type with color coding
|
|
15
|
+
summary-padding="px-3 py-2" // Tailwind padding classes for summary
|
|
16
|
+
content-padding="px-3 pb-2" // Tailwind padding classes for content
|
|
17
|
+
indicator-placement="start|end" // Indicator position (default: "end")
|
|
18
|
+
hide-indicator? // Hide the expand/collapse indicator
|
|
15
19
|
@toggle=${handleToggle}> // Fires when expanded/collapsed
|
|
16
|
-
|
|
20
|
+
|
|
21
|
+
<!-- Custom indicator (optional) -->
|
|
22
|
+
<schmancy-icon slot="indicator">expand_more</schmancy-icon>
|
|
23
|
+
|
|
24
|
+
<!-- Custom summary (optional) -->
|
|
25
|
+
<div slot="summary">Custom Summary Content</div>
|
|
26
|
+
|
|
27
|
+
<!-- Content -->
|
|
17
28
|
<p>This content is shown when the details are expanded.</p>
|
|
18
29
|
</schmancy-details>
|
|
19
30
|
|
|
20
31
|
// Events
|
|
21
32
|
@toggle // CustomEvent<{ open: boolean }> - Fires when toggling open/closed state
|
|
22
33
|
|
|
23
|
-
//
|
|
24
|
-
details.open -> boolean
|
|
25
|
-
details.variant -> string
|
|
26
|
-
details.
|
|
34
|
+
// Properties
|
|
35
|
+
details.open -> boolean // Get/set open state
|
|
36
|
+
details.variant -> string // Get/set visual variant
|
|
37
|
+
details.type -> string | undefined // Get/set semantic type
|
|
38
|
+
details.summary -> string // Get/set summary text
|
|
39
|
+
details.summaryPadding -> string // Get/set summary padding classes
|
|
40
|
+
details.contentPadding -> string // Get/set content padding classes
|
|
41
|
+
details.indicatorPlacement -> string // Get/set indicator position
|
|
42
|
+
details.hideIndicator -> boolean // Get/set indicator visibility
|
|
27
43
|
```
|
|
28
44
|
|
|
29
45
|
## Material Design 3 Features
|
|
30
46
|
|
|
31
|
-
- **
|
|
32
|
-
- **
|
|
33
|
-
- **
|
|
34
|
-
- **Smooth Animations**: 250ms slide-down animation with M3 easing curves
|
|
47
|
+
- **Web Animations API**: GPU-accelerated 200ms rotation with ease-out timing
|
|
48
|
+
- **Interactive States**: Hover effects with proper state layers
|
|
49
|
+
- **Tailwind Integration**: Full utility class support for spacing control
|
|
35
50
|
- **Keyboard Support**: Full keyboard navigation with Enter/Space activation
|
|
36
51
|
- **Elevation System**: Proper M3 elevation levels for elevated variant
|
|
37
52
|
- **Focus Indicators**: 2px primary color outline with 2px offset
|
|
53
|
+
- **Semantic Colors**: Type-based color coding with M3 color roles
|
|
54
|
+
- **Performance Optimized**: Uses Lit directives (ref, when, classMap) for efficient rendering
|
|
38
55
|
|
|
39
56
|
## Visual Variants
|
|
40
57
|
|
|
41
|
-
### Default
|
|
42
|
-
```html
|
|
43
|
-
<schmancy-details summary="Default Details">
|
|
44
|
-
<p>Plain details with no special styling.</p>
|
|
45
|
-
</schmancy-details>
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### Outlined
|
|
58
|
+
### Outlined (Default)
|
|
49
59
|
```html
|
|
50
60
|
<schmancy-details variant="outlined" summary="Outlined Details">
|
|
51
|
-
<p>Details with a border outline.</p>
|
|
61
|
+
<p>Details with a border outline and surface background.</p>
|
|
52
62
|
</schmancy-details>
|
|
53
63
|
```
|
|
54
64
|
|
|
55
65
|
### Filled
|
|
56
66
|
```html
|
|
57
67
|
<schmancy-details variant="filled" summary="Filled Details">
|
|
58
|
-
<p>Details with
|
|
68
|
+
<p>Details with surface-container background.</p>
|
|
59
69
|
</schmancy-details>
|
|
60
70
|
```
|
|
61
71
|
|
|
62
72
|
### Elevated
|
|
63
73
|
```html
|
|
64
74
|
<schmancy-details variant="elevated" summary="Elevated Details">
|
|
65
|
-
<p>Details with elevation shadow that increases when opened.</p>
|
|
75
|
+
<p>Details with elevation shadow that increases when opened (shadow-md → shadow-lg).</p>
|
|
76
|
+
</schmancy-details>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Semantic Types
|
|
80
|
+
|
|
81
|
+
Add semantic meaning with colored left borders and tinted backgrounds:
|
|
82
|
+
```html
|
|
83
|
+
<!-- Success state -->
|
|
84
|
+
<schmancy-details type="success" summary="Success Notification">
|
|
85
|
+
<p>Your changes have been saved successfully!</p>
|
|
86
|
+
</schmancy-details>
|
|
87
|
+
|
|
88
|
+
<!-- Error state -->
|
|
89
|
+
<schmancy-details type="error" summary="Error Details">
|
|
90
|
+
<p>There was a problem processing your request.</p>
|
|
91
|
+
</schmancy-details>
|
|
92
|
+
|
|
93
|
+
<!-- Warning state -->
|
|
94
|
+
<schmancy-details type="warning" summary="Important Warning">
|
|
95
|
+
<p>Please review these important changes before proceeding.</p>
|
|
96
|
+
</schmancy-details>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Padding Customization
|
|
100
|
+
|
|
101
|
+
Control spacing with Tailwind utility classes:
|
|
102
|
+
```html
|
|
103
|
+
<!-- Compact spacing -->
|
|
104
|
+
<schmancy-details
|
|
105
|
+
summary-padding="px-2 py-1.5"
|
|
106
|
+
content-padding="px-2 pb-1.5"
|
|
107
|
+
summary="Compact Details">
|
|
108
|
+
<p class="text-sm">Minimal padding for dense UIs.</p>
|
|
109
|
+
</schmancy-details>
|
|
110
|
+
|
|
111
|
+
<!-- Spacious layout -->
|
|
112
|
+
<schmancy-details
|
|
113
|
+
summary-padding="px-6 py-4"
|
|
114
|
+
content-padding="px-6 pb-4"
|
|
115
|
+
summary="Spacious Details">
|
|
116
|
+
<p>Extra breathing room for important content.</p>
|
|
117
|
+
</schmancy-details>
|
|
118
|
+
|
|
119
|
+
<!-- Asymmetric padding -->
|
|
120
|
+
<schmancy-details
|
|
121
|
+
summary-padding="pl-4 pr-6 py-3"
|
|
122
|
+
content-padding="pl-4 pr-6 pb-3"
|
|
123
|
+
summary="Custom Spacing">
|
|
124
|
+
<p>Fine-tuned padding control.</p>
|
|
125
|
+
</schmancy-details>
|
|
126
|
+
|
|
127
|
+
<!-- No padding content (for nested components) -->
|
|
128
|
+
<schmancy-details
|
|
129
|
+
summary-padding="px-4 py-3"
|
|
130
|
+
content-padding="p-0"
|
|
131
|
+
summary="Full Width Content">
|
|
132
|
+
<img src="/banner.jpg" alt="Banner" class="w-full">
|
|
133
|
+
</schmancy-details>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Custom Indicators
|
|
137
|
+
|
|
138
|
+
### Using Material Icons
|
|
139
|
+
```html
|
|
140
|
+
<schmancy-details indicator-placement="start">
|
|
141
|
+
<schmancy-icon slot="indicator">arrow_drop_down</schmancy-icon>
|
|
142
|
+
<div slot="summary">Expand for Details</div>
|
|
143
|
+
<p>Content here...</p>
|
|
144
|
+
</schmancy-details>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Custom SVG or Component
|
|
148
|
+
```html
|
|
149
|
+
<schmancy-details>
|
|
150
|
+
<div slot="indicator" class="text-primary-default">
|
|
151
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
|
|
152
|
+
<path d="M7 10l5 5 5-5z"/>
|
|
153
|
+
</svg>
|
|
154
|
+
</div>
|
|
155
|
+
<div slot="summary">Custom Icon</div>
|
|
156
|
+
<p>Your content...</p>
|
|
157
|
+
</schmancy-details>
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Hide Indicator
|
|
161
|
+
```html
|
|
162
|
+
<schmancy-details hide-indicator summary="No Indicator">
|
|
163
|
+
<p>Details without an expansion indicator.</p>
|
|
164
|
+
</schmancy-details>
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Indicator Placement
|
|
168
|
+
```html
|
|
169
|
+
<!-- Indicator on the left -->
|
|
170
|
+
<schmancy-details indicator-placement="start" summary="Left Indicator">
|
|
171
|
+
<p>Indicator appears before the summary text.</p>
|
|
172
|
+
</schmancy-details>
|
|
173
|
+
|
|
174
|
+
<!-- Indicator on the right (default) -->
|
|
175
|
+
<schmancy-details indicator-placement="end" summary="Right Indicator">
|
|
176
|
+
<p>Indicator appears after the summary text.</p>
|
|
66
177
|
</schmancy-details>
|
|
67
178
|
```
|
|
68
179
|
|
|
69
180
|
## Usage Examples
|
|
70
181
|
|
|
71
|
-
### FAQ Section
|
|
182
|
+
### FAQ Section with Types
|
|
72
183
|
```html
|
|
73
184
|
<div class="space-y-4">
|
|
74
185
|
<schmancy-details
|
|
@@ -86,6 +197,7 @@ details.summary -> string // Get/set summary text
|
|
|
86
197
|
|
|
87
198
|
<schmancy-details
|
|
88
199
|
variant="outlined"
|
|
200
|
+
type="success"
|
|
89
201
|
summary="Is this free to use?">
|
|
90
202
|
<p>Yes! This library is open source and free to use in your projects.</p>
|
|
91
203
|
</schmancy-details>
|
|
@@ -97,9 +209,11 @@ details.summary -> string // Get/set summary text
|
|
|
97
209
|
<schmancy-details
|
|
98
210
|
variant="filled"
|
|
99
211
|
summary="Advanced Settings"
|
|
212
|
+
summary-padding="px-4 py-3"
|
|
213
|
+
content-padding="px-4 pb-4"
|
|
100
214
|
@toggle=${(e) => console.log('Settings panel:', e.detail.open ? 'opened' : 'closed')}>
|
|
101
215
|
|
|
102
|
-
<div class="space-y-4
|
|
216
|
+
<div class="mt-2 space-y-4">
|
|
103
217
|
<schmancy-checkbox label="Enable notifications"></schmancy-checkbox>
|
|
104
218
|
<schmancy-checkbox label="Auto-save drafts"></schmancy-checkbox>
|
|
105
219
|
<schmancy-select label="Theme preference">
|
|
@@ -118,9 +232,9 @@ details.summary -> string // Get/set summary text
|
|
|
118
232
|
<h2>Product Name</h2>
|
|
119
233
|
<p>Basic product description...</p>
|
|
120
234
|
|
|
121
|
-
<div class="space-y-2
|
|
235
|
+
<div class="mt-4 space-y-2">
|
|
122
236
|
<schmancy-details variant="elevated" summary="Technical Specifications">
|
|
123
|
-
<div class="grid grid-cols-2 gap-4 text-sm">
|
|
237
|
+
<div class="grid grid-cols-2 gap-4 mt-2 text-sm">
|
|
124
238
|
<div><strong>Dimensions:</strong> 10" x 8" x 2"</div>
|
|
125
239
|
<div><strong>Weight:</strong> 2.5 lbs</div>
|
|
126
240
|
<div><strong>Material:</strong> Aluminum</div>
|
|
@@ -129,7 +243,7 @@ details.summary -> string // Get/set summary text
|
|
|
129
243
|
</schmancy-details>
|
|
130
244
|
|
|
131
245
|
<schmancy-details variant="elevated" summary="Shipping & Returns">
|
|
132
|
-
<div class="
|
|
246
|
+
<div class="mt-2 space-y-2 text-sm">
|
|
133
247
|
<p><strong>Free shipping</strong> on orders over $50</p>
|
|
134
248
|
<p><strong>30-day return policy</strong> - no questions asked</p>
|
|
135
249
|
<p><strong>2-year warranty</strong> included</p>
|
|
@@ -137,12 +251,12 @@ details.summary -> string // Get/set summary text
|
|
|
137
251
|
</schmancy-details>
|
|
138
252
|
|
|
139
253
|
<schmancy-details variant="elevated" summary="Customer Reviews">
|
|
140
|
-
<div class="space-y-3">
|
|
141
|
-
<div class="border-l-2 border-primary-default
|
|
254
|
+
<div class="mt-2 space-y-3">
|
|
255
|
+
<div class="pl-3 border-l-2 border-primary-default">
|
|
142
256
|
<p class="text-sm">"Great quality product, exactly as described."</p>
|
|
143
257
|
<p class="text-xs text-surface-onVariant">- Sarah M.</p>
|
|
144
258
|
</div>
|
|
145
|
-
<div class="border-l-2 border-primary-default
|
|
259
|
+
<div class="pl-3 border-l-2 border-primary-default">
|
|
146
260
|
<p class="text-sm">"Fast shipping and excellent customer service."</p>
|
|
147
261
|
<p class="text-xs text-surface-onVariant">- Mike R.</p>
|
|
148
262
|
</div>
|
|
@@ -153,10 +267,56 @@ details.summary -> string // Get/set summary text
|
|
|
153
267
|
</schmancy-card>
|
|
154
268
|
```
|
|
155
269
|
|
|
156
|
-
|
|
270
|
+
### Alert/Notification Panel
|
|
271
|
+
```html
|
|
272
|
+
<!-- Success notification -->
|
|
273
|
+
<schmancy-details
|
|
274
|
+
variant="filled"
|
|
275
|
+
type="success"
|
|
276
|
+
summary="Deployment Successful"
|
|
277
|
+
summary-padding="px-4 py-3">
|
|
278
|
+
<div class="mt-2 text-sm">
|
|
279
|
+
<p class="mb-2">Your application has been deployed to production.</p>
|
|
280
|
+
<ul class="space-y-1 list-disc list-inside">
|
|
281
|
+
<li>Build completed in 2m 34s</li>
|
|
282
|
+
<li>All tests passed (127/127)</li>
|
|
283
|
+
<li>Zero security vulnerabilities found</li>
|
|
284
|
+
</ul>
|
|
285
|
+
</div>
|
|
286
|
+
</schmancy-details>
|
|
157
287
|
|
|
158
|
-
|
|
288
|
+
<!-- Error notification -->
|
|
289
|
+
<schmancy-details
|
|
290
|
+
variant="filled"
|
|
291
|
+
type="error"
|
|
292
|
+
summary="Build Failed"
|
|
293
|
+
open
|
|
294
|
+
summary-padding="px-4 py-3">
|
|
295
|
+
<div class="mt-2 text-sm">
|
|
296
|
+
<p class="mb-2">The build process encountered errors:</p>
|
|
297
|
+
<code class="block p-2 rounded bg-black/10">
|
|
298
|
+
TypeError: Cannot read property 'map' of undefined<br>
|
|
299
|
+
at components/UserList.tsx:45:12
|
|
300
|
+
</code>
|
|
301
|
+
</div>
|
|
302
|
+
</schmancy-details>
|
|
159
303
|
|
|
304
|
+
<!-- Warning notification -->
|
|
305
|
+
<schmancy-details
|
|
306
|
+
variant="filled"
|
|
307
|
+
type="warning"
|
|
308
|
+
summary="Action Required"
|
|
309
|
+
summary-padding="px-4 py-3">
|
|
310
|
+
<div class="mt-2 text-sm">
|
|
311
|
+
<p class="mb-2">Your trial period expires in 3 days.</p>
|
|
312
|
+
<schmancy-button variant="filled">Upgrade Now</schmancy-button>
|
|
313
|
+
</div>
|
|
314
|
+
</schmancy-details>
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## Customization with Slots
|
|
318
|
+
|
|
319
|
+
Use slots for complex summary content:
|
|
160
320
|
```html
|
|
161
321
|
<schmancy-details variant="outlined">
|
|
162
322
|
<div slot="summary" class="flex items-center gap-3">
|
|
@@ -169,38 +329,143 @@ You can use slots for more complex summary content:
|
|
|
169
329
|
</div>
|
|
170
330
|
|
|
171
331
|
<!-- Content -->
|
|
172
|
-
<div class="mt-
|
|
332
|
+
<div class="mt-2">
|
|
173
333
|
<p>User profile information and settings...</p>
|
|
174
334
|
</div>
|
|
175
335
|
</schmancy-details>
|
|
176
336
|
```
|
|
177
337
|
|
|
338
|
+
### With Custom Indicators
|
|
339
|
+
```html
|
|
340
|
+
<schmancy-details variant="filled" indicator-placement="start">
|
|
341
|
+
<!-- Custom animated icon -->
|
|
342
|
+
<div slot="indicator" class="text-primary-default">
|
|
343
|
+
<schmancy-icon>expand_circle_down</schmancy-icon>
|
|
344
|
+
</div>
|
|
345
|
+
|
|
346
|
+
<!-- Rich summary content -->
|
|
347
|
+
<div slot="summary" class="flex items-center justify-between flex-1">
|
|
348
|
+
<span>Section Title</span>
|
|
349
|
+
<schmancy-chip size="sm">3 items</schmancy-chip>
|
|
350
|
+
</div>
|
|
351
|
+
|
|
352
|
+
<p>Content here...</p>
|
|
353
|
+
</schmancy-details>
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
## Programmatic Control
|
|
357
|
+
```typescript
|
|
358
|
+
// Get reference to details element
|
|
359
|
+
const details = document.querySelector('schmancy-details')
|
|
360
|
+
|
|
361
|
+
// Open/close programmatically
|
|
362
|
+
details.open = true
|
|
363
|
+
details.open = false
|
|
364
|
+
|
|
365
|
+
// Listen to toggle events
|
|
366
|
+
details.addEventListener('toggle', (e) => {
|
|
367
|
+
console.log('Details is now:', e.detail.open ? 'open' : 'closed')
|
|
368
|
+
})
|
|
369
|
+
|
|
370
|
+
// Change variant dynamically
|
|
371
|
+
details.variant = 'elevated'
|
|
372
|
+
|
|
373
|
+
// Update padding
|
|
374
|
+
details.summaryPadding = 'px-6 py-4'
|
|
375
|
+
details.contentPadding = 'px-6 pb-4'
|
|
376
|
+
|
|
377
|
+
// Hide indicator
|
|
378
|
+
details.hideIndicator = true
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
## Accordion Pattern
|
|
382
|
+
|
|
383
|
+
Create accordion groups where only one item is open at a time:
|
|
384
|
+
```html
|
|
385
|
+
<div class="space-y-2" id="accordion">
|
|
386
|
+
<schmancy-details
|
|
387
|
+
variant="outlined"
|
|
388
|
+
summary="Section 1"
|
|
389
|
+
@toggle=${handleAccordionToggle}>
|
|
390
|
+
<p>Content for section 1</p>
|
|
391
|
+
</schmancy-details>
|
|
392
|
+
|
|
393
|
+
<schmancy-details
|
|
394
|
+
variant="outlined"
|
|
395
|
+
summary="Section 2"
|
|
396
|
+
@toggle=${handleAccordionToggle}>
|
|
397
|
+
<p>Content for section 2</p>
|
|
398
|
+
</schmancy-details>
|
|
399
|
+
|
|
400
|
+
<schmancy-details
|
|
401
|
+
variant="outlined"
|
|
402
|
+
summary="Section 3"
|
|
403
|
+
@toggle=${handleAccordionToggle}>
|
|
404
|
+
<p>Content for section 3</p>
|
|
405
|
+
</schmancy-details>
|
|
406
|
+
</div>
|
|
407
|
+
|
|
408
|
+
<script>
|
|
409
|
+
function handleAccordionToggle(e) {
|
|
410
|
+
if (e.detail.open) {
|
|
411
|
+
const accordion = document.getElementById('accordion')
|
|
412
|
+
const allDetails = accordion.querySelectorAll('schmancy-details')
|
|
413
|
+
allDetails.forEach(detail => {
|
|
414
|
+
if (detail !== e.target) {
|
|
415
|
+
detail.open = false
|
|
416
|
+
}
|
|
417
|
+
})
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
</script>
|
|
421
|
+
```
|
|
422
|
+
|
|
178
423
|
## Accessibility
|
|
179
424
|
|
|
180
425
|
- Uses semantic HTML `<details>` and `<summary>` elements
|
|
181
426
|
- Keyboard navigation fully supported (Enter/Space to toggle)
|
|
427
|
+
- Focus management with visible focus indicators (2px primary outline)
|
|
182
428
|
- Screen reader compatible with proper ARIA attributes
|
|
183
|
-
-
|
|
429
|
+
- Minimum touch target sizes for mobile accessibility
|
|
430
|
+
- `delegatesFocus: true` for proper focus handling
|
|
184
431
|
|
|
185
|
-
##
|
|
432
|
+
## Performance
|
|
186
433
|
|
|
187
|
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
-
|
|
434
|
+
- **Web Animations API**: Hardware-accelerated transforms with `will-change-transform`
|
|
435
|
+
- **Lit Directives**: Optimized rendering with `ref`, `when`, and `classMap`
|
|
436
|
+
- **Animation Cancellation**: Previous animations are cancelled to prevent conflicts
|
|
437
|
+
- **RxJS Cleanup**: Proper subscription cleanup with `takeUntil(this.disconnecting)`
|
|
438
|
+
- **Minimal Reflows**: Uses GPU-accelerated CSS transforms for smooth animations
|
|
191
439
|
|
|
192
440
|
## Related Components
|
|
193
441
|
|
|
194
442
|
- **[Card](./card.md)** - Container for details in card layouts
|
|
195
443
|
- **[List](./list.md)** - Use with list items for expandable content
|
|
444
|
+
- **[Icon](./icon.md)** - Custom indicator icons
|
|
196
445
|
- **[Typography](./typography.md)** - For summary and content text styling
|
|
197
|
-
- **[
|
|
446
|
+
- **[Badge](./badge.md)** - Add status indicators to summaries
|
|
447
|
+
- **[Chip](./chip.md)** - Count or category indicators
|
|
198
448
|
|
|
199
449
|
## Common Use Cases
|
|
200
450
|
|
|
201
|
-
1. **FAQ Sections** - Collapsible question/answer pairs
|
|
451
|
+
1. **FAQ Sections** - Collapsible question/answer pairs with semantic types
|
|
202
452
|
2. **Settings Panels** - Group related configuration options
|
|
203
453
|
3. **Product Details** - Specifications, shipping, reviews
|
|
204
454
|
4. **Documentation** - Code examples, detailed explanations
|
|
205
|
-
5. **Form Sections** - Group related form fields
|
|
206
|
-
6. **Navigation** - Collapsible menu sections
|
|
455
|
+
5. **Form Sections** - Group related form fields with validation states
|
|
456
|
+
6. **Navigation** - Collapsible menu sections
|
|
457
|
+
7. **Notifications** - Alert panels with expandable details
|
|
458
|
+
8. **Dashboard Widgets** - Expandable data panels with custom padding
|
|
459
|
+
|
|
460
|
+
## Design Tokens
|
|
461
|
+
|
|
462
|
+
The component uses the following Schmancy design tokens:
|
|
463
|
+
|
|
464
|
+
- `--schmancy-sys-color-surface-*` - Surface colors for backgrounds
|
|
465
|
+
- `--schmancy-sys-color-outline-variant` - Border colors
|
|
466
|
+
- `--schmancy-sys-color-primary-default` - Focus indicators
|
|
467
|
+
- `--schmancy-sys-color-success-*` - Success type colors
|
|
468
|
+
- `--schmancy-sys-color-error-*` - Error type colors
|
|
469
|
+
- `--schmancy-sys-color-warning-*` - Warning type colors
|
|
470
|
+
- `--schmancy-sys-elevation-*` - Shadow levels for elevation
|
|
471
|
+
- `--schmancy-sys-shape-corner-medium` - Border radius
|