@mhmo91/schmancy 0.6.19 → 0.7.1
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/menu.md +117 -186
- package/dist/ai/menu.md +117 -186
- package/dist/{animated-text-CgKXZOvy.cjs → animated-text-B8pXfnjg.cjs} +2 -2
- package/dist/{animated-text-CgKXZOvy.cjs.map → animated-text-B8pXfnjg.cjs.map} +1 -1
- package/dist/{animated-text-Df3UZBT2.js → animated-text-C7RzcmyV.js} +3 -3
- package/dist/{animated-text-Df3UZBT2.js.map → animated-text-C7RzcmyV.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-DXQff5kK.js → area.component-DfGcGjsN.js} +3 -3
- package/dist/{area.component-DXQff5kK.js.map → area.component-DfGcGjsN.js.map} +1 -1
- package/dist/{area.component-_AwKbrLf.cjs → area.component-TRIJcSoQ.cjs} +2 -2
- package/dist/{area.component-_AwKbrLf.cjs.map → area.component-TRIJcSoQ.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-DLzc6eqO.js → autocomplete-Bhv2JOnL.js} +4 -4
- package/dist/autocomplete-Bhv2JOnL.js.map +1 -0
- package/dist/{autocomplete-DEzGDw9s.cjs → autocomplete-Dio0lk_E.cjs} +2 -2
- package/dist/autocomplete-Dio0lk_E.cjs.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-YRXX1DQy.js → avatar-BCLeThlA.js} +51 -51
- package/dist/{avatar-YRXX1DQy.js.map → avatar-BCLeThlA.js.map} +1 -1
- package/dist/{avatar-B_Mf0HXa.cjs → avatar-DecX7RJw.cjs} +2 -2
- package/dist/{avatar-B_Mf0HXa.cjs.map → avatar-DecX7RJw.cjs.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-VzOnSD8z.cjs → boat-B3IhIJhy.cjs} +2 -2
- package/dist/{boat-VzOnSD8z.cjs.map → boat-B3IhIJhy.cjs.map} +1 -1
- package/dist/{boat-CWADeoFv.js → boat-DrAkyCAd.js} +3 -3
- package/dist/{boat-CWADeoFv.js.map → boat-DrAkyCAd.js.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-ZryxdmZz.js → checkbox-BKT1cZnv.js} +2 -2
- package/dist/checkbox-BKT1cZnv.js.map +1 -0
- package/dist/{checkbox-DClxbWbU.cjs → checkbox-C4CHTajr.cjs} +2 -2
- package/dist/checkbox-C4CHTajr.cjs.map +1 -0
- 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-BoYqlMxl.cjs → code-preview-CEbRCvUd.cjs} +2 -2
- package/dist/code-preview-CEbRCvUd.cjs.map +1 -0
- package/dist/{code-preview-Bn2K5K9h.js → code-preview-DzMETSJv.js} +2 -2
- package/dist/code-preview-DzMETSJv.js.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/consume-5D1qfVWM.js.map +1 -1
- package/dist/consume-edta5ng5.cjs.map +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/context-create-CA907mdD.cjs.map +1 -1
- package/dist/context-create-DCiujzV2.js.map +1 -1
- package/dist/{date-range-CCQsqKSy.js → date-range-B-5LtvhH.js} +3 -3
- package/dist/date-range-B-5LtvhH.js.map +1 -0
- package/dist/{date-range-B-rPnyst.cjs → date-range-B1PGOR7h.cjs} +2 -2
- package/dist/date-range-B1PGOR7h.cjs.map +1 -0
- package/dist/{date-range-inline-DO0Ps_QS.js → date-range-inline-D90CpK7z.js} +3 -3
- package/dist/{date-range-inline-DO0Ps_QS.js.map → date-range-inline-D90CpK7z.js.map} +1 -1
- package/dist/{date-range-inline-NACS06ev.cjs → date-range-inline-DLV7jB_x.cjs} +2 -2
- package/dist/{date-range-inline-NACS06ev.cjs.map → date-range-inline-DLV7jB_x.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-BaltOHAs.js → delay-D5RAR00M.js} +2 -2
- package/dist/delay-D5RAR00M.js.map +1 -0
- package/dist/{delay-DzqfMSBJ.cjs → delay-UAjkp-21.cjs} +2 -2
- package/dist/delay-UAjkp-21.cjs.map +1 -0
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-Bic4ZKNZ.js → details-CiuixU2H.js} +2 -2
- package/dist/{details-Bic4ZKNZ.js.map → details-CiuixU2H.js.map} +1 -1
- package/dist/{details-DPSpg2dL.cjs → details-RHTdNCLS.cjs} +2 -2
- package/dist/{details-DPSpg2dL.cjs.map → details-RHTdNCLS.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-CR4l1Yts.cjs → dialog-content-BF1xiYWw.cjs} +2 -2
- package/dist/{dialog-content-CR4l1Yts.cjs.map → dialog-content-BF1xiYWw.cjs.map} +1 -1
- package/dist/{dialog-content-CwsV3nWG.js → dialog-content-dtIrTHLU.js} +3 -3
- package/dist/{dialog-content-CwsV3nWG.js.map → dialog-content-dtIrTHLU.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-ChXDN5-E.js → divider-DcEB9uHV.js} +3 -3
- package/dist/{divider-ChXDN5-E.js.map → divider-DcEB9uHV.js.map} +1 -1
- package/dist/{divider-CpiE9MZW.cjs → divider-ZhcWRyc2.cjs} +2 -2
- package/dist/{divider-CpiE9MZW.cjs.map → divider-ZhcWRyc2.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-BmA6vuhB.js → dropdown-content-BoUnfAyz.js} +3 -3
- package/dist/{dropdown-content-BmA6vuhB.js.map → dropdown-content-BoUnfAyz.js.map} +1 -1
- package/dist/{dropdown-content-8I1uIUoF.cjs → dropdown-content-klaWLDI-.cjs} +2 -2
- package/dist/{dropdown-content-8I1uIUoF.cjs.map → dropdown-content-klaWLDI-.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-Cl_-UNWo.cjs → email-recipients-DA2HLG8K.cjs} +2 -2
- package/dist/{email-recipients-Cl_-UNWo.cjs.map → email-recipients-DA2HLG8K.cjs.map} +1 -1
- package/dist/{email-recipients-Ew87bYRp.js → email-recipients-yN1Jcu9X.js} +6 -6
- package/dist/{email-recipients-Ew87bYRp.js.map → email-recipients-yN1Jcu9X.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-DsHnuUb7.cjs → flex-CYCtLC7W.cjs} +2 -2
- package/dist/{flex-DsHnuUb7.cjs.map → flex-CYCtLC7W.cjs.map} +1 -1
- package/dist/{flex-CW7oSqU1.js → flex-C_fGjgWC.js} +2 -2
- package/dist/{flex-CW7oSqU1.js.map → flex-C_fGjgWC.js.map} +1 -1
- package/dist/flow-D0e7hGXO.cjs.map +1 -1
- package/dist/flow-DXYqC9OA.js.map +1 -1
- package/dist/{form-DZ9l7TjO.cjs → form-CYBgxvdH.cjs} +2 -2
- package/dist/{form-DZ9l7TjO.cjs.map → form-CYBgxvdH.cjs.map} +1 -1
- package/dist/{form-C5d6gWUg.js → form-Dn3XWE7d.js} +2 -2
- package/dist/{form-C5d6gWUg.js.map → form-Dn3XWE7d.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-BW4RaqbT.cjs → formField.mixin-D_gQgJXC.cjs} +2 -2
- package/dist/{formField.mixin-BW4RaqbT.cjs.map → formField.mixin-D_gQgJXC.cjs.map} +1 -1
- package/dist/{formField.mixin-DpD9oPMR.js → formField.mixin-Ds2S1kRc.js} +2 -2
- package/dist/{formField.mixin-DpD9oPMR.js.map → formField.mixin-Ds2S1kRc.js.map} +1 -1
- package/dist/{icon-BATnNWHh.js → icon-Bw8hqRtQ.js} +2 -2
- package/dist/{icon-BATnNWHh.js.map → icon-Bw8hqRtQ.js.map} +1 -1
- package/dist/{icon-CV5KKSMK.cjs → icon-DYGsNRVu.cjs} +2 -2
- package/dist/{icon-CV5KKSMK.cjs.map → icon-DYGsNRVu.cjs.map} +1 -1
- package/dist/{icon-button-BCdwHPLZ.cjs → icon-button-BfjcTNKq.cjs} +2 -2
- package/dist/{icon-button-BCdwHPLZ.cjs.map → icon-button-BfjcTNKq.cjs.map} +1 -1
- package/dist/{icon-button-BCqgaB3e.js → icon-button-Cu-RShdY.js} +3 -3
- package/dist/{icon-button-BCqgaB3e.js.map → icon-button-Cu-RShdY.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index-CCi1otmh.cjs.map +1 -1
- package/dist/index-CW6PhEkx.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +50 -50
- package/dist/{input-RPj2xLz4.cjs → input-D-YRT2vo.cjs} +2 -2
- package/dist/input-D-YRT2vo.cjs.map +1 -0
- package/dist/{input-BJvZX3nK.js → input-UlrGLoXt.js} +3 -3
- package/dist/input-UlrGLoXt.js.map +1 -0
- package/dist/{input-chip-CyvaAJiR.js → input-chip-BwEuJAV5.js} +2 -2
- package/dist/{input-chip-CyvaAJiR.js.map → input-chip-BwEuJAV5.js.map} +1 -1
- package/dist/{input-chip-CGilKpgN.cjs → input-chip-pho9bYvS.cjs} +2 -2
- package/dist/{input-chip-CGilKpgN.cjs.map → input-chip-pho9bYvS.cjs.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-Dqwbw_0L.js → list-B4x432bs.js} +2 -2
- package/dist/{list-Dqwbw_0L.js.map → list-B4x432bs.js.map} +1 -1
- package/dist/{list-Dphnkgjm.cjs → list-CyCR5ywg.cjs} +2 -2
- package/dist/{list-Dphnkgjm.cjs.map → list-CyCR5ywg.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-BbwZRaPp.js → litElement.mixin-BPe38Tqd.js} +2 -2
- package/dist/{litElement.mixin-BbwZRaPp.js.map → litElement.mixin-BPe38Tqd.js.map} +1 -1
- package/dist/{litElement.mixin-1i17ImwN.cjs → litElement.mixin-DXaT0TQx.cjs} +2 -2
- package/dist/{litElement.mixin-1i17ImwN.cjs.map → litElement.mixin-DXaT0TQx.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-DEjWWl14.cjs → map-C2fG3es8.cjs} +2 -2
- package/dist/{map-DEjWWl14.cjs.map → map-C2fG3es8.cjs.map} +1 -1
- package/dist/{map-BHfXl4eZ.js → map-CNoi0TZi.js} +2 -2
- package/dist/{map-BHfXl4eZ.js.map → map-CNoi0TZi.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-CFqac3i-.js → media-D_ne5TmT.js} +2 -2
- package/dist/{media-CFqac3i-.js.map → media-D_ne5TmT.js.map} +1 -1
- package/dist/{media-wEB2juTQ.cjs → media-dMr54ISj.cjs} +2 -2
- package/dist/{media-wEB2juTQ.cjs.map → media-dMr54ISj.cjs.map} +1 -1
- package/dist/menu-BdWhwHXc.js +89 -0
- package/dist/menu-BdWhwHXc.js.map +1 -0
- package/dist/menu-BsX4Mjjn.cjs +23 -0
- package/dist/menu-BsX4Mjjn.cjs.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +2 -0
- package/dist/mixins.cjs.map +1 -0
- package/dist/mixins.js +12 -0
- package/dist/mixins.js.map +1 -0
- 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-Cdklj_Vy.js → navigation-rail-DM2NQY_2.js} +3 -3
- package/dist/{navigation-rail-Cdklj_Vy.js.map → navigation-rail-DM2NQY_2.js.map} +1 -1
- package/dist/{navigation-rail-eNmqnFXJ.cjs → navigation-rail-DfFgV2PX.cjs} +2 -2
- package/dist/{navigation-rail-eNmqnFXJ.cjs.map → navigation-rail-DfFgV2PX.cjs.map} +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-jityv87S.cjs → notification-service-Cm_0BsnA.cjs} +2 -2
- package/dist/{notification-service-jityv87S.cjs.map → notification-service-Cm_0BsnA.cjs.map} +1 -1
- package/dist/{notification-service-CqxmKVJX.js → notification-service-DDfyKN2r.js} +4 -4
- package/dist/{notification-service-CqxmKVJX.js.map → notification-service-DDfyKN2r.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-C8EM_JmR.js → notify-BGHQRbsD.js} +2 -2
- package/dist/{notify-C8EM_JmR.js.map → notify-BGHQRbsD.js.map} +1 -1
- package/dist/{notify-CxqHlCZF.cjs → notify-DMoBBADS.cjs} +2 -2
- package/dist/{notify-CxqHlCZF.cjs.map → notify-DMoBBADS.cjs.map} +1 -1
- package/dist/{option-COJIldwK.js → option-EBGoYClu.js} +2 -2
- package/dist/{option-COJIldwK.js.map → option-EBGoYClu.js.map} +1 -1
- package/dist/{option-CBQoRZ86.cjs → option-MaqD_vGw.cjs} +2 -2
- package/dist/{option-CBQoRZ86.cjs.map → option-MaqD_vGw.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-BzDuKScU.cjs → payment-card-form-DZmaLaVl.cjs} +2 -2
- package/dist/payment-card-form-DZmaLaVl.cjs.map +1 -0
- package/dist/{payment-card-form-CHMYeZs2.js → payment-card-form-p_Wj1NRm.js} +3 -3
- package/dist/payment-card-form-p_Wj1NRm.js.map +1 -0
- package/dist/{progress-nOhWloHs.cjs → progress-BqIOFoJX.cjs} +2 -2
- package/dist/{progress-nOhWloHs.cjs.map → progress-BqIOFoJX.cjs.map} +1 -1
- package/dist/{progress-CtNg2SPw.js → progress-DC88fksT.js} +2 -2
- package/dist/{progress-CtNg2SPw.js.map → progress-DC88fksT.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/provide-BxZ2kn_p.cjs.map +1 -1
- package/dist/provide-tcktw8xB.js.map +1 -1
- package/dist/{radio-button-DttgXEeY.cjs → radio-button-BfpkkEgE.cjs} +2 -2
- package/dist/radio-button-BfpkkEgE.cjs.map +1 -0
- package/dist/{radio-button-DggshTfa.js → radio-button-DQA5Kswx.js} +3 -3
- package/dist/radio-button-DQA5Kswx.js.map +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-DhtHaKgX.js → schmancy-steps-container-Br5qKWIs.js} +2 -2
- package/dist/{schmancy-steps-container-DhtHaKgX.js.map → schmancy-steps-container-Br5qKWIs.js.map} +1 -1
- package/dist/{schmancy-steps-container-hIBLjMgI.cjs → schmancy-steps-container-Cr2B9C-w.cjs} +2 -2
- package/dist/{schmancy-steps-container-hIBLjMgI.cjs.map → schmancy-steps-container-Cr2B9C-w.cjs.map} +1 -1
- package/dist/{select-BqyRn0cF.js → select-B_DaDLhe.js} +3 -3
- package/dist/select-B_DaDLhe.js.map +1 -0
- package/dist/{select-xZKW8cHu.cjs → select-DwaiJBG2.cjs} +2 -2
- package/dist/select-DwaiJBG2.cjs.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-DE8jIQUk.js → sheet-5c6WR3vS.js} +5 -5
- package/dist/{sheet-DE8jIQUk.js.map → sheet-5c6WR3vS.js.map} +1 -1
- package/dist/{sheet-C6Liqa_3.cjs → sheet-BrK8_X4J.cjs} +2 -2
- package/dist/{sheet-C6Liqa_3.cjs.map → sheet-BrK8_X4J.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-NAV5vSsM.cjs → sheet.service-BkKHvgFa.cjs} +2 -2
- package/dist/{sheet.service-NAV5vSsM.cjs.map → sheet.service-BkKHvgFa.cjs.map} +1 -1
- package/dist/{sheet.service-1jZMJbNp.js → sheet.service-EPEmcCpX.js} +2 -2
- package/dist/{sheet.service-1jZMJbNp.js.map → sheet.service-EPEmcCpX.js.map} +1 -1
- package/dist/{slider-BvbkpEef.js → slider-CiNvtgZJ.js} +3 -3
- package/dist/{slider-BvbkpEef.js.map → slider-CiNvtgZJ.js.map} +1 -1
- package/dist/{slider-lEoCLK-7.cjs → slider-DW9URxIY.cjs} +2 -2
- package/dist/{slider-lEoCLK-7.cjs.map → slider-DW9URxIY.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CQxy0lF3.cjs → spinner-9JRrKdub.cjs} +2 -2
- package/dist/{spinner-CQxy0lF3.cjs.map → spinner-9JRrKdub.cjs.map} +1 -1
- package/dist/{spinner-DdG6BEOr.js → spinner-D8stZ8uP.js} +2 -2
- package/dist/{spinner-DdG6BEOr.js.map → spinner-D8stZ8uP.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-BRz15zwU.js → suggestion-chip-CXPMf7Je.js} +3 -3
- package/dist/{suggestion-chip-BRz15zwU.js.map → suggestion-chip-CXPMf7Je.js.map} +1 -1
- package/dist/{suggestion-chip-DK4xFJvZ.cjs → suggestion-chip-inBIBMff.cjs} +2 -2
- package/dist/{suggestion-chip-DK4xFJvZ.cjs.map → suggestion-chip-inBIBMff.cjs.map} +1 -1
- package/dist/{surface-C3vER2uq.js → surface-BcZEnDON.js} +2 -2
- package/dist/{surface-C3vER2uq.js.map → surface-BcZEnDON.js.map} +1 -1
- package/dist/{surface-Bt1FetPM.cjs → surface-BsrV4kzE.cjs} +2 -2
- package/dist/{surface-Bt1FetPM.cjs.map → surface-BsrV4kzE.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-DhheYeQ8.js → table-B5CHKp8S.js} +2 -2
- package/dist/table-B5CHKp8S.js.map +1 -0
- package/dist/{table-DYay68qu.cjs → table-CzejyN5W.cjs} +2 -2
- package/dist/table-CzejyN5W.cjs.map +1 -0
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-C-gQwADa.js → tabs-compatibility-8NddfF1x.js} +2 -2
- package/dist/{tabs-compatibility-C-gQwADa.js.map → tabs-compatibility-8NddfF1x.js.map} +1 -1
- package/dist/{tabs-compatibility-Dz5YaB06.cjs → tabs-compatibility-UitZoxcs.cjs} +2 -2
- package/dist/{tabs-compatibility-Dz5YaB06.cjs.map → tabs-compatibility-UitZoxcs.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-2PdnHg0B.cjs +2 -0
- package/dist/{tailwind.mixin-Ge3p8F8Z.cjs.map → tailwind.mixin-2PdnHg0B.cjs.map} +1 -1
- package/dist/tailwind.mixin-BgdEBNZM.js +67 -0
- package/dist/{tailwind.mixin-BTS7jBB1.js.map → tailwind.mixin-BgdEBNZM.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DmoZM65K.js → textarea-2oVdZPXR.js} +2 -2
- package/dist/textarea-2oVdZPXR.js.map +1 -0
- package/dist/{textarea-Dn1lmlIx.cjs → textarea-D24UakyK.cjs} +2 -2
- package/dist/textarea-D24UakyK.cjs.map +1 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-CtF2dxRy.cjs → theme-button-D0Xi4WHC.cjs} +2 -2
- package/dist/{theme-button-CtF2dxRy.cjs.map → theme-button-D0Xi4WHC.cjs.map} +1 -1
- package/dist/{theme-button-BkoRO_Ko.js → theme-button-D4BhpOj6.js} +2 -2
- package/dist/{theme-button-BkoRO_Ko.js.map → theme-button-D4BhpOj6.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{theme-controller-boat-DDsW4EOJ.js → theme-controller-boat-C8AnrOkJ.js} +4 -4
- package/dist/theme-controller-boat-C8AnrOkJ.js.map +1 -0
- package/dist/{theme-controller-boat-CBQlbHHc.cjs → theme-controller-boat-r74J3tyl.cjs} +2 -2
- package/dist/theme-controller-boat-r74J3tyl.cjs.map +1 -0
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-DM_3vLZj.cjs → timezone-BbGoZoJM.cjs} +2 -2
- package/dist/{timezone-DM_3vLZj.cjs.map → timezone-BbGoZoJM.cjs.map} +1 -1
- package/dist/{timezone-C-V8qJE3.js → timezone-D4wUA6zL.js} +3 -3
- package/dist/{timezone-C-V8qJE3.js.map → timezone-D4wUA6zL.js.map} +1 -1
- package/dist/{tooltip-Cw5mfhRj.js → tooltip-BL92Hwwe.js} +2 -2
- package/dist/{tooltip-Cw5mfhRj.js.map → tooltip-BL92Hwwe.js.map} +1 -1
- package/dist/{tooltip-DntsYOsj.cjs → tooltip-DxdU3Drr.cjs} +2 -2
- package/dist/{tooltip-DntsYOsj.cjs.map → tooltip-DxdU3Drr.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-C3487udC.cjs → tree-BuGpk0as.cjs} +2 -2
- package/dist/{tree-C3487udC.cjs.map → tree-BuGpk0as.cjs.map} +1 -1
- package/dist/{tree-DimUJjcj.js → tree-cZIPOana.js} +2 -2
- package/dist/{tree-DimUJjcj.js.map → tree-cZIPOana.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/tslib.es6-DgOcxv4s.cjs.map +1 -1
- package/dist/tslib.es6-ujVQHAQ4.js.map +1 -1
- package/dist/{typewriter-B7nBcBU9.js → typewriter-DT0f_Fla.js} +4 -4
- package/dist/typewriter-DT0f_Fla.js.map +1 -0
- package/dist/{typewriter-CHcRZUee.cjs → typewriter-Dc7MHBRy.cjs} +2 -2
- package/dist/typewriter-Dc7MHBRy.cjs.map +1 -0
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-CRVUouR2.cjs → typography-BBCRpsA_.cjs} +2 -2
- package/dist/{typography-CRVUouR2.cjs.map → typography-BBCRpsA_.cjs.map} +1 -1
- package/dist/{typography-DnZjZEIe.js → typography-DayYVIRD.js} +2 -2
- package/dist/{typography-DnZjZEIe.js.map → typography-DayYVIRD.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +4 -10
- package/types/src/autocomplete/autocomplete.d.ts +11 -0
- package/types/src/extra/timezone/timezone.d.ts +8 -0
- package/types/src/input/input.d.ts +1 -0
- package/types/src/menu/menu.d.ts +5 -6
- package/types/src/radio-group/radio-button.d.ts +8 -0
- package/types/src/select/select.d.ts +11 -0
- package/types/src/textarea/textarea.d.ts +12 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-Bold.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-Light.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-Medium.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-Regular.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-Thin.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-UBold.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-ULight.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Bold-Italic.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Bold.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Book-Italic.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Book.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Light.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Medium-Italic.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Medium.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Regular.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Thin-Italic.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Thin.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-ULight-Italic.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-ULight.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Text-Regular.woff2 +0 -0
- package/dist/_headers +0 -3
- package/dist/autocomplete-DEzGDw9s.cjs.map +0 -1
- package/dist/autocomplete-DLzc6eqO.js.map +0 -1
- package/dist/checkbox-DClxbWbU.cjs.map +0 -1
- package/dist/checkbox-ZryxdmZz.js.map +0 -1
- package/dist/code-preview-Bn2K5K9h.js.map +0 -1
- package/dist/code-preview-BoYqlMxl.cjs.map +0 -1
- package/dist/date-range-B-rPnyst.cjs.map +0 -1
- package/dist/date-range-CCQsqKSy.js.map +0 -1
- package/dist/delay-BaltOHAs.js.map +0 -1
- package/dist/delay-DzqfMSBJ.cjs.map +0 -1
- package/dist/input-BJvZX3nK.js.map +0 -1
- package/dist/input-RPj2xLz4.cjs.map +0 -1
- package/dist/logo-dark.png +0 -0
- package/dist/menu-BlR27aWR.js +0 -100
- package/dist/menu-BlR27aWR.js.map +0 -1
- package/dist/menu-DYWTnN4u.cjs +0 -36
- package/dist/menu-DYWTnN4u.cjs.map +0 -1
- package/dist/mixins/baseElement.ts +0 -73
- package/dist/mixins/constructor.ts +0 -3
- package/dist/mixins/discovery.service.ts +0 -60
- package/dist/mixins/formField.mixin.ts +0 -223
- package/dist/mixins/index.ts +0 -5
- package/dist/mixins/litElement.mixin.ts +0 -15
- package/dist/mixins/scss.d.ts +0 -21
- package/dist/mixins/tailwind.css +0 -201
- package/dist/mixins/tailwind.mixin.ts +0 -30
- package/dist/netlify.toml +0 -366
- package/dist/payment-card-form-BzDuKScU.cjs.map +0 -1
- package/dist/payment-card-form-CHMYeZs2.js.map +0 -1
- package/dist/radio-button-DggshTfa.js.map +0 -1
- package/dist/radio-button-DttgXEeY.cjs.map +0 -1
- package/dist/select-BqyRn0cF.js.map +0 -1
- package/dist/select-xZKW8cHu.cjs.map +0 -1
- package/dist/table-DYay68qu.cjs.map +0 -1
- package/dist/table-DhheYeQ8.js.map +0 -1
- package/dist/tailwind.mixin-BTS7jBB1.js +0 -66
- package/dist/tailwind.mixin-Ge3p8F8Z.cjs +0 -2
- package/dist/textarea-DmoZM65K.js.map +0 -1
- package/dist/textarea-Dn1lmlIx.cjs.map +0 -1
- package/dist/theme-controller-boat-CBQlbHHc.cjs.map +0 -1
- package/dist/theme-controller-boat-DDsW4EOJ.js.map +0 -1
- package/dist/typewriter-B7nBcBU9.js.map +0 -1
- package/dist/typewriter-CHcRZUee.cjs.map +0 -1
- package/readme.md +0 -307
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-CzejyN5W.cjs","sources":["../src/table/row.ts","../../../node_modules/@lit-labs/virtualizer/events.js","../../../node_modules/@lit-labs/virtualizer/ScrollerController.js","../../../node_modules/@lit-labs/virtualizer/Virtualizer.js","../../../node_modules/@lit-labs/virtualizer/virtualize.js","../../../node_modules/@lit-labs/virtualizer/LitVirtualizer.js","../../../node_modules/@lit-labs/virtualizer/lit-virtualizer.js","../src/table/table.ts"],"sourcesContent":["import { $LitElement } from '@mixins/litElement.mixin'\nimport { html, TemplateResult } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { TableColumn } from './table' // Import TableColumn interface with updated types\n\n@customElement('schmancy-table-row')\nexport class SchmancyTableRow<T extends Record<string, any> = any> extends $LitElement() {\n\t@property({ type: Array, attribute: false })\n\tcolumns: TableColumn<T>[] = []\n\n\t@property({ type: Object, attribute: false })\n\titem!: T\n\n\t@property({ type: String })\n\tcols: string = this.columns.map(() => '1fr').join(' ')\n\n\t/**\n\t * Renders a cell based on column configuration.\n\t * Uses custom render function if provided, otherwise extracts data from item.\n\t */\n\tprivate renderCell(column: TableColumn<T>): TemplateResult {\n\t\t// Use the render function if provided\n\t\tif (column.render) {\n\t\t\treturn html`\n\t\t\t\t<div class=\"overflow-hidden text-ellipsis\">\n\t\t\t\t\t<schmancy-typography align=\"${column.align || 'left'}\" maxLines=\"2\" weight=\"${column.weight || 'normal'}\">\n\t\t\t\t\t\t${column.render(this.item)}\n\t\t\t\t\t</schmancy-typography>\n\t\t\t\t</div>\n\t\t\t`\n\t\t}\n\n\t\t// Otherwise extract data using the key if available\n\t\tconst value = column.key ? this.item[column.key] : ''\n\n\t\treturn html`\n\t\t\t<div class=\"overflow-hidden text-ellipsis\">\n\t\t\t\t<schmancy-typography align=\"${column.align || 'left'}\" maxLines=\"2\" weight=\"${column.weight || 'normal'}\">\n\t\t\t\t\t${value}\n\t\t\t\t</schmancy-typography>\n\t\t\t</div>\n\t\t`\n\t}\n\n\trender(): TemplateResult {\n\t\treturn html`\n\t\t\t<schmancy-list-item class=\"w-full\">\n\t\t\t\t<schmancy-grid .cols=${this.cols} align=\"center\" gap=\"md\">\n\t\t\t\t\t${this.columns.map(column => this.renderCell(column))}\n\t\t\t\t</schmancy-grid>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-table-row': SchmancyTableRow\n\t}\n}\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport class RangeChangedEvent extends Event {\n constructor(range) {\n super(RangeChangedEvent.eventName, { bubbles: false });\n this.first = range.first;\n this.last = range.last;\n }\n}\nRangeChangedEvent.eventName = 'rangeChanged';\nexport class VisibilityChangedEvent extends Event {\n constructor(range) {\n super(VisibilityChangedEvent.eventName, { bubbles: false });\n this.first = range.first;\n this.last = range.last;\n }\n}\nVisibilityChangedEvent.eventName = 'visibilityChanged';\nexport class UnpinnedEvent extends Event {\n constructor() {\n super(UnpinnedEvent.eventName, { bubbles: false });\n }\n}\nUnpinnedEvent.eventName = 'unpinned';\n//# sourceMappingURL=events.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport class ScrollerShim {\n constructor(element) {\n this._element = null;\n const node = element ?? window;\n this._node = node;\n if (element) {\n this._element = element;\n }\n }\n get element() {\n return (this._element || document.scrollingElement || document.documentElement);\n }\n get scrollTop() {\n return this.element.scrollTop || window.scrollY;\n }\n get scrollLeft() {\n return this.element.scrollLeft || window.scrollX;\n }\n get scrollHeight() {\n return this.element.scrollHeight;\n }\n get scrollWidth() {\n return this.element.scrollWidth;\n }\n get viewportHeight() {\n return this._element\n ? this._element.getBoundingClientRect().height\n : window.innerHeight;\n }\n get viewportWidth() {\n return this._element\n ? this._element.getBoundingClientRect().width\n : window.innerWidth;\n }\n get maxScrollTop() {\n return this.scrollHeight - this.viewportHeight;\n }\n get maxScrollLeft() {\n return this.scrollWidth - this.viewportWidth;\n }\n}\nexport class ScrollerController extends ScrollerShim {\n constructor(client, element) {\n super(element);\n this._clients = new Set();\n this._retarget = null;\n this._end = null;\n this.__destination = null;\n this.correctingScrollError = false;\n this._checkForArrival = this._checkForArrival.bind(this);\n this._updateManagedScrollTo = this._updateManagedScrollTo.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.scrollBy = this.scrollBy.bind(this);\n const node = this._node;\n this._originalScrollTo = node.scrollTo;\n this._originalScrollBy = node.scrollBy;\n this._originalScroll = node.scroll;\n this._attach(client);\n }\n get _destination() {\n return this.__destination;\n }\n get scrolling() {\n return this._destination !== null;\n }\n scrollTo(p1, p2) {\n const options = typeof p1 === 'number' && typeof p2 === 'number'\n ? { left: p1, top: p2 }\n : p1;\n this._scrollTo(options);\n }\n scrollBy(p1, p2) {\n const options = typeof p1 === 'number' && typeof p2 === 'number'\n ? { left: p1, top: p2 }\n : p1;\n if (options.top !== undefined) {\n options.top += this.scrollTop;\n }\n if (options.left !== undefined) {\n options.left += this.scrollLeft;\n }\n this._scrollTo(options);\n }\n _nativeScrollTo(options) {\n this._originalScrollTo.bind(this._element || window)(options);\n }\n _scrollTo(options, retarget = null, end = null) {\n if (this._end !== null) {\n this._end();\n }\n if (options.behavior === 'smooth') {\n this._setDestination(options);\n this._retarget = retarget;\n this._end = end;\n }\n else {\n this._resetScrollState();\n }\n this._nativeScrollTo(options);\n }\n _setDestination(options) {\n let { top, left } = options;\n top =\n top === undefined\n ? undefined\n : Math.max(0, Math.min(top, this.maxScrollTop));\n left =\n left === undefined\n ? undefined\n : Math.max(0, Math.min(left, this.maxScrollLeft));\n if (this._destination !== null &&\n left === this._destination.left &&\n top === this._destination.top) {\n return false;\n }\n this.__destination = { top, left, behavior: 'smooth' };\n return true;\n }\n _resetScrollState() {\n this.__destination = null;\n this._retarget = null;\n this._end = null;\n }\n _updateManagedScrollTo(coordinates) {\n if (this._destination) {\n if (this._setDestination(coordinates)) {\n this._nativeScrollTo(this._destination);\n }\n }\n }\n managedScrollTo(options, retarget, end) {\n this._scrollTo(options, retarget, end);\n return this._updateManagedScrollTo;\n }\n correctScrollError(coordinates) {\n this.correctingScrollError = true;\n requestAnimationFrame(() => requestAnimationFrame(() => (this.correctingScrollError = false)));\n // Correct the error\n this._nativeScrollTo(coordinates);\n // Then, if we were headed for a specific destination, we continue scrolling:\n // First, we update our target destination, if applicable...\n if (this._retarget) {\n this._setDestination(this._retarget());\n }\n // Then we go ahead and resume scrolling\n if (this._destination) {\n this._nativeScrollTo(this._destination);\n }\n }\n _checkForArrival() {\n if (this._destination !== null) {\n const { scrollTop, scrollLeft } = this;\n let { top, left } = this._destination;\n top = Math.min(top || 0, this.maxScrollTop);\n left = Math.min(left || 0, this.maxScrollLeft);\n const topDiff = Math.abs(top - scrollTop);\n const leftDiff = Math.abs(left - scrollLeft);\n // We check to see if we've arrived at our destination.\n if (topDiff < 1 && leftDiff < 1) {\n if (this._end) {\n this._end();\n }\n this._resetScrollState();\n }\n }\n }\n detach(client) {\n this._clients.delete(client);\n /**\n * If there aren't any more clients, then return the node's default\n * scrolling methods\n */\n if (this._clients.size === 0) {\n this._node.scrollTo = this._originalScrollTo;\n this._node.scrollBy = this._originalScrollBy;\n this._node.scroll = this._originalScroll;\n this._node.removeEventListener('scroll', this._checkForArrival);\n }\n return null;\n }\n _attach(client) {\n this._clients.add(client);\n /**\n * The node should only have the methods shimmed when adding the first\n * client – otherwise it's redundant\n */\n if (this._clients.size === 1) {\n this._node.scrollTo = this.scrollTo;\n this._node.scrollBy = this.scrollBy;\n this._node.scroll = this.scrollTo;\n this._node.addEventListener('scroll', this._checkForArrival);\n }\n }\n}\n//# sourceMappingURL=ScrollerController.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { RangeChangedEvent, VisibilityChangedEvent, UnpinnedEvent, } from './events.js';\nimport { ScrollerController } from './ScrollerController.js';\n// Virtualizer depends on `ResizeObserver`, which is supported in\n// all modern browsers. For developers whose browser support\n// matrix includes older browsers, we include a compatible\n// polyfill in the package; this bit of module state facilitates\n// a simple mechanism (see ./polyfillLoaders/ResizeObserver.js.)\n// for loading the polyfill.\nlet _ResizeObserver = typeof window !== 'undefined' ? window.ResizeObserver : undefined;\n/**\n * Call this function to provide a `ResizeObserver` polyfill for Virtualizer to use.\n * @param Ctor Constructor for a `ResizeObserver` polyfill (recommend using the one provided with the Virtualizer package)\n */\nexport function provideResizeObserver(Ctor) {\n _ResizeObserver = Ctor;\n}\nexport const virtualizerRef = Symbol('virtualizerRef');\nconst SIZER_ATTRIBUTE = 'virtualizer-sizer';\nlet DefaultLayoutConstructor;\n/**\n * Provides virtual scrolling boilerplate.\n *\n * Extensions of this class must set hostElement and layout.\n *\n * Extensions of this class must also override VirtualRepeater's DOM\n * manipulation methods.\n */\nexport class Virtualizer {\n constructor(config) {\n this._benchmarkStart = null;\n this._layout = null;\n this._clippingAncestors = [];\n /**\n * Layout provides these values, we set them on _render().\n * TODO @straversi: Can we find an XOR type, usable for the key here?\n */\n this._scrollSize = null;\n /**\n * Difference between scroll target's current and required scroll offsets.\n * Provided by layout.\n */\n this._scrollError = null;\n /**\n * A list of the positions (top, left) of the children in the current range.\n */\n this._childrenPos = null;\n // TODO: (graynorton): type\n this._childMeasurements = null;\n this._toBeMeasured = new Map();\n this._rangeChanged = true;\n this._itemsChanged = true;\n this._visibilityChanged = true;\n this._scrollerController = null;\n this._isScroller = false;\n this._sizer = null;\n /**\n * Resize observer attached to hostElement.\n */\n this._hostElementRO = null;\n /**\n * Resize observer attached to children.\n */\n this._childrenRO = null;\n this._mutationObserver = null;\n this._scrollEventListeners = [];\n this._scrollEventListenerOptions = {\n passive: true,\n };\n // TODO (graynorton): Rethink, per longer comment below\n this._loadListener = this._childLoaded.bind(this);\n /**\n * Index of element to scroll into view, plus scroll\n * behavior options, as imperatively specified via\n * `element(index).scrollIntoView()`\n */\n this._scrollIntoViewTarget = null;\n this._updateScrollIntoViewCoordinates = null;\n /**\n * Items to render. Set by items.\n */\n this._items = [];\n /**\n * Index of the first child in the range, not necessarily the first visible child.\n * TODO @straversi: Consider renaming these.\n */\n this._first = -1;\n /**\n * Index of the last child in the range.\n */\n this._last = -1;\n /**\n * Index of the first item intersecting the viewport.\n */\n this._firstVisible = -1;\n /**\n * Index of the last item intersecting the viewport.\n */\n this._lastVisible = -1;\n this._scheduled = new WeakSet();\n /**\n * Invoked at the end of each render cycle: children in the range are\n * measured, and their dimensions passed to this callback. Use it to layout\n * children as needed.\n */\n this._measureCallback = null;\n this._measureChildOverride = null;\n /**\n * State for `layoutComplete` promise\n */\n this._layoutCompletePromise = null;\n this._layoutCompleteResolver = null;\n this._layoutCompleteRejecter = null;\n this._pendingLayoutComplete = null;\n /**\n * Layout initialization is async because we dynamically load\n * the default layout if none is specified. This state is to track\n * whether init is complete.\n */\n this._layoutInitialized = null;\n /**\n * Track connection state to guard against errors / unnecessary work\n */\n this._connected = false;\n if (!config) {\n throw new Error('Virtualizer constructor requires a configuration object');\n }\n if (config.hostElement) {\n this._init(config);\n }\n else {\n throw new Error('Virtualizer configuration requires the \"hostElement\" property');\n }\n }\n set items(items) {\n if (Array.isArray(items) && items !== this._items) {\n this._itemsChanged = true;\n this._items = items;\n this._schedule(this._updateLayout);\n }\n }\n _init(config) {\n this._isScroller = !!config.scroller;\n this._initHostElement(config);\n // If no layout is specified, we make an empty\n // layout config, which will result in the default\n // layout with default parameters\n const layoutConfig = config.layout || {};\n // Save the promise returned by `_initLayout` as a state\n // variable we can check before updating layout config\n this._layoutInitialized = this._initLayout(layoutConfig);\n }\n _initObservers() {\n this._mutationObserver = new MutationObserver(this._finishDOMUpdate.bind(this));\n this._hostElementRO = new _ResizeObserver(() => this._hostElementSizeChanged());\n this._childrenRO = new _ResizeObserver(this._childrenSizeChanged.bind(this));\n }\n _initHostElement(config) {\n const hostElement = (this._hostElement = config.hostElement);\n this._applyVirtualizerStyles();\n hostElement[virtualizerRef] = this;\n }\n connected() {\n this._initObservers();\n const includeSelf = this._isScroller;\n this._clippingAncestors = getClippingAncestors(this._hostElement, includeSelf);\n this._scrollerController = new ScrollerController(this, this._clippingAncestors[0]);\n this._schedule(this._updateLayout);\n this._observeAndListen();\n this._connected = true;\n }\n _observeAndListen() {\n this._mutationObserver.observe(this._hostElement, { childList: true });\n this._hostElementRO.observe(this._hostElement);\n this._scrollEventListeners.push(window);\n window.addEventListener('scroll', this, this._scrollEventListenerOptions);\n this._clippingAncestors.forEach((ancestor) => {\n ancestor.addEventListener('scroll', this, this._scrollEventListenerOptions);\n this._scrollEventListeners.push(ancestor);\n this._hostElementRO.observe(ancestor);\n });\n this._hostElementRO.observe(this._scrollerController.element);\n this._children.forEach((child) => this._childrenRO.observe(child));\n this._scrollEventListeners.forEach((target) => target.addEventListener('scroll', this, this._scrollEventListenerOptions));\n }\n disconnected() {\n this._scrollEventListeners.forEach((target) => target.removeEventListener('scroll', this, this._scrollEventListenerOptions));\n this._scrollEventListeners = [];\n this._clippingAncestors = [];\n this._scrollerController?.detach(this);\n this._scrollerController = null;\n this._mutationObserver?.disconnect();\n this._mutationObserver = null;\n this._hostElementRO?.disconnect();\n this._hostElementRO = null;\n this._childrenRO?.disconnect();\n this._childrenRO = null;\n this._rejectLayoutCompletePromise('disconnected');\n this._connected = false;\n }\n _applyVirtualizerStyles() {\n const hostElement = this._hostElement;\n // Would rather set these CSS properties on the host using Shadow Root\n // style scoping (and falling back to a global stylesheet where native\n // Shadow DOM is not available), but this Mobile Safari bug is preventing\n // that from working: https://bugs.webkit.org/show_bug.cgi?id=226195\n const style = hostElement.style;\n style.display = style.display || 'block';\n style.position = style.position || 'relative';\n style.contain = style.contain || 'size layout';\n if (this._isScroller) {\n style.overflow = style.overflow || 'auto';\n style.minHeight = style.minHeight || '150px';\n }\n }\n _getSizer() {\n const hostElement = this._hostElement;\n if (!this._sizer) {\n // Use a preexisting sizer element if provided (for better integration\n // with vDOM renderers)\n let sizer = hostElement.querySelector(`[${SIZER_ATTRIBUTE}]`);\n if (!sizer) {\n sizer = document.createElement('div');\n sizer.setAttribute(SIZER_ATTRIBUTE, '');\n hostElement.appendChild(sizer);\n }\n // When the scrollHeight is large, the height of this element might be\n // ignored. Setting content and font-size ensures the element has a size.\n Object.assign(sizer.style, {\n position: 'absolute',\n margin: '-2px 0 0 0',\n padding: 0,\n visibility: 'hidden',\n fontSize: '2px',\n });\n sizer.textContent = ' ';\n sizer.setAttribute(SIZER_ATTRIBUTE, '');\n this._sizer = sizer;\n }\n return this._sizer;\n }\n async updateLayoutConfig(layoutConfig) {\n // If layout initialization hasn't finished yet, we wait\n // for it to finish so we can check whether the new config\n // is compatible with the existing layout before proceeding.\n await this._layoutInitialized;\n const Ctor = layoutConfig.type ||\n // The new config is compatible with the current layout,\n // so we update the config and return true to indicate\n // a successful update\n DefaultLayoutConstructor;\n if (typeof Ctor === 'function' && this._layout instanceof Ctor) {\n const config = { ...layoutConfig };\n delete config.type;\n this._layout.config = config;\n // The new config requires a different layout altogether, but\n // to limit implementation complexity we don't support dynamically\n // changing the layout of an existing virtualizer instance.\n // Returning false here lets the caller know that they should\n // instead make a new virtualizer instance with the desired layout.\n return true;\n }\n return false;\n }\n async _initLayout(layoutConfig) {\n let config;\n let Ctor;\n if (typeof layoutConfig.type === 'function') {\n // If we have a full LayoutSpecifier, the `type` property\n // gives us our constructor...\n Ctor = layoutConfig.type;\n // ...while the rest of the specifier is our layout config\n const copy = { ...layoutConfig };\n delete copy.type;\n config = copy;\n }\n else {\n // If we don't have a full LayoutSpecifier, we just\n // have a config for the default layout\n config = layoutConfig;\n }\n if (Ctor === undefined) {\n // If we don't have a constructor yet, load the default\n DefaultLayoutConstructor = Ctor = (await import('./layouts/flow.js'))\n .FlowLayout;\n }\n this._layout = new Ctor((message) => this._handleLayoutMessage(message), config);\n if (this._layout.measureChildren &&\n typeof this._layout.updateItemSizes === 'function') {\n if (typeof this._layout.measureChildren === 'function') {\n this._measureChildOverride = this._layout.measureChildren;\n }\n this._measureCallback = this._layout.updateItemSizes.bind(this._layout);\n }\n if (this._layout.listenForChildLoadEvents) {\n this._hostElement.addEventListener('load', this._loadListener, true);\n }\n this._schedule(this._updateLayout);\n }\n // TODO (graynorton): Rework benchmarking so that it has no API and\n // instead is always on except in production builds\n startBenchmarking() {\n if (this._benchmarkStart === null) {\n this._benchmarkStart = window.performance.now();\n }\n }\n stopBenchmarking() {\n if (this._benchmarkStart !== null) {\n const now = window.performance.now();\n const timeElapsed = now - this._benchmarkStart;\n const entries = performance.getEntriesByName('uv-virtualizing', 'measure');\n const virtualizationTime = entries\n .filter((e) => e.startTime >= this._benchmarkStart && e.startTime < now)\n .reduce((t, m) => t + m.duration, 0);\n this._benchmarkStart = null;\n return { timeElapsed, virtualizationTime };\n }\n return null;\n }\n _measureChildren() {\n const mm = {};\n const children = this._children;\n const fn = this._measureChildOverride || this._measureChild;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const idx = this._first + i;\n if (this._itemsChanged || this._toBeMeasured.has(child)) {\n mm[idx] = fn.call(this, child, this._items[idx]);\n }\n }\n this._childMeasurements = mm;\n this._schedule(this._updateLayout);\n this._toBeMeasured.clear();\n }\n /**\n * Returns the width, height, and margins of the given child.\n */\n _measureChild(element) {\n // offsetWidth doesn't take transforms in consideration, so we use\n // getBoundingClientRect which does.\n const { width, height } = element.getBoundingClientRect();\n return Object.assign({ width, height }, getMargins(element));\n }\n async _schedule(method) {\n if (!this._scheduled.has(method)) {\n this._scheduled.add(method);\n await Promise.resolve();\n this._scheduled.delete(method);\n method.call(this);\n }\n }\n async _updateDOM(state) {\n this._scrollSize = state.scrollSize;\n this._adjustRange(state.range);\n this._childrenPos = state.childPositions;\n this._scrollError = state.scrollError || null;\n const { _rangeChanged, _itemsChanged } = this;\n if (this._visibilityChanged) {\n this._notifyVisibility();\n this._visibilityChanged = false;\n }\n if (_rangeChanged || _itemsChanged) {\n this._notifyRange();\n this._rangeChanged = false;\n }\n this._finishDOMUpdate();\n }\n _finishDOMUpdate() {\n if (this._connected) {\n // _childrenRO should be non-null if we're connected\n this._children.forEach((child) => this._childrenRO.observe(child));\n this._checkScrollIntoViewTarget(this._childrenPos);\n this._positionChildren(this._childrenPos);\n this._sizeHostElement(this._scrollSize);\n this._correctScrollError();\n if (this._benchmarkStart && 'mark' in window.performance) {\n window.performance.mark('uv-end');\n }\n }\n }\n _updateLayout() {\n if (this._layout && this._connected) {\n this._layout.items = this._items;\n this._updateView();\n if (this._childMeasurements !== null) {\n // If the layout has been changed, we may have measurements but no callback\n if (this._measureCallback) {\n this._measureCallback(this._childMeasurements);\n }\n this._childMeasurements = null;\n }\n this._layout.reflowIfNeeded();\n if (this._benchmarkStart && 'mark' in window.performance) {\n window.performance.mark('uv-end');\n }\n }\n }\n _handleScrollEvent() {\n if (this._benchmarkStart && 'mark' in window.performance) {\n try {\n window.performance.measure('uv-virtualizing', 'uv-start', 'uv-end');\n }\n catch (e) {\n console.warn('Error measuring performance data: ', e);\n }\n window.performance.mark('uv-start');\n }\n if (this._scrollerController.correctingScrollError === false) {\n // This is a user-initiated scroll, so we unpin the layout\n this._layout?.unpin();\n }\n this._schedule(this._updateLayout);\n }\n handleEvent(event) {\n switch (event.type) {\n case 'scroll':\n if (event.currentTarget === window ||\n this._clippingAncestors.includes(event.currentTarget)) {\n this._handleScrollEvent();\n }\n break;\n default:\n console.warn('event not handled', event);\n }\n }\n _handleLayoutMessage(message) {\n if (message.type === 'stateChanged') {\n this._updateDOM(message);\n }\n else if (message.type === 'visibilityChanged') {\n this._firstVisible = message.firstVisible;\n this._lastVisible = message.lastVisible;\n this._notifyVisibility();\n }\n else if (message.type === 'unpinned') {\n this._hostElement.dispatchEvent(new UnpinnedEvent());\n }\n }\n get _children() {\n const arr = [];\n let next = this._hostElement.firstElementChild;\n while (next) {\n if (!next.hasAttribute(SIZER_ATTRIBUTE)) {\n arr.push(next);\n }\n next = next.nextElementSibling;\n }\n return arr;\n }\n _updateView() {\n const hostElement = this._hostElement;\n const scrollingElement = this._scrollerController?.element;\n const layout = this._layout;\n if (hostElement && scrollingElement && layout) {\n let top, left, bottom, right;\n const hostElementBounds = hostElement.getBoundingClientRect();\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n const ancestorBounds = this._clippingAncestors.map((ancestor) => ancestor.getBoundingClientRect());\n ancestorBounds.unshift(hostElementBounds);\n for (const bounds of ancestorBounds) {\n top = Math.max(top, bounds.top);\n left = Math.max(left, bounds.left);\n bottom = Math.min(bottom, bounds.bottom);\n right = Math.min(right, bounds.right);\n }\n const scrollingElementBounds = scrollingElement.getBoundingClientRect();\n const offsetWithinScroller = {\n left: hostElementBounds.left - scrollingElementBounds.left,\n top: hostElementBounds.top - scrollingElementBounds.top,\n };\n const totalScrollSize = {\n width: scrollingElement.scrollWidth,\n height: scrollingElement.scrollHeight,\n };\n const scrollTop = top - hostElementBounds.top + hostElement.scrollTop;\n const scrollLeft = left - hostElementBounds.left + hostElement.scrollLeft;\n const height = Math.max(0, bottom - top);\n const width = Math.max(0, right - left);\n layout.viewportSize = { width, height };\n layout.viewportScroll = { top: scrollTop, left: scrollLeft };\n layout.totalScrollSize = totalScrollSize;\n layout.offsetWithinScroller = offsetWithinScroller;\n }\n }\n /**\n * Styles the host element so that its size reflects the\n * total size of all items.\n */\n _sizeHostElement(size) {\n // Some browsers seem to crap out if the host element gets larger than\n // a certain size, so we clamp it here (this value based on ad hoc\n // testing in Chrome / Safari / Firefox Mac)\n const max = 8200000;\n const h = size && size.width !== null ? Math.min(max, size.width) : 0;\n const v = size && size.height !== null ? Math.min(max, size.height) : 0;\n if (this._isScroller) {\n this._getSizer().style.transform = `translate(${h}px, ${v}px)`;\n }\n else {\n const style = this._hostElement.style;\n style.minWidth = h ? `${h}px` : '100%';\n style.minHeight = v ? `${v}px` : '100%';\n }\n }\n /**\n * Sets the top and left transform style of the children from the values in\n * pos.\n */\n _positionChildren(pos) {\n if (pos) {\n pos.forEach(({ top, left, width, height, xOffset, yOffset }, index) => {\n const child = this._children[index - this._first];\n if (child) {\n child.style.position = 'absolute';\n child.style.boxSizing = 'border-box';\n child.style.transform = `translate(${left}px, ${top}px)`;\n if (width !== undefined) {\n child.style.width = width + 'px';\n }\n if (height !== undefined) {\n child.style.height = height + 'px';\n }\n child.style.left =\n xOffset === undefined ? null : xOffset + 'px';\n child.style.top =\n yOffset === undefined ? null : yOffset + 'px';\n }\n });\n }\n }\n async _adjustRange(range) {\n const { _first, _last, _firstVisible, _lastVisible } = this;\n this._first = range.first;\n this._last = range.last;\n this._firstVisible = range.firstVisible;\n this._lastVisible = range.lastVisible;\n this._rangeChanged =\n this._rangeChanged || this._first !== _first || this._last !== _last;\n this._visibilityChanged =\n this._visibilityChanged ||\n this._firstVisible !== _firstVisible ||\n this._lastVisible !== _lastVisible;\n }\n _correctScrollError() {\n if (this._scrollError) {\n const { scrollTop, scrollLeft } = this._scrollerController;\n const { top, left } = this._scrollError;\n this._scrollError = null;\n this._scrollerController.correctScrollError({\n top: scrollTop - top,\n left: scrollLeft - left,\n });\n }\n }\n element(index) {\n if (index === Infinity) {\n index = this._items.length - 1;\n }\n return this._items?.[index] === undefined\n ? undefined\n : {\n scrollIntoView: (options = {}) => this._scrollElementIntoView({ ...options, index }),\n };\n }\n _scrollElementIntoView(options) {\n if (options.index >= this._first && options.index <= this._last) {\n this._children[options.index - this._first].scrollIntoView(options);\n }\n else {\n options.index = Math.min(options.index, this._items.length - 1);\n if (options.behavior === 'smooth') {\n const coordinates = this._layout.getScrollIntoViewCoordinates(options);\n const { behavior } = options;\n this._updateScrollIntoViewCoordinates =\n this._scrollerController.managedScrollTo(Object.assign(coordinates, { behavior }), () => this._layout.getScrollIntoViewCoordinates(options), () => (this._scrollIntoViewTarget = null));\n this._scrollIntoViewTarget = options;\n }\n else {\n this._layout.pin = options;\n }\n }\n }\n /**\n * If we are smoothly scrolling to an element and the target element\n * is in the DOM, we update our target coordinates as needed\n */\n _checkScrollIntoViewTarget(pos) {\n const { index } = this._scrollIntoViewTarget || {};\n if (index && pos?.has(index)) {\n this._updateScrollIntoViewCoordinates(this._layout.getScrollIntoViewCoordinates(this._scrollIntoViewTarget));\n }\n }\n /**\n * Emits a rangechange event with the current first, last, firstVisible, and\n * lastVisible.\n */\n _notifyRange() {\n this._hostElement.dispatchEvent(new RangeChangedEvent({ first: this._first, last: this._last }));\n }\n _notifyVisibility() {\n this._hostElement.dispatchEvent(new VisibilityChangedEvent({\n first: this._firstVisible,\n last: this._lastVisible,\n }));\n }\n get layoutComplete() {\n // Lazily create promise\n if (!this._layoutCompletePromise) {\n this._layoutCompletePromise = new Promise((resolve, reject) => {\n this._layoutCompleteResolver = resolve;\n this._layoutCompleteRejecter = reject;\n });\n }\n return this._layoutCompletePromise;\n }\n _rejectLayoutCompletePromise(reason) {\n if (this._layoutCompleteRejecter !== null) {\n this._layoutCompleteRejecter(reason);\n }\n this._resetLayoutCompleteState();\n }\n _scheduleLayoutComplete() {\n // Don't do anything unless we have a pending promise\n // And only request a frame if we haven't already done so\n if (this._layoutCompletePromise && this._pendingLayoutComplete === null) {\n // Wait one additional frame to be sure the layout is stable\n this._pendingLayoutComplete = requestAnimationFrame(() => requestAnimationFrame(() => this._resolveLayoutCompletePromise()));\n }\n }\n _resolveLayoutCompletePromise() {\n if (this._layoutCompleteResolver !== null) {\n this._layoutCompleteResolver();\n }\n this._resetLayoutCompleteState();\n }\n _resetLayoutCompleteState() {\n this._layoutCompletePromise = null;\n this._layoutCompleteResolver = null;\n this._layoutCompleteRejecter = null;\n this._pendingLayoutComplete = null;\n }\n /**\n * Render and update the view at the next opportunity with the given\n * hostElement size.\n */\n _hostElementSizeChanged() {\n this._schedule(this._updateLayout);\n }\n // TODO (graynorton): Rethink how this works. Probably child loading is too specific\n // to have dedicated support for; might want some more generic lifecycle hooks for\n // layouts to use. Possibly handle measurement this way, too, or maybe that remains\n // a first-class feature?\n _childLoaded() { }\n // This is the callback for the ResizeObserver that watches the\n // virtualizer's children. We land here at the end of every virtualizer\n // update cycle that results in changes to physical items, and we also\n // end up here if one or more children change size independently of\n // the virtualizer update cycle.\n _childrenSizeChanged(changes) {\n // Only measure if the layout requires it\n if (this._layout?.measureChildren) {\n for (const change of changes) {\n this._toBeMeasured.set(change.target, change.contentRect);\n }\n this._measureChildren();\n }\n // If this is the end of an update cycle, we need to reset some\n // internal state. This should be a harmless no-op if we're handling\n // an out-of-cycle ResizeObserver callback, so we don't need to\n // distinguish between the two cases.\n this._scheduleLayoutComplete();\n this._itemsChanged = false;\n this._rangeChanged = false;\n }\n}\nfunction getMargins(el) {\n const style = window.getComputedStyle(el);\n return {\n marginTop: getMarginValue(style.marginTop),\n marginRight: getMarginValue(style.marginRight),\n marginBottom: getMarginValue(style.marginBottom),\n marginLeft: getMarginValue(style.marginLeft),\n };\n}\nfunction getMarginValue(value) {\n const float = value ? parseFloat(value) : NaN;\n return Number.isNaN(float) ? 0 : float;\n}\n// TODO (graynorton): Deal with iframes?\nfunction getParentElement(el) {\n if (el.assignedSlot !== null) {\n return el.assignedSlot;\n }\n if (el.parentElement !== null) {\n return el.parentElement;\n }\n const parentNode = el.parentNode;\n if (parentNode && parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n return parentNode.host || null;\n }\n return null;\n}\n///\nfunction getElementAncestors(el, includeSelf = false) {\n const ancestors = [];\n let parent = includeSelf ? el : getParentElement(el);\n while (parent !== null) {\n ancestors.push(parent);\n parent = getParentElement(parent);\n }\n return ancestors;\n}\nfunction getClippingAncestors(el, includeSelf = false) {\n let foundFixed = false;\n return getElementAncestors(el, includeSelf).filter((a) => {\n if (foundFixed) {\n return false;\n }\n const style = getComputedStyle(a);\n foundFixed = style.position === 'fixed';\n return style.overflow !== 'visible';\n });\n}\n//# sourceMappingURL=Virtualizer.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { html, noChange } from 'lit';\nimport { directive, PartType } from 'lit/directive.js';\nimport { AsyncDirective } from 'lit/async-directive.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { Virtualizer } from './Virtualizer.js';\nexport { virtualizerRef } from './Virtualizer.js';\nexport const defaultKeyFunction = (item) => item;\nexport const defaultRenderItem = (item, idx) => html `${idx}: ${JSON.stringify(item, null, 2)}`;\nclass VirtualizeDirective extends AsyncDirective {\n constructor(part) {\n super(part);\n this._virtualizer = null;\n this._first = 0;\n this._last = -1;\n this._renderItem = (item, idx) => defaultRenderItem(item, idx + this._first);\n this._keyFunction = (item, idx) => defaultKeyFunction(item, idx + this._first);\n this._items = [];\n if (part.type !== PartType.CHILD) {\n throw new Error('The virtualize directive can only be used in child expressions');\n }\n }\n render(config) {\n if (config) {\n this._setFunctions(config);\n }\n const itemsToRender = [];\n if (this._first >= 0 && this._last >= this._first) {\n for (let i = this._first; i <= this._last; i++) {\n itemsToRender.push(this._items[i]);\n }\n }\n return repeat(itemsToRender, this._keyFunction, this._renderItem);\n }\n update(part, [config]) {\n this._setFunctions(config);\n const itemsChanged = this._items !== config.items;\n this._items = config.items || [];\n if (this._virtualizer) {\n this._updateVirtualizerConfig(part, config);\n }\n else {\n this._initialize(part, config);\n }\n return itemsChanged ? noChange : this.render();\n }\n async _updateVirtualizerConfig(part, config) {\n const compatible = await this._virtualizer.updateLayoutConfig(config.layout || {});\n if (!compatible) {\n const hostElement = part.parentNode;\n this._makeVirtualizer(hostElement, config);\n }\n this._virtualizer.items = this._items;\n }\n _setFunctions(config) {\n const { renderItem, keyFunction } = config;\n if (renderItem) {\n this._renderItem = (item, idx) => renderItem(item, idx + this._first);\n }\n if (keyFunction) {\n this._keyFunction = (item, idx) => keyFunction(item, idx + this._first);\n }\n }\n _makeVirtualizer(hostElement, config) {\n if (this._virtualizer) {\n this._virtualizer.disconnected();\n }\n const { layout, scroller, items } = config;\n this._virtualizer = new Virtualizer({ hostElement, layout, scroller });\n this._virtualizer.items = items;\n this._virtualizer.connected();\n }\n _initialize(part, config) {\n const hostElement = part.parentNode;\n if (hostElement && hostElement.nodeType === 1) {\n hostElement.addEventListener('rangeChanged', (e) => {\n this._first = e.first;\n this._last = e.last;\n this.setValue(this.render());\n });\n this._makeVirtualizer(hostElement, config);\n }\n }\n disconnected() {\n this._virtualizer?.disconnected();\n }\n reconnected() {\n this._virtualizer?.connected();\n }\n}\nexport const virtualize = directive(VirtualizeDirective);\n//# sourceMappingURL=virtualize.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { __decorate } from \"tslib\";\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { virtualize, virtualizerRef, defaultRenderItem, defaultKeyFunction, } from './virtualize.js';\nexport class LitVirtualizer extends LitElement {\n constructor() {\n super(...arguments);\n this.items = [];\n this.renderItem = defaultRenderItem;\n this.keyFunction = defaultKeyFunction;\n this.layout = {};\n this.scroller = false;\n }\n createRenderRoot() {\n return this;\n }\n render() {\n const { items, renderItem, keyFunction, layout, scroller } = this;\n return html `${virtualize({\n items,\n renderItem,\n keyFunction,\n layout,\n scroller,\n })}`;\n }\n element(index) {\n return this[virtualizerRef]?.element(index);\n }\n get layoutComplete() {\n return this[virtualizerRef]?.layoutComplete;\n }\n /**\n * This scrollToIndex() shim is here to provide backwards compatibility with other 0.x versions of\n * lit-virtualizer. It is deprecated and will likely be removed in the 1.0.0 release.\n */\n scrollToIndex(index, position = 'start') {\n this.element(index)?.scrollIntoView({ block: position });\n }\n}\n__decorate([\n property({ attribute: false })\n], LitVirtualizer.prototype, \"items\", void 0);\n__decorate([\n property()\n], LitVirtualizer.prototype, \"renderItem\", void 0);\n__decorate([\n property()\n], LitVirtualizer.prototype, \"keyFunction\", void 0);\n__decorate([\n property({ attribute: false })\n], LitVirtualizer.prototype, \"layout\", void 0);\n__decorate([\n property({ reflect: true, type: Boolean })\n], LitVirtualizer.prototype, \"scroller\", void 0);\n//# sourceMappingURL=LitVirtualizer.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { LitVirtualizer } from './LitVirtualizer.js';\nexport { LitVirtualizer };\nexport { RangeChangedEvent, VisibilityChangedEvent } from './events.js';\n/**\n * Import this module to declare the lit-virtualizer custom element.\n */\ncustomElements.define('lit-virtualizer', LitVirtualizer);\n//# sourceMappingURL=lit-virtualizer.js.map","import '@lit-labs/virtualizer'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport { html, TemplateResult } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport './row' // Import the schmancy-table-row component\n\n// Define a generic TableColumn interface.\n// The `key` is now a key of T, and the render function accepts T.\nexport interface TableColumn<T extends Record<string, any> = any> {\n\tname: string\n\tkey?: keyof T // Key to access the property on the data object.\n\talign?: 'left' | 'right' | 'center'\n\tweight?: 'normal' | 'bold'\n\trender?: (item: T) => TemplateResult | string | number // Custom render function for complex content\n\tsortable?: boolean // Whether this column is sortable\n\tvalue?: (item: T) => any // Custom value function for sorting\n}\n\n// Define an event detail interface for row events.\nexport interface RowEventDetail<T> {\n\titem: T\n\tindex: number\n}\n\n// Define sort direction type\nexport type SortDirection = 'asc' | 'desc' | null\n\n/**\n * SchmancyDataTable is a generic data table component.\n * It supports sorting, filtering, and custom rendering of rows.\n *\n */\n@customElement('schmancy-table')\nexport class SchmancyDataTable<T extends Record<string, any> = any> extends $LitElement() {\n\t@property({ type: Array, attribute: false })\n\tcolumns: TableColumn<T>[] = []\n\n\t@property({ type: Array, attribute: false })\n\tdata: T[] = []\n\n\t// The keyField is now of type keyof T.\n\t@property({ type: String })\n\tkeyField: keyof T = 'id' as keyof T\n\n\t@property({ type: String })\n\tcols: string = '1fr'\n\n\t// Sorting property\n\t@property({ type: Boolean })\n\tsortable: boolean = false\n\n\t// Internal state properties\n\t@state() private sortColumn: keyof T | null = null\n\t@state() private sortDirection: SortDirection = null\n\t@state() private filteredData: T[] = []\n\n\tconstructor() {\n\t\tsuper()\n\t\tthis.filteredData = this.data\n\t}\n\n\t// Process the data whenever our dependencies change\n\tprotected willUpdate(changedProperties: Map<PropertyKey, unknown>): void {\n\t\tif (\n\t\t\tchangedProperties.has('data') ||\n\t\t\tchangedProperties.has('sortColumn') ||\n\t\t\tchangedProperties.has('sortDirection')\n\t\t) {\n\t\t\tthis.processData()\n\t\t}\n\t}\n\n\t/**\n\t * Helper function to check if a value is a Date object in a type-safe way\n\t */\n\tprivate isDate(value: any): value is Date {\n\t\treturn value && typeof value === 'object' && Object.prototype.toString.call(value) === '[object Date]'\n\t}\n\n\tprivate processData(): void {\n\t\tlet result = [...this.data]\n\n\t\t// Apply sorting\n\t\tif (this.sortable && this.sortColumn && this.sortDirection) {\n\t\t\t// Find the column configuration for the sorting column\n\t\t\tconst sortColumnConfig = this.columns.find(col => col.key === this.sortColumn)\n\n\t\t\tresult.sort((a, b) => {\n\t\t\t\t// Use the value function if provided in the column configuration\n\t\t\t\tlet aValue, bValue\n\n\t\t\t\tif (sortColumnConfig && sortColumnConfig.value) {\n\t\t\t\t\t// Use custom value function for sorting\n\t\t\t\t\taValue = sortColumnConfig.value(a)\n\t\t\t\t\tbValue = sortColumnConfig.value(b)\n\t\t\t\t} else {\n\t\t\t\t\t// Use standard property access\n\t\t\t\t\taValue = a[this.sortColumn as keyof T]\n\t\t\t\t\tbValue = b[this.sortColumn as keyof T]\n\t\t\t\t}\n\n\t\t\t\t// Handle null/undefined values - always sort them to the end regardless of sort direction\n\t\t\t\tif (aValue === null || aValue === undefined) {\n\t\t\t\t\treturn this.sortDirection === 'asc' ? 1 : -1\n\t\t\t\t}\n\t\t\t\tif (bValue === null || bValue === undefined) {\n\t\t\t\t\treturn this.sortDirection === 'asc' ? -1 : 1\n\t\t\t\t}\n\n\t\t\t\t// Handle numbers\n\t\t\t\tif (typeof aValue === 'number' && typeof bValue === 'number') {\n\t\t\t\t\treturn this.sortDirection === 'asc' ? aValue - bValue : bValue - aValue\n\t\t\t\t}\n\n\t\t\t\t// Detect and handle numeric strings - convert to numbers if both values are numeric\n\t\t\t\tconst aNumeric = typeof aValue === 'string' && !isNaN(Number(aValue))\n\t\t\t\tconst bNumeric = typeof bValue === 'string' && !isNaN(Number(bValue))\n\n\t\t\t\tif (aNumeric && bNumeric) {\n\t\t\t\t\tconst aNum = parseFloat(aValue as string)\n\t\t\t\t\tconst bNum = parseFloat(bValue as string)\n\t\t\t\t\treturn this.sortDirection === 'asc' ? aNum - bNum : bNum - aNum\n\t\t\t\t}\n\n\t\t\t\t// Handle dates - with proper type checking\n\t\t\t\tif (this.isDate(aValue) && this.isDate(bValue)) {\n\t\t\t\t\treturn this.sortDirection === 'asc'\n\t\t\t\t\t\t? aValue.getTime() - bValue.getTime()\n\t\t\t\t\t\t: bValue.getTime() - aValue.getTime()\n\t\t\t\t}\n\n\t\t\t\t// Convert to strings for string comparison or fallback comparison\n\t\t\t\tconst aStr = String(aValue)\n\t\t\t\tconst bStr = String(bValue)\n\t\t\t\treturn this.sortDirection === 'asc' ? aStr.localeCompare(bStr) : bStr.localeCompare(aStr)\n\t\t\t})\n\t\t}\n\n\t\tthis.filteredData = result\n\t}\n\n\t// Toggle sort for a column\n\tprivate toggleSort(column: TableColumn<T>): void {\n\t\tif (!column.key || column.sortable === false) return\n\n\t\tconst columnKey = column.key\n\n\t\t// If clicking the same column, cycle through sort states: asc -> desc -> null\n\t\tif (columnKey === this.sortColumn) {\n\t\t\tif (this.sortDirection === 'asc') {\n\t\t\t\tthis.sortDirection = 'desc'\n\t\t\t} else if (this.sortDirection === 'desc') {\n\t\t\t\tthis.sortDirection = null\n\t\t\t} else {\n\t\t\t\tthis.sortDirection = 'asc'\n\t\t\t}\n\t\t} else {\n\t\t\t// New column, start with ascending\n\t\t\tthis.sortColumn = columnKey\n\t\t\tthis.sortDirection = 'asc'\n\t\t}\n\n\t\t// Dispatch sort event\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('sort-change', {\n\t\t\t\tdetail: {\n\t\t\t\t\tcolumn: this.sortColumn,\n\t\t\t\t\tdirection: this.sortDirection,\n\t\t\t\t},\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t// Render sort indicator\n\tprivate renderSortIndicator(column: TableColumn<T>): TemplateResult | null {\n\t\tif (!this.sortable || column.sortable === false || !column.key || column.key !== this.sortColumn) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn html`\n\t\t\t<span class=\"ml-1\">\n\t\t\t\t${this.sortDirection === 'asc'\n\t\t\t\t\t? html`<schmancy-icon size=\"16px\">arrow_upward</schmancy-icon>`\n\t\t\t\t\t: this.sortDirection === 'desc'\n\t\t\t\t\t\t? html`<schmancy-icon size=\"16px\">arrow_downward</schmancy-icon>`\n\t\t\t\t\t\t: null}\n\t\t\t</span>\n\t\t`\n\t}\n\n\trender(): TemplateResult {\n\t\tconst columnHeadClasses = column => ({\n\t\t\t'flex items-center': true,\n\t\t\t'cursor-pointer gap-1': this.sortable && column.sortable !== false && column.key,\n\t\t})\n\t\treturn html`\n\t\t\t<schmancy-grid class=\"h-full w-full\" cols=\"1fr\" rows=\"auto 1fr\">\n\t\t\t\t<schmancy-surface rounded=\"top\" elevation=\"1\" type=\"containerHighest\" class=\"sticky top-0 z-10\">\n\t\t\t\t\t<schmancy-grid align=\"center\" class=\"px-4 py-3\" .cols=${this.cols} gap=\"md\" rows=\"1fr\">\n\t\t\t\t\t\t${this.columns.map(\n\t\t\t\t\t\t\tcolumn => html`\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclass=${this.classMap(columnHeadClasses(column))}\n\t\t\t\t\t\t\t\t\t@click=${() => (this.sortable && column.sortable !== false ? this.toggleSort(column) : null)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<schmancy-typography align=${column.align ?? 'left'} weight=${column.weight ?? 'bold'}>\n\t\t\t\t\t\t\t\t\t\t${column.name}\n\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t${this.renderSortIndicator(column)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t</schmancy-grid>\n\t\t\t\t</schmancy-surface>\n\n\t\t\t\t${this.filteredData.length > 0\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<lit-virtualizer\n\t\t\t\t\t\t\t\tscroller\n\t\t\t\t\t\t\t\tclass=\"w-full h-full relative overflow-auto\"\n\t\t\t\t\t\t\t\t.items=${this.filteredData}\n\t\t\t\t\t\t\t\t.renderItem=${(item: T, index: number) =>\n\t\t\t\t\t\t\t\t\thtml`\n\t\t\t\t\t\t\t\t\t\t<schmancy-table-row\n\t\t\t\t\t\t\t\t\t\t\tclass=\"w-full border-b border-solid border-outlineVariant\"\n\t\t\t\t\t\t\t\t\t\t\t.columns=${this.columns}\n\t\t\t\t\t\t\t\t\t\t\t.item=${item}\n\t\t\t\t\t\t\t\t\t\t\tcols=${this.cols}\n\t\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst detail = { item, index }\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent('click', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdetail,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t></schmancy-table-row>\n\t\t\t\t\t\t\t\t\t` as TemplateResult}\n\t\t\t\t\t\t\t></lit-virtualizer>\n\t\t\t\t\t\t`\n\t\t\t\t\t: html`\n\t\t\t\t\t\t\t<div class=\"flex items-center justify-center w-full h-full p-8 text-center\">\n\t\t\t\t\t\t\t\t<schmancy-typography type=\"body\" token=\"lg\"> No data available </schmancy-typography>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`}\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-table': SchmancyDataTable\n\t}\n}\n"],"names":["SchmancyTableRow","$LitElement","constructor","super","arguments","this","columns","cols","map","join","column","render","html","align","weight","item","value","key","renderCell","__decorateClass","property","type","Array","attribute","prototype","Object","String","customElement","RangeChangedEvent","Event","range","eventName","bubbles","first","last","VisibilityChangedEvent","UnpinnedEvent","ScrollerShim","element","_element","node","window","_node","document","scrollingElement","documentElement","scrollTop","scrollY","scrollLeft","scrollX","scrollHeight","scrollWidth","getBoundingClientRect","height","innerHeight","width","innerWidth","maxScrollTop","viewportHeight","maxScrollLeft","viewportWidth","ScrollerController","client","_clients","Set","_retarget","_end","__destination","correctingScrollError","_checkForArrival","bind","_updateManagedScrollTo","scrollTo","scrollBy","_originalScrollTo","_originalScrollBy","_originalScroll","scroll","_attach","_destination","scrolling","p1","p2","options","left","top","_scrollTo","retarget","end","behavior","_setDestination","_resetScrollState","_nativeScrollTo","Math","max","min","coordinates","requestAnimationFrame","topDiff","abs","leftDiff","delete","size","removeEventListener","add","addEventListener","_ResizeObserver","ResizeObserver","virtualizerRef","Symbol","SIZER_ATTRIBUTE","DefaultLayoutConstructor","Virtualizer","config","_benchmarkStart","_layout","_clippingAncestors","_scrollSize","_scrollError","_childrenPos","_childMeasurements","_toBeMeasured","Map","_rangeChanged","_itemsChanged","_visibilityChanged","_scrollerController","_isScroller","_sizer","_hostElementRO","_childrenRO","_mutationObserver","_scrollEventListeners","_scrollEventListenerOptions","passive","_loadListener","_childLoaded","_scrollIntoViewTarget","_updateScrollIntoViewCoordinates","_items","_first","_last","_firstVisible","_lastVisible","_scheduled","WeakSet","_measureCallback","_measureChildOverride","_layoutCompletePromise","_layoutCompleteResolver","_layoutCompleteRejecter","_pendingLayoutComplete","_layoutInitialized","_connected","Error","hostElement","_init","items","isArray","_schedule","_updateLayout","scroller","_initHostElement","layoutConfig","layout","_initLayout","MutationObserver","_finishDOMUpdate","_hostElementSizeChanged","_childrenSizeChanged","_hostElement","_applyVirtualizerStyles","connected","_initObservers","includeSelf","el","foundFixed","ancestors","parent","getParentElement","push","filter","a","style","getComputedStyle","position","overflow","_observeAndListen","observe","childList","forEach","ancestor","_children","child","target","detach","disconnect","_rejectLayoutCompletePromise","display","contain","minHeight","sizer","querySelector","createElement","setAttribute","appendChild","assign","margin","padding","visibility","fontSize","textContent","Ctor","copy","Promise","resolve","then","require","FlowLayout","message","_handleLayoutMessage","measureChildren","updateItemSizes","listenForChildLoadEvents","startBenchmarking","performance","now","stopBenchmarking","timeElapsed","virtualizationTime","getEntriesByName","e","startTime","reduce","t","m","duration","mm","children","fn","_measureChild","i","length","idx","has","call","clear","marginTop","getMarginValue","marginRight","marginBottom","marginLeft","method","state","scrollSize","_adjustRange","childPositions","scrollError","_notifyVisibility","_notifyRange","_checkScrollIntoViewTarget","_positionChildren","_sizeHostElement","_correctScrollError","mark","_updateView","reflowIfNeeded","_handleScrollEvent","measure","unpin","event","currentTarget","includes","_updateDOM","firstVisible","lastVisible","dispatchEvent","arr","next","firstElementChild","hasAttribute","nextElementSibling","bottom","right","hostElementBounds","ancestorBounds","unshift","bounds","scrollingElementBounds","offsetWithinScroller","totalScrollSize","viewportSize","viewportScroll","h","v","_getSizer","transform","minWidth","pos","xOffset","yOffset","index","boxSizing","correctScrollError","Infinity","scrollIntoView","_scrollElementIntoView","getScrollIntoViewCoordinates","managedScrollTo","pin","layoutComplete","reject","reason","_resetLayoutCompleteState","_scheduleLayoutComplete","_resolveLayoutCompletePromise","changes","change","set","contentRect","_measureChildren","float","parseFloat","NaN","Number","isNaN","assignedSlot","parentElement","parentNode","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","defaultKeyFunction","defaultRenderItem","JSON","stringify","VirtualizeDirective","AsyncDirective","part","_virtualizer","_renderItem","_keyFunction","PartType","CHILD","_setFunctions","itemsToRender","repeat","itemsChanged","_updateVirtualizerConfig","_initialize","noChange","updateLayoutConfig","_makeVirtualizer","renderItem","keyFunction","disconnected","setValue","virtualize","directive","LitVirtualizer","LitElement","createRenderRoot","block","__decorate","reflect","Boolean","customElements","define","SchmancyDataTable","data","keyField","sortable","sortColumn","sortDirection","filteredData","changedProperties","processData","toString","result","sortColumnConfig","find","col","sort","b","aValue","bValue","aNumeric","bNumeric","aNum","bNum","isDate","getTime","aStr","bStr","localeCompare","columnKey","CustomEvent","detail","direction","composed","columnHeadClasses","classMap","toggleSort","name","renderSortIndicator"],"mappings":"seAMaA,QAAAA,iBAAN,cAAoEC,EAAAA,cAApE,aAAAC,CAAAC,MAAAA,GAAAC,SAAAA,EAENC,KAAAC,QAA4B,GAM5BD,KAAAE,KAAeF,KAAKC,QAAQE,IAAI,IAAM,OAAOC,KAAK,GAAA,CAAG,CAM7C,WAAWC,EAAAA,CAElB,GAAIA,EAAOC,OACV,OAAOC,EAAAA;AAAAA;AAAAA,mCAEyBF,EAAOG,OAAS,MAAA,0BAAgCH,EAAOI,QAAU,QAAA;AAAA,QAC5FJ,EAAOC,OAAON,KAAKU,IAAAA,CAAAA;AAAAA;AAAAA;AAAAA,KAOzB,MAAMC,EAAQN,EAAOO,IAAMZ,KAAKU,KAAKL,EAAOO,GAAAA,EAAO,GAEnD,OAAOL,EAAAA;AAAAA;AAAAA,kCAEyBF,EAAOG,OAAS,MAAA,0BAAgCH,EAAOI,QAAU,QAAA;AAAA,OAC5FE,CAAAA;AAAAA;AAAAA;AAAAA,GAIN,CAEA,QAAAL,CACC,OAAOC,EAAAA;AAAAA;AAAAA,2BAEkBP,KAAKE,IAAAA;AAAAA,OACzBF,KAAKC,QAAQE,IAAIE,GAAUL,KAAKa,WAAWR,CAAAA,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA,GAIjD,CAAA,EA5CAS,EAAA,CADCC,EAAAA,SAAS,CAAEC,KAAMC,MAAOC,YAAW,CAAA,CAAA,EADxBvB,yBAEZwB,UAAA,UAAA,GAGAL,EAAA,CADCC,EAAAA,SAAS,CAAEC,KAAMI,OAAQF,UAAAA,MAJdvB,yBAKZwB,UAAA,OAAA,CAAA,EAGAL,EAAA,CADCC,WAAS,CAAEC,KAAMK,UAPN1B,yBAQZwB,UAAA,OAAA,CAAA,EARYxB,QAAAA,iBAANmB,EAAA,CADNQ,EAAAA,cAAc,oBAAA,CAAA,EACF3B,0BCDN,MAAM4B,UAA0BC,KAAAA,CACnC,YAAYC,EAAAA,CACR3B,MAAMyB,EAAkBG,UAAW,CAAEC,UAAS,CAAA,EAC9C3B,KAAK4B,MAAQH,EAAMG,MACnB5B,KAAK6B,KAAOJ,EAAMI,IACtB,CAAA,CAEJN,EAAkBG,UAAY,eACvB,MAAMI,UAA+BN,KAAAA,CACxC,YAAYC,EAAAA,CACR3B,MAAMgC,EAAuBJ,UAAW,CAAEC,UAAS,CAAA,EACnD3B,KAAK4B,MAAQH,EAAMG,MACnB5B,KAAK6B,KAAOJ,EAAMI,IACtB,CAAA,CAEJC,EAAuBJ,UAAY,oBAC5B,MAAMK,UAAsBP,MAC/B,aAAA3B,CACIC,MAAMiC,EAAcL,UAAW,CAAEC,QAAAA,EAAS,CAAA,CAC9C,EAEJI,EAAcL,UAAY,WCrBnB,MAAMM,CAAAA,CACT,YAAYC,EAAAA,CACRjC,KAAKkC,SAAW,KAChB,MAAMC,EAAOF,GAAWG,OACxBpC,KAAKqC,MAAQF,EACTF,IACAjC,KAAKkC,SAAWD,EAExB,CACA,aAAIA,CACA,OAAQjC,KAAKkC,UAAYI,SAASC,kBAAoBD,SAASE,eACnE,CACA,IAAA,WAAIC,CACA,OAAOzC,KAAKiC,QAAQQ,WAAaL,OAAOM,OAC5C,CACA,gBAAIC,CACA,OAAO3C,KAAKiC,QAAQU,YAAcP,OAAOQ,OAC7C,CACA,kBAAIC,CACA,OAAO7C,KAAKiC,QAAQY,YACxB,CACA,IAAA,aAAIC,CACA,OAAO9C,KAAKiC,QAAQa,WACxB,CACA,IAAA,iBACI,OAAO9C,KAAKkC,SACNlC,KAAKkC,SAASa,wBAAwBC,OACtCZ,OAAOa,WACjB,CACA,IAAA,gBACI,OAAOjD,KAAKkC,SACNlC,KAAKkC,SAASa,sBAAAA,EAAwBG,MACtCd,OAAOe,UACjB,CACA,IAAA,cAAIC,CACA,OAAOpD,KAAK6C,aAAe7C,KAAKqD,cACpC,CACA,mBAAIC,CACA,OAAOtD,KAAK8C,YAAc9C,KAAKuD,aACnC,CAAA,CAEG,MAAMC,UAA2BxB,CAAAA,CACpC,YAAYyB,EAAQxB,EAAAA,CAChBnC,MAAMmC,CAAAA,EACNjC,KAAK0D,SAAW,IAAIC,IACpB3D,KAAK4D,UAAY,KACjB5D,KAAK6D,KAAO,KACZ7D,KAAK8D,EAAgB,KACrB9D,KAAK+D,sBAAAA,GACL/D,KAAKgE,iBAAmBhE,KAAKgE,iBAAiBC,KAAKjE,IAAAA,EACnDA,KAAKkE,uBAAyBlE,KAAKkE,uBAAuBD,KAAKjE,IAAAA,EAC/DA,KAAKmE,SAAWnE,KAAKmE,SAASF,KAAKjE,IAAAA,EACnCA,KAAKoE,SAAWpE,KAAKoE,SAASH,KAAKjE,IAAAA,EACnC,MAAMmC,EAAOnC,KAAKqC,MAClBrC,KAAKqE,kBAAoBlC,EAAKgC,SAC9BnE,KAAKsE,kBAAoBnC,EAAKiC,SAC9BpE,KAAKuE,gBAAkBpC,EAAKqC,OAC5BxE,KAAKyE,QAAQhB,CAAAA,CACjB,CACA,IAAA,cAAIiB,CACA,OAAO1E,KAAK8D,CAChB,CACA,IAAA,WAAIa,CACA,OAAO3E,KAAK0E,eAAiB,IACjC,CACA,SAASE,EAAIC,EAAAA,CACT,MAAMC,EAAwB,OAAPF,GAAO,iBAAmBC,GAAO,SAClD,CAAEE,KAAMH,EAAII,IAAKH,GACjBD,EACN5E,KAAKiF,UAAUH,CAAAA,CACnB,CACA,SAASF,EAAIC,GACT,MAAMC,SAAiBF,GAAO,UAA0B,OAAPC,GAAO,SAClD,CAAEE,KAAMH,EAAII,IAAKH,CAAAA,EACjBD,EACFE,EAAQE,eACRF,EAAQE,KAAOhF,KAAKyC,WAEpBqC,EAAQC,OAFYtC,SAGpBqC,EAAQC,MAAQ/E,KAAK2C,YAEzB3C,KAAKiF,UAAUH,CAAAA,CACnB,CACA,gBAAgBA,EAAAA,CACZ9E,KAAKqE,kBAAkBJ,KAAKjE,KAAKkC,UAAYE,MAAAA,EAAQ0C,CAAAA,CACzD,CACA,UAAUA,EAASI,EAAW,KAAMC,EAAM,KAAA,CAClCnF,KAAK6D,OAAS,MACd7D,KAAK6D,KAAAA,EAELiB,EAAQM,WAAa,UACrBpF,KAAKqF,gBAAgBP,CAAAA,EACrB9E,KAAK4D,UAAYsB,EACjBlF,KAAK6D,KAAOsB,GAGZnF,KAAKsF,kBAAAA,EAETtF,KAAKuF,gBAAgBT,CAAAA,CACzB,CACA,gBAAgBA,GACZ,GAAA,CAAIE,IAAEA,EAAGD,KAAEA,CAAAA,EAASD,EASpB,OARAE,EACIA,IADJA,OACIA,OAEMQ,KAAKC,IAAI,EAAGD,KAAKE,IAAIV,EAAKhF,KAAKoD,YAAAA,CAAAA,EACzC2B,EACIA,IADJA,OACIA,OAEMS,KAAKC,IAAI,EAAGD,KAAKE,IAAIX,EAAM/E,KAAKsD,aAAAA,CAAAA,GACtCtD,KAAK0E,eAAiB,MACtBK,IAAS/E,KAAK0E,aAAaK,MAC3BC,IAAQhF,KAAK0E,aAAaM,OAG9BhF,KAAK8D,EAAgB,CAAEkB,MAAKD,KAAAA,EAAMK,SAAU,aAEhD,CACA,mBAAAE,CACItF,KAAK8D,EAAgB,KACrB9D,KAAK4D,UAAY,KACjB5D,KAAK6D,KAAO,IAChB,CACA,uBAAuB8B,EAAAA,CACf3F,KAAK0E,cACD1E,KAAKqF,gBAAgBM,CAAAA,GACrB3F,KAAKuF,gBAAgBvF,KAAK0E,YAAAA,CAGtC,CACA,gBAAgBI,EAASI,EAAUC,EAAAA,CAE/B,OADAnF,KAAKiF,UAAUH,EAASI,EAAUC,CAAAA,EAC3BnF,KAAKkE,sBAChB,CACA,mBAAmByB,EAAAA,CACf3F,KAAK+D,yBACL6B,sBAAsB,IAAMA,sBAAsB,IAAO5F,KAAK+D,sBAAAA,EAAwB,CAAA,EAEtF/D,KAAKuF,gBAAgBI,CAAAA,EAGjB3F,KAAK4D,WACL5D,KAAKqF,gBAAgBrF,KAAK4D,UAAAA,CAAAA,EAG1B5D,KAAK0E,cACL1E,KAAKuF,gBAAgBvF,KAAK0E,YAAAA,CAElC,CACA,kBAAAV,CACI,GAAIhE,KAAK0E,eAAiB,KAAM,CAC5B,KAAA,CAAMjC,UAAEA,EAASE,WAAEA,GAAe3C,KAClC,GAAA,CAAIgF,IAAEA,EAAGD,KAAEA,GAAS/E,KAAK0E,aACzBM,EAAMQ,KAAKE,IAAIV,GAAO,EAAGhF,KAAKoD,YAAAA,EAC9B2B,EAAOS,KAAKE,IAAIX,GAAQ,EAAG/E,KAAKsD,eAChC,MAAMuC,EAAUL,KAAKM,IAAId,EAAMvC,GACzBsD,EAAWP,KAAKM,IAAIf,EAAOpC,CAAAA,EAE7BkD,EAAU,GAAKE,EAAW,IACtB/F,KAAK6D,MACL7D,KAAK6D,OAET7D,KAAKsF,kBAAAA,EAEb,CACJ,CACA,OAAO7B,EAAAA,CAYH,OAXAzD,KAAK0D,SAASsC,OAAOvC,GAKjBzD,KAAK0D,SAASuC,OAAS,IACvBjG,KAAKqC,MAAM8B,SAAWnE,KAAKqE,kBAC3BrE,KAAKqC,MAAM+B,SAAWpE,KAAKsE,kBAC3BtE,KAAKqC,MAAMmC,OAASxE,KAAKuE,gBACzBvE,KAAKqC,MAAM6D,oBAAoB,SAAUlG,KAAKgE,mBAE3C,IACX,CACA,QAAQP,EAAAA,CACJzD,KAAK0D,SAASyC,IAAI1C,GAKdzD,KAAK0D,SAASuC,OAAS,IACvBjG,KAAKqC,MAAM8B,SAAWnE,KAAKmE,SAC3BnE,KAAKqC,MAAM+B,SAAWpE,KAAKoE,SAC3BpE,KAAKqC,MAAMmC,OAASxE,KAAKmE,SACzBnE,KAAKqC,MAAM+D,iBAAiB,SAAUpG,KAAKgE,kBAEnD,CAAA,CCxLJ,IAAIqC,EAAoC,OAAXjE,OAAW,IAAcA,OAAOkE,eAAAA,OAQtD,MAAMC,EAAiBC,OAAO,kBAC/BC,EAAkB,oBACxB,IAAIC,EASG,MAAMC,EACT,YAAYC,GA+FR,GA9FA5G,KAAK6G,gBAAkB,KACvB7G,KAAK8G,QAAU,KACf9G,KAAK+G,mBAAqB,CAAA,EAK1B/G,KAAKgH,YAAc,KAKnBhH,KAAKiH,aAAe,KAIpBjH,KAAKkH,aAAe,KAEpBlH,KAAKmH,mBAAqB,KAC1BnH,KAAKoH,cAAgB,IAAIC,IACzBrH,KAAKsH,iBACLtH,KAAKuH,iBACLvH,KAAKwH,sBACLxH,KAAKyH,oBAAsB,KAC3BzH,KAAK0H,eACL1H,KAAK2H,OAAS,KAId3H,KAAK4H,eAAiB,KAItB5H,KAAK6H,YAAc,KACnB7H,KAAK8H,kBAAoB,KACzB9H,KAAK+H,sBAAwB,CAAA,EAC7B/H,KAAKgI,4BAA8B,CAC/BC,QAAAA,IAGJjI,KAAKkI,cAAgBlI,KAAKmI,aAAalE,KAAKjE,MAM5CA,KAAKoI,sBAAwB,KAC7BpI,KAAKqI,iCAAmC,KAIxCrI,KAAKsI,OAAS,CAAA,EAKdtI,KAAKuI,OAAAA,GAILvI,KAAKwI,MAAAA,GAILxI,KAAKyI,cAAAA,GAILzI,KAAK0I,aAAAA,GACL1I,KAAK2I,WAAa,IAAIC,QAMtB5I,KAAK6I,iBAAmB,KACxB7I,KAAK8I,sBAAwB,KAI7B9I,KAAK+I,uBAAyB,KAC9B/I,KAAKgJ,wBAA0B,KAC/BhJ,KAAKiJ,wBAA0B,KAC/BjJ,KAAKkJ,uBAAyB,KAM9BlJ,KAAKmJ,mBAAqB,KAI1BnJ,KAAKoJ,WAAAA,GAAa,CACbxC,EACD,MAAM,IAAIyC,MAAM,yDAAA,EAEpB,GAAA,CAAIzC,EAAO0C,YAIP,MAAM,IAAID,MAAM,+DAAA,EAHhBrJ,KAAKuJ,MAAM3C,CAAAA,CAKnB,CACA,UAAU4C,EAAAA,CACFvI,MAAMwI,QAAQD,CAAAA,GAAUA,IAAUxJ,KAAKsI,SACvCtI,KAAKuH,cAAAA,GACLvH,KAAKsI,OAASkB,EACdxJ,KAAK0J,UAAU1J,KAAK2J,eAE5B,CACA,MAAM/C,EAAAA,CACF5G,KAAK0H,cAAgBd,EAAOgD,SAC5B5J,KAAK6J,iBAAiBjD,CAAAA,EAItB,MAAMkD,EAAelD,EAAOmD,QAAU,CAAA,EAGtC/J,KAAKmJ,mBAAqBnJ,KAAKgK,YAAYF,CAAAA,CAC/C,CACA,iBACI9J,KAAK8H,kBAAoB,IAAImC,iBAAiBjK,KAAKkK,iBAAiBjG,KAAKjE,IAAAA,CAAAA,EACzEA,KAAK4H,eAAiB,IAAIvB,EAAgB,IAAMrG,KAAKmK,2BACrDnK,KAAK6H,YAAc,IAAIxB,EAAgBrG,KAAKoK,qBAAqBnG,KAAKjE,IAAAA,CAAAA,CAC1E,CACA,iBAAiB4G,GACb,MAAM0C,EAAetJ,KAAKqK,aAAezD,EAAO0C,YAChDtJ,KAAKsK,wBAAAA,EACLhB,EAAY/C,CAAAA,EAAkBvG,IAClC,CACA,WAAAuK,CACIvK,KAAKwK,eAAAA,EACL,MAAMC,EAAczK,KAAK0H,YACzB1H,KAAK+G,mBAsiBb,SAA8B2D,EAAID,KAAc,CAC5C,IAAIE,KACJ,OAXJ,SAA6BD,EAAID,EAAAA,IAC7B,MAAMG,EAAY,GAClB,IAAIC,EAASJ,EAAcC,EAAKI,EAAiBJ,GACjD,KAAOG,IAAW,MACdD,EAAUG,KAAKF,GACfA,EAASC,EAAiBD,GAE9B,OAAOD,CACX,EAG+BF,EAAID,GAAaO,OAAQC,GAAAA,CAChD,GAAIN,EACA,MAAA,GAEJ,MAAMO,EAAQC,iBAAiBF,CAAAA,EAE/B,OADAN,EAAaO,EAAME,WAAa,QACzBF,EAAMG,WAAa,SAAbA,CAAAA,CAErB,EAhjBuDrL,KAAKqK,aAAcI,CAAAA,EAClEzK,KAAKyH,oBAAsB,IAAIjE,EAAmBxD,KAAMA,KAAK+G,mBAAmB,IAChF/G,KAAK0J,UAAU1J,KAAK2J,aAAAA,EACpB3J,KAAKsL,oBACLtL,KAAKoJ,WAAAA,EACT,CACA,oBACIpJ,KAAK8H,kBAAkByD,QAAQvL,KAAKqK,aAAc,CAAEmB,UAAAA,EAAW,CAAA,EAC/DxL,KAAK4H,eAAe2D,QAAQvL,KAAKqK,YAAAA,EACjCrK,KAAK+H,sBAAsBgD,KAAK3I,MAAAA,EAChCA,OAAOgE,iBAAiB,SAAUpG,KAAMA,KAAKgI,2BAAAA,EAC7ChI,KAAK+G,mBAAmB0E,QAASC,GAAAA,CAC7BA,EAAStF,iBAAiB,SAAUpG,KAAMA,KAAKgI,2BAAAA,EAC/ChI,KAAK+H,sBAAsBgD,KAAKW,GAChC1L,KAAK4H,eAAe2D,QAAQG,CAAAA,CAAAA,CAAAA,EAEhC1L,KAAK4H,eAAe2D,QAAQvL,KAAKyH,oBAAoBxF,OAAAA,EACrDjC,KAAK2L,UAAUF,QAASG,GAAU5L,KAAK6H,YAAY0D,QAAQK,IAC3D5L,KAAK+H,sBAAsB0D,QAASI,GAAWA,EAAOzF,iBAAiB,SAAUpG,KAAMA,KAAKgI,2BAAAA,CAAAA,CAChG,CACA,eACIhI,KAAK+H,sBAAsB0D,QAASI,GAAWA,EAAO3F,oBAAoB,SAAUlG,KAAMA,KAAKgI,2BAAAA,CAAAA,EAC/FhI,KAAK+H,sBAAwB,CAAA,EAC7B/H,KAAK+G,mBAAqB,CAAA,EAC1B/G,KAAKyH,qBAAqBqE,OAAO9L,IAAAA,EACjCA,KAAKyH,oBAAsB,KAC3BzH,KAAK8H,mBAAmBiE,WAAAA,EACxB/L,KAAK8H,kBAAoB,KACzB9H,KAAK4H,gBAAgBmE,WAAAA,EACrB/L,KAAK4H,eAAiB,KACtB5H,KAAK6H,aAAakE,WAAAA,EAClB/L,KAAK6H,YAAc,KACnB7H,KAAKgM,6BAA6B,cAAA,EAClChM,KAAKoJ,WAAAA,EACT,CACA,yBAAAkB,CACI,MAKMY,EALclL,KAAKqK,aAKCa,MAC1BA,EAAMe,QAAUf,EAAMe,SAAW,QACjCf,EAAME,SAAWF,EAAME,UAAY,WACnCF,EAAMgB,QAAUhB,EAAMgB,SAAW,cAC7BlM,KAAK0H,cACLwD,EAAMG,SAAWH,EAAMG,UAAY,OACnCH,EAAMiB,UAAYjB,EAAMiB,WAAa,QAE7C,CACA,YACI,MAAM7C,EAActJ,KAAKqK,aACzB,GAAA,CAAKrK,KAAK2H,OAAQ,CAGd,IAAIyE,EAAQ9C,EAAY+C,cAAc,IAAI5F,CAAAA,GAAAA,EACrC2F,IACDA,EAAQ9J,SAASgK,cAAc,OAC/BF,EAAMG,aAAa9F,EAAiB,EAAA,EACpC6C,EAAYkD,YAAYJ,CAAAA,GAI5BhL,OAAOqL,OAAOL,EAAMlB,MAAO,CACvBE,SAAU,WACVsB,OAAQ,aACRC,QAAS,EACTC,WAAY,SACZC,SAAU,QAEdT,EAAMU,YAAc,SACpBV,EAAMG,aAAa9F,EAAiB,EAAA,EACpCzG,KAAK2H,OAASyE,CAClB,CACA,OAAOpM,KAAK2H,MAChB,CACA,MAAA,mBAAyBmC,EAAAA,CAAAA,MAIf9J,KAAKmJ,mBACX,MAAM4D,EAAOjD,EAAa9I,MAItB0F,EACJ,GAAoB,OAATqG,GAAS,YAAc/M,KAAK8G,mBAAmBiG,EAAM,CAC5D,MAAMnG,EAAS,CAAA,GAAKkD,CAAAA,EAQpB,cAPOlD,EAAO5F,KACdhB,KAAK8G,QAAQF,OAASA,IAO1B,CACA,QACJ,CACA,kBAAkBkD,EAAAA,CACd,IAAIlD,EACAmG,EACJ,GAAiC,OAAtBjD,EAAa9I,MAAS,WAAY,CAGzC+L,EAAOjD,EAAa9I,KAEpB,MAAMgM,EAAO,CAAA,GAAKlD,CAAAA,EAAAA,OACXkD,EAAKhM,KACZ4F,EAASoG,CACb,MAIIpG,EAASkD,EAETiD,IAFSjD,SAITpD,EAA2BqG,SAAcE,QAAAC,QAAAA,EAAAC,KAAA,IAAAC,QAAO,yBAC3CC,YAETrN,KAAK8G,QAAU,IAAIiG,EAAMO,GAAYtN,KAAKuN,qBAAqBD,GAAU1G,CAAAA,EACrE5G,KAAK8G,QAAQ0G,iBAC2B,OAAjCxN,KAAK8G,QAAQ2G,iBAAoB,oBAC7BzN,KAAK8G,QAAQ0G,iBAAoB,aACxCxN,KAAK8I,sBAAwB9I,KAAK8G,QAAQ0G,iBAE9CxN,KAAK6I,iBAAmB7I,KAAK8G,QAAQ2G,gBAAgBxJ,KAAKjE,KAAK8G,OAAAA,GAE/D9G,KAAK8G,QAAQ4G,0BACb1N,KAAKqK,aAAajE,iBAAiB,OAAQpG,KAAKkI,gBAAe,EAEnElI,KAAK0J,UAAU1J,KAAK2J,aAAAA,CACxB,CAGA,mBAAAgE,CACQ3N,KAAK6G,kBAAoB,OACzB7G,KAAK6G,gBAAkBzE,OAAOwL,YAAYC,IAAAA,EAElD,CACA,kBAAAC,CACI,GAAI9N,KAAK6G,kBAAoB,KAAM,CAC/B,MAAMgH,EAAMzL,OAAOwL,YAAYC,IAAAA,EACzBE,EAAcF,EAAM7N,KAAK6G,gBAEzBmH,EADUJ,YAAYK,iBAAiB,kBAAmB,SAAA,EAE3DjD,OAAQkD,GAAMA,EAAEC,WAAanO,KAAK6G,iBAAmBqH,EAAEC,UAAYN,CAAAA,EACnEO,OAAO,CAACC,EAAGC,IAAMD,EAAIC,EAAEC,SAAU,GAEtC,OADAvO,KAAK6G,gBAAkB,KAChB,CAAEkH,cAAaC,mBAAAA,CAAAA,CAC1B,CACA,OAAO,IACX,CACA,mBACI,MAAMQ,EAAK,CAAA,EACLC,EAAWzO,KAAK2L,UAChB+C,EAAK1O,KAAK8I,uBAAyB9I,KAAK2O,cAC9C,QAASC,EAAI,EAAGA,EAAIH,EAASI,OAAQD,IAAK,CACtC,MAAMhD,EAAQ6C,EAASG,GACjBE,EAAM9O,KAAKuI,OAASqG,GACtB5O,KAAKuH,eAAiBvH,KAAKoH,cAAc2H,IAAInD,CAAAA,KAC7C4C,EAAGM,GAAOJ,EAAGM,KAAKhP,KAAM4L,EAAO5L,KAAKsI,OAAOwG,CAAAA,CAAAA,EAEnD,CACA9O,KAAKmH,mBAAqBqH,EAC1BxO,KAAK0J,UAAU1J,KAAK2J,eACpB3J,KAAKoH,cAAc6H,OACvB,CAIA,cAAchN,EAAAA,CAGV,KAAA,CAAMiB,MAAEA,EAAKF,OAAEA,GAAWf,EAAQc,sBAAAA,EAClC,OAAO3B,OAAOqL,OAAO,CAAEvJ,MAAAA,EAAOF,OAAAA,CAAAA,EAiVtC,SAAoB0H,GAChB,MAAMQ,EAAQ9I,OAAO+I,iBAAiBT,CAAAA,EACtC,MAAO,CACHwE,UAAWC,EAAejE,EAAMgE,SAAAA,EAChCE,YAAaD,EAAejE,EAAMkE,aAClCC,aAAcF,EAAejE,EAAMmE,YAAAA,EACnCC,WAAYH,EAAejE,EAAMoE,UAAAA,CAAAA,CAEzC,EAzV2DrN,CAAAA,CAAAA,CACvD,CACA,MAAA,UAAgBsN,GACPvP,KAAK2I,WAAWoG,IAAIQ,CAAAA,IACrBvP,KAAK2I,WAAWxC,IAAIoJ,CAAAA,EAAAA,MACdtC,QAAQC,QAAAA,EACdlN,KAAK2I,WAAW3C,OAAOuJ,CAAAA,EACvBA,EAAOP,KAAKhP,IAAAA,EAEpB,CACA,iBAAiBwP,EAAAA,CACbxP,KAAKgH,YAAcwI,EAAMC,WACzBzP,KAAK0P,aAAaF,EAAM/N,KAAAA,EACxBzB,KAAKkH,aAAesI,EAAMG,eAC1B3P,KAAKiH,aAAeuI,EAAMI,aAAe,KACzC,KAAA,CAAMtI,cAAEA,EAAaC,cAAEA,GAAkBvH,KACrCA,KAAKwH,qBACLxH,KAAK6P,kBAAAA,EACL7P,KAAKwH,mBAAAA,KAELF,GAAiBC,KACjBvH,KAAK8P,eACL9P,KAAKsH,cAAAA,IAETtH,KAAKkK,iBAAAA,CACT,CACA,kBAAAA,CACQlK,KAAKoJ,aAELpJ,KAAK2L,UAAUF,QAASG,GAAU5L,KAAK6H,YAAY0D,QAAQK,CAAAA,CAAAA,EAC3D5L,KAAK+P,2BAA2B/P,KAAKkH,cACrClH,KAAKgQ,kBAAkBhQ,KAAKkH,YAAAA,EAC5BlH,KAAKiQ,iBAAiBjQ,KAAKgH,WAAAA,EAC3BhH,KAAKkQ,oBAAAA,EACDlQ,KAAK6G,iBAAmB,SAAUzE,OAAOwL,aACzCxL,OAAOwL,YAAYuC,KAAK,UAGpC,CACA,gBACQnQ,KAAK8G,SAAW9G,KAAKoJ,aACrBpJ,KAAK8G,QAAQ0C,MAAQxJ,KAAKsI,OAC1BtI,KAAKoQ,YAAAA,EACDpQ,KAAKmH,qBAAuB,OAExBnH,KAAK6I,kBACL7I,KAAK6I,iBAAiB7I,KAAKmH,kBAAAA,EAE/BnH,KAAKmH,mBAAqB,MAE9BnH,KAAK8G,QAAQuJ,eAAAA,EACTrQ,KAAK6G,iBAAmB,SAAUzE,OAAOwL,aACzCxL,OAAOwL,YAAYuC,KAAK,QAAA,EAGpC,CACA,oBAAAG,CACI,GAAItQ,KAAK6G,iBAAmB,SAAUzE,OAAOwL,YAAa,CACtD,IACIxL,OAAOwL,YAAY2C,QAAQ,kBAAmB,WAAY,SAC9D,OAGA,CACAnO,OAAOwL,YAAYuC,KAAK,UAAA,CAC5B,CACInQ,KAAKyH,oBAAoB1D,4BAEzB/D,KAAK8G,SAAS0J,QAElBxQ,KAAK0J,UAAU1J,KAAK2J,aAAAA,CACxB,CACA,YAAY8G,EAAAA,CACAA,EAAMzP,OACL,WACGyP,EAAMC,gBAAkBtO,QACxBpC,KAAK+G,mBAAmB4J,SAASF,EAAMC,aAAAA,IACvC1Q,KAAKsQ,mBAAAA,CAMrB,CACA,qBAAqBhD,EAAAA,CACbA,EAAQtM,OAAS,eACjBhB,KAAK4Q,WAAWtD,CAAAA,EAEXA,EAAQtM,OAAS,qBACtBhB,KAAKyI,cAAgB6E,EAAQuD,aAC7B7Q,KAAK0I,aAAe4E,EAAQwD,YAC5B9Q,KAAK6P,kBAAAA,GAEAvC,EAAQtM,OAAS,YACtBhB,KAAKqK,aAAa0G,cAAc,IAAIhP,CAAAA,CAE5C,CACA,eAAI4J,CACA,MAAMqF,EAAM,CAAA,EACZ,IAAIC,EAAOjR,KAAKqK,aAAa6G,kBAC7B,KAAOD,GACEA,EAAKE,aAAa1K,CAAAA,GACnBuK,EAAIjG,KAAKkG,CAAAA,EAEbA,EAAOA,EAAKG,mBAEhB,OAAOJ,CACX,CACA,aAAAZ,CACI,MAAM9G,EAActJ,KAAKqK,aACnB9H,EAAmBvC,KAAKyH,qBAAqBxF,QAC7C8H,EAAS/J,KAAK8G,QACpB,GAAIwC,GAAe/G,GAAoBwH,EAAQ,CAC3C,IAAI/E,EAAKD,EAAMsM,EAAQC,EACvB,MAAMC,EAAoBjI,EAAYvG,sBAAAA,EACtCiC,EAAM,EACND,EAAO,EACPsM,EAASjP,OAAOa,YAChBqO,EAAQlP,OAAOe,WACf,MAAMqO,EAAiBxR,KAAK+G,mBAAmB5G,IAAKuL,GAAaA,EAAS3I,sBAAAA,CAAAA,EAC1EyO,EAAeC,QAAQF,CAAAA,EACvB,UAAWG,KAAUF,EACjBxM,EAAMQ,KAAKC,IAAIT,EAAK0M,EAAO1M,GAAAA,EAC3BD,EAAOS,KAAKC,IAAIV,EAAM2M,EAAO3M,IAAAA,EAC7BsM,EAAS7L,KAAKE,IAAI2L,EAAQK,EAAOL,MAAAA,EACjCC,EAAQ9L,KAAKE,IAAI4L,EAAOI,EAAOJ,KAAAA,EAEnC,MAAMK,EAAyBpP,EAAiBQ,sBAAAA,EAC1C6O,EAAuB,CACzB7M,KAAMwM,EAAkBxM,KAAO4M,EAAuB5M,KACtDC,IAAKuM,EAAkBvM,IAAM2M,EAAuB3M,GAAAA,EAElD6M,EAAkB,CACpB3O,MAAOX,EAAiBO,YACxBE,OAAQT,EAAiBM,YAAAA,EAEvBJ,EAAYuC,EAAMuM,EAAkBvM,IAAMsE,EAAY7G,UACtDE,EAAaoC,EAAOwM,EAAkBxM,KAAOuE,EAAY3G,WACzDK,EAASwC,KAAKC,IAAI,EAAG4L,EAASrM,GAC9B9B,EAAQsC,KAAKC,IAAI,EAAG6L,EAAQvM,GAClCgF,EAAO+H,aAAe,CAAE5O,MAAAA,EAAOF,OAAAA,CAAAA,EAC/B+G,EAAOgI,eAAiB,CAAE/M,IAAKvC,EAAWsC,KAAMpC,GAChDoH,EAAO8H,gBAAkBA,EACzB9H,EAAO6H,qBAAuBA,CAClC,CACJ,CAKA,iBAAiB3L,EAAAA,CAIb,MACM+L,EAAI/L,GAAQA,EAAK/C,QAAU,KAAOsC,KAAKE,IAAID,KAAKQ,EAAK/C,OAAS,EAC9D+O,EAAIhM,GAAQA,EAAKjD,SAAW,KAAOwC,KAAKE,IAAID,KAAKQ,EAAKjD,MAAAA,EAAU,EACtE,GAAIhD,KAAK0H,YACL1H,KAAKkS,UAAAA,EAAYhH,MAAMiH,UAAY,aAAaH,CAAAA,OAAQC,WAEvD,CACD,MAAM/G,EAAQlL,KAAKqK,aAAaa,MAChCA,EAAMkH,SAAWJ,EAAI,GAAGA,CAAAA,KAAQ,OAChC9G,EAAMiB,UAAY8F,EAAI,GAAGA,CAAAA,KAAQ,MACrC,CACJ,CAKA,kBAAkBI,EAAAA,CACVA,GACAA,EAAI5G,QAAQ,EAAGzG,IAAAA,EAAKD,KAAAA,EAAM7B,MAAAA,EAAOF,OAAAA,EAAQsP,QAAAA,EAASC,QAAAA,CAAAA,EAAWC,KACzD,MAAM5G,EAAQ5L,KAAK2L,UAAU6G,EAAQxS,KAAKuI,MAAAA,EACtCqD,IACAA,EAAMV,MAAME,SAAW,WACvBQ,EAAMV,MAAMuH,UAAY,aACxB7G,EAAMV,MAAMiH,UAAY,aAAapN,CAAAA,OAAWC,CAAAA,MAC5C9B,IAD4C8B,SAE5C4G,EAAMV,MAAMhI,MAAQA,EAAQ,MAE5BF,IAF4B,SAG5B4I,EAAMV,MAAMlI,OAASA,EAAS,MAElC4I,EAAMV,MAAMnG,KACRuN,IADQvN,OACgB,KAAOuN,EAAU,KAC7C1G,EAAMV,MAAMlG,IACRuN,IADQvN,OACgB,KAAOuN,EAAU,KAAA,CAAA,CAI7D,CACA,MAAA,aAAmB9Q,GACf,KAAA,CAAM8G,OAAEA,EAAMC,MAAEA,EAAKC,cAAEA,EAAaC,aAAEA,GAAiB1I,KACvDA,KAAKuI,OAAS9G,EAAMG,MACpB5B,KAAKwI,MAAQ/G,EAAMI,KACnB7B,KAAKyI,cAAgBhH,EAAMoP,aAC3B7Q,KAAK0I,aAAejH,EAAMqP,YAC1B9Q,KAAKsH,cACDtH,KAAKsH,eAAiBtH,KAAKuI,SAAWA,GAAUvI,KAAKwI,QAAUA,EACnExI,KAAKwH,mBACDxH,KAAKwH,oBACDxH,KAAKyI,gBAAkBA,GACvBzI,KAAK0I,eAAiBA,CAClC,CACA,sBACI,GAAI1I,KAAKiH,aAAc,CACnB,KAAA,CAAMxE,UAAEA,EAASE,WAAEA,GAAe3C,KAAKyH,oBAAAA,CACjCzC,IAAEA,EAAGD,KAAEA,GAAS/E,KAAKiH,aAC3BjH,KAAKiH,aAAe,KACpBjH,KAAKyH,oBAAoBiL,mBAAmB,CACxC1N,IAAKvC,EAAYuC,EACjBD,KAAMpC,EAAaoC,GAE3B,CACJ,CACA,QAAQyN,EAAAA,CAIJ,OAHIA,IAAUG,MACVH,EAAQxS,KAAKsI,OAAOuG,OAAS,GAE1B7O,KAAKsI,SAASkK,CAAAA,WAAAA,OAEf,CACEI,eAAgB,CAAC9N,EAAU,KAAO9E,KAAK6S,uBAAuB,CAAA,GAAK/N,EAAS0N,MAAAA,CAAAA,CAAAA,CAAAA,CAExF,CACA,uBAAuB1N,EAAAA,CACnB,GAAIA,EAAQ0N,OAASxS,KAAKuI,QAAUzD,EAAQ0N,OAASxS,KAAKwI,MACtDxI,KAAK2L,UAAU7G,EAAQ0N,MAAQxS,KAAKuI,MAAAA,EAAQqK,eAAe9N,CAAAA,UAG3DA,EAAQ0N,MAAQhN,KAAKE,IAAIZ,EAAQ0N,MAAOxS,KAAKsI,OAAOuG,OAAS,CAAA,EACzD/J,EAAQM,WAAa,SAAU,CAC/B,MAAMO,EAAc3F,KAAK8G,QAAQgM,6BAA6BhO,IACxDM,SAAEA,CAAAA,EAAaN,EACrB9E,KAAKqI,iCACDrI,KAAKyH,oBAAoBsL,gBAAgB3R,OAAOqL,OAAO9G,EAAa,CAAEP,SAAAA,CAAAA,CAAAA,EAAa,IAAMpF,KAAK8G,QAAQgM,6BAA6BhO,CAAAA,EAAU,IAAO9E,KAAKoI,sBAAwB,MACrLpI,KAAKoI,sBAAwBtD,CACjC,MAEI9E,KAAK8G,QAAQkM,IAAMlO,CAG/B,CAKA,2BAA2BuN,GACvB,KAAA,CAAMG,MAAEA,CAAAA,EAAUxS,KAAKoI,uBAAyB,CAAA,EAC5CoK,GAASH,GAAKtD,IAAIyD,CAAAA,GAClBxS,KAAKqI,iCAAiCrI,KAAK8G,QAAQgM,6BAA6B9S,KAAKoI,qBAAAA,CAAAA,CAE7F,CAKA,cAAA0H,CACI9P,KAAKqK,aAAa0G,cAAc,IAAIxP,EAAkB,CAAEK,MAAO5B,KAAKuI,OAAQ1G,KAAM7B,KAAKwI,KAAAA,CAAAA,CAAAA,CAC3F,CACA,mBAAAqH,CACI7P,KAAKqK,aAAa0G,cAAc,IAAIjP,EAAuB,CACvDF,MAAO5B,KAAKyI,cACZ5G,KAAM7B,KAAK0I,YAAAA,CAAAA,CAAAA,CAEnB,CACA,IAAA,gBAAIuK,CAQA,OANKjT,KAAK+I,yBACN/I,KAAK+I,uBAAyB,IAAIkE,QAAQ,CAACC,EAASgG,IAAAA,CAChDlT,KAAKgJ,wBAA0BkE,EAC/BlN,KAAKiJ,wBAA0BiK,CAAAA,CAAAA,GAGhClT,KAAK+I,sBAChB,CACA,6BAA6BoK,EAAAA,CACrBnT,KAAKiJ,0BAA4B,MACjCjJ,KAAKiJ,wBAAwBkK,CAAAA,EAEjCnT,KAAKoT,0BAAAA,CACT,CACA,yBAAAC,CAGQrT,KAAK+I,wBAA0B/I,KAAKkJ,yBAA2B,OAE/DlJ,KAAKkJ,uBAAyBtD,sBAAsB,IAAMA,sBAAsB,IAAM5F,KAAKsT,8BAAAA,CAAAA,CAAAA,EAEnG,CACA,+BAAAA,CACQtT,KAAKgJ,0BAA4B,MACjChJ,KAAKgJ,0BAEThJ,KAAKoT,0BAAAA,CACT,CACA,2BAAAA,CACIpT,KAAK+I,uBAAyB,KAC9B/I,KAAKgJ,wBAA0B,KAC/BhJ,KAAKiJ,wBAA0B,KAC/BjJ,KAAKkJ,uBAAyB,IAClC,CAKA,yBAAAiB,CACInK,KAAK0J,UAAU1J,KAAK2J,cACxB,CAKA,eAAiB,CAMjB,qBAAqB4J,EAAAA,CAEjB,GAAIvT,KAAK8G,SAAS0G,gBAAiB,CAC/B,UAAWgG,KAAUD,EACjBvT,KAAKoH,cAAcqM,IAAID,EAAO3H,OAAQ2H,EAAOE,WAAAA,EAEjD1T,KAAK2T,kBACT,CAKA3T,KAAKqT,0BACLrT,KAAKuH,cAAAA,GACLvH,KAAKsH,cAAAA,EACT,CAAA,CAWJ,SAAS6H,EAAexO,EAAAA,CACpB,MAAMiT,EAAQjT,EAAQkT,WAAWlT,GAASmT,IAC1C,OAAOC,OAAOC,MAAMJ,CAAAA,EAAS,EAAIA,CACrC,CAEA,SAAS9I,EAAiBJ,EAAAA,CACtB,GAAIA,EAAGuJ,eAAiB,KACpB,OAAOvJ,EAAGuJ,aAEd,GAAIvJ,EAAGwJ,gBAAkB,KACrB,OAAOxJ,EAAGwJ,cAEd,MAAMC,EAAazJ,EAAGyJ,WACtB,OAAIA,GAAcA,EAAWC,WAAaC,KAAKC,wBACpCH,EAAWI,MAEf,IACX,CCzrBO,MAAMC,EAAsB9T,GAASA,EAC/B+T,EAAoB,CAAC/T,EAAMoO,IAAQvO,EAAAA,OAAQuO,CAAAA,KAAQ4F,KAAKC,UAAUjU,EAAM,KAAM,KAC3F,MAAMkU,UAA4BC,EAAAA,cAAAA,CAC9B,YAAYC,EAAAA,CAQR,GAPAhV,MAAMgV,CAAAA,EACN9U,KAAK+U,aAAe,KACpB/U,KAAKuI,OAAS,EACdvI,KAAKwI,SACLxI,KAAKgV,YAAc,CAACtU,EAAMoO,IAAQ2F,EAAkB/T,EAAMoO,EAAM9O,KAAKuI,MAAAA,EACrEvI,KAAKiV,aAAe,CAACvU,EAAMoO,IAAQ0F,EAAmB9T,EAAYV,KAAKuI,MAAAA,EACvEvI,KAAKsI,OAAS,CAAA,EACVwM,EAAK9T,OAASkU,EAAAA,SAASC,MACvB,MAAM,IAAI9L,MAAM,gEAAA,CAExB,CACA,OAAOzC,EAAAA,CACCA,GACA5G,KAAKoV,cAAcxO,GAEvB,MAAMyO,EAAgB,GACtB,GAAIrV,KAAKuI,QAAU,GAAKvI,KAAKwI,OAASxI,KAAKuI,OACvC,QAASqG,EAAI5O,KAAKuI,OAAQqG,GAAK5O,KAAKwI,MAAOoG,IACvCyG,EAActK,KAAK/K,KAAKsI,OAAOsG,IAGvC,OAAO0G,EAAAA,OAAOD,EAAerV,KAAKiV,aAAcjV,KAAKgV,WAAAA,CACzD,CACA,OAAOF,GAAOlO,CAAAA,EAAAA,CACV5G,KAAKoV,cAAcxO,CAAAA,EACnB,MAAM2O,EAAevV,KAAKsI,SAAW1B,EAAO4C,MAQ5C,OAPAxJ,KAAKsI,OAAS1B,EAAO4C,OAAS,CAAA,EAC1BxJ,KAAK+U,aACL/U,KAAKwV,yBAAyBV,EAAMlO,CAAAA,EAGpC5G,KAAKyV,YAAYX,EAAMlO,CAAAA,EAEpB2O,EAAeG,EAAAA,SAAW1V,KAAKM,QAC1C,CACA,MAAA,yBAA+BwU,EAAMlO,EAAAA,CAEjC,UADyB5G,KAAK+U,aAAaY,mBAAmB/O,EAAOmD,QAAU,IAC9D,CACb,MAAMT,EAAcwL,EAAKX,WACzBnU,KAAK4V,iBAAiBtM,EAAa1C,EACvC,CACA5G,KAAK+U,aAAavL,MAAQxJ,KAAKsI,MACnC,CACA,cAAc1B,EAAAA,CACV,KAAA,CAAMiP,WAAEA,EAAUC,YAAEA,GAAgBlP,EAChCiP,IACA7V,KAAKgV,YAAc,CAACtU,EAAMoO,IAAQ+G,EAAWnV,EAAMoO,EAAM9O,KAAKuI,MAAAA,GAE9DuN,IACA9V,KAAKiV,aAAe,CAACvU,EAAMoO,IAAQgH,EAAYpV,EAAMoO,EAAM9O,KAAKuI,MAAAA,EAExE,CACA,iBAAiBe,EAAa1C,GACtB5G,KAAK+U,cACL/U,KAAK+U,aAAagB,aAAAA,EAEtB,MAAMhM,OAAEA,EAAMH,SAAEA,EAAQJ,MAAEA,GAAU5C,EACpC5G,KAAK+U,aAAe,IAAIpO,EAAY,CAAE2C,YAAAA,EAAaS,OAAAA,EAAQH,aAC3D5J,KAAK+U,aAAavL,MAAQA,EAC1BxJ,KAAK+U,aAAaxK,UAAAA,CACtB,CACA,YAAYuK,EAAMlO,EAAAA,CACd,MAAM0C,EAAcwL,EAAKX,WACrB7K,GAAeA,EAAY8K,WAAa,IACxC9K,EAAYlD,iBAAiB,eAAiB8H,GAAAA,CAC1ClO,KAAKuI,OAAS2F,EAAEtM,MAChB5B,KAAKwI,MAAQ0F,EAAErM,KACf7B,KAAKgW,SAAShW,KAAKM,OAAAA,CAAAA,CAAAA,CAAAA,EAEvBN,KAAK4V,iBAAiBtM,EAAa1C,GAE3C,CACA,eACI5G,KAAK+U,cAAcgB,cACvB,CACA,cACI/V,KAAK+U,cAAcxK,WACvB,CAAA,CAEG,MAAM0L,EAAaC,EAAAA,UAAUtB,CAAAA,ECrF7B,MAAMuB,UAAuBC,EAAAA,WAChC,aAAAvW,CACIC,SAASC,SAAAA,EACTC,KAAKwJ,MAAQ,CAAA,EACbxJ,KAAK6V,WAAapB,EAClBzU,KAAK8V,YAActB,EACnBxU,KAAK+J,OAAS,CAAA,EACd/J,KAAK4J,SAAAA,EACT,CACA,kBAAAyM,CACI,OAAOrW,IACX,CACA,QAAAM,CACI,KAAA,CAAMkJ,MAAEA,EAAKqM,WAAEA,EAAUC,YAAEA,EAAW/L,OAAEA,EAAMH,SAAEA,GAAa5J,KAC7D,OAAOO,EAAAA,OAAQ0V,EAAW,CACtBzM,MAAAA,EACAqM,WAAAA,EACAC,cACA/L,OAAAA,EACAH,SAAAA,CAAAA,CAAAA,CAAAA,EAER,CACA,QAAQ4I,GACJ,OAAOxS,KAAKuG,IAAiBtE,QAAQuQ,CAAAA,CACzC,CACA,IAAA,gBAAIS,CACA,OAAOjT,KAAKuG,CAAAA,GAAiB0M,cACjC,CAKA,cAAcT,EAAOpH,EAAW,QAAA,CAC5BpL,KAAKiC,QAAQuQ,CAAAA,GAAQI,eAAe,CAAE0D,MAAOlL,GACjD,CAAA,CAEJmL,EAAAA,EAAW,CACPxV,WAAS,CAAEG,UAAAA,MACZiV,EAAehV,UAAW,QAAA,MAAS,EACtCoV,EAAAA,EAAW,CACPxV,EAAAA,SAAAA,CAAAA,EACDoV,EAAehV,UAAW,aAAA,QAC7BoV,EAAAA,EAAW,CACPxV,EAAAA,SAAAA,CAAAA,EACDoV,EAAehV,UAAW,cAAA,QAC7BoV,EAAAA,EAAW,CACPxV,WAAS,CAAEG,UAAAA,EAAW,CAAA,CAAA,EACvBiV,EAAehV,UAAW,SAAA,QAC7BoV,EAAAA,EAAW,CACPxV,EAAAA,SAAS,CAAEyV,QAAAA,GAAexV,KAAMyV,OAAAA,CAAAA,CAAAA,EACjCN,EAAehV,UAAW,WAAA,MAAY,EChDzCuV,eAAeC,OAAO,kBAAmBR,CAAAA,kMCsB5BS,QAAAA,kBAAN,cAAqEhX,EAAAA,YAAAA,CAAAA,CAuB3E,cACCE,MAAAA,EAtBDE,KAAAC,QAA4B,CAAA,EAG5BD,KAAA6W,KAAY,CAAA,EAIZ7W,KAAA8W,SAAoB,KAGpB9W,KAAAE,KAAe,MAIfF,KAAA+W,YAGS/W,KAAQgX,WAA6B,KACrChX,KAAQiX,cAA+B,KACvCjX,KAAQkX,aAAoB,CAAA,EAIpClX,KAAKkX,aAAelX,KAAK6W,IAC1B,CAGU,WAAWM,IAEnBA,EAAkBpI,IAAI,SACtBoI,EAAkBpI,IAAI,YAAA,GACtBoI,EAAkBpI,IAAI,eAAA,IAEtB/O,KAAKoX,YAAAA,CAEP,CAKQ,OAAOzW,EAAAA,CACd,OAAOA,GAA0B,OAAVA,GAAU,UAAYS,OAAOD,UAAUkW,SAASrI,KAAKrO,KAAW,eACxF,CAEQ,cACP,IAAI2W,EAAS,CAAA,GAAItX,KAAK6W,IAAAA,EAGtB,GAAI7W,KAAK+W,UAAY/W,KAAKgX,YAAchX,KAAKiX,cAAe,CAE3D,MAAMM,EAAmBvX,KAAKC,QAAQuX,QAAYC,EAAI7W,MAAQZ,KAAKgX,UAAAA,EAEnEM,EAAOI,KAAK,CAACzM,EAAG0M,IAAAA,CAEf,IAAIC,EAAQC,EAaZ,GAXIN,GAAoBA,EAAiB5W,OAExCiX,EAASL,EAAiB5W,MAAMsK,CAAAA,EAChC4M,EAASN,EAAiB5W,MAAMgX,CAAAA,IAGhCC,EAAS3M,EAAEjL,KAAKgX,YAChBa,EAASF,EAAE3X,KAAKgX,UAAAA,GAIbY,GAAAA,KACH,OAAO5X,KAAKiX,gBAAkB,MAAQ,EAAA,GAEvC,GAAIY,GAAAA,KACH,OAAO7X,KAAKiX,gBAAkB,MAAlBA,GAA+B,EAI5C,UAAWW,GAAW,UAA8B,OAAXC,GAAW,SACnD,OAAO7X,KAAKiX,gBAAkB,MAAQW,EAASC,EAASA,EAASD,EAIlE,MAAME,EAA6B,OAAXF,GAAW,UAAXA,CAAwB5D,MAAMD,OAAO6D,CAAAA,CAAAA,EACvDG,EAA6B,OAAXF,GAAW,UAAXA,CAAwB7D,MAAMD,OAAO8D,CAAAA,CAAAA,EAE7D,GAAIC,GAAYC,EAAU,CACzB,MAAMC,EAAOnE,WAAW+D,CAAAA,EAClBK,EAAOpE,WAAWgE,CAAAA,EACxB,OAAO7X,KAAKiX,gBAAkB,MAAQe,EAAOC,EAAOA,EAAOD,CAC5D,CAGA,GAAIhY,KAAKkY,OAAON,CAAAA,GAAW5X,KAAKkY,OAAOL,CAAAA,EACtC,OAAO7X,KAAKiX,gBAAkB,MAC3BW,EAAOO,QAAAA,EAAYN,EAAOM,QAAAA,EAC1BN,EAAOM,QAAAA,EAAYP,EAAOO,QAAAA,EAI9B,MAAMC,EAAO/W,OAAOuW,CAAAA,EACdS,EAAOhX,OAAOwW,CAAAA,EACpB,OAAO7X,KAAKiX,gBAAkB,MAAQmB,EAAKE,cAAcD,GAAQA,EAAKC,cAAcF,IAEtF,CAEApY,KAAKkX,aAAeI,CACrB,CAGQ,WAAWjX,EAAAA,CAClB,IAAKA,EAAOO,KAAOP,EAAO0W,WAAdnW,GAAkC,OAE9C,MAAM2X,EAAYlY,EAAOO,IAGrB2X,IAAcvY,KAAKgX,WAClBhX,KAAKiX,gBAAkB,MAC1BjX,KAAKiX,cAAgB,OACXjX,KAAKiX,gBAAkB,OACjCjX,KAAKiX,cAAgB,KAErBjX,KAAKiX,cAAgB,OAItBjX,KAAKgX,WAAauB,EAClBvY,KAAKiX,cAAgB,OAItBjX,KAAK+Q,cACJ,IAAIyH,YAAY,cAAe,CAC9BC,OAAQ,CACPpY,OAAQL,KAAKgX,WACb0B,UAAW1Y,KAAKiX,aAAAA,EAEjBtV,QAAAA,GACAgX,SAAAA,EAAU,CAAA,CAAA,CAGb,CAGQ,oBAAoBtY,GAC3B,OAAKL,KAAK+W,UAAY1W,EAAO0W,eAAuB1W,EAAOO,KAAOP,EAAOO,MAAQZ,KAAKgX,WAI/EzW,EAAAA;AAAAA;AAAAA,MAEHP,KAAKiX,gBAAkB,MACtB1W,EAAAA,8DACAP,KAAKiX,gBAAkB,OACtB1W,kEACA,IAAA;AAAA;AAAA,IATE,IAYT,CAEA,QAAAD,CACC,MAAMsY,EAAoBvY,IAAA,CACzB,oBAAA,GACA,uBAAwBL,KAAK+W,UAAY1W,EAAO0W,WAAnBA,IAAyC1W,EAAOO,GAAAA,GAE9E,OAAOL,EAAAA;AAAAA;AAAAA;AAAAA,6DAGoDP,KAAKE,IAAAA;AAAAA,QAC1DF,KAAKC,QAAQE,IACdE,GAAUE,EAAAA;AAAAA;AAAAA,iBAEAP,KAAK6Y,SAASD,EAAkBvY,CAAAA,CAAAA,CAAAA;AAAAA,kBAC/B,IAAOL,KAAK+W,UAAY1W,EAAO0W,WAAnBA,GAAwC/W,KAAK8Y,WAAWzY,CAAAA,EAAU,IAAA;AAAA;AAAA,sCAE1DA,EAAOG,OAAS,MAAA,WAAiBH,EAAOI,QAAU,MAAA;AAAA,YAC5EJ,EAAO0Y,IAAAA;AAAAA;AAAAA,WAER/Y,KAAKgZ,oBAAoB3Y,CAAAA,CAAAA;AAAAA;AAAAA;;;;MAO9BL,KAAKkX,aAAarI,OAAS,EAC1BtO,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iBAIUP,KAAKkX,YAAAA;AAAAA,sBACA,CAACxW,EAAS8R,IACvBjS,EAAAA;AAAAA;AAAAA;AAAAA,sBAGaP,KAAKC,OAAAA;AAAAA,mBACRS,CAAAA;AAAAA,kBACDV,KAAKE,IAAAA;AAAAA,oBACH,IAAA,CACR,MAAMuY,EAAS,CAAE/X,KAAAA,EAAM8R,SACvBxS,KAAK+Q,cACJ,IAAIyH,YAAY,QAAS,CACxBC,OAAAA,EACA9W,QAAAA,GACAgX,SAAAA,EAAU,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA;;QAQjBpY,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;GAON,CAAA,EAxNAO,EAAA,CADCC,EAAAA,SAAS,CAAEC,KAAMC,MAAOC,YAAW,CAAA,CAAA,EADxB0V,0BAEZzV,UAAA,UAAA,GAGAL,EAAA,CADCC,EAAAA,SAAS,CAAEC,KAAMC,MAAOC,UAAAA,EAAW,CAAA,CAAA,EAJxB0V,0BAKZzV,UAAA,OAAA,CAAA,EAIAL,EAAA,CADCC,WAAS,CAAEC,KAAMK,MAAAA,CAAAA,CAAAA,EARNuV,0BASZzV,UAAA,WAAA,GAGAL,EAAA,CADCC,WAAS,CAAEC,KAAMK,MAAAA,CAAAA,CAAAA,EAXNuV,0BAYZzV,UAAA,OAAA,CAAA,EAIAL,EAAA,CADCC,WAAS,CAAEC,KAAMyV,WAfNG,0BAgBZzV,UAAA,WAAA,CAAA,EAGiBL,EAAA,CAAhB0O,EAAAA,SAnBWoH,0BAmBKzV,UAAA,aAAA,CAAA,EACAL,EAAA,CAAhB0O,EAAAA,MAAAA,CAAAA,EApBWoH,0BAoBKzV,UAAA,gBAAA,CAAA,EACAL,EAAA,CAAhB0O,EAAAA,MAAAA,CAAAA,EArBWoH,0BAqBKzV,UAAA,eAAA,GArBLyV,QAAAA,kBAAN9V,EAAA,CADNQ,EAAAA,cAAc,gBAAA,CAAA,EACFsV","x_google_ignoreList":[1,2,3,4,5,6]}
|
package/dist/table.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./table-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./table-CzejyN5W.cjs");Object.defineProperty(exports,"SchmancyDataTable",{enumerable:!0,get:()=>e.SchmancyDataTable}),Object.defineProperty(exports,"SchmancyTableRow",{enumerable:!0,get:()=>e.SchmancyTableRow});
|
|
2
2
|
//# sourceMappingURL=table.cjs.map
|
package/dist/table.js
CHANGED
|
@@ -4,7 +4,7 @@ import "rxjs/operators";
|
|
|
4
4
|
import "lit/directives/class-map.js";
|
|
5
5
|
import "lit/directives/style-map.js";
|
|
6
6
|
import { property as p, state as u, customElement as v, queryAssignedElements as $, query as m } from "lit/decorators.js";
|
|
7
|
-
import { T as y } from "./tailwind.mixin-
|
|
7
|
+
import { T as y } from "./tailwind.mixin-BgdEBNZM.js";
|
|
8
8
|
import { css as f, html as b } from "lit";
|
|
9
9
|
import { n as O, e as j } from "./provide-tcktw8xB.js";
|
|
10
10
|
import { repeat as H } from "lit/directives/repeat.js";
|
|
@@ -101,4 +101,4 @@ let r = class extends y(f`
|
|
|
101
101
|
i([j({ context: g }), p({ type: String })], r.prototype, "mode", 2), i([p({ type: Boolean })], r.prototype, "rounded", 2), i([p({ type: String, reflect: !0 })], r.prototype, "activeTab", 2), i([$({ flatten: !0 })], r.prototype, "tabsElements", 2), i([m("#tabsNavigation")], r.prototype, "navElement", 2), i([m("#tabsContent")], r.prototype, "tabsContent", 2), i([u()], r.prototype, "tabs", 2), r = i([v("schmancy-tab-group")], r);
|
|
102
102
|
customElements.define("schmancy-tabs-group", class extends r {
|
|
103
103
|
});
|
|
104
|
-
//# sourceMappingURL=tabs-compatibility-
|
|
104
|
+
//# sourceMappingURL=tabs-compatibility-8NddfF1x.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-compatibility-C-gQwADa.js","sources":["../src/tabs/context.ts","../src/tabs/tab.ts","../src/tabs/tabs-group.ts","../src/tabs/tabs-compatibility.ts"],"sourcesContent":["import { createContext } from '@lit/context'\n\nexport type TSchmancyTabsMode = 'scroll' | 'tabs'\n\nexport const SchmancyTabsModeContext = createContext<TSchmancyTabsMode>('tabs')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyTabsModeContext } from './context'\n\n@customElement('schmancy-tab')\nexport default class SchmancyTab extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true }) label\n\t@property({ type: String, reflect: true }) value\n\t@property({ type: Boolean, reflect: true }) active!: boolean\n\n\t@consume({ context: SchmancyTabsModeContext, subscribe: true })\n\t@state()\n\tmode\n\tprotected render(): unknown {\n\t\treturn html` <slot .hidden=${this.mode === 'tabs' ? !this.active : false}></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab': SchmancyTab\n\t}\n}\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { filter, fromEvent, interval, map, take, throttleTime } from 'rxjs'\nimport { SchmancyTabsModeContext, TSchmancyTabsMode } from './context'\nimport SchmancyTab from './tab'\n\n/**\n * @slot - The content of the tab group\n * @fires tab-changed - The event fired when the tab is changed\n */\n@customElement('schmancy-tab-group')\nexport default class SchmancyTabGroup extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@provide({ context: SchmancyTabsModeContext })\n\t@property({ type: String })\n\tmode: TSchmancyTabsMode = 'tabs'\n\n\t@property({ type: Boolean }) rounded = true\n\n\t@property({ type: String, reflect: true }) activeTab: string\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tprivate tabsElements!: Array<SchmancyTab>\n\n\t@query('#tabsNavigation') navElement!: HTMLElement\n\t@query('#tabsContent') tabsContent!: HTMLElement\n\n\t@state()\n\tprivate tabs: Array<SchmancyTab> = []\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(window, 'scroll')\n\t\t\t.pipe(\n\t\t\t\tthrottleTime(1000),\n\t\t\t\tfilter(() => this.mode === 'scroll'),\n\t\t\t\tmap(() => {\n\t\t\t\t\tlet closestDiv = null\n\t\t\t\t\tlet closestDistance = Infinity\n\t\t\t\t\tthis.tabsElements.forEach(div => {\n\t\t\t\t\t\tconst distance =\n\t\t\t\t\t\t\tdiv.getBoundingClientRect().top - this.navElement.clientHeight + document.body.offsetHeight / 3\n\n\t\t\t\t\t\tif (distance < closestDistance && distance > 0) {\n\t\t\t\t\t\t\tclosestDistance = distance\n\t\t\t\t\t\t\tclosestDiv = div\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\treturn closestDiv\n\t\t\t\t}),\n\t\t\t\tfilter((el: SchmancyTab | null) => el !== null),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: (el: SchmancyTab) => {\n\t\t\t\t\tthis.activeTab = el.value\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tfirstUpdated() {\n\t\tinterval(0)\n\t\t\t.pipe(\n\t\t\t\tfilter(() => !!this.navElement.clientHeight),\n\t\t\t\ttake(1),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\t\tif (this.mode === 'scroll') tab.style.paddingTop = this.navElement.clientHeight + 'px'\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\thydrateTabs() {\n\t\tthis.tabs = this.tabsElements\n\t\tif (!this.activeTab && this.tabsElements[0]) {\n\t\t\tthis.activeTab = this.tabsElements[0].value\n\t\t\tthis.tabsElements[0].active = true\n\t\t} else {\n\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\tif (tab.value === this.activeTab) tab.active = true\n\t\t\t\telse tab.active = false\n\t\t\t})\n\t\t}\n\t\tconst lastTab = this.tabs?.[-1]\n\t\tif (lastTab) {\n\t\t\tlastTab.style.paddingBottom = lastTab.offsetHeight + 'px'\n\t\t}\n\t}\n\n\ttabChanged(selectedTab: { label: string; value: string }) {\n\t\tlet activeTabElement: SchmancyTab | undefined\n\t\tthis.tabsElements.forEach(tab => {\n\t\t\tif (tab.value === selectedTab.value) {\n\t\t\t\ttab.active = true\n\t\t\t\tactiveTabElement = tab\n\t\t\t\t// scroll to the tab\n\t\t\t\tif (this.mode === 'scroll') {\n\t\t\t\t\t// Scroll the desired element into view\n\t\t\t\t\tactiveTabElement.scrollIntoView({\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\tblock: 'start',\n\t\t\t\t\t\tinline: 'start',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttab.active = false\n\t\t\t}\n\t\t})\n\t\tthis.mode === 'tabs' && (this.activeTab = selectedTab.value)\n\t\tthis.dispatchEvent(new CustomEvent('tab-changed', { detail: this.activeTab }))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst tabs = {\n\t\t\t'bg-surface-default color-surface-on': true,\n\t\t\t'flex z-50 overflow-auto': true,\n\t\t\t'sticky top-0 shadow-md': this.mode === 'scroll',\n\t\t\t'rounded-full': this.rounded,\n\t\t}\n\n\t\tconst activeTab = {\n\t\t\t'text-primary-default': true,\n\t\t}\n\n\t\tconst inactiveTab = {\n\t\t\t'border-transparent': true,\n\t\t\t'hover:text-surface-on': true,\n\t\t\t'hover:border-outlineVariant': true,\n\t\t\t'text-surface-onVariant': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"tabsNavigation\" class=\"${this.classMap(tabs)}\" aria-label=\"Tabs\">\n\t\t\t\t${repeat(\n\t\t\t\t\tthis.tabs,\n\t\t\t\t\ttab => tab.value,\n\t\t\t\t\ttab => html`\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.tabChanged({\n\t\t\t\t\t\t\t\t\tlabel: tab.label,\n\t\t\t\t\t\t\t\t\tvalue: tab.value,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-current=\"page\"\n\t\t\t\t\t\t\tclass=\"h-auto relative\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"px-4 py-3 ${this.activeTab === tab.value\n\t\t\t\t\t\t\t\t\t? this.classMap(activeTab)\n\t\t\t\t\t\t\t\t\t: this.classMap(inactiveTab)}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-typography class=\"h-full align-middle flex \" type=\"title\" token=\"md\" weight=\"medium\">\n\t\t\t\t\t\t\t\t\t${tab.label}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t.hidden=${this.activeTab !== tab.value}\n\t\t\t\t\t\t\t\t\tclass=\"border-primary-default absolute bottom-0 inset-x-6 border-solid border-2 rounded-t-full\"\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t\t<section id=\"tabsContent\">\n\t\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab-group': SchmancyTabGroup\n\t}\n}\n","/**\n * Compatibility layer for schmancy-tabs-group (which is the more correct plural form)\n * that aliases to schmancy-tab-group for backward compatibility\n */\nimport SchmancyTabGroup from './tabs-group';\n\n// Create a simple class extends the original tab group\nclass SchmancyTabsGroup extends SchmancyTabGroup {}\n\n// Register the alias element\ncustomElements.define('schmancy-tabs-group', SchmancyTabsGroup);\n\nexport default SchmancyTabsGroup;\n\n// Add the type definition to ensure TypeScript recognizes the element\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-tabs-group': SchmancyTabsGroup;\n }\n}"],"names":["SchmancyTabsModeContext","createContext","SchmancyTab","TailwindElement","css","render","html","this","mode","active","__decorateClass","property","type","String","reflect","prototype","Boolean","consume","context","subscribe","state","customElement","SchmancyTabGroup","constructor","super","arguments","rounded","tabs","connectedCallback","fromEvent","window","pipe","throttleTime","filter","map","closestDiv","closestDistance","Infinity","tabsElements","forEach","div","distance","getBoundingClientRect","top","navElement","clientHeight","document","body","offsetHeight","el","next","activeTab","value","firstUpdated","interval","take","tab","style","paddingTop","hydrateTabs","lastTab","paddingBottom","selectedTab","activeTabElement","scrollIntoView","behavior","block","inline","dispatchEvent","CustomEvent","detail","inactiveTab","classMap","repeat","tabChanged","label","provide","queryAssignedElements","flatten","query","customElements","define"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabs-compatibility-8NddfF1x.js","sources":["../src/tabs/context.ts","../src/tabs/tab.ts","../src/tabs/tabs-group.ts","../src/tabs/tabs-compatibility.ts"],"sourcesContent":["import { createContext } from '@lit/context'\n\nexport type TSchmancyTabsMode = 'scroll' | 'tabs'\n\nexport const SchmancyTabsModeContext = createContext<TSchmancyTabsMode>('tabs')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyTabsModeContext } from './context'\n\n@customElement('schmancy-tab')\nexport default class SchmancyTab extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true }) label\n\t@property({ type: String, reflect: true }) value\n\t@property({ type: Boolean, reflect: true }) active!: boolean\n\n\t@consume({ context: SchmancyTabsModeContext, subscribe: true })\n\t@state()\n\tmode\n\tprotected render(): unknown {\n\t\treturn html` <slot .hidden=${this.mode === 'tabs' ? !this.active : false}></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab': SchmancyTab\n\t}\n}\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { filter, fromEvent, interval, map, take, throttleTime } from 'rxjs'\nimport { SchmancyTabsModeContext, TSchmancyTabsMode } from './context'\nimport SchmancyTab from './tab'\n\n/**\n * @slot - The content of the tab group\n * @fires tab-changed - The event fired when the tab is changed\n */\n@customElement('schmancy-tab-group')\nexport default class SchmancyTabGroup extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@provide({ context: SchmancyTabsModeContext })\n\t@property({ type: String })\n\tmode: TSchmancyTabsMode = 'tabs'\n\n\t@property({ type: Boolean }) rounded = true\n\n\t@property({ type: String, reflect: true }) activeTab: string\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tprivate tabsElements!: Array<SchmancyTab>\n\n\t@query('#tabsNavigation') navElement!: HTMLElement\n\t@query('#tabsContent') tabsContent!: HTMLElement\n\n\t@state()\n\tprivate tabs: Array<SchmancyTab> = []\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(window, 'scroll')\n\t\t\t.pipe(\n\t\t\t\tthrottleTime(1000),\n\t\t\t\tfilter(() => this.mode === 'scroll'),\n\t\t\t\tmap(() => {\n\t\t\t\t\tlet closestDiv = null\n\t\t\t\t\tlet closestDistance = Infinity\n\t\t\t\t\tthis.tabsElements.forEach(div => {\n\t\t\t\t\t\tconst distance =\n\t\t\t\t\t\t\tdiv.getBoundingClientRect().top - this.navElement.clientHeight + document.body.offsetHeight / 3\n\n\t\t\t\t\t\tif (distance < closestDistance && distance > 0) {\n\t\t\t\t\t\t\tclosestDistance = distance\n\t\t\t\t\t\t\tclosestDiv = div\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\treturn closestDiv\n\t\t\t\t}),\n\t\t\t\tfilter((el: SchmancyTab | null) => el !== null),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: (el: SchmancyTab) => {\n\t\t\t\t\tthis.activeTab = el.value\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tfirstUpdated() {\n\t\tinterval(0)\n\t\t\t.pipe(\n\t\t\t\tfilter(() => !!this.navElement.clientHeight),\n\t\t\t\ttake(1),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\t\tif (this.mode === 'scroll') tab.style.paddingTop = this.navElement.clientHeight + 'px'\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\thydrateTabs() {\n\t\tthis.tabs = this.tabsElements\n\t\tif (!this.activeTab && this.tabsElements[0]) {\n\t\t\tthis.activeTab = this.tabsElements[0].value\n\t\t\tthis.tabsElements[0].active = true\n\t\t} else {\n\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\tif (tab.value === this.activeTab) tab.active = true\n\t\t\t\telse tab.active = false\n\t\t\t})\n\t\t}\n\t\tconst lastTab = this.tabs?.[-1]\n\t\tif (lastTab) {\n\t\t\tlastTab.style.paddingBottom = lastTab.offsetHeight + 'px'\n\t\t}\n\t}\n\n\ttabChanged(selectedTab: { label: string; value: string }) {\n\t\tlet activeTabElement: SchmancyTab | undefined\n\t\tthis.tabsElements.forEach(tab => {\n\t\t\tif (tab.value === selectedTab.value) {\n\t\t\t\ttab.active = true\n\t\t\t\tactiveTabElement = tab\n\t\t\t\t// scroll to the tab\n\t\t\t\tif (this.mode === 'scroll') {\n\t\t\t\t\t// Scroll the desired element into view\n\t\t\t\t\tactiveTabElement.scrollIntoView({\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\tblock: 'start',\n\t\t\t\t\t\tinline: 'start',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttab.active = false\n\t\t\t}\n\t\t})\n\t\tthis.mode === 'tabs' && (this.activeTab = selectedTab.value)\n\t\tthis.dispatchEvent(new CustomEvent('tab-changed', { detail: this.activeTab }))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst tabs = {\n\t\t\t'bg-surface-default color-surface-on': true,\n\t\t\t'flex z-50 overflow-auto': true,\n\t\t\t'sticky top-0 shadow-md': this.mode === 'scroll',\n\t\t\t'rounded-full': this.rounded,\n\t\t}\n\n\t\tconst activeTab = {\n\t\t\t'text-primary-default': true,\n\t\t}\n\n\t\tconst inactiveTab = {\n\t\t\t'border-transparent': true,\n\t\t\t'hover:text-surface-on': true,\n\t\t\t'hover:border-outlineVariant': true,\n\t\t\t'text-surface-onVariant': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"tabsNavigation\" class=\"${this.classMap(tabs)}\" aria-label=\"Tabs\">\n\t\t\t\t${repeat(\n\t\t\t\t\tthis.tabs,\n\t\t\t\t\ttab => tab.value,\n\t\t\t\t\ttab => html`\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.tabChanged({\n\t\t\t\t\t\t\t\t\tlabel: tab.label,\n\t\t\t\t\t\t\t\t\tvalue: tab.value,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-current=\"page\"\n\t\t\t\t\t\t\tclass=\"h-auto relative\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"px-4 py-3 ${this.activeTab === tab.value\n\t\t\t\t\t\t\t\t\t? this.classMap(activeTab)\n\t\t\t\t\t\t\t\t\t: this.classMap(inactiveTab)}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-typography class=\"h-full align-middle flex \" type=\"title\" token=\"md\" weight=\"medium\">\n\t\t\t\t\t\t\t\t\t${tab.label}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t.hidden=${this.activeTab !== tab.value}\n\t\t\t\t\t\t\t\t\tclass=\"border-primary-default absolute bottom-0 inset-x-6 border-solid border-2 rounded-t-full\"\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t\t<section id=\"tabsContent\">\n\t\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab-group': SchmancyTabGroup\n\t}\n}\n","/**\n * Compatibility layer for schmancy-tabs-group (which is the more correct plural form)\n * that aliases to schmancy-tab-group for backward compatibility\n */\nimport SchmancyTabGroup from './tabs-group';\n\n// Create a simple class extends the original tab group\nclass SchmancyTabsGroup extends SchmancyTabGroup {}\n\n// Register the alias element\ncustomElements.define('schmancy-tabs-group', SchmancyTabsGroup);\n\nexport default SchmancyTabsGroup;\n\n// Add the type definition to ensure TypeScript recognizes the element\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-tabs-group': SchmancyTabsGroup;\n }\n}"],"names":["SchmancyTabsModeContext","createContext","SchmancyTab","TailwindElement","css","render","html","this","mode","active","__decorateClass","property","type","String","reflect","prototype","Boolean","consume","context","subscribe","state","customElement","SchmancyTabGroup","constructor","super","arguments","rounded","tabs","connectedCallback","fromEvent","window","pipe","throttleTime","filter","map","closestDiv","closestDistance","Infinity","tabsElements","forEach","div","distance","getBoundingClientRect","top","navElement","clientHeight","document","body","offsetHeight","el","next","activeTab","value","firstUpdated","interval","take","tab","style","paddingTop","hydrateTabs","lastTab","paddingBottom","selectedTab","activeTabElement","scrollIntoView","behavior","block","inline","dispatchEvent","CustomEvent","detail","inactiveTab","classMap","repeat","tabChanged","label","provide","queryAssignedElements","flatten","query","customElements","define"],"mappings":";;;;;;;;;;AAIO,MAAMA,IAA0BC,EAAiC,MAAA;;;;;ACGxE,IAAqBC,IAArB,cAAyCC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;EAY9C,SAAAC;AACT,WAAOC,mBAAsBC,KAAKC,SAAS,UAATA,CAAmBD,KAAKE,MAAAA;AAAAA,EAC3D;AAAA;AAT2CC,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,GAAS,CAAA,CAAA,GALfZ,EAKuBa,WAAA,SAAA,CAAA,GACAL,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,QANNZ,EAMuBa,WAAA,SAAA,CAAA,GACCL,EAAA,CAA3CC,EAAS,EAAEC,MAAMI,SAASF,SAAAA,GAAS,CAAA,CAAA,GAPhBZ,EAOwBa,WAAA,UAAA,CAAA,GAI5CL,EAAA,CAFCO,EAAQ,EAAEC,SAASlB,GAAyBmB,WAAAA,GAAW,CAAA,GACvDC,EAAAA,CAAAA,GAVmBlB,EAWpBa,WAAA,QAAA,CAAA,GAXoBb,IAArBQ,EAAA,CADCW,EAAc,cAAA,CAAA,GACMnB,CAAAA;;;;;ACOrB,IAAqBoB,IAArB,cAA8CnB,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;EAA9D,cAAAmB;AAAAC,UAAAA,GAAAC,SAAAA,GAOClB,KAAAC,OAA0B,QAEGD,KAAAmB,UAAAA,IAY7BnB,KAAQoB,OAA2B,CAAA;AAAA,EAAC;AAAA,EAEpC,oBAAAC;AACCJ,UAAMI,kBAAAA,GACNC,EAAUC,QAAQ,QAAA,EAChBC,KACAC,EAAa,GAAA,GACbC,EAAO,MAAM1B,KAAKC,SAAS,WAC3B0B,EAAI,MAAA;AACH,UAAIC,IAAa,MACbC,IAAkBC;AAUtB,aATA9B,KAAK+B,aAAaC,QAAQC,CAAAA,MAAAA;AACzB,cAAMC,IACLD,EAAIE,sBAAAA,EAAwBC,MAAMpC,KAAKqC,WAAWC,eAAeC,SAASC,KAAKC,eAAe;AAE3FP,QAAAA,IAAWL,KAAmBK,IAAW,MAC5CL,IAAkBK,GAClBN,IAAaK;AAAAA,MAAAA,CAAAA,GAGRL;AAAAA,IAAAA,CAAAA,GAERF,EAAQgB,OAA2BA,MAAO,OAE1C9B,UAAU,EACV+B,MAAOD,OAAAA;AACN1C,WAAK4C,YAAYF,EAAGG;AAAAA,IAAAA,EAAAA,CAAAA;AAAAA,EAGxB;AAAA,EAEA,eAAAC;AACCC,IAAAA,EAAS,CAAA,EACPvB,KACAE,EAAO,MAAA,CAAA,CAAQ1B,KAAKqC,WAAWC,YAAAA,GAC/BU,EAAK,CAAA,CAAA,EAELpC,UAAU,MAAA;AACVZ,WAAK+B,aAAaC,QAAQiB,OAAAA;AACP,QAAdjD,KAAKC,SAAS,aAAUgD,EAAIC,MAAMC,aAAanD,KAAKqC,WAAWC,eAAe;AAAA;;EAGtF;AAAA,EAEA,cAAAc;AACCpD,SAAKoB,OAAOpB,KAAK+B,cAAAA,CACZ/B,KAAK4C,aAAa5C,KAAK+B,aAAa,CAAA,KACxC/B,KAAK4C,YAAY5C,KAAK+B,aAAa,CAAA,EAAGc,OACtC7C,KAAK+B,aAAa,CAAA,EAAG7B,eAErBF,KAAK+B,aAAaC,QAAQiB,CAAAA,MAAAA;AACrBA,MAAAA,EAAIJ,UAAU7C,KAAK4C,cAAe1C,SAAAA,OAC7BA,SAAAA;AAAAA,IAAS,CAAA;AAGpB,UAAMmD,IAAUrD,KAAKoB,OAAAA;AACjBiC,UACHA,EAAQH,MAAMI,gBAAgBD,EAAQZ,eAAe;AAAA,EAEvD;AAAA,EAEA,WAAWc,GAAAA;AACV,QAAIC;AACJxD,SAAK+B,aAAaC,QAAQiB,CAAAA;AACrBA,MAAAA,EAAIJ,UAAUU,EAAYV,SAC7BI,EAAI/C,SAAAA,IACJsD,IAAmBP,GAEfjD,KAAKC,SAAS,YAEjBuD,EAAiBC,eAAe,EAC/BC,UAAU,UACVC,OAAO,SACPC,QAAQ,QAAA,CAAA,KAIVX,EAAI/C,SAAAA;AAAAA,IAAS,CAAA,GAGfF,KAAKC,SAAS,WAAWD,KAAK4C,YAAYW,EAAYV,QACtD7C,KAAK6D,cAAc,IAAIC,YAAY,eAAe,EAAEC,QAAQ/D,KAAK4C,UAAAA,CAAAA,CAAAA;AAAAA,EAClE;AAAA,EAEU,SAAA9C;AACT,UAAMsB,IAAO,EACZ,uCAAA,IACA,2BAAA,IACA,0BAA0BpB,KAAKC,SAAS,UACxC,gBAAgBD,KAAKmB,QAAAA,GAGhByB,IAAY,EACjB,2BAAwB,GAGnBoB,IAAc,EACnB,sBAAA,IACA,yBAAA,IACA,+BAAA,IACA,0BAAA,GAA0B;AAG3B,WAAOjE;AAAAA,yCACgCC,KAAKiE,SAAS7C,CAAAA,CAAAA;AAAAA,MACjD8C,EACDlE,KAAKoB,aACE6B,EAAIJ,OACXI,CAAAA,MAAOlD;AAAAA;AAAAA,gBAEI,MAAA;AACRC,WAAKmE,WAAW,EACfC,OAAOnB,EAAImB,OACXvB,OAAOI,EAAIJ,MAAAA,CAAAA;AAAAA,IAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,2BAOO7C,KAAK4C,cAAcK,EAAIJ,QACvC7C,KAAKiE,SAASrB,CAAAA,IACd5C,KAAKiE,SAASD,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA,WAGdf,EAAImB,KAAAA;AAAAA;AAAAA;AAAAA,mBAGIpE,KAAK4C,cAAcK,EAAIJ,KAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;;wBASlB,MAAM7C,KAAKoD,YAAAA,CAAAA;AAAAA;AAAAA;AAAAA,EAGlC;AAAA;AA1JAjD,EAAA,CAFCkE,EAAQ,EAAE1D,SAASlB,MACnBW,EAAS,EAAEC,MAAMC,OAAAA,CAAAA,CAAAA,GANES,EAOpBP,WAAA,QAAA,CAAA,GAE6BL,EAAA,CAA5BC,EAAS,EAAEC,MAAMI,QAAAA,CAAAA,CAAAA,GATEM,EASSP,WAAA,WAAA,CAAA,GAEcL,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,YAAS,CAAA,CAAA,GAXfQ,EAWuBP,WAAA,aAAA,CAAA,GAInCL,EAAA,CAHPmE,EAAsB,EACtBC,SAAAA,QAbmBxD,EAeZP,WAAA,gBAAA,CAAA,GAEkBL,EAAA,CAAzBqE,EAAM,iBAAA,CAAA,GAjBazD,EAiBMP,WAAA,cAAA,CAAA,GACHL,EAAA,CAAtBqE,EAAM,cAAA,CAAA,GAlBazD,EAkBGP,WAAA,eAAA,IAGfL,EAAA,CADPU,EAAAA,CAAAA,GApBmBE,EAqBZP,WAAA,QAAA,CAAA,GArBYO,IAArBZ,EAAA,CADCW,EAAc,oBAAA,CAAA,GACMC;ACJrB0D,eAAeC,OAAO,uBAHtB,cAAgC3D,EAAAA;AAAAA,CAAAA;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const y=require("./consume-edta5ng5.cjs"),l=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const i=require("lit/decorators.js"),u=require("./tailwind.mixin-
|
|
1
|
+
"use strict";const y=require("./consume-edta5ng5.cjs"),l=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const i=require("lit/decorators.js"),u=require("./tailwind.mixin-2PdnHg0B.cjs"),b=require("lit"),m=require("./provide-BxZ2kn_p.cjs"),f=require("lit/directives/repeat.js"),v=m.n("tabs");var g=Object.defineProperty,E=Object.getOwnPropertyDescriptor,d=(t,e,a,s)=>{for(var c,r=s>1?void 0:s?E(e,a):e,h=t.length-1;h>=0;h--)(c=t[h])&&(r=(s?c(e,a,r):c(r))||r);return s&&r&&g(e,a,r),r};let p=class extends u.TailwindElement(b.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
}
|
|
@@ -32,4 +32,4 @@
|
|
|
32
32
|
<slot @slotchange=${()=>this.hydrateTabs()}></slot>
|
|
33
33
|
</section>
|
|
34
34
|
`}};n([m.e({context:v}),i.property({type:String})],o.prototype,"mode",2),n([i.property({type:Boolean})],o.prototype,"rounded",2),n([i.property({type:String,reflect:!0})],o.prototype,"activeTab",2),n([i.queryAssignedElements({flatten:!0})],o.prototype,"tabsElements",2),n([i.query("#tabsNavigation")],o.prototype,"navElement",2),n([i.query("#tabsContent")],o.prototype,"tabsContent",2),n([i.state()],o.prototype,"tabs",2),o=n([i.customElement("schmancy-tab-group")],o);customElements.define("schmancy-tabs-group",class extends o{});
|
|
35
|
-
//# sourceMappingURL=tabs-compatibility-
|
|
35
|
+
//# sourceMappingURL=tabs-compatibility-UitZoxcs.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-compatibility-Dz5YaB06.cjs","sources":["../src/tabs/context.ts","../src/tabs/tab.ts","../src/tabs/tabs-group.ts","../src/tabs/tabs-compatibility.ts"],"sourcesContent":["import { createContext } from '@lit/context'\n\nexport type TSchmancyTabsMode = 'scroll' | 'tabs'\n\nexport const SchmancyTabsModeContext = createContext<TSchmancyTabsMode>('tabs')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyTabsModeContext } from './context'\n\n@customElement('schmancy-tab')\nexport default class SchmancyTab extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true }) label\n\t@property({ type: String, reflect: true }) value\n\t@property({ type: Boolean, reflect: true }) active!: boolean\n\n\t@consume({ context: SchmancyTabsModeContext, subscribe: true })\n\t@state()\n\tmode\n\tprotected render(): unknown {\n\t\treturn html` <slot .hidden=${this.mode === 'tabs' ? !this.active : false}></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab': SchmancyTab\n\t}\n}\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { filter, fromEvent, interval, map, take, throttleTime } from 'rxjs'\nimport { SchmancyTabsModeContext, TSchmancyTabsMode } from './context'\nimport SchmancyTab from './tab'\n\n/**\n * @slot - The content of the tab group\n * @fires tab-changed - The event fired when the tab is changed\n */\n@customElement('schmancy-tab-group')\nexport default class SchmancyTabGroup extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@provide({ context: SchmancyTabsModeContext })\n\t@property({ type: String })\n\tmode: TSchmancyTabsMode = 'tabs'\n\n\t@property({ type: Boolean }) rounded = true\n\n\t@property({ type: String, reflect: true }) activeTab: string\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tprivate tabsElements!: Array<SchmancyTab>\n\n\t@query('#tabsNavigation') navElement!: HTMLElement\n\t@query('#tabsContent') tabsContent!: HTMLElement\n\n\t@state()\n\tprivate tabs: Array<SchmancyTab> = []\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(window, 'scroll')\n\t\t\t.pipe(\n\t\t\t\tthrottleTime(1000),\n\t\t\t\tfilter(() => this.mode === 'scroll'),\n\t\t\t\tmap(() => {\n\t\t\t\t\tlet closestDiv = null\n\t\t\t\t\tlet closestDistance = Infinity\n\t\t\t\t\tthis.tabsElements.forEach(div => {\n\t\t\t\t\t\tconst distance =\n\t\t\t\t\t\t\tdiv.getBoundingClientRect().top - this.navElement.clientHeight + document.body.offsetHeight / 3\n\n\t\t\t\t\t\tif (distance < closestDistance && distance > 0) {\n\t\t\t\t\t\t\tclosestDistance = distance\n\t\t\t\t\t\t\tclosestDiv = div\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\treturn closestDiv\n\t\t\t\t}),\n\t\t\t\tfilter((el: SchmancyTab | null) => el !== null),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: (el: SchmancyTab) => {\n\t\t\t\t\tthis.activeTab = el.value\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tfirstUpdated() {\n\t\tinterval(0)\n\t\t\t.pipe(\n\t\t\t\tfilter(() => !!this.navElement.clientHeight),\n\t\t\t\ttake(1),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\t\tif (this.mode === 'scroll') tab.style.paddingTop = this.navElement.clientHeight + 'px'\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\thydrateTabs() {\n\t\tthis.tabs = this.tabsElements\n\t\tif (!this.activeTab && this.tabsElements[0]) {\n\t\t\tthis.activeTab = this.tabsElements[0].value\n\t\t\tthis.tabsElements[0].active = true\n\t\t} else {\n\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\tif (tab.value === this.activeTab) tab.active = true\n\t\t\t\telse tab.active = false\n\t\t\t})\n\t\t}\n\t\tconst lastTab = this.tabs?.[-1]\n\t\tif (lastTab) {\n\t\t\tlastTab.style.paddingBottom = lastTab.offsetHeight + 'px'\n\t\t}\n\t}\n\n\ttabChanged(selectedTab: { label: string; value: string }) {\n\t\tlet activeTabElement: SchmancyTab | undefined\n\t\tthis.tabsElements.forEach(tab => {\n\t\t\tif (tab.value === selectedTab.value) {\n\t\t\t\ttab.active = true\n\t\t\t\tactiveTabElement = tab\n\t\t\t\t// scroll to the tab\n\t\t\t\tif (this.mode === 'scroll') {\n\t\t\t\t\t// Scroll the desired element into view\n\t\t\t\t\tactiveTabElement.scrollIntoView({\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\tblock: 'start',\n\t\t\t\t\t\tinline: 'start',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttab.active = false\n\t\t\t}\n\t\t})\n\t\tthis.mode === 'tabs' && (this.activeTab = selectedTab.value)\n\t\tthis.dispatchEvent(new CustomEvent('tab-changed', { detail: this.activeTab }))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst tabs = {\n\t\t\t'bg-surface-default color-surface-on': true,\n\t\t\t'flex z-50 overflow-auto': true,\n\t\t\t'sticky top-0 shadow-md': this.mode === 'scroll',\n\t\t\t'rounded-full': this.rounded,\n\t\t}\n\n\t\tconst activeTab = {\n\t\t\t'text-primary-default': true,\n\t\t}\n\n\t\tconst inactiveTab = {\n\t\t\t'border-transparent': true,\n\t\t\t'hover:text-surface-on': true,\n\t\t\t'hover:border-outlineVariant': true,\n\t\t\t'text-surface-onVariant': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"tabsNavigation\" class=\"${this.classMap(tabs)}\" aria-label=\"Tabs\">\n\t\t\t\t${repeat(\n\t\t\t\t\tthis.tabs,\n\t\t\t\t\ttab => tab.value,\n\t\t\t\t\ttab => html`\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.tabChanged({\n\t\t\t\t\t\t\t\t\tlabel: tab.label,\n\t\t\t\t\t\t\t\t\tvalue: tab.value,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-current=\"page\"\n\t\t\t\t\t\t\tclass=\"h-auto relative\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"px-4 py-3 ${this.activeTab === tab.value\n\t\t\t\t\t\t\t\t\t? this.classMap(activeTab)\n\t\t\t\t\t\t\t\t\t: this.classMap(inactiveTab)}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-typography class=\"h-full align-middle flex \" type=\"title\" token=\"md\" weight=\"medium\">\n\t\t\t\t\t\t\t\t\t${tab.label}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t.hidden=${this.activeTab !== tab.value}\n\t\t\t\t\t\t\t\t\tclass=\"border-primary-default absolute bottom-0 inset-x-6 border-solid border-2 rounded-t-full\"\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t\t<section id=\"tabsContent\">\n\t\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab-group': SchmancyTabGroup\n\t}\n}\n","/**\n * Compatibility layer for schmancy-tabs-group (which is the more correct plural form)\n * that aliases to schmancy-tab-group for backward compatibility\n */\nimport SchmancyTabGroup from './tabs-group';\n\n// Create a simple class extends the original tab group\nclass SchmancyTabsGroup extends SchmancyTabGroup {}\n\n// Register the alias element\ncustomElements.define('schmancy-tabs-group', SchmancyTabsGroup);\n\nexport default SchmancyTabsGroup;\n\n// Add the type definition to ensure TypeScript recognizes the element\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-tabs-group': SchmancyTabsGroup;\n }\n}"],"names":["SchmancyTabsModeContext","createContext","SchmancyTab","TailwindElement","css","render","html","this","mode","active","__decorateClass","property","type","String","reflect","prototype","Boolean","consume","context","subscribe","state","customElement","SchmancyTabGroup","constructor","super","arguments","rounded","tabs","connectedCallback","fromEvent","window","pipe","throttleTime","filter","map","closestDiv","closestDistance","Infinity","tabsElements","forEach","div","distance","getBoundingClientRect","top","navElement","clientHeight","document","body","offsetHeight","el","next","activeTab","value","firstUpdated","interval","take","tab","style","paddingTop","hydrateTabs","lastTab","paddingBottom","selectedTab","activeTabElement","scrollIntoView","behavior","block","inline","dispatchEvent","CustomEvent","detail","inactiveTab","classMap","repeat","tabChanged","label","provide","queryAssignedElements","flatten","query","customElements","define"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabs-compatibility-UitZoxcs.cjs","sources":["../src/tabs/context.ts","../src/tabs/tab.ts","../src/tabs/tabs-group.ts","../src/tabs/tabs-compatibility.ts"],"sourcesContent":["import { createContext } from '@lit/context'\n\nexport type TSchmancyTabsMode = 'scroll' | 'tabs'\n\nexport const SchmancyTabsModeContext = createContext<TSchmancyTabsMode>('tabs')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyTabsModeContext } from './context'\n\n@customElement('schmancy-tab')\nexport default class SchmancyTab extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true }) label\n\t@property({ type: String, reflect: true }) value\n\t@property({ type: Boolean, reflect: true }) active!: boolean\n\n\t@consume({ context: SchmancyTabsModeContext, subscribe: true })\n\t@state()\n\tmode\n\tprotected render(): unknown {\n\t\treturn html` <slot .hidden=${this.mode === 'tabs' ? !this.active : false}></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab': SchmancyTab\n\t}\n}\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { filter, fromEvent, interval, map, take, throttleTime } from 'rxjs'\nimport { SchmancyTabsModeContext, TSchmancyTabsMode } from './context'\nimport SchmancyTab from './tab'\n\n/**\n * @slot - The content of the tab group\n * @fires tab-changed - The event fired when the tab is changed\n */\n@customElement('schmancy-tab-group')\nexport default class SchmancyTabGroup extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@provide({ context: SchmancyTabsModeContext })\n\t@property({ type: String })\n\tmode: TSchmancyTabsMode = 'tabs'\n\n\t@property({ type: Boolean }) rounded = true\n\n\t@property({ type: String, reflect: true }) activeTab: string\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tprivate tabsElements!: Array<SchmancyTab>\n\n\t@query('#tabsNavigation') navElement!: HTMLElement\n\t@query('#tabsContent') tabsContent!: HTMLElement\n\n\t@state()\n\tprivate tabs: Array<SchmancyTab> = []\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(window, 'scroll')\n\t\t\t.pipe(\n\t\t\t\tthrottleTime(1000),\n\t\t\t\tfilter(() => this.mode === 'scroll'),\n\t\t\t\tmap(() => {\n\t\t\t\t\tlet closestDiv = null\n\t\t\t\t\tlet closestDistance = Infinity\n\t\t\t\t\tthis.tabsElements.forEach(div => {\n\t\t\t\t\t\tconst distance =\n\t\t\t\t\t\t\tdiv.getBoundingClientRect().top - this.navElement.clientHeight + document.body.offsetHeight / 3\n\n\t\t\t\t\t\tif (distance < closestDistance && distance > 0) {\n\t\t\t\t\t\t\tclosestDistance = distance\n\t\t\t\t\t\t\tclosestDiv = div\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\treturn closestDiv\n\t\t\t\t}),\n\t\t\t\tfilter((el: SchmancyTab | null) => el !== null),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: (el: SchmancyTab) => {\n\t\t\t\t\tthis.activeTab = el.value\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tfirstUpdated() {\n\t\tinterval(0)\n\t\t\t.pipe(\n\t\t\t\tfilter(() => !!this.navElement.clientHeight),\n\t\t\t\ttake(1),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\t\tif (this.mode === 'scroll') tab.style.paddingTop = this.navElement.clientHeight + 'px'\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\thydrateTabs() {\n\t\tthis.tabs = this.tabsElements\n\t\tif (!this.activeTab && this.tabsElements[0]) {\n\t\t\tthis.activeTab = this.tabsElements[0].value\n\t\t\tthis.tabsElements[0].active = true\n\t\t} else {\n\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\tif (tab.value === this.activeTab) tab.active = true\n\t\t\t\telse tab.active = false\n\t\t\t})\n\t\t}\n\t\tconst lastTab = this.tabs?.[-1]\n\t\tif (lastTab) {\n\t\t\tlastTab.style.paddingBottom = lastTab.offsetHeight + 'px'\n\t\t}\n\t}\n\n\ttabChanged(selectedTab: { label: string; value: string }) {\n\t\tlet activeTabElement: SchmancyTab | undefined\n\t\tthis.tabsElements.forEach(tab => {\n\t\t\tif (tab.value === selectedTab.value) {\n\t\t\t\ttab.active = true\n\t\t\t\tactiveTabElement = tab\n\t\t\t\t// scroll to the tab\n\t\t\t\tif (this.mode === 'scroll') {\n\t\t\t\t\t// Scroll the desired element into view\n\t\t\t\t\tactiveTabElement.scrollIntoView({\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\tblock: 'start',\n\t\t\t\t\t\tinline: 'start',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttab.active = false\n\t\t\t}\n\t\t})\n\t\tthis.mode === 'tabs' && (this.activeTab = selectedTab.value)\n\t\tthis.dispatchEvent(new CustomEvent('tab-changed', { detail: this.activeTab }))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst tabs = {\n\t\t\t'bg-surface-default color-surface-on': true,\n\t\t\t'flex z-50 overflow-auto': true,\n\t\t\t'sticky top-0 shadow-md': this.mode === 'scroll',\n\t\t\t'rounded-full': this.rounded,\n\t\t}\n\n\t\tconst activeTab = {\n\t\t\t'text-primary-default': true,\n\t\t}\n\n\t\tconst inactiveTab = {\n\t\t\t'border-transparent': true,\n\t\t\t'hover:text-surface-on': true,\n\t\t\t'hover:border-outlineVariant': true,\n\t\t\t'text-surface-onVariant': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"tabsNavigation\" class=\"${this.classMap(tabs)}\" aria-label=\"Tabs\">\n\t\t\t\t${repeat(\n\t\t\t\t\tthis.tabs,\n\t\t\t\t\ttab => tab.value,\n\t\t\t\t\ttab => html`\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.tabChanged({\n\t\t\t\t\t\t\t\t\tlabel: tab.label,\n\t\t\t\t\t\t\t\t\tvalue: tab.value,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-current=\"page\"\n\t\t\t\t\t\t\tclass=\"h-auto relative\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"px-4 py-3 ${this.activeTab === tab.value\n\t\t\t\t\t\t\t\t\t? this.classMap(activeTab)\n\t\t\t\t\t\t\t\t\t: this.classMap(inactiveTab)}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-typography class=\"h-full align-middle flex \" type=\"title\" token=\"md\" weight=\"medium\">\n\t\t\t\t\t\t\t\t\t${tab.label}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t.hidden=${this.activeTab !== tab.value}\n\t\t\t\t\t\t\t\t\tclass=\"border-primary-default absolute bottom-0 inset-x-6 border-solid border-2 rounded-t-full\"\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t\t<section id=\"tabsContent\">\n\t\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab-group': SchmancyTabGroup\n\t}\n}\n","/**\n * Compatibility layer for schmancy-tabs-group (which is the more correct plural form)\n * that aliases to schmancy-tab-group for backward compatibility\n */\nimport SchmancyTabGroup from './tabs-group';\n\n// Create a simple class extends the original tab group\nclass SchmancyTabsGroup extends SchmancyTabGroup {}\n\n// Register the alias element\ncustomElements.define('schmancy-tabs-group', SchmancyTabsGroup);\n\nexport default SchmancyTabsGroup;\n\n// Add the type definition to ensure TypeScript recognizes the element\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-tabs-group': SchmancyTabsGroup;\n }\n}"],"names":["SchmancyTabsModeContext","createContext","SchmancyTab","TailwindElement","css","render","html","this","mode","active","__decorateClass","property","type","String","reflect","prototype","Boolean","consume","context","subscribe","state","customElement","SchmancyTabGroup","constructor","super","arguments","rounded","tabs","connectedCallback","fromEvent","window","pipe","throttleTime","filter","map","closestDiv","closestDistance","Infinity","tabsElements","forEach","div","distance","getBoundingClientRect","top","navElement","clientHeight","document","body","offsetHeight","el","next","activeTab","value","firstUpdated","interval","take","tab","style","paddingTop","hydrateTabs","lastTab","paddingBottom","selectedTab","activeTabElement","scrollIntoView","behavior","block","inline","dispatchEvent","CustomEvent","detail","inactiveTab","classMap","repeat","tabChanged","label","provide","queryAssignedElements","flatten","query","customElements","define"],"mappings":"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"}
|
package/dist/tabs.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./tabs-compatibility-
|
|
1
|
+
"use strict";require("./tabs-compatibility-UitZoxcs.cjs");
|
|
2
2
|
//# sourceMappingURL=tabs.cjs.map
|
package/dist/tabs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./tabs-compatibility-
|
|
1
|
+
import "./tabs-compatibility-8NddfF1x.js";
|
|
2
2
|
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const l=require("lit"),o=require("rxjs"),n=require("rxjs/operators"),h=require("lit/directives/class-map.js"),m=require("lit/directives/style-map.js");function d(e,t=100){const r=`${e}-where-are-you`,a=`${e}-here-i-am`;return new o.Observable(i=>{const p=o.fromEvent(window,a).pipe(n.takeUntil(o.timer(t)),n.map(s=>s.detail.component),n.defaultIfEmpty(null)).subscribe(s=>{i.next(s),i.complete()});return window.dispatchEvent(new CustomEvent(r,{bubbles:!0,composed:!0})),()=>p.unsubscribe()})}const c=e=>class extends e{constructor(){super(...arguments),this.disconnecting=new o.Subject}classMap(t){const r={};return Object.keys(t).forEach(a=>{a.trim().split(" ").filter(Boolean).forEach(i=>{r[i]=t[a]})}),h.classMap(r)}styleMap(t){return m.styleMap(t)}connectedCallback(){super.connectedCallback(),this.setupDiscoveryResponse()}setupDiscoveryResponse(){const t=this.tagName.toLowerCase(),r=`${t}-where-are-you`,a=`${t}-here-i-am`;o.fromEvent(window,r).pipe(n.takeUntil(this.disconnecting)).subscribe(()=>{window.dispatchEvent(new CustomEvent(a,{detail:{component:this},bubbles:!0,composed:!0}))})}discover(t){return d(t)}disconnectedCallback(){this.disconnecting.next(!0),this.disconnecting.complete(),super.disconnectedCallback()}},w=l.unsafeCSS('/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme;@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-4{inset:1rem}.inset-x-6{inset-inline:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-8{top:2rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-\\[calc\\(100\\%\\+8px\\)\\]{left:calc(100% + 8px)}.\\!z-20{z-index:20!important}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-49{z-index:49}.z-50{z-index:50}.z-999,.z-\\[999\\]{z-index:999}.z-\\[1000\\]{z-index:1000}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-1{margin-inline:-.25rem}.mx-auto{margin-inline:auto}.my-0\\.5{margin-block:.125rem}.my-2{margin-block:.5rem}.my-4{margin-block:1rem}.my-6{margin-block:1.5rem}.-mt-2\\.5{margin-top:-.625rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.-mr-1{margin-right:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-\\[4px\\]{margin-bottom:4px}.-ml-2\\.5{margin-left:-.625rem}.-ml-px{margin-left:-1px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.ml-\\[0\\.38em\\]{margin-left:.38em}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.table{display:table}.table-row{display:table-row}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-8{width:2rem;height:2rem}.size-\\[18px\\]{width:18px;height:18px}.h-0\\.5{height:.125rem}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-2{height:.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-64{height:16rem}.h-96{height:24rem}.h-\\[18px\\]{height:18px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-5{max-height:1.25rem}.max-h-96{max-height:24rem}.max-h-\\[70vh\\]{max-height:70vh}.max-h-\\[80vh\\]{max-height:80vh}.max-h-\\[90vh\\]{max-height:90vh}.max-h-\\[calc\\(100vh-40px\\)\\]{max-height:calc(100vh - 40px)}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-12{min-height:3rem}.min-h-14{min-height:3.5rem}.min-h-\\[32px\\]{min-height:32px}.min-h-\\[40px\\]{min-height:40px}.min-h-\\[44px\\]{min-height:44px}.min-h-\\[48px\\]{min-height:48px}.min-h-\\[50px\\]{min-height:50px}.min-h-\\[60px\\]{min-height:60px}.min-h-\\[400px\\]{min-height:400px}.min-h-screen{min-height:100vh}.w-0{width:0}.w-0\\.5{width:.125rem}.w-1\\.5{width:.375rem}.w-2{width:.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-60{width:15rem}.w-64{width:16rem}.w-\\[18px\\]{width:18px}.w-\\[30\\%\\]{width:30%}.w-\\[inherit\\]{width:inherit}.w-\\[var\\(--dialog-width\\)\\]{width:var(--dialog-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:42rem}.max-w-5{max-width:1.25rem}.max-w-14{max-width:3.5rem}.max-w-32{max-width:8rem}.max-w-\\[90vw\\]{max-width:90vw}.max-w-\\[168px\\]{max-width:168px}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[360px\\]{max-width:360px}.max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.min-w-0{min-width:0}.min-w-4{min-width:1rem}.min-w-14{min-width:3.5rem}.min-w-\\[6px\\]{min-width:6px}.min-w-\\[16px\\]{min-width:16px}.min-w-\\[48px\\]{min-width:48px}.min-w-\\[120px\\]{min-width:120px}.min-w-\\[160px\\]{min-width:160px}.min-w-\\[320px\\]{min-width:320px}.min-w-fit{min-width:fit-content}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1{--tw-translate-x: -.25rem ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/4{--tw-translate-y: -25% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-\\[50\\%\\]{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-x-\\[-1\\]{--tw-scale-x:-1;scale:var(--tw-scale-x)var(--tw-scale-y)}.\\[transform\\:translate3d\\(0\\,0\\,0\\)\\]{transform:translate(0)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\\[ripple_600ms_linear\\]{animation:.6s linear ripple}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-default{cursor:default}.cursor-grabbing{cursor:grabbing}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-x{resize:horizontal}.resize-y{resize:vertical}.columns-2{columns:2}.columns-3{columns:3}.auto-cols-max{grid-auto-columns:max-content}.grid-flow-col{grid-auto-flow:column}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-flow-dense{grid-auto-flow:dense}.grid-flow-row{grid-auto-flow:row}.grid-flow-row-dense{grid-auto-flow:dense}.auto-rows-max{grid-auto-rows:max-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-cols-\\[250px_1fr\\]{grid-template-columns:250px 1fr}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.grid-rows-\\[auto_1fr\\]{grid-template-rows:auto 1fr}.grid-rows-\\[auto_1fr_auto\\]{grid-template-rows:auto 1fr auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.content-around{align-content:space-around}.content-between{align-content:space-between}.content-center{align-content:center}.content-end{align-content:flex-end}.content-evenly{align-content:space-evenly}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-baseline{justify-content:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.justify-items-center{justify-items:center}.justify-items-end{justify-items:end}.justify-items-start{justify-items:start}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\\[8px\\]{gap:8px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.25rem *var(--tw-space-y-reverse));margin-block-end:calc(.25rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.5rem *var(--tw-space-y-reverse));margin-block-end:calc(.5rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.75rem *var(--tw-space-y-reverse));margin-block-end:calc(.75rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1rem *var(--tw-space-y-reverse));margin-block-end:calc(1rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1.5rem *var(--tw-space-y-reverse));margin-block-end:calc(1.5rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(2rem *var(--tw-space-y-reverse));margin-block-end:calc(2rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(.5rem *var(--tw-space-x-reverse));margin-inline-end:calc(.5rem *calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:1rem}.rounded-\\[8px\\]{border-radius:8px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-outline,.border-outline\\/20{border-color:var(--schmancy-sys-color-outline)}@supports (color:color-mix(in lab,red,red)){.border-outline\\/20{border-color:color-mix(in oklab,var(--schmancy-sys-color-outline)20%,transparent)}}.border-outlineVariant{border-color:var(--schmancy-sys-color-outlineVariant)}.border-primary-default{border-color:var(--schmancy-sys-color-primary-default)}.border-secondary-container{border-color:var(--schmancy-sys-color-secondary-container)}.border-success-default{border-color:var(--schmancy-sys-color-success-default)}.border-surface-container{border-color:var(--schmancy-sys-color-surface-container)}.border-surface-default{border-color:var(--schmancy-sys-color-surface-default)}.border-transparent{border-color:#0000}.bg-\\[color\\]{background-color:color}.bg-black\\/30{background-color:oklab(0% none none/.3)}.bg-error-container{background-color:var(--schmancy-sys-color-error-container)}.bg-error-default,.bg-error-default\\/70{background-color:var(--schmancy-sys-color-error-default)}@supports (color:color-mix(in lab,red,red)){.bg-error-default\\/70{background-color:color-mix(in oklab,var(--schmancy-sys-color-error-default)70%,transparent)}}.bg-outlineVariant{background-color:var(--schmancy-sys-color-outlineVariant)}.bg-primary-container,.bg-primary-container\\/20{background-color:var(--schmancy-sys-color-primary-container)}@supports (color:color-mix(in lab,red,red)){.bg-primary-container\\/20{background-color:color-mix(in oklab,var(--schmancy-sys-color-primary-container)20%,transparent)}}.bg-primary-default,.bg-primary-default\\/70{background-color:var(--schmancy-sys-color-primary-default)}@supports (color:color-mix(in lab,red,red)){.bg-primary-default\\/70{background-color:color-mix(in oklab,var(--schmancy-sys-color-primary-default)70%,transparent)}}.bg-primary-onContainer{background-color:var(--schmancy-sys-color-primary-onContainer)}.bg-scrim\\/40{background-color:var(--schmancy-sys-color-scrim)}@supports (color:color-mix(in lab,red,red)){.bg-scrim\\/40{background-color:color-mix(in oklab,var(--schmancy-sys-color-scrim)40%,transparent)}}.bg-secondary-container{background-color:var(--schmancy-sys-color-secondary-container)}.bg-secondary-default,.bg-secondary-default\\/70{background-color:var(--schmancy-sys-color-secondary-default)}@supports (color:color-mix(in lab,red,red)){.bg-secondary-default\\/70{background-color:color-mix(in oklab,var(--schmancy-sys-color-secondary-default)70%,transparent)}}.bg-success-container{background-color:var(--schmancy-sys-color-success-container)}.bg-success-default,.bg-success-default\\/70{background-color:var(--schmancy-sys-color-success-default)}@supports (color:color-mix(in lab,red,red)){.bg-success-default\\/70{background-color:color-mix(in oklab,var(--schmancy-sys-color-success-default)70%,transparent)}}.bg-surface-container,.bg-surface-container\\/10{background-color:var(--schmancy-sys-color-surface-container)}@supports (color:color-mix(in lab,red,red)){.bg-surface-container\\/10{background-color:color-mix(in oklab,var(--schmancy-sys-color-surface-container)10%,transparent)}}.bg-surface-container\\/20{background-color:var(--schmancy-sys-color-surface-container)}@supports (color:color-mix(in lab,red,red)){.bg-surface-container\\/20{background-color:color-mix(in oklab,var(--schmancy-sys-color-surface-container)20%,transparent)}}.bg-surface-default{background-color:var(--schmancy-sys-color-surface-default)}.bg-surface-highest{background-color:var(--schmancy-sys-color-surface-highest)}.bg-surface-low{background-color:var(--schmancy-sys-color-surface-low)}.bg-surface-on{background-color:var(--schmancy-sys-color-surface-on)}.bg-tertiary-default,.bg-tertiary-default\\/70{background-color:var(--schmancy-sys-color-tertiary-default)}@supports (color:color-mix(in lab,red,red)){.bg-tertiary-default\\/70{background-color:color-mix(in oklab,var(--schmancy-sys-color-tertiary-default)70%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:#fff}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-surface-on\\/20{--tw-gradient-from:var(--schmancy-sys-color-surface-on)}@supports (color:color-mix(in lab,red,red)){.from-surface-on\\/20{--tw-gradient-from:color-mix(in oklab,var(--schmancy-sys-color-surface-on)20%,transparent)}}.from-surface-on\\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-inline:.25rem}.px-1\\.5{padding-inline:.375rem}.px-2{padding-inline:.5rem}.px-2\\.5{padding-inline:.625rem}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-5{padding-inline:1.25rem}.px-6{padding-inline:1.5rem}.px-\\[6px\\]{padding-inline:6px}.px-\\[8px\\]{padding-inline:8px}.px-\\[12px\\]{padding-inline:12px}.px-\\[16px\\]{padding-inline:16px}.py-0\\.75{padding-block:.1875rem}.py-1{padding-block:.25rem}.py-1\\.5{padding-block:.375rem}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-4{padding-block:1rem}.py-6{padding-block:1.5rem}.py-8{padding-block:2rem}.py-\\[6px\\]{padding-block:6px}.py-\\[8px\\]{padding-block:8px}.py-\\[12px\\]{padding-block:12px}.py-\\[16px\\]{padding-block:16px}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-8{padding-top:2rem}.pt-10{padding-top:2.5rem}.pt-\\[4px\\]{padding-top:4px}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pb-0{padding-bottom:0}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--schmancy-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-2xl{font-size:1.5rem;line-height:var(--tw-leading,calc(2/1.5))}.text-4xl{font-size:2.25rem;line-height:var(--tw-leading,calc(2.5/2.25))}.text-base{font-size:1rem;line-height:var(--tw-leading, 1.5 )}.text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75/1.125))}.text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25/.875))}.text-xl{font-size:1.25rem;line-height:var(--tw-leading,calc(1.75/1.25))}.text-xs{font-size:.75rem;line-height:var(--tw-leading,calc(1/.75))}.text-\\[10px\\]{font-size:10px}.text-\\[18px\\]{font-size:18px}.leading-4{--tw-leading: 1rem ;line-height:1rem}.leading-5{--tw-leading: 1.25rem ;line-height:1.25rem}.leading-6{--tw-leading: 1.5rem ;line-height:1.5rem}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:1.625;line-height:1.625}.leading-tight{--tw-leading:1.25;line-height:1.25}.font-bold{--tw-font-weight:700;font-weight:700}.font-medium{--tw-font-weight:500;font-weight:500}.font-semibold{--tw-font-weight:600;font-weight:600}.tracking-\\[0\\.01em\\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-wide{--tw-tracking:.025em;letter-spacing:.025em}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-error-default{color:var(--schmancy-sys-color-error-default)}.text-error-on{color:var(--schmancy-sys-color-error-on)}.text-primary-default{color:var(--schmancy-sys-color-primary-default)}.text-primary-on{color:var(--schmancy-sys-color-primary-on)}.text-primary-onContainer{color:var(--schmancy-sys-color-primary-onContainer)}.text-secondary-container{color:var(--schmancy-sys-color-secondary-container)}.text-secondary-on{color:var(--schmancy-sys-color-secondary-on)}.text-secondary-onContainer{color:var(--schmancy-sys-color-secondary-onContainer)}.text-surface-on{color:var(--schmancy-sys-color-surface-on)}.text-surface-onVariant{color:var(--schmancy-sys-color-surface-onVariant)}.text-tertiary-default{color:var(--schmancy-sys-color-tertiary-default)}.text-tertiary-on{color:var(--schmancy-sys-color-tertiary-on)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.caret-transparent{caret-color:#0000}.opacity-0{opacity:0}.opacity-1{opacity:.01}.opacity-12{opacity:.12}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-38{opacity:.38}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-95{opacity:.95}.opacity-100{opacity:1}.opacity-\\[0\\.08\\]{opacity:.08}.opacity-\\[0\\.12\\]{opacity:.12}.opacity-\\[0\\.38\\]{opacity:.38}.opacity-\\[var\\(--schmancy-sys-state-disabled-opacity\\)\\]{opacity:var(--schmancy-sys-state-disabled-opacity)}.opacity-\\[var\\(--schmancy-sys-state-pressed-opacity\\)\\]{opacity:var(--schmancy-sys-state-pressed-opacity)}.shadow-1{--tw-shadow:var(--schmancy-sys-elevation-1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_20px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:0 0 20px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_24px_48px_-8px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\,0_12px_24px_-4px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\]{--tw-shadow:0 24px 48px -8px var(--tw-shadow-color,#0003),0 12px 24px -4px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_1px_1px_0_rgba\\(255\\,255\\,255\\,0\\.2\\)\\]{--tw-shadow:inset 0 1px 1px 0 var(--tw-shadow-color,#fff3);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_1px_2px_0_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:inset 0 1px 2px 0 var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-error-default{--tw-ring-color:var(--schmancy-sys-color-error-default)}.ring-outline{--tw-ring-color:var(--schmancy-sys-color-outline)}.ring-primary-default{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.ring-secondary-default{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-secondary-default{outline-color:var(--schmancy-sys-color-secondary-default)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(150%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:cubic-bezier(.4,0,1,1);transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{--tw-ease:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}.\\[contain\\:layout_style\\]{contain:layout style}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[backface-visibility\\:hidden\\]{backface-visibility:hidden}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\\:scale-125:is(:where(.group):hover *){--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\\:border-primary-default:is(:where(.group):hover *){border-color:var(--schmancy-sys-color-primary-default)}.group-hover\\:bg-primary-container:is(:where(.group):hover *){background-color:var(--schmancy-sys-color-primary-container)}.group-hover\\:bg-primary-default:is(:where(.group):hover *){background-color:var(--schmancy-sys-color-primary-default)}.group-hover\\:text-surface-on:is(:where(.group):hover *){color:var(--schmancy-sys-color-surface-on)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\\:shadow-lg:is(:where(.group):hover *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:top-1\\/2:before{content:var(--tw-content);top:50%}.before\\:left-1\\/2:before{content:var(--tw-content);left:50%}.before\\:h-0:before{content:var(--tw-content);height:0}.before\\:h-\\[200\\%\\]:before{content:var(--tw-content);height:200%}.before\\:w-0:before{content:var(--tw-content);width:0}.before\\:w-\\[200\\%\\]:before{content:var(--tw-content);width:200%}.before\\:-translate-x-1\\/2:before{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.before\\:-translate-y-1\\/2:before{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.before\\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\\:bg-current:before{content:var(--tw-content);background-color:currentColor}.before\\:opacity-0:before{content:var(--tw-content);opacity:0}.before\\:opacity-12:before{content:var(--tw-content);opacity:.12}.before\\:transition-all:before{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.before\\:duration-300:before{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}.before\\:content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:right-3:after{content:var(--tw-content);right:.75rem}.after\\:bottom-\\[-4px\\]:after{content:var(--tw-content);bottom:-4px}.after\\:left-3:after{content:var(--tw-content);left:.75rem}.after\\:h-px:after{content:var(--tw-content);height:1px}.after\\:opacity-12:after{content:var(--tw-content);opacity:.12}.focus-within\\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\\:ring-error-default:focus-within{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus-within\\:ring-secondary-default:focus-within{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}@media (hover:hover){.hover\\:z-\\[100\\]:hover{z-index:100}.hover\\:translate-x-0:hover{--tw-translate-x: 0rem ;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-\\[1\\.01\\]:hover{scale:1.01}.hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.hover\\:border-outlineVariant:hover{border-color:var(--schmancy-sys-color-outlineVariant)}.hover\\:bg-error-container:hover{background-color:var(--schmancy-sys-color-error-container)}.hover\\:bg-primary-default:hover{background-color:var(--schmancy-sys-color-primary-default)}.hover\\:bg-primary-on:hover{background-color:var(--schmancy-sys-color-primary-on)}.hover\\:bg-secondary-container:hover{background-color:var(--schmancy-sys-color-secondary-container)}.hover\\:bg-surface-container:hover{background-color:var(--schmancy-sys-color-surface-container)}.hover\\:bg-surface-high:hover{background-color:var(--schmancy-sys-color-surface-high)}.hover\\:bg-surface-on:hover{background-color:var(--schmancy-sys-color-surface-on)}.hover\\:text-error-container:hover{color:var(--schmancy-sys-color-error-container)}.hover\\:text-surface-on:hover{color:var(--schmancy-sys-color-surface-on)}.hover\\:opacity-8:hover{opacity:.08}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-\\[0\\.08\\]:hover{opacity:.08}.hover\\:opacity-\\[var\\(--schmancy-sys-state-hover-opacity\\)\\]:hover{opacity:var(--schmancy-sys-state-hover-opacity)}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-xs:hover{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\\:brightness-\\[0\\.98\\]:hover{--tw-brightness:brightness(.98);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-error-default:focus{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus\\:ring-primary-container:focus{--tw-ring-color:var(--schmancy-sys-color-primary-container)}.focus\\:ring-primary-default:focus{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.focus\\:ring-secondary-default:focus{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-1:focus{outline-style:var(--tw-outline-style);outline-width:1px}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\\:z-1:focus-visible{z-index:1}.focus-visible\\:opacity-\\[var\\(--schmancy-sys-state-focus-opacity\\)\\]:focus-visible{opacity:var(--schmancy-sys-state-focus-opacity)}.focus-visible\\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-0:focus-visible{outline-offset:0px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-primary-default:focus-visible{outline-color:var(--schmancy-sys-color-primary-default)}.focus-visible\\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:brightness-90:active{--tw-brightness:brightness(90%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}@media (min-width:40rem){.sm\\:left-4{left:1rem}.sm\\:-mx-2{margin-inline:-.5rem}.sm\\:mt-1{margin-top:.25rem}.sm\\:mt-4{margin-top:1rem}.sm\\:ml-6{margin-left:1.5rem}.sm\\:ml-10{margin-left:2.5rem}.sm\\:h-6{height:1.5rem}.sm\\:h-12{height:3rem}.sm\\:max-h-6{max-height:1.5rem}.sm\\:min-h-\\[48px\\]{min-height:48px}.sm\\:min-h-\\[56px\\]{min-height:56px}.sm\\:w-6{width:1.5rem}.sm\\:w-auto{width:auto}.sm\\:max-w-6{max-width:1.5rem}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-1\\.5{gap:.375rem}.sm\\:px-2{padding-inline:.5rem}.sm\\:px-3{padding-inline:.75rem}.sm\\:px-6{padding-inline:1.5rem}.sm\\:px-\\[12px\\]{padding-inline:12px}.sm\\:py-1\\.5{padding-block:.375rem}.sm\\:py-2{padding-block:.5rem}.sm\\:py-3{padding-block:.75rem}.sm\\:py-4{padding-block:1rem}.sm\\:pb-4{padding-bottom:1rem}.sm\\:pb-8{padding-bottom:2rem}.sm\\:text-base{font-size:1rem;line-height:var(--tw-leading, 1.5 )}.sm\\:text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75/1.125))}.sm\\:text-\\[16px\\]{font-size:16px}}@media (min-width:48rem){.md\\:block{display:block}.md\\:hidden{display:none}.md\\:min-h-\\[56px\\]{min-height:56px}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:justify-between{justify-content:space-between}.md\\:gap-2{gap:.5rem}.md\\:px-4{padding-inline:1rem}.md\\:px-\\[16px\\]{padding-inline:16px}.md\\:py-2{padding-block:.5rem}.md\\:text-4xl{font-size:2.25rem;line-height:var(--tw-leading,calc(2.5/2.25))}}@media (min-width:64rem){.lg\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:text-5xl{font-size:3rem;line-height:var(--tw-leading,1)}}@media (min-width:80rem){.xl\\:w-1\\/2{width:50%}.xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\\:flex-row{flex-direction:row}}.\\[\\&_\\[slot\\=\\"fab\\"\\]\\]\\:mb-2 [slot=fab]{margin-bottom:.5rem}.\\[\\&_\\[slot\\=\\"menu\\"\\]\\]\\:mb-3 [slot=menu]{margin-bottom:.75rem}.\\[\\&\\>\\.ripple\\]\\:scale-100>.ripple{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}}:host,:root{font-family:var(--schmancy-font-family)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}'),g=e=>{const r=class r extends l.LitElement{};r.styles=[l.unsafeCSS(e),w];let t=r;return t};exports.BaseElement=c,exports.TailwindElement=e=>{class t extends c(g(e)){constructor(){super(...arguments),this.disconnectedCallback=()=>{super.disconnectedCallback()}}}return t},exports.discoverComponent=d,exports.tailwindStyles=w;
|
|
2
|
+
//# sourceMappingURL=tailwind.mixin-2PdnHg0B.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailwind.mixin-
|
|
1
|
+
{"version":3,"file":"tailwind.mixin-2PdnHg0B.cjs","sources":["../mixins/discovery.service.ts","../mixins/baseElement.ts","../mixins/tailwind.mixin.ts"],"sourcesContent":["import { fromEvent, timer, race, Observable } from 'rxjs'\nimport { takeUntil, map, defaultIfEmpty } from 'rxjs/operators'\n\n/**\n * Discover a component in the DOM using the WhereAreYou/HereIAm pattern.\n *\n * @param componentTag - The tag name of the component to discover (e.g., 'schmancy-navigation-rail')\n * @param timeout - How long to wait for a response in milliseconds (default: 100)\n * @returns Observable that emits the discovered component or null if not found\n */\nexport function discoverComponent<T extends HTMLElement>(\n\tcomponentTag: string,\n\ttimeout = 100,\n): Observable<T | null> {\n\tconst whereAreYouEvent = `${componentTag}-where-are-you`\n\tconst hereIAmEvent = `${componentTag}-here-i-am`\n\n\treturn new Observable(subscriber => {\n\t\t// Listen for response first (you were right!)\n\t\tconst subscription = fromEvent<CustomEvent>(window, hereIAmEvent)\n\t\t\t.pipe(\n\t\t\t\ttakeUntil(timer(timeout)),\n\t\t\t\tmap(e => e.detail.component as T),\n\t\t\t\tdefaultIfEmpty(null),\n\t\t\t)\n\t\t\t.subscribe(component => {\n\t\t\t\tsubscriber.next(component)\n\t\t\t\tsubscriber.complete()\n\t\t\t})\n\n\t\t// Then dispatch discovery request\n\t\twindow.dispatchEvent(\n\t\t\tnew CustomEvent(whereAreYouEvent, {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\n\t\t// Return cleanup function\n\t\treturn () => subscription.unsubscribe()\n\t})\n}\n\n/**\n * Discover any of multiple components using race.\n * Returns the first component that responds.\n *\n * @param componentTags - Array of component tag names to discover\n * @returns Observable that emits the first discovered component or null if none found\n */\nexport function discoverAnyComponent<T extends HTMLElement>(...componentTags: string[]): Observable<T | null> {\n\tif (componentTags.length === 0) {\n\t\treturn new Observable(subscriber => {\n\t\t\tsubscriber.next(null)\n\t\t\tsubscriber.complete()\n\t\t})\n\t}\n\n\treturn race(...componentTags.map(tag => discoverComponent<T>(tag)))\n}\n","import type { Constructor } from './constructor'\nimport { LitElement } from 'lit'\nimport { Subject, fromEvent, Observable } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { discoverComponent } from './discovery.service'\n\nexport declare class IBaseMixin {\n\tdisconnecting: Subject<boolean>\n\tclassMap: typeof classMap\n\tstyleMap: typeof styleMap\n\tdiscover<T extends HTMLElement>(tag: string): Observable<T | null>\n}\n\nexport const BaseElement = <T extends Constructor<LitElement>>(superClass: T) => {\n\tclass BaseElement extends superClass {\n\t\tdisconnecting = new Subject<boolean>()\n\n\t\tclassMap(classes: Record<string, boolean>) {\n\t\t\tconst newClasses: Record<string, boolean> = {}\n\t\t\tObject.keys(classes).forEach(key => {\n\t\t\t\tkey\n\t\t\t\t\t.trim()\n\t\t\t\t\t.split(' ')\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.forEach(k => {\n\t\t\t\t\t\tnewClasses[k] = classes[key]\n\t\t\t\t\t})\n\t\t\t})\n\t\t\treturn classMap(newClasses)\n\t\t}\n\n\t\tstyleMap(styles: Record<string, string | number>) {\n\t\t\treturn styleMap(styles)\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback()\n\t\t\tthis.setupDiscoveryResponse()\n\t\t}\n\n\t\tprivate setupDiscoveryResponse() {\n\t\t\tconst tagName = this.tagName.toLowerCase()\n\t\t\tconst whereAreYouEvent = `${tagName}-where-are-you`\n\t\t\tconst hereIAmEvent = `${tagName}-here-i-am`\n\n\t\t\tfromEvent(window, whereAreYouEvent)\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent(hereIAmEvent, {\n\t\t\t\t\t\t\tdetail: { component: this },\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t})\n\t\t}\n\n\t\t// Make discover public to match the interface\n\t\tdiscover<T extends HTMLElement>(tag: string): Observable<T | null> {\n\t\t\treturn discoverComponent<T>(tag)\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tthis.disconnecting.next(true)\n\t\t\tthis.disconnecting.complete()\n\t\t\tsuper.disconnectedCallback()\n\t\t}\n\t}\n\treturn BaseElement as Constructor<IBaseMixin> & T\n}\n","import { CSSResult, LitElement, unsafeCSS } from 'lit'\n\nimport style from './tailwind.css?inline'\nimport { BaseElement, IBaseMixin } from './baseElement'\nimport { Constructor } from './constructor'\n\nexport declare class ITailwindElementMixin {\n\tstyles: (typeof CSSResult)[]\n}\n\nexport const tailwindStyles = unsafeCSS(style)\n\nconst TailwindElementBase = <T extends CSSResult>(componentStyle?: T) => {\n\tclass TailwindMixinClass extends LitElement {\n\t\tstatic styles = [unsafeCSS(componentStyle), tailwindStyles]\n\t}\n\treturn TailwindMixinClass as Constructor<LitElement> /* see \"typing the subclass\" below */\n}\n\nexport const TailwindElement = <T extends CSSResult>(componentStyle?: T) => {\n\tclass TailwindMixinClass extends BaseElement(TailwindElementBase(componentStyle)) {\n\t\tdisconnectedCallback = () => {\n\t\t\tsuper.disconnectedCallback()\n\t\t}\n\t}\n\treturn TailwindMixinClass as Constructor<CustomElementConstructor> &\n\t\tConstructor<ITailwindElementMixin> &\n\t\tConstructor<LitElement> &\n\t\tConstructor<IBaseMixin>\n}\n"],"names":["discoverComponent","componentTag","timeout","whereAreYouEvent","hereIAmEvent","Observable","subscriber","subscription","fromEvent","window","pipe","takeUntil","timer","map","e","detail","component","defaultIfEmpty","subscribe","next","complete","dispatchEvent","CustomEvent","bubbles","composed","unsubscribe","BaseElement","superClass","constructor","super","arguments","this","disconnecting","Subject","classes","newClasses","Object","keys","forEach","key","trim","split","filter","Boolean","k","classMap","styles","styleMap","connectedCallback","setupDiscoveryResponse","tagName","toLowerCase","tag","disconnectedCallback","tailwindStyles","unsafeCSS","TailwindElementBase","componentStyle","TailwindMixinClass","LitElement","_e"],"mappings":"oKAUO,SAASA,EACfC,EACAC,EAAU,IAAA,CAEV,MAAMC,EAAmB,GAAGF,CAAAA,iBACtBG,EAAe,GAAGH,CAAAA,aAExB,OAAO,IAAII,EAAAA,WAAWC,GAAAA,CAErB,MAAMC,EAAeC,EAAAA,UAAuBC,OAAQL,CAAAA,EAClDM,KACAC,YAAUC,EAAAA,MAAMV,CAAAA,CAAAA,EAChBW,EAAAA,IAAIC,GAAKA,EAAEC,OAAOC,SAAAA,EAClBC,EAAAA,eAAe,IAAA,CAAA,EAEfC,UAAUF,GAAAA,CACVV,EAAWa,KAAKH,CAAAA,EAChBV,EAAWc,SAAAA,CAAAA,CAAAA,EAYb,OARAX,OAAOY,cACN,IAAIC,YAAYnB,EAAkB,CACjCoB,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,EAKL,IAAMjB,EAAakB,eAE5B,CC1BO,MAAMC,EAAkDC,GAC9D,cAA0BA,CAAAA,CAA1B,aAAAC,CAAAC,MAAAA,GAAAC,SAAAA,EACCC,KAAAC,cAAgB,IAAIC,SAAiB,CAErC,SAASC,EAAAA,CACR,MAAMC,EAAsC,CAAA,EAU5C,OATAC,OAAOC,KAAKH,CAAAA,EAASI,QAAQC,GAAAA,CAC5BA,EACEC,KAAAA,EACAC,MAAM,GAAA,EACNC,OAAOC,OAAAA,EACPL,QAAQM,GAAAA,CACRT,EAAWS,CAAAA,EAAKV,EAAQK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAGpBM,EAAAA,SAASV,CAAAA,CACjB,CAEA,SAASW,EAAAA,CACR,OAAOC,EAAAA,SAASD,CAAAA,CACjB,CAEA,mBAAAE,CACCnB,MAAMmB,kBAAAA,EACNjB,KAAKkB,uBAAAA,CACN,CAEQ,wBAAAA,CACP,MAAMC,EAAUnB,KAAKmB,QAAQC,YAAAA,EACvBhD,EAAmB,GAAG+C,CAAAA,iBACtB9C,EAAe,GAAG8C,CAAAA,aAExB1C,YAAUC,OAAQN,CAAAA,EAChBO,KAAKC,YAAUoB,KAAKC,aAAAA,CAAAA,EACpBd,UAAU,IAAA,CACVT,OAAOY,cACN,IAAIC,YAAYlB,EAAc,CAC7BW,OAAQ,CAAEC,UAAWe,IAAAA,EACrBR,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAIf,CAGA,SAAgC4B,EAAAA,CAC/B,OAAOpD,EAAqBoD,CAAAA,CAC7B,CAEA,sBAAAC,CACCtB,KAAKC,cAAcb,KAAAA,EAAK,EACxBY,KAAKC,cAAcZ,SAAAA,EACnBS,MAAMwB,qBAAAA,CACP,CAAA,EC3DWC,EAAiBC,EAAAA,k4jDAExBC,EAA4CC,GAAAA,CACjD,MAAMC,EAAN,MAAMA,UAA2BC,EAAAA,UAAAA,CAC0B,EAA1D5B,EAAOe,OAAS,CAACS,EAAAA,UAAUE,CAAAA,EAAiBH,CAAAA,EAD7C,IAAMI,EAANE,EAGA,OAAOF,CAAAA,gDAG6CD,GAAAA,CACpD,MAAMC,UAA2BhC,EAAY8B,EAAoBC,CAAAA,CAAAA,CAAAA,CAAjE,aAAA7B,CAAAC,MAAAA,GAAAC,SAAAA,EACCC,KAAAsB,qBAAuB,IAAA,CACtBxB,MAAMwB,qBAAAA,CAAAA,CACP,CAAA,CAED,OAAOK,CAAAA"}
|