@mhmo91/schmancy 0.5.19 → 0.5.21
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/navigation-bar-item.md +25 -13
- package/ai/navigation-rail.md +475 -0
- package/dist/ai/navigation-bar-item.md +25 -13
- package/dist/ai/navigation-rail.md +475 -0
- package/dist/{animated-text-L4rVnRqB.cjs → animated-text-Bic7z7SI.cjs} +2 -2
- package/dist/{animated-text-L4rVnRqB.cjs.map → animated-text-Bic7z7SI.cjs.map} +1 -1
- package/dist/{animated-text-DbBKOAWI.js → animated-text-CLEr78FV.js} +3 -3
- package/dist/{animated-text-DbBKOAWI.js.map → animated-text-CLEr78FV.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-DsBt1CIM.cjs → area.component-BrvNYy7Z.cjs} +2 -2
- package/dist/{area.component-DsBt1CIM.cjs.map → area.component-BrvNYy7Z.cjs.map} +1 -1
- package/dist/{area.component-eV-v6J5C.js → area.component-tIK_P5JR.js} +3 -3
- package/dist/{area.component-eV-v6J5C.js.map → area.component-tIK_P5JR.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-CTQ6eqYl.js → autocomplete-BG5HqWvt.js} +4 -4
- package/dist/{autocomplete-CTQ6eqYl.js.map → autocomplete-BG5HqWvt.js.map} +1 -1
- package/dist/{autocomplete-DnX6sEMg.cjs → autocomplete-BJ_0fG9s.cjs} +2 -2
- package/dist/{autocomplete-DnX6sEMg.cjs.map → autocomplete-BJ_0fG9s.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-BAaUCxc-.js → avatar--NfBgxWj.js} +50 -50
- package/dist/{avatar-BAaUCxc-.js.map → avatar--NfBgxWj.js.map} +1 -1
- package/dist/{avatar-DwqCiKOy.cjs → avatar-BT1w6myH.cjs} +2 -2
- package/dist/{avatar-DwqCiKOy.cjs.map → avatar-BT1w6myH.cjs.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-CQyUVpLW.js → boat-BdJ1jyK_.js} +2 -2
- package/dist/{boat-CQyUVpLW.js.map → boat-BdJ1jyK_.js.map} +1 -1
- package/dist/{boat-BbF0BpAl.cjs → boat-DP98_5qG.cjs} +2 -2
- package/dist/{boat-BbF0BpAl.cjs.map → boat-DP98_5qG.cjs.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-7annHqhF.js → checkbox-4mBWkzKG.js} +2 -2
- package/dist/{checkbox-7annHqhF.js.map → checkbox-4mBWkzKG.js.map} +1 -1
- package/dist/{checkbox-CI4CDpoS.cjs → checkbox-CIMDI5hW.cjs} +2 -2
- package/dist/{checkbox-CI4CDpoS.cjs.map → checkbox-CIMDI5hW.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-zE_SbNNO.cjs → code-preview-CHuRZ9cY.cjs} +2 -2
- package/dist/{code-preview-zE_SbNNO.cjs.map → code-preview-CHuRZ9cY.cjs.map} +1 -1
- package/dist/{code-preview-Y783aZ7J.js → code-preview-DrB-Y8dn.js} +2 -2
- package/dist/{code-preview-Y783aZ7J.js.map → code-preview-DrB-Y8dn.js.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-Bh2x7nlc.cjs → date-range-B0yz-_Zv.cjs} +2 -2
- package/dist/{date-range-Bh2x7nlc.cjs.map → date-range-B0yz-_Zv.cjs.map} +1 -1
- package/dist/{date-range-BtFn7iGs.js → date-range-CM-5J_JO.js} +3 -3
- package/dist/{date-range-BtFn7iGs.js.map → date-range-CM-5J_JO.js.map} +1 -1
- package/dist/{date-range-inline-BnGPY5ZY.js → date-range-inline-CPI4EyL0.js} +3 -3
- package/dist/{date-range-inline-BnGPY5ZY.js.map → date-range-inline-CPI4EyL0.js.map} +1 -1
- package/dist/{date-range-inline-C_6N7yca.cjs → date-range-inline-P8P2ixg1.cjs} +2 -2
- package/dist/{date-range-inline-C_6N7yca.cjs.map → date-range-inline-P8P2ixg1.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-DgBkfK3a.cjs → delay-1aTGz1ZH.cjs} +2 -2
- package/dist/{delay-DgBkfK3a.cjs.map → delay-1aTGz1ZH.cjs.map} +1 -1
- package/dist/{delay-DafLdRaR.js → delay-Lg_7K_Vi.js} +2 -2
- package/dist/{delay-DafLdRaR.js.map → delay-Lg_7K_Vi.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-89R5QI1S.js → details-gUvX6sxc.js} +2 -2
- package/dist/{details-89R5QI1S.js.map → details-gUvX6sxc.js.map} +1 -1
- package/dist/{details-DpodqE31.cjs → details-uxsPpjMp.cjs} +2 -2
- package/dist/{details-DpodqE31.cjs.map → details-uxsPpjMp.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-S6k16Le_.cjs → dialog-content-CvVd9EwS.cjs} +2 -2
- package/dist/{dialog-content-S6k16Le_.cjs.map → dialog-content-CvVd9EwS.cjs.map} +1 -1
- package/dist/{dialog-content-CGt4hZZn.js → dialog-content-DKLDmgfz.js} +3 -3
- package/dist/{dialog-content-CGt4hZZn.js.map → dialog-content-DKLDmgfz.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-CUFy4oEY.cjs → divider-CHGffGro.cjs} +2 -2
- package/dist/{divider-CUFy4oEY.cjs.map → divider-CHGffGro.cjs.map} +1 -1
- package/dist/{divider-dTggJNS0.js → divider-EvBnlb2a.js} +3 -3
- package/dist/{divider-dTggJNS0.js.map → divider-EvBnlb2a.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-D7dvNRRR.cjs → dropdown-content-FVKimBQR.cjs} +2 -2
- package/dist/{dropdown-content-D7dvNRRR.cjs.map → dropdown-content-FVKimBQR.cjs.map} +1 -1
- package/dist/{dropdown-content-Bty4mF1A.js → dropdown-content-NGBIkvdR.js} +3 -3
- package/dist/{dropdown-content-Bty4mF1A.js.map → dropdown-content-NGBIkvdR.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-Tb0UBtjf.js → email-recipients-CXFSIsL-.js} +5 -5
- package/dist/{email-recipients-Tb0UBtjf.js.map → email-recipients-CXFSIsL-.js.map} +1 -1
- package/dist/{email-recipients-DKDl1Qlt.cjs → email-recipients-DxqCC99q.cjs} +2 -2
- package/dist/{email-recipients-DKDl1Qlt.cjs.map → email-recipients-DxqCC99q.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-CYF9ejQL.js → flex-Cm4nZM9q.js} +2 -2
- package/dist/{flex-CYF9ejQL.js.map → flex-Cm4nZM9q.js.map} +1 -1
- package/dist/{flex-zkXsvBw6.cjs → flex-DisTVvBI.cjs} +2 -2
- package/dist/{flex-zkXsvBw6.cjs.map → flex-DisTVvBI.cjs.map} +1 -1
- package/dist/{form-DdQgacXw.js → form-BU9TBjfk.js} +2 -2
- package/dist/{form-DdQgacXw.js.map → form-BU9TBjfk.js.map} +1 -1
- package/dist/{form-D-CgyzE3.cjs → form-SMbhjYsC.cjs} +2 -2
- package/dist/{form-D-CgyzE3.cjs.map → form-SMbhjYsC.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-C7xna5S7.cjs → formField.mixin-DYkeOpES.cjs} +2 -2
- package/dist/{formField.mixin-C7xna5S7.cjs.map → formField.mixin-DYkeOpES.cjs.map} +1 -1
- package/dist/{formField.mixin-Cc6iv6e6.js → formField.mixin-DxhnL3Kb.js} +2 -2
- package/dist/{formField.mixin-Cc6iv6e6.js.map → formField.mixin-DxhnL3Kb.js.map} +1 -1
- package/dist/{icon-CFM5r0Fm.cjs → icon-BT_1B5_G.cjs} +2 -2
- package/dist/{icon-CFM5r0Fm.cjs.map → icon-BT_1B5_G.cjs.map} +1 -1
- package/dist/{icon-CYqOQBoE.js → icon-Cgd3NUcv.js} +2 -2
- package/dist/{icon-CYqOQBoE.js.map → icon-Cgd3NUcv.js.map} +1 -1
- package/dist/{icon-button-Bf_dCRHx.cjs → icon-button-C5hq1cKD.cjs} +2 -2
- package/dist/{icon-button-Bf_dCRHx.cjs.map → icon-button-C5hq1cKD.cjs.map} +1 -1
- package/dist/{icon-button-BSCcuC7U.js → icon-button-DsjqusZz.js} +3 -3
- package/dist/{icon-button-BSCcuC7U.js.map → icon-button-DsjqusZz.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +49 -49
- package/dist/{input-CNs7L8A9.js → input-Bj4MTOC9.js} +3 -3
- package/dist/{input-CNs7L8A9.js.map → input-Bj4MTOC9.js.map} +1 -1
- package/dist/{input-D9B5aydv.cjs → input-D3qmQZ-Y.cjs} +2 -2
- package/dist/{input-D9B5aydv.cjs.map → input-D3qmQZ-Y.cjs.map} +1 -1
- package/dist/{input-chip-Bu8DLVMh.cjs → input-chip-CbD-eDs-.cjs} +2 -2
- package/dist/{input-chip-Bu8DLVMh.cjs.map → input-chip-CbD-eDs-.cjs.map} +1 -1
- package/dist/{input-chip-CPNF4szF.js → input-chip-DiThsRoi.js} +2 -2
- package/dist/{input-chip-CPNF4szF.js.map → input-chip-DiThsRoi.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-Ds8oKtEs.cjs → list-5Y_CGGJF.cjs} +2 -2
- package/dist/{list-Ds8oKtEs.cjs.map → list-5Y_CGGJF.cjs.map} +1 -1
- package/dist/{list-Cp-TE18p.js → list-CAFpmXsb.js} +2 -2
- package/dist/{list-Cp-TE18p.js.map → list-CAFpmXsb.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-7HEBIRUp.js → litElement.mixin-Bv6DGuhe.js} +2 -2
- package/dist/{litElement.mixin-7HEBIRUp.js.map → litElement.mixin-Bv6DGuhe.js.map} +1 -1
- package/dist/{litElement.mixin-DIoywlzp.cjs → litElement.mixin-rWG9s46P.cjs} +2 -2
- package/dist/{litElement.mixin-DIoywlzp.cjs.map → litElement.mixin-rWG9s46P.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-DRCyozDz.cjs → map-bTOQf8Jm.cjs} +2 -2
- package/dist/{map-DRCyozDz.cjs.map → map-bTOQf8Jm.cjs.map} +1 -1
- package/dist/{map-CaTzsyI7.js → map-yv8FB9mG.js} +2 -2
- package/dist/{map-CaTzsyI7.js.map → map-yv8FB9mG.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-Xr5pO0WU.js → media-CA52MXd3.js} +2 -2
- package/dist/{media-Xr5pO0WU.js.map → media-CA52MXd3.js.map} +1 -1
- package/dist/{media-DdzYh2k5.cjs → media-CPIoKlRw.cjs} +2 -2
- package/dist/{media-DdzYh2k5.cjs.map → media-CPIoKlRw.cjs.map} +1 -1
- package/dist/{menu-C-Lvh3cn.js → menu-BKO9PgJq.js} +3 -3
- package/dist/{menu-C-Lvh3cn.js.map → menu-BKO9PgJq.js.map} +1 -1
- package/dist/{menu-S_OxKAxt.cjs → menu-Cak8SbFx.cjs} +2 -2
- package/dist/{menu-S_OxKAxt.cjs.map → menu-Cak8SbFx.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/navigation-rail-C8OOb0V3.js +564 -0
- package/dist/navigation-rail-C8OOb0V3.js.map +1 -0
- package/dist/navigation-rail-D1iYDMy2.cjs +415 -0
- package/dist/navigation-rail-D1iYDMy2.cjs.map +1 -0
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-Bi9hRE33.cjs → notification-service-DaXxcXyj.cjs} +2 -2
- package/dist/{notification-service-Bi9hRE33.cjs.map → notification-service-DaXxcXyj.cjs.map} +1 -1
- package/dist/{notification-service-36m9Setj.js → notification-service-jfBwJ2TN.js} +4 -4
- package/dist/{notification-service-36m9Setj.js.map → notification-service-jfBwJ2TN.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-BcimHn85.js → notify-C5gy3egX.js} +2 -2
- package/dist/{notify-BcimHn85.js.map → notify-C5gy3egX.js.map} +1 -1
- package/dist/{notify-BLdA7aAa.cjs → notify-Dd5h2l-v.cjs} +2 -2
- package/dist/{notify-BLdA7aAa.cjs.map → notify-Dd5h2l-v.cjs.map} +1 -1
- package/dist/{option-C9QLuFcY.cjs → option-C6PwIhut.cjs} +2 -2
- package/dist/{option-C9QLuFcY.cjs.map → option-C6PwIhut.cjs.map} +1 -1
- package/dist/{option-DwEBerwR.js → option-D7b-uGff.js} +2 -2
- package/dist/{option-DwEBerwR.js.map → option-D7b-uGff.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-DGdRK0yK.cjs → payment-card-form-DTfoZiiN.cjs} +2 -2
- package/dist/{payment-card-form-DGdRK0yK.cjs.map → payment-card-form-DTfoZiiN.cjs.map} +1 -1
- package/dist/{payment-card-form-B1uZ9JUa.js → payment-card-form-xwk5dfeQ.js} +3 -3
- package/dist/{payment-card-form-B1uZ9JUa.js.map → payment-card-form-xwk5dfeQ.js.map} +1 -1
- package/dist/{progress-B3hQmGMa.js → progress-D-5gThOU.js} +2 -2
- package/dist/{progress-B3hQmGMa.js.map → progress-D-5gThOU.js.map} +1 -1
- package/dist/{progress-DQwzTPYM.cjs → progress-sFt6EeRy.cjs} +2 -2
- package/dist/{progress-DQwzTPYM.cjs.map → progress-sFt6EeRy.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-DDE3kwPV.js → radio-button-CZq8Z-V-.js} +3 -3
- package/dist/{radio-button-DDE3kwPV.js.map → radio-button-CZq8Z-V-.js.map} +1 -1
- package/dist/{radio-button-CJhEZw8n.cjs → radio-button-Cc5fCDdU.cjs} +2 -2
- package/dist/{radio-button-CJhEZw8n.cjs.map → radio-button-Cc5fCDdU.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-COzUZD-d.cjs → schmancy-steps-container-Cb-cUZWP.cjs} +2 -2
- package/dist/{schmancy-steps-container-COzUZD-d.cjs.map → schmancy-steps-container-Cb-cUZWP.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-Bk6YDDXz.js → schmancy-steps-container-DkPckhRw.js} +2 -2
- package/dist/{schmancy-steps-container-Bk6YDDXz.js.map → schmancy-steps-container-DkPckhRw.js.map} +1 -1
- package/dist/{select-BKkGETee.js → select-BxlDe36e.js} +27 -21
- package/dist/select-BxlDe36e.js.map +1 -0
- package/dist/select-Cod_lOwT.cjs +57 -0
- package/dist/select-Cod_lOwT.cjs.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-_Nwjk8tC.js → sheet-BscruHZw.js} +3 -3
- package/dist/{sheet-_Nwjk8tC.js.map → sheet-BscruHZw.js.map} +1 -1
- package/dist/{sheet-_3iJjzla.cjs → sheet-ZHVITumf.cjs} +2 -2
- package/dist/{sheet-_3iJjzla.cjs.map → sheet-ZHVITumf.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-CvoNTGfb.cjs → slider-BKUCiMOV.cjs} +2 -2
- package/dist/{slider-CvoNTGfb.cjs.map → slider-BKUCiMOV.cjs.map} +1 -1
- package/dist/{slider-BawxkW-m.js → slider-gBHyj2TC.js} +3 -3
- package/dist/{slider-BawxkW-m.js.map → slider-gBHyj2TC.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CreHceHO.cjs → spinner-CiRbCC74.cjs} +2 -2
- package/dist/{spinner-CreHceHO.cjs.map → spinner-CiRbCC74.cjs.map} +1 -1
- package/dist/{spinner-BSaeqgVi.js → spinner-DZ3oE5cQ.js} +2 -2
- package/dist/{spinner-BSaeqgVi.js.map → spinner-DZ3oE5cQ.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-DgR-hY9P.cjs → suggestion-chip-AVshmS4V.cjs} +2 -2
- package/dist/{suggestion-chip-DgR-hY9P.cjs.map → suggestion-chip-AVshmS4V.cjs.map} +1 -1
- package/dist/{suggestion-chip-Ca9HEISE.js → suggestion-chip-CxQK5dcP.js} +3 -3
- package/dist/{suggestion-chip-Ca9HEISE.js.map → suggestion-chip-CxQK5dcP.js.map} +1 -1
- package/dist/{surface-DssJvvqY.js → surface-C4Lkv6Xu.js} +2 -2
- package/dist/{surface-DssJvvqY.js.map → surface-C4Lkv6Xu.js.map} +1 -1
- package/dist/{surface-FlpARbmi.cjs → surface-DTqeD1NX.cjs} +2 -2
- package/dist/{surface-FlpARbmi.cjs.map → surface-DTqeD1NX.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-DbGq1vlq.cjs → table-CGB_dR8H.cjs} +2 -2
- package/dist/{table-DbGq1vlq.cjs.map → table-CGB_dR8H.cjs.map} +1 -1
- package/dist/{table-DcgdSj1D.js → table-D320TllW.js} +2 -2
- package/dist/{table-DcgdSj1D.js.map → table-D320TllW.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-Lffxgw0G.cjs → tabs-compatibility-C1ifLAs_.cjs} +2 -2
- package/dist/{tabs-compatibility-Lffxgw0G.cjs.map → tabs-compatibility-C1ifLAs_.cjs.map} +1 -1
- package/dist/{tabs-compatibility-yIZW7NeR.js → tabs-compatibility-DNkcL6dE.js} +2 -2
- package/dist/{tabs-compatibility-yIZW7NeR.js.map → tabs-compatibility-DNkcL6dE.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-9XFzAXGw.js +43 -0
- package/dist/{tailwind.mixin-Dj-xh5c5.js.map → tailwind.mixin-9XFzAXGw.js.map} +1 -1
- package/dist/tailwind.mixin-ChrVaJHF.cjs +2 -0
- package/dist/{tailwind.mixin-Dwm4EWu8.cjs.map → tailwind.mixin-ChrVaJHF.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-CwYuTsPD.cjs → textarea-1QvQzHKm.cjs} +2 -2
- package/dist/{textarea-CwYuTsPD.cjs.map → textarea-1QvQzHKm.cjs.map} +1 -1
- package/dist/{textarea-BQ94zdoX.js → textarea-B2U316Um.js} +2 -2
- package/dist/{textarea-BQ94zdoX.js.map → textarea-B2U316Um.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-CvJH2BwY.cjs → theme-button-B0n3kSd_.cjs} +2 -2
- package/dist/{theme-button-CvJH2BwY.cjs.map → theme-button-B0n3kSd_.cjs.map} +1 -1
- package/dist/{theme-button-CKt6f6kw.js → theme-button-zUYywyWx.js} +2 -2
- package/dist/{theme-button-CKt6f6kw.js.map → theme-button-zUYywyWx.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.component-DhaisaKD.cjs → theme.component-BLKJxyFX.cjs} +2 -2
- package/dist/{theme.component-DhaisaKD.cjs.map → theme.component-BLKJxyFX.cjs.map} +1 -1
- package/dist/{theme.component-DcPhAbxK.js → theme.component-DpPMKf8l.js} +2 -2
- package/dist/{theme.component-DcPhAbxK.js.map → theme.component-DpPMKf8l.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-D7Ufhjog.cjs → timezone-DRSCR7bi.cjs} +2 -2
- package/dist/{timezone-D7Ufhjog.cjs.map → timezone-DRSCR7bi.cjs.map} +1 -1
- package/dist/{timezone-ikqEpkrq.js → timezone-DhLUcYcX.js} +3 -3
- package/dist/{timezone-ikqEpkrq.js.map → timezone-DhLUcYcX.js.map} +1 -1
- package/dist/{tooltip-Cod-ciP6.cjs → tooltip-B4nvmANO.cjs} +2 -2
- package/dist/{tooltip-Cod-ciP6.cjs.map → tooltip-B4nvmANO.cjs.map} +1 -1
- package/dist/{tooltip-DQeBYmkT.js → tooltip-tFxYzDct.js} +2 -2
- package/dist/{tooltip-DQeBYmkT.js.map → tooltip-tFxYzDct.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-BL71j34m.js → tree-C9gLZE_E.js} +2 -2
- package/dist/{tree-BL71j34m.js.map → tree-C9gLZE_E.js.map} +1 -1
- package/dist/{tree-DNJ-QNmK.cjs → tree-CRjGBeHH.cjs} +2 -2
- package/dist/{tree-DNJ-QNmK.cjs.map → tree-CRjGBeHH.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-KPl30p8k.js → typewriter-DN9HiCBW.js} +4 -4
- package/dist/{typewriter-KPl30p8k.js.map → typewriter-DN9HiCBW.js.map} +1 -1
- package/dist/{typewriter-HY8FFj0-.cjs → typewriter-VGsKEZOj.cjs} +2 -2
- package/dist/{typewriter-HY8FFj0-.cjs.map → typewriter-VGsKEZOj.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-D5Mf_MlW.js → typography-MN7P8my2.js} +2 -2
- package/dist/{typography-D5Mf_MlW.js.map → typography-MN7P8my2.js.map} +1 -1
- package/dist/{typography-eyw2Cqu6.cjs → typography-XN-pEi3Q.cjs} +2 -2
- package/dist/{typography-eyw2Cqu6.cjs.map → typography-XN-pEi3Q.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/navigation-rail/index.d.ts +1 -1
- package/types/src/navigation-rail/navigation-rail-item.d.ts +89 -9
- package/types/src/navigation-rail/navigation-rail.d.ts +77 -9
- package/types/src/select/select.d.ts +2 -0
- package/dist/navigation-rail-item-CCuC37Dx.cjs +0 -116
- package/dist/navigation-rail-item-CCuC37Dx.cjs.map +0 -1
- package/dist/navigation-rail-item-CZKWN1Ki.js +0 -151
- package/dist/navigation-rail-item-CZKWN1Ki.js.map +0 -1
- package/dist/select-BKkGETee.js.map +0 -1
- package/dist/select-Cc96IjOA.cjs +0 -57
- package/dist/select-Cc96IjOA.cjs.map +0 -1
- package/dist/tailwind.mixin-Dj-xh5c5.js +0 -43
- package/dist/tailwind.mixin-Dwm4EWu8.cjs +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select-BKkGETee.js","sources":["../src/select/select.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyInput from '@schmancy/input/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { css, html, PropertyValues, TemplateResult } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { BehaviorSubject, combineLatest, fromEvent, Subject, takeUntil } from 'rxjs'\nimport { tap, withLatestFrom } from 'rxjs/operators'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport class SchmancySelect extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t[role='listbox'] {\n\t\toverflow-y: auto;\n\t\toutline: none;\n\t}\n`) {\n\t// Form association setup\n\tstatic formAssociated = true\n\tprivate internals?: ElementInternals\n\n\t// API\n\t@property({ type: String }) name: string | undefined\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String, reflect: true })\n\tget value() {\n\t\treturn this.multi\n\t\t\t? this._selectedValues$.value.join(',')\n\t\t\t: this._selectedValue$.value\n\t}\n\tset value(val: string | string[]) {\n\t\tif (this.multi) {\n\t\t\tconst values = Array.isArray(val)\n\t\t\t\t? val\n\t\t\t\t: val ? String(val).split(',').map(v => v.trim()).filter(Boolean) : []\n\t\t\tthis._selectedValues$.next(values)\n\t\t} else {\n\t\t\tthis._selectedValue$.next(String(val || ''))\n\t\t}\n\t}\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\t@property({ type: String }) hint = ''\n\t@property({ type: String }) validateOn: 'always' | 'touched' | 'dirty' | 'submitted' = 'touched'\n\t@property({ type: String }) size: 'sm' | 'md' | 'lg' = 'md'\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private valueLabel = ''\n\t@state() private isValid = true\n\t@property({ type: String }) validationMessage = ''\n\n\t// Store the initial/default value for reset behavior\n\t@state() private defaultValue: string | string[] = ''\n\n\t@query('ul') private ul!: HTMLUListElement\n\t@query('sch-input') private inputRef!: SchmancyInput\n\t@queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n\tprivate cleanupPositioner?: () => void\n\n\t// Reactive state management\n\tprivate _options$ = new BehaviorSubject<SchmancyOption[]>([])\n\tprivate _selectedValue$ = new BehaviorSubject<string>('')\n\tprivate _selectedValues$ = new BehaviorSubject<string[]>([])\n\tprivate _optionSelect$ = new Subject<SchmancyOption>()\n\t@state() _userInteracted = false\n\t@state() private _touched = false\n\t@state() private _dirty = false\n\t@state() private _submitted = false\n\n\t// Reference to current focused option (for keyboard navigation)\n\t@state() private _focusedOptionId = ''\n\n\t// Form event handlers\n\tprivate formSubmitHandler = () => {\n\t\tthis._submitted = true\n\t\tthis.checkValidity()\n\t}\n\n\tprivate formResetHandler = () => {\n\t\tthis.reset()\n\t}\n\n\tconstructor() {\n\t\tsuper()\n\t\t// Initialize ElementInternals for form association\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch (e) {\n\t\t\tconsole.warn('FormAssociated elements not supported in this browser', e)\n\t\t}\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tif (!this.id) {\n\t\t\tthis.id = `schmancy-select-${Math.random().toString(36).substring(2, 9)}`\n\t\t}\n\n\t\t// Store initial value for reset\n\t\tthis.defaultValue = this.value\n\n\t\t// Add keyboard handling to host element\n\t\tfromEvent<KeyboardEvent>(this, 'keydown').pipe(takeUntil(this.disconnecting)).subscribe(this.handleKeyDown)\n\n\t\t// Setup reactive pipelines\n\t\tthis._setupReactivePipelines()\n\n\t\t// Listen for form submission events to mark field as submitted\n\t\tif (this.internals?.form) {\n\t\t\tfromEvent(this.internals.form, 'submit')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(this.formSubmitHandler)\n\n\t\t\t// Listen for form reset\n\t\t\tfromEvent(this.internals.form, 'reset')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(this.formResetHandler)\n\t\t}\n\n\t\t// Initially hide any validation errors until user interacts\n\t\tif (this.inputRef) {\n\t\t\tthis.inputRef.error = false\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.cleanupPositioner?.()\n\t\t// Form event listeners are automatically cleaned up via takeUntil(this.disconnecting)\n\t}\n\n\tfirstUpdated() {\n\t\tthis.syncSelection()\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tupdated(changedProps: PropertyValues) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('value')) {\n\t\t\t// Update form value when component value changes\n\t\t\tconst formValue = Array.isArray(this.value) ? this.value.join(',') : this.value\n\t\t\tthis.internals?.setFormValue(formValue)\n\n\t\t\t// Mark as dirty if value changes from initial value\n\t\t\tif (this.hasUpdated) {\n\t\t\t\tthis._dirty = true\n\t\t\t}\n\n\t\t\t// Check validity based on validation strategy\n\t\t\tif (this.hasUpdated) {\n\t\t\t\tthis.checkValidity()\n\t\t\t}\n\t\t}\n\n\t\t// When open state changes, setup or cleanup the dropdown positioner\n\t\tif (changedProps.has('isOpen')) {\n\t\t\tif (this.isOpen) {\n\t\t\t\tthis.positionDropdown()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Determines if validation errors should be shown based on current state\n\t * and validation strategy\n\t */\n\tprivate shouldShowValidation(forceValidation = false): boolean {\n\t\tif (forceValidation) return true\n\n\t\tswitch (this.validateOn) {\n\t\t\tcase 'always':\n\t\t\t\treturn true\n\t\t\tcase 'touched':\n\t\t\t\treturn this._touched\n\t\t\tcase 'dirty':\n\t\t\t\treturn this._dirty\n\t\t\tcase 'submitted':\n\t\t\t\treturn this._submitted\n\t\t\tdefault:\n\t\t\t\treturn this._touched\n\t\t}\n\t}\n\n\tprivate syncSelection() {\n\t\tif (this.multi) {\n\t\t\t// Read directly from the BehaviorSubject to avoid string conversion issues\n\t\t\tconst selectedValues = this._selectedValues$.value\n\t\t\tthis.options?.forEach(o => (o.selected = selectedValues.includes(o.value))) // Update option selected state\n\t\t\tthis.valueLabel =\n\t\t\t\tselectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t?.filter(o => selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label || o.textContent || '')\n\t\t\t\t\t\t\t.join(', ') || this.placeholder\n\t\t\t\t\t: this.placeholder\n\t\t} else {\n\t\t\t// Single select - read from BehaviorSubject\n\t\t\tconst currentValue = this._selectedValue$.value\n\t\t\tthis.options?.forEach(o => {\n\t\t\t\t// Set selected property on each option based on matching value\n\t\t\t\to.selected = o.value === currentValue\n\t\t\t})\n\t\t\tconst selectedOption = this.options?.find(o => o.value === currentValue)\n\t\t\tthis.valueLabel = selectedOption ? (selectedOption.label || selectedOption.textContent || '') : this.placeholder\n\t\t}\n\t}\n\n\tprivate setupOptionsAccessibility() {\n\t\tthis.options?.forEach((option, index) => {\n\t\t\toption.setAttribute('role', 'option')\n\t\t\tif (!option.id) {\n\t\t\t\toption.id = `${this.id}-option-${index}`\n\t\t\t}\n\n\t\t\t// Set tabindex to -1 so they're focusable programmatically but not in the tab order\n\t\t\toption.tabIndex = -1\n\t\t\tconst selectedValues = Array.isArray(this.value) ? this.value : this.value ? this.value.split(',') : []\n\n\t\t\toption.setAttribute(\n\t\t\t\t'aria-selected',\n\t\t\t\tString(this.multi ? selectedValues.includes(option.value) : option.value === this.value),\n\t\t\t)\n\t\t})\n\t}\n\n\tprivate async positionDropdown() {\n\t\tconst reference = this.renderRoot.querySelector('.trigger') as HTMLElement\n\t\tif (!reference || !this.ul) return\n\n\t\tthis.cleanupPositioner = autoUpdate(reference, this.ul, async () => {\n\t\t\t// Get viewport dimensions\n\t\t\tconst viewportHeight = window.innerHeight\n\t\t\tconst triggerRect = reference.getBoundingClientRect()\n\n\t\t\t// Calculate available space below and above\n\t\t\tconst spaceBelow = viewportHeight - triggerRect.bottom\n\t\t\tconst spaceAbove = triggerRect.top\n\n\t\t\t// Calculate max height - use 75% of the largest available space, but at least 150px\n\t\t\tconst maxHeight = Math.max(Math.max(spaceBelow, spaceAbove) * 0.75, 150)\n\n\t\t\t// Determine if we should flip\n\t\t\tconst shouldFlip = spaceBelow < 200 && spaceAbove > spaceBelow\n\n\t\t\t// Apply max height\n\t\t\tthis.ul.style.maxHeight = `${maxHeight}px`\n\n\t\t\tconst { x, y } = await computePosition(reference, this.ul, {\n\t\t\t\tplacement: shouldFlip ? 'top-start' : 'bottom-start',\n\t\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t\t})\n\n\t\t\tObject.assign(this.ul.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tposition: 'absolute',\n\t\t\t\twidth: `${reference.offsetWidth}px`, // Match the width of the trigger\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\t// Don't handle keyboard events when disabled\n\t\tif (this.disabled) {\n\t\t\treturn\n\t\t}\n\n\t\tif (!this.isOpen) {\n\t\t\tif (['Enter', ' ', 'ArrowDown'].includes(e.key)) {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.openDropdown(false)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\t// Find current focused option\n\t\tconst options = Array.from(this.options || [])\n\t\tconst current = options.findIndex(o => o.id === this._focusedOptionId) ?? -1\n\n\t\tswitch (e.key) {\n\t\t\tcase 'Escape':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.min(current + 1, options.length - 1))\n\t\t\t\tbreak\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.max(current - 1, 0))\n\t\t\t\tbreak\n\t\t\tcase 'Home':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, 0)\n\t\t\t\tbreak\n\t\t\tcase 'End':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, options.length - 1)\n\t\t\t\tbreak\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\te.preventDefault()\n\t\t\t\tif (this._focusedOptionId) {\n\t\t\t\t\tconst focusedOption = options.find(opt => opt.id === this._focusedOptionId)\n\t\t\t\t\tif (focusedOption) {\n\t\t\t\t\t\tthis.handleOptionSelect(focusedOption.value)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'Tab':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tprivate focusOption(options: SchmancyOption[], index: number) {\n\t\tconst option = options[index]\n\t\tif (option) {\n\t\t\toption.focus()\n\t\t\tthis._focusedOptionId = option.id\n\n\t\t\t// Update aria-activedescendant on the combobox\n\t\t\tconst combobox = this.renderRoot.querySelector('.trigger')\n\t\t\tif (combobox) {\n\t\t\t\tcombobox.setAttribute('aria-activedescendant', option.id)\n\t\t\t}\n\n\t\t\t// Ensure option is visible in the scrollable area\n\t\t\tif (this.ul && option.offsetTop !== undefined) {\n\t\t\t\t// Get position info\n\t\t\t\tconst optionTop = option.offsetTop\n\t\t\t\tconst optionHeight = option.offsetHeight\n\t\t\t\tconst scrollTop = this.ul.scrollTop\n\t\t\t\tconst ulHeight = this.ul.clientHeight\n\n\t\t\t\t// Scroll into view if needed\n\t\t\t\tif (optionTop < scrollTop) {\n\t\t\t\t\tthis.ul.scrollTop = optionTop\n\t\t\t\t} else if (optionTop + optionHeight > scrollTop + ulHeight) {\n\t\t\t\t\tthis.ul.scrollTop = optionTop + optionHeight - ulHeight\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async openDropdown(report = false) {\n\t\t// Don't open if disabled\n\t\tif (this.disabled) {\n\t\t\treturn\n\t\t}\n\n\t\t// Don't mark as touched on opening - we'll do that on closing\n\t\t// so errors only show after interaction is complete\n\n\t\tthis.isOpen = true\n\t\tawait this.updateComplete\n\n\t\t// Focus first or selected option\n\t\tconst options = Array.from(this.options || [])\n\t\tconst selectedIndex = this.multi ? 0 : options.findIndex(o => o.value === String(this.value))\n\n\t\tthis.focusOption(options, Math.max(selectedIndex, 0))\n\n\t\t// Don't automatically validate when opening\n\t\t// Only validate if explicitly requested (like from a form submission)\n\t\tif (report) this.reportValidity()\n\t}\n\n\tprivate closeDropdown() {\n\t\t// Only mark as touched if the user actually interacted with the component\n\t\t// and made a selection or explicitly closed it without selecting\n\t\tif (this._userInteracted) {\n\t\t\tthis._touched = true\n\t\t}\n\n\t\tthis.isOpen = false\n\t\tthis._focusedOptionId = ''\n\n\t\t// Update combobox to remove aria-activedescendant\n\t\tconst combobox = this.renderRoot.querySelector<HTMLElement>('.trigger')\n\t\tif (combobox) {\n\t\t\tcombobox.removeAttribute('aria-activedescendant')\n\t\t\tcombobox?.focus()\n\t\t}\n\n\t\t// Only check validity when closing if the user has actually interacted\n\t\t// with the component and validation should be shown\n\t\tif (this._userInteracted && this.shouldShowValidation()) {\n\t\t\tthis.checkValidity()\n\t\t}\n\t}\n\n\tprivate _setupReactivePipelines() {\n\t\t// Listen for option-select events from child options\n\t\tfromEvent<CustomEvent>(this, 'option-select')\n\t\t\t.pipe(\n\t\t\t\ttap((e) => {\n\t\t\t\t\te.stopPropagation() // Prevent event from bubbling further\n\t\t\t\t\tconst option = this.options.find(o => o.value === e.detail.value)\n\t\t\t\t\tif (option) {\n\t\t\t\t\t\tthis._optionSelect$.next(option)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// Handle option selection through reactive pipeline\n\t\tthis._optionSelect$\n\t\t\t.pipe(\n\t\t\t\twithLatestFrom(this._selectedValue$, this._selectedValues$),\n\t\t\t\ttap(([option, _, currentValues]) => {\n\t\t\t\t\tthis._userInteracted = true\n\t\t\t\t\tthis._touched = true\n\t\t\t\t\tthis._dirty = true\n\n\t\t\t\t\tif (this.multi) {\n\t\t\t\t\t\tconst index = currentValues.indexOf(option.value)\n\t\t\t\t\t\tconst newValues = index > -1\n\t\t\t\t\t\t\t? [...currentValues.slice(0, index), ...currentValues.slice(index + 1)]\n\t\t\t\t\t\t\t: [...currentValues, option.value]\n\t\t\t\t\t\tthis._selectedValues$.next(newValues)\n\n\t\t\t\t\t\t// Update display label\n\t\t\t\t\t\tthis.valueLabel = newValues.length > 0\n\t\t\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t\t\t.filter(o => newValues.includes(o.value))\n\t\t\t\t\t\t\t\t\t.map(o => o.label || o.textContent || '')\n\t\t\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t\t\t: this.placeholder\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Single select\n\t\t\t\t\t\tthis._selectedValue$.next(option.value)\n\t\t\t\t\t\tthis.valueLabel = option.label || option.textContent || this.placeholder\n\t\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\t}\n\n\t\t\t\t\t// Update the option's accessibility state\n\t\t\t\t\tthis.setupOptionsAccessibility()\n\n\t\t\t\t\t// Dispatch change event\n\t\t\t\t\tthis._fireChangeEvent()\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// Options management pipeline - bind pointerdown events exactly like autocomplete\n\t\tthis._options$\n\t\t\t.pipe(\n\t\t\t\ttap((options) => {\n\t\t\t\t\toptions.forEach((option, index) => {\n\t\t\t\t\t\toption.setAttribute('role', 'option')\n\t\t\t\t\t\toption.tabIndex = -1\n\t\t\t\t\t\tif (!option.id) {\n\t\t\t\t\t\t\toption.id = `${this.id}-option-${index}`\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Use data-event-bound to prevent duplicate bindings\n\t\t\t\t\t\tif (!option.hasAttribute('data-event-bound')) {\n\t\t\t\t\t\t\tfromEvent(option, 'pointerdown').pipe(\n\t\t\t\t\t\t\t\ttap(e => {\n\t\t\t\t\t\t\t\t\te.preventDefault() // Prevent blur from firing\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t\t\t\t\t).subscribe(() => this._optionSelect$.next(option))\n\t\t\t\t\t\t\toption.setAttribute('data-event-bound', 'true')\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// Selection sync pipeline - sync selected states with value changes\n\t\tcombineLatest([this._selectedValue$, this._selectedValues$, this._options$])\n\t\t\t.pipe(\n\t\t\t\ttap(([singleValue, multiValues, options]) => {\n\t\t\t\t\tif (options.length === 0) return\n\n\t\t\t\t\tif (this.multi) {\n\t\t\t\t\t\toptions.forEach(option => {\n\t\t\t\t\t\t\toption.selected = multiValues.includes(option.value)\n\t\t\t\t\t\t})\n\t\t\t\t\t} else {\n\t\t\t\t\t\toptions.forEach(option => {\n\t\t\t\t\t\t\toption.selected = option.value === singleValue\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tprivate handleOptionSelect(value: string) {\n\t\t// This method is now called from keyboard navigation only\n\t\tconst option = this.options.find(o => o.value === value)\n\t\tif (option) {\n\t\t\tthis._optionSelect$.next(option)\n\t\t}\n\t}\n\n\tprivate _fireChangeEvent() {\n\t\t// Get the current value based on multi/single mode\n\t\tconst value = this.multi ? this._selectedValues$.value : this._selectedValue$.value\n\n\t\t// Dispatch only one change event with the value in detail\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancySelectChangeEvent['detail']>('change', {\n\t\t\t\tdetail: { value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\n\t\t// Then check validity (only show error if validation should be shown)\n\t\tthis.checkValidity()\n\t}\n\n\tpublic checkValidity(): boolean {\n\t\t// Disabled fields are always valid\n\t\tif (this.disabled) {\n\t\t\treturn true\n\t\t}\n\n\t\t// Determine if the select is empty based on whether it's multi-select or single-select\n\t\tconst isEmpty = this.multi ? (Array.isArray(this.value) ? this.value.length === 0 : !this.value) : !this.value\n\n\t\t// Check if the value is valid (not empty when required)\n\t\tconst isValid = !(this.required && isEmpty)\n\n\t\t// Set the validity state\n\t\tthis.isValid = isValid\n\n\t\tif (!this.isValid) {\n\t\t\tthis.validationMessage = 'Please select an option.'\n\t\t\tthis.internals?.setValidity({ valueMissing: true }, 'Please select an option.', this.inputRef)\n\t\t} else {\n\t\t\t// Clear validation message\n\t\t\tthis.validationMessage = ''\n\t\t\tthis.internals?.setValidity({})\n\t\t}\n\n\t\t// Update the input component to reflect our validation state\n\t\tif (this.inputRef && this.hasUpdated) {\n\t\t\tconst showError = !this.isValid && this.shouldShowValidation()\n\t\t\tthis.inputRef.error = showError\n\t\t\tthis.inputRef.hint = showError ? this.validationMessage : this.hint\n\t\t}\n\n\t\treturn this.isValid\n\t}\n\n\tpublic reportValidity(): boolean {\n\t\t// Force validation display regardless of validation strategy\n\t\tconst valid = this.checkValidity()\n\n\t\t// Force the input to show validation errors\n\t\tif (this.inputRef) {\n\t\t\t// Set the input's error state\n\t\t\tthis.inputRef.error = !valid\n\t\t\tthis.inputRef.hint = !valid ? this.validationMessage : this.hint\n\n\t\t\t// If invalid and not already open, automatically open the dropdown to show options\n\t\t\tif (!valid && !this.isOpen) {\n\t\t\t\t// Open the dropdown but don't mark as user interaction yet\n\t\t\t\t// This helps users immediately see available options when validation fails\n\t\t\t\tthis.openDropdown(false)\n\t\t\t}\n\n\t\t\t// Only call reportValidity on the input if invalid to show the native popup\n\t\t\tif (!valid) {\n\t\t\t\tthis.inputRef.reportValidity()\n\t\t\t}\n\t\t}\n\n\t\treturn valid\n\t}\n\n\tpublic setCustomValidity(message: string) {\n\t\tthis.validationMessage = message\n\t\tif (message) {\n\t\t\tthis.isValid = false\n\t\t\tthis.internals?.setValidity({ customError: true }, message, this.inputRef)\n\t\t} else {\n\t\t\tthis.isValid = true\n\t\t\tthis.internals?.setValidity({})\n\t\t}\n\n\t\t// Update input if needed\n\t\tif (this.inputRef && this.shouldShowValidation()) {\n\t\t\tthis.inputRef.error = !this.isValid\n\t\t\tthis.inputRef.hint = !this.isValid ? this.validationMessage : this.hint\n\t\t}\n\t}\n\n\tpublic reset() {\n\t\t// Reset to initial value\n\t\tthis.value = this.defaultValue\n\t\tthis.valueLabel = this.placeholder\n\t\tthis.isValid = true\n\t\tthis.validationMessage = ''\n\t\tthis._touched = false\n\t\tthis._dirty = false\n\t\tthis._submitted = false\n\t\tthis._userInteracted = false\n\t\tthis.internals?.setValidity({})\n\n\t\tif (this.inputRef) {\n\t\t\tthis.inputRef.error = false\n\t\t\tthis.inputRef.hint = this.hint\n\t\t}\n\t}\n\n\trender(): TemplateResult {\n\t\t// Determine if we should show errors based on the validation strategy and interaction\n\t\t// Never show errors on initial render or if the dropdown is open\n\t\tconst showErrors = !this.isValid && this.shouldShowValidation() && !this.isOpen\n\n\t\t// Add caret icon based on open state\n\t\tconst caretIcon = this.isOpen\n\t\t\t? html`<span class=\"absolute right-3 top-1/2 transform -translate-y-1/2\">▲</span>`\n\t\t\t: html`<span class=\"absolute right-3 top-1/2 transform -translate-y-1/2\">▼</span>`\n\n\t\treturn html`\n\t\t\t<div class=\"relative ${this.disabled ? 'opacity-60 cursor-not-allowed' : ''}\">\n\t\t\t\t<sch-input\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\ttabIndex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\tclass=\"trigger\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\taria-autocomplete=\"none\"\n\t\t\t\t\taria-required=${this.required}\n\t\t\t\t\taria-activedescendant=${this._focusedOptionId || undefined}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\t.hint=${showErrors ? this.validationMessage : this.hint}\n\t\t\t\t\t.error=${showErrors}\n\t\t\t\t\t.validateOn=${this.validateOn}\n\t\t\t\t\t.size=${this.size}\n\t\t\t\t\treadonly\n\t\t\t\t\tclickable\n\t\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\t\t// Don't process clicks if disabled\n\t\t\t\t\t\tif (this.disabled) {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// On first click, don't count this as user interaction yet\n\t\t\t\t\t\tif (!this.isOpen) {\n\t\t\t\t\t\t\t// Open without triggering validation - we'll validate when they close\n\t\t\t\t\t\t\tthis.openDropdown(false)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Mark as interacted when they close the dropdown\n\t\t\t\t\t\t\tthis._userInteracted = true\n\t\t\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t${caretIcon}\n\t\t\t\t</sch-input>\n\n\t\t\t\t<!-- Overlay for capturing clicks outside when dropdown is open -->\n\t\t\t\t${this.isOpen\n\t\t\t\t\t? html` <div class=\"fixed inset-0 z-10\" @click=${this.closeDropdown} tabindex=\"-1\" aria-hidden=\"true\"></div> `\n\t\t\t\t\t: ''}\n\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\taria-multiselectable=${this.multi}\n\t\t\t\t\tclass=${classMap({\n\t\t\t\t\t\t'absolute min-w-full w-full z-20 mt-1 rounded-md shadow-lg': true,\n\t\t\t\t\t\thidden: !this.isOpen,\n\t\t\t\t\t})}\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.low,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\t\tthis._options$.next(this.options)\n\t\t\t\t\t\t\t// Sync selection state when options re-render\n\t\t\t\t\t\t\tthis.syncSelection()\n\t\t\t\t\t\t}}\n\t\t\t\t\t></slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\n// Don't export 'select' here as it conflicts with the store's select decorator\n// export const select = SchmancySelect\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-select': SchmancySelect\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","css","super","this","required","disabled","placeholder","multi","label","hint","validateOn","size","isOpen","valueLabel","isValid","validationMessage","defaultValue","_options$","BehaviorSubject","_selectedValue$","_selectedValues$","_optionSelect$","Subject","_userInteracted","_touched","_dirty","_submitted","_focusedOptionId","formSubmitHandler","checkValidity","formResetHandler","reset","handleKeyDown","e","includes","key","preventDefault","openDropdown","options","Array","from","current","findIndex","o","id","closeDropdown","focusOption","Math","min","length","max","focusedOption","find","opt","handleOptionSelect","value","internals","attachInternals","join","val","values","isArray","String","split","map","v","trim","filter","Boolean","next","form","connectedCallback","random","toString","substring","fromEvent","pipe","takeUntil","disconnecting","subscribe","_setupReactivePipelines","inputRef","error","disconnectedCallback","cleanupPositioner","firstUpdated","syncSelection","setupOptionsAccessibility","changedProps","updated","has","formValue","setFormValue","hasUpdated","positionDropdown","forceValidation","selectedValues","forEach","selected","textContent","currentValue","selectedOption","option","index","setAttribute","tabIndex","reference","renderRoot","querySelector","ul","autoUpdate","async","viewportHeight","window","innerHeight","triggerRect","getBoundingClientRect","spaceBelow","bottom","spaceAbove","top","maxHeight","shouldFlip","style","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","left","position","width","offsetWidth","focus","combobox","offsetTop","optionTop","optionHeight","offsetHeight","scrollTop","ulHeight","clientHeight","report","updateComplete","selectedIndex","reportValidity","removeAttribute","shouldShowValidation","tap","stopPropagation","detail","withLatestFrom","_","currentValues","indexOf","newValues","slice","_fireChangeEvent","hasAttribute","combineLatest","singleValue","multiValues","dispatchEvent","CustomEvent","bubbles","composed","isEmpty","setValidity","valueMissing","showError","valid","message","customError","showErrors","caretIcon","html","name","classMap","hidden","color","bgColor","SchmancyTheme","sys","surface","low","on","formAssociated","__decorateClass","property","type","prototype","reflect","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
|
package/dist/select-Cc96IjOA.cjs
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";const d=require("@floating-ui/dom"),o=require("rxjs"),m=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const a=require("lit/decorators.js");require("./tailwind.mixin-Dwm4EWu8.cjs");const v=require("./litElement.mixin-DIoywlzp.cjs"),b=require("./ripple-DqQrvaTe.cjs");require("lit/directives/guard.js");const y=require("./theme.interface-Xg5Zi46a.cjs"),p=require("lit"),c=require("rxjs/operators");var S=Object.defineProperty,g=Object.getOwnPropertyDescriptor,n=(t,e,i,s)=>{for(var l,r=s>1?void 0:s?g(e,i):e,h=t.length-1;h>=0;h--)(l=t[h])&&(r=(s?l(e,i,r):l(r))||r);return s&&r&&S(e,i,r),r};exports.SchmancySelect=class extends v.$LitElement(p.css`
|
|
2
|
-
:host {
|
|
3
|
-
display: block;
|
|
4
|
-
position: relative;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
[role='listbox'] {
|
|
8
|
-
overflow-y: auto;
|
|
9
|
-
outline: none;
|
|
10
|
-
}
|
|
11
|
-
`){constructor(){super(),this.required=!1,this.disabled=!1,this.placeholder="",this.multi=!1,this.label="",this.hint="",this.validateOn="touched",this.size="md",this.isOpen=!1,this.valueLabel="",this.isValid=!0,this.validationMessage="",this.defaultValue="",this._options$=new o.BehaviorSubject([]),this._selectedValue$=new o.BehaviorSubject(""),this._selectedValues$=new o.BehaviorSubject([]),this._optionSelect$=new o.Subject,this._userInteracted=!1,this._touched=!1,this._dirty=!1,this._submitted=!1,this._focusedOptionId="",this.formSubmitHandler=()=>{this._submitted=!0,this.checkValidity()},this.formResetHandler=()=>{this.reset()},this.handleKeyDown=t=>{if(this.disabled)return;if(!this.isOpen)return void(["Enter"," ","ArrowDown"].includes(t.key)&&(t.preventDefault(),this.openDropdown(!1)));const e=Array.from(this.options||[]),i=e.findIndex(s=>s.id===this._focusedOptionId)??-1;switch(t.key){case"Escape":t.preventDefault(),this.closeDropdown();break;case"ArrowDown":t.preventDefault(),this.focusOption(e,Math.min(i+1,e.length-1));break;case"ArrowUp":t.preventDefault(),this.focusOption(e,Math.max(i-1,0));break;case"Home":t.preventDefault(),this.focusOption(e,0);break;case"End":t.preventDefault(),this.focusOption(e,e.length-1);break;case"Enter":case" ":if(t.preventDefault(),this._focusedOptionId){const s=e.find(l=>l.id===this._focusedOptionId);s&&this.handleOptionSelect(s.value)}break;case"Tab":this.closeDropdown()}};try{this.internals=this.attachInternals()}catch{}}get value(){return this.multi?this._selectedValues$.value.join(","):this._selectedValue$.value}set value(t){if(this.multi){const e=Array.isArray(t)?t:t?String(t).split(",").map(i=>i.trim()).filter(Boolean):[];this._selectedValues$.next(e)}else this._selectedValue$.next(String(t||""))}get form(){return this.internals?.form}connectedCallback(){super.connectedCallback(),this.id||(this.id=`schmancy-select-${Math.random().toString(36).substring(2,9)}`),this.defaultValue=this.value,o.fromEvent(this,"keydown").pipe(o.takeUntil(this.disconnecting)).subscribe(this.handleKeyDown),this._setupReactivePipelines(),this.internals?.form&&(o.fromEvent(this.internals.form,"submit").pipe(o.takeUntil(this.disconnecting)).subscribe(this.formSubmitHandler),o.fromEvent(this.internals.form,"reset").pipe(o.takeUntil(this.disconnecting)).subscribe(this.formResetHandler)),this.inputRef&&(this.inputRef.error=!1)}disconnectedCallback(){super.disconnectedCallback(),this.cleanupPositioner?.()}firstUpdated(){this.syncSelection(),this.setupOptionsAccessibility()}updated(t){if(super.updated(t),t.has("value")){const e=Array.isArray(this.value)?this.value.join(","):this.value;this.internals?.setFormValue(e),this.hasUpdated&&(this._dirty=!0),this.hasUpdated&&this.checkValidity()}t.has("isOpen")&&(this.isOpen?this.positionDropdown():this.cleanupPositioner?.())}shouldShowValidation(t=!1){if(t)return!0;switch(this.validateOn){case"always":return!0;case"touched":default:return this._touched;case"dirty":return this._dirty;case"submitted":return this._submitted}}syncSelection(){if(this.multi){const t=this._selectedValues$.value;this.options?.forEach(e=>e.selected=t.includes(e.value)),this.valueLabel=t.length>0&&this.options?.filter(e=>t.includes(e.value)).map(e=>e.label||e.textContent||"").join(", ")||this.placeholder}else{const t=this._selectedValue$.value;this.options?.forEach(i=>{i.selected=i.value===t});const e=this.options?.find(i=>i.value===t);this.valueLabel=e?e.label||e.textContent||"":this.placeholder}}setupOptionsAccessibility(){this.options?.forEach((t,e)=>{t.setAttribute("role","option"),t.id||(t.id=`${this.id}-option-${e}`),t.tabIndex=-1;const i=Array.isArray(this.value)?this.value:this.value?this.value.split(","):[];t.setAttribute("aria-selected",String(this.multi?i.includes(t.value):t.value===this.value))})}async positionDropdown(){const t=this.renderRoot.querySelector(".trigger");t&&this.ul&&(this.cleanupPositioner=d.autoUpdate(t,this.ul,async()=>{const e=window.innerHeight,i=t.getBoundingClientRect(),s=e-i.bottom,l=i.top,r=Math.max(.75*Math.max(s,l),150),h=s<200&&l>s;this.ul.style.maxHeight=`${r}px`;const{x:u,y:f}=await d.computePosition(t,this.ul,{placement:h?"top-start":"bottom-start",middleware:[d.offset(5),d.flip(),d.shift({padding:5})]});Object.assign(this.ul.style,{left:`${u}px`,top:`${f}px`,position:"absolute",width:`${t.offsetWidth}px`})}))}focusOption(t,e){const i=t[e];if(i){i.focus(),this._focusedOptionId=i.id;const s=this.renderRoot.querySelector(".trigger");if(s&&s.setAttribute("aria-activedescendant",i.id),this.ul&&i.offsetTop!==void 0){const l=i.offsetTop,r=i.offsetHeight,h=this.ul.scrollTop,u=this.ul.clientHeight;l<h?this.ul.scrollTop=l:l+r>h+u&&(this.ul.scrollTop=l+r-u)}}}async openDropdown(t=!1){if(this.disabled)return;this.isOpen=!0,await this.updateComplete;const e=Array.from(this.options||[]),i=this.multi?0:e.findIndex(s=>s.value===String(this.value));this.focusOption(e,Math.max(i,0)),t&&this.reportValidity()}closeDropdown(){this._userInteracted&&(this._touched=!0),this.isOpen=!1,this._focusedOptionId="";const t=this.renderRoot.querySelector(".trigger");t&&(t.removeAttribute("aria-activedescendant"),t?.focus()),this._userInteracted&&this.shouldShowValidation()&&this.checkValidity()}_setupReactivePipelines(){o.fromEvent(this,"option-select").pipe(c.tap(t=>{t.stopPropagation();const e=this.options.find(i=>i.value===t.detail.value);e&&this._optionSelect$.next(e)}),o.takeUntil(this.disconnecting)).subscribe(),this._optionSelect$.pipe(c.withLatestFrom(this._selectedValue$,this._selectedValues$),c.tap(([t,e,i])=>{if(this._userInteracted=!0,this._touched=!0,this._dirty=!0,this.multi){const s=i.indexOf(t.value),l=s>-1?[...i.slice(0,s),...i.slice(s+1)]:[...i,t.value];this._selectedValues$.next(l),this.valueLabel=l.length>0?this.options.filter(r=>l.includes(r.value)).map(r=>r.label||r.textContent||"").join(", "):this.placeholder}else this._selectedValue$.next(t.value),this.valueLabel=t.label||t.textContent||this.placeholder,this.closeDropdown();this.setupOptionsAccessibility(),this._fireChangeEvent()}),o.takeUntil(this.disconnecting)).subscribe(),this._options$.pipe(c.tap(t=>{t.forEach((e,i)=>{e.setAttribute("role","option"),e.tabIndex=-1,e.id||(e.id=`${this.id}-option-${i}`),e.hasAttribute("data-event-bound")||(o.fromEvent(e,"pointerdown").pipe(c.tap(s=>{s.preventDefault(),s.stopPropagation()}),o.takeUntil(this.disconnecting)).subscribe(()=>this._optionSelect$.next(e)),e.setAttribute("data-event-bound","true"))})}),o.takeUntil(this.disconnecting)).subscribe(),o.combineLatest([this._selectedValue$,this._selectedValues$,this._options$]).pipe(c.tap(([t,e,i])=>{i.length!==0&&(this.multi?i.forEach(s=>{s.selected=e.includes(s.value)}):i.forEach(s=>{s.selected=s.value===t}))}),o.takeUntil(this.disconnecting)).subscribe()}handleOptionSelect(t){const e=this.options.find(i=>i.value===t);e&&this._optionSelect$.next(e)}_fireChangeEvent(){const t=this.multi?this._selectedValues$.value:this._selectedValue$.value;this.dispatchEvent(new CustomEvent("change",{detail:{value:t},bubbles:!0,composed:!0})),this.checkValidity()}checkValidity(){if(this.disabled)return!0;const t=this.multi&&Array.isArray(this.value)?this.value.length===0:!this.value,e=!(this.required&&t);if(this.isValid=e,this.isValid?(this.validationMessage="",this.internals?.setValidity({})):(this.validationMessage="Please select an option.",this.internals?.setValidity({valueMissing:!0},"Please select an option.",this.inputRef)),this.inputRef&&this.hasUpdated){const i=!this.isValid&&this.shouldShowValidation();this.inputRef.error=i,this.inputRef.hint=i?this.validationMessage:this.hint}return this.isValid}reportValidity(){const t=this.checkValidity();return this.inputRef&&(this.inputRef.error=!t,this.inputRef.hint=t?this.hint:this.validationMessage,t||this.isOpen||this.openDropdown(!1),t||this.inputRef.reportValidity()),t}setCustomValidity(t){this.validationMessage=t,t?(this.isValid=!1,this.internals?.setValidity({customError:!0},t,this.inputRef)):(this.isValid=!0,this.internals?.setValidity({})),this.inputRef&&this.shouldShowValidation()&&(this.inputRef.error=!this.isValid,this.inputRef.hint=this.isValid?this.hint:this.validationMessage)}reset(){this.value=this.defaultValue,this.valueLabel=this.placeholder,this.isValid=!0,this.validationMessage="",this._touched=!1,this._dirty=!1,this._submitted=!1,this._userInteracted=!1,this.internals?.setValidity({}),this.inputRef&&(this.inputRef.error=!1,this.inputRef.hint=this.hint)}render(){const t=!this.isValid&&this.shouldShowValidation()&&!this.isOpen,e=this.isOpen?p.html`<span class="absolute right-3 top-1/2 transform -translate-y-1/2">▲</span>`:p.html`<span class="absolute right-3 top-1/2 transform -translate-y-1/2">▼</span>`;return p.html`
|
|
12
|
-
<div class="relative ${this.disabled?"opacity-60 cursor-not-allowed":""}">
|
|
13
|
-
<sch-input
|
|
14
|
-
.name=${this.name}
|
|
15
|
-
tabIndex=${this.disabled?"-1":"0"}
|
|
16
|
-
class="trigger"
|
|
17
|
-
role="combobox"
|
|
18
|
-
aria-haspopup="listbox"
|
|
19
|
-
aria-expanded=${this.isOpen}
|
|
20
|
-
aria-controls="options"
|
|
21
|
-
aria-autocomplete="none"
|
|
22
|
-
aria-required=${this.required}
|
|
23
|
-
aria-activedescendant=${this._focusedOptionId||void 0}
|
|
24
|
-
aria-disabled=${this.disabled}
|
|
25
|
-
.label=${this.label}
|
|
26
|
-
.placeholder=${this.placeholder}
|
|
27
|
-
.value=${this.valueLabel}
|
|
28
|
-
.required=${this.required}
|
|
29
|
-
.disabled=${this.disabled}
|
|
30
|
-
.hint=${t?this.validationMessage:this.hint}
|
|
31
|
-
.error=${t}
|
|
32
|
-
.validateOn=${this.validateOn}
|
|
33
|
-
.size=${this.size}
|
|
34
|
-
readonly
|
|
35
|
-
clickable
|
|
36
|
-
@click=${i=>{if(this.disabled)return i.preventDefault(),void i.stopPropagation();this.isOpen?(this._userInteracted=!0,this.closeDropdown()):this.openDropdown(!1)}}
|
|
37
|
-
>
|
|
38
|
-
${e}
|
|
39
|
-
</sch-input>
|
|
40
|
-
|
|
41
|
-
<!-- Overlay for capturing clicks outside when dropdown is open -->
|
|
42
|
-
${this.isOpen?p.html` <div class="fixed inset-0 z-10" @click=${this.closeDropdown} tabindex="-1" aria-hidden="true"></div> `:""}
|
|
43
|
-
|
|
44
|
-
<ul
|
|
45
|
-
id="options"
|
|
46
|
-
role="listbox"
|
|
47
|
-
aria-multiselectable=${this.multi}
|
|
48
|
-
class=${m.classMap({"absolute min-w-full w-full z-20 mt-1 rounded-md shadow-lg":!0,hidden:!this.isOpen})}
|
|
49
|
-
${b.color({bgColor:y.SchmancyTheme.sys.color.surface.low,color:y.SchmancyTheme.sys.color.surface.on})}
|
|
50
|
-
>
|
|
51
|
-
<slot
|
|
52
|
-
@slotchange=${()=>{this._options$.next(this.options),this.syncSelection()}}
|
|
53
|
-
></slot>
|
|
54
|
-
</ul>
|
|
55
|
-
</div>
|
|
56
|
-
`}},exports.SchmancySelect.formAssociated=!0,n([a.property({type:String})],exports.SchmancySelect.prototype,"name",2),n([a.property({type:Boolean,reflect:!0})],exports.SchmancySelect.prototype,"required",2),n([a.property({type:Boolean,reflect:!0})],exports.SchmancySelect.prototype,"disabled",2),n([a.property({type:String})],exports.SchmancySelect.prototype,"placeholder",2),n([a.property({type:String,reflect:!0})],exports.SchmancySelect.prototype,"value",1),n([a.property({type:Boolean})],exports.SchmancySelect.prototype,"multi",2),n([a.property({type:String})],exports.SchmancySelect.prototype,"label",2),n([a.property({type:String})],exports.SchmancySelect.prototype,"hint",2),n([a.property({type:String})],exports.SchmancySelect.prototype,"validateOn",2),n([a.property({type:String})],exports.SchmancySelect.prototype,"size",2),n([a.state()],exports.SchmancySelect.prototype,"isOpen",2),n([a.state()],exports.SchmancySelect.prototype,"valueLabel",2),n([a.state()],exports.SchmancySelect.prototype,"isValid",2),n([a.property({type:String})],exports.SchmancySelect.prototype,"validationMessage",2),n([a.state()],exports.SchmancySelect.prototype,"defaultValue",2),n([a.query("ul")],exports.SchmancySelect.prototype,"ul",2),n([a.query("sch-input")],exports.SchmancySelect.prototype,"inputRef",2),n([a.queryAssignedElements({flatten:!0})],exports.SchmancySelect.prototype,"options",2),n([a.state()],exports.SchmancySelect.prototype,"_userInteracted",2),n([a.state()],exports.SchmancySelect.prototype,"_touched",2),n([a.state()],exports.SchmancySelect.prototype,"_dirty",2),n([a.state()],exports.SchmancySelect.prototype,"_submitted",2),n([a.state()],exports.SchmancySelect.prototype,"_focusedOptionId",2),exports.SchmancySelect=n([a.customElement("schmancy-select")],exports.SchmancySelect);
|
|
57
|
-
//# sourceMappingURL=select-Cc96IjOA.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select-Cc96IjOA.cjs","sources":["../src/select/select.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyInput from '@schmancy/input/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { css, html, PropertyValues, TemplateResult } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { BehaviorSubject, combineLatest, fromEvent, Subject, takeUntil } from 'rxjs'\nimport { tap, withLatestFrom } from 'rxjs/operators'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport class SchmancySelect extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t[role='listbox'] {\n\t\toverflow-y: auto;\n\t\toutline: none;\n\t}\n`) {\n\t// Form association setup\n\tstatic formAssociated = true\n\tprivate internals?: ElementInternals\n\n\t// API\n\t@property({ type: String }) name: string | undefined\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String, reflect: true })\n\tget value() {\n\t\treturn this.multi\n\t\t\t? this._selectedValues$.value.join(',')\n\t\t\t: this._selectedValue$.value\n\t}\n\tset value(val: string | string[]) {\n\t\tif (this.multi) {\n\t\t\tconst values = Array.isArray(val)\n\t\t\t\t? val\n\t\t\t\t: val ? String(val).split(',').map(v => v.trim()).filter(Boolean) : []\n\t\t\tthis._selectedValues$.next(values)\n\t\t} else {\n\t\t\tthis._selectedValue$.next(String(val || ''))\n\t\t}\n\t}\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\t@property({ type: String }) hint = ''\n\t@property({ type: String }) validateOn: 'always' | 'touched' | 'dirty' | 'submitted' = 'touched'\n\t@property({ type: String }) size: 'sm' | 'md' | 'lg' = 'md'\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private valueLabel = ''\n\t@state() private isValid = true\n\t@property({ type: String }) validationMessage = ''\n\n\t// Store the initial/default value for reset behavior\n\t@state() private defaultValue: string | string[] = ''\n\n\t@query('ul') private ul!: HTMLUListElement\n\t@query('sch-input') private inputRef!: SchmancyInput\n\t@queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n\tprivate cleanupPositioner?: () => void\n\n\t// Reactive state management\n\tprivate _options$ = new BehaviorSubject<SchmancyOption[]>([])\n\tprivate _selectedValue$ = new BehaviorSubject<string>('')\n\tprivate _selectedValues$ = new BehaviorSubject<string[]>([])\n\tprivate _optionSelect$ = new Subject<SchmancyOption>()\n\t@state() _userInteracted = false\n\t@state() private _touched = false\n\t@state() private _dirty = false\n\t@state() private _submitted = false\n\n\t// Reference to current focused option (for keyboard navigation)\n\t@state() private _focusedOptionId = ''\n\n\t// Form event handlers\n\tprivate formSubmitHandler = () => {\n\t\tthis._submitted = true\n\t\tthis.checkValidity()\n\t}\n\n\tprivate formResetHandler = () => {\n\t\tthis.reset()\n\t}\n\n\tconstructor() {\n\t\tsuper()\n\t\t// Initialize ElementInternals for form association\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch (e) {\n\t\t\tconsole.warn('FormAssociated elements not supported in this browser', e)\n\t\t}\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tif (!this.id) {\n\t\t\tthis.id = `schmancy-select-${Math.random().toString(36).substring(2, 9)}`\n\t\t}\n\n\t\t// Store initial value for reset\n\t\tthis.defaultValue = this.value\n\n\t\t// Add keyboard handling to host element\n\t\tfromEvent<KeyboardEvent>(this, 'keydown').pipe(takeUntil(this.disconnecting)).subscribe(this.handleKeyDown)\n\n\t\t// Setup reactive pipelines\n\t\tthis._setupReactivePipelines()\n\n\t\t// Listen for form submission events to mark field as submitted\n\t\tif (this.internals?.form) {\n\t\t\tfromEvent(this.internals.form, 'submit')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(this.formSubmitHandler)\n\n\t\t\t// Listen for form reset\n\t\t\tfromEvent(this.internals.form, 'reset')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(this.formResetHandler)\n\t\t}\n\n\t\t// Initially hide any validation errors until user interacts\n\t\tif (this.inputRef) {\n\t\t\tthis.inputRef.error = false\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.cleanupPositioner?.()\n\t\t// Form event listeners are automatically cleaned up via takeUntil(this.disconnecting)\n\t}\n\n\tfirstUpdated() {\n\t\tthis.syncSelection()\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tupdated(changedProps: PropertyValues) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('value')) {\n\t\t\t// Update form value when component value changes\n\t\t\tconst formValue = Array.isArray(this.value) ? this.value.join(',') : this.value\n\t\t\tthis.internals?.setFormValue(formValue)\n\n\t\t\t// Mark as dirty if value changes from initial value\n\t\t\tif (this.hasUpdated) {\n\t\t\t\tthis._dirty = true\n\t\t\t}\n\n\t\t\t// Check validity based on validation strategy\n\t\t\tif (this.hasUpdated) {\n\t\t\t\tthis.checkValidity()\n\t\t\t}\n\t\t}\n\n\t\t// When open state changes, setup or cleanup the dropdown positioner\n\t\tif (changedProps.has('isOpen')) {\n\t\t\tif (this.isOpen) {\n\t\t\t\tthis.positionDropdown()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Determines if validation errors should be shown based on current state\n\t * and validation strategy\n\t */\n\tprivate shouldShowValidation(forceValidation = false): boolean {\n\t\tif (forceValidation) return true\n\n\t\tswitch (this.validateOn) {\n\t\t\tcase 'always':\n\t\t\t\treturn true\n\t\t\tcase 'touched':\n\t\t\t\treturn this._touched\n\t\t\tcase 'dirty':\n\t\t\t\treturn this._dirty\n\t\t\tcase 'submitted':\n\t\t\t\treturn this._submitted\n\t\t\tdefault:\n\t\t\t\treturn this._touched\n\t\t}\n\t}\n\n\tprivate syncSelection() {\n\t\tif (this.multi) {\n\t\t\t// Read directly from the BehaviorSubject to avoid string conversion issues\n\t\t\tconst selectedValues = this._selectedValues$.value\n\t\t\tthis.options?.forEach(o => (o.selected = selectedValues.includes(o.value))) // Update option selected state\n\t\t\tthis.valueLabel =\n\t\t\t\tselectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t?.filter(o => selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label || o.textContent || '')\n\t\t\t\t\t\t\t.join(', ') || this.placeholder\n\t\t\t\t\t: this.placeholder\n\t\t} else {\n\t\t\t// Single select - read from BehaviorSubject\n\t\t\tconst currentValue = this._selectedValue$.value\n\t\t\tthis.options?.forEach(o => {\n\t\t\t\t// Set selected property on each option based on matching value\n\t\t\t\to.selected = o.value === currentValue\n\t\t\t})\n\t\t\tconst selectedOption = this.options?.find(o => o.value === currentValue)\n\t\t\tthis.valueLabel = selectedOption ? (selectedOption.label || selectedOption.textContent || '') : this.placeholder\n\t\t}\n\t}\n\n\tprivate setupOptionsAccessibility() {\n\t\tthis.options?.forEach((option, index) => {\n\t\t\toption.setAttribute('role', 'option')\n\t\t\tif (!option.id) {\n\t\t\t\toption.id = `${this.id}-option-${index}`\n\t\t\t}\n\n\t\t\t// Set tabindex to -1 so they're focusable programmatically but not in the tab order\n\t\t\toption.tabIndex = -1\n\t\t\tconst selectedValues = Array.isArray(this.value) ? this.value : this.value ? this.value.split(',') : []\n\n\t\t\toption.setAttribute(\n\t\t\t\t'aria-selected',\n\t\t\t\tString(this.multi ? selectedValues.includes(option.value) : option.value === this.value),\n\t\t\t)\n\t\t})\n\t}\n\n\tprivate async positionDropdown() {\n\t\tconst reference = this.renderRoot.querySelector('.trigger') as HTMLElement\n\t\tif (!reference || !this.ul) return\n\n\t\tthis.cleanupPositioner = autoUpdate(reference, this.ul, async () => {\n\t\t\t// Get viewport dimensions\n\t\t\tconst viewportHeight = window.innerHeight\n\t\t\tconst triggerRect = reference.getBoundingClientRect()\n\n\t\t\t// Calculate available space below and above\n\t\t\tconst spaceBelow = viewportHeight - triggerRect.bottom\n\t\t\tconst spaceAbove = triggerRect.top\n\n\t\t\t// Calculate max height - use 75% of the largest available space, but at least 150px\n\t\t\tconst maxHeight = Math.max(Math.max(spaceBelow, spaceAbove) * 0.75, 150)\n\n\t\t\t// Determine if we should flip\n\t\t\tconst shouldFlip = spaceBelow < 200 && spaceAbove > spaceBelow\n\n\t\t\t// Apply max height\n\t\t\tthis.ul.style.maxHeight = `${maxHeight}px`\n\n\t\t\tconst { x, y } = await computePosition(reference, this.ul, {\n\t\t\t\tplacement: shouldFlip ? 'top-start' : 'bottom-start',\n\t\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t\t})\n\n\t\t\tObject.assign(this.ul.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tposition: 'absolute',\n\t\t\t\twidth: `${reference.offsetWidth}px`, // Match the width of the trigger\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\t// Don't handle keyboard events when disabled\n\t\tif (this.disabled) {\n\t\t\treturn\n\t\t}\n\n\t\tif (!this.isOpen) {\n\t\t\tif (['Enter', ' ', 'ArrowDown'].includes(e.key)) {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.openDropdown(false)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\t// Find current focused option\n\t\tconst options = Array.from(this.options || [])\n\t\tconst current = options.findIndex(o => o.id === this._focusedOptionId) ?? -1\n\n\t\tswitch (e.key) {\n\t\t\tcase 'Escape':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.min(current + 1, options.length - 1))\n\t\t\t\tbreak\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.max(current - 1, 0))\n\t\t\t\tbreak\n\t\t\tcase 'Home':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, 0)\n\t\t\t\tbreak\n\t\t\tcase 'End':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, options.length - 1)\n\t\t\t\tbreak\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\te.preventDefault()\n\t\t\t\tif (this._focusedOptionId) {\n\t\t\t\t\tconst focusedOption = options.find(opt => opt.id === this._focusedOptionId)\n\t\t\t\t\tif (focusedOption) {\n\t\t\t\t\t\tthis.handleOptionSelect(focusedOption.value)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'Tab':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tprivate focusOption(options: SchmancyOption[], index: number) {\n\t\tconst option = options[index]\n\t\tif (option) {\n\t\t\toption.focus()\n\t\t\tthis._focusedOptionId = option.id\n\n\t\t\t// Update aria-activedescendant on the combobox\n\t\t\tconst combobox = this.renderRoot.querySelector('.trigger')\n\t\t\tif (combobox) {\n\t\t\t\tcombobox.setAttribute('aria-activedescendant', option.id)\n\t\t\t}\n\n\t\t\t// Ensure option is visible in the scrollable area\n\t\t\tif (this.ul && option.offsetTop !== undefined) {\n\t\t\t\t// Get position info\n\t\t\t\tconst optionTop = option.offsetTop\n\t\t\t\tconst optionHeight = option.offsetHeight\n\t\t\t\tconst scrollTop = this.ul.scrollTop\n\t\t\t\tconst ulHeight = this.ul.clientHeight\n\n\t\t\t\t// Scroll into view if needed\n\t\t\t\tif (optionTop < scrollTop) {\n\t\t\t\t\tthis.ul.scrollTop = optionTop\n\t\t\t\t} else if (optionTop + optionHeight > scrollTop + ulHeight) {\n\t\t\t\t\tthis.ul.scrollTop = optionTop + optionHeight - ulHeight\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async openDropdown(report = false) {\n\t\t// Don't open if disabled\n\t\tif (this.disabled) {\n\t\t\treturn\n\t\t}\n\n\t\t// Don't mark as touched on opening - we'll do that on closing\n\t\t// so errors only show after interaction is complete\n\n\t\tthis.isOpen = true\n\t\tawait this.updateComplete\n\n\t\t// Focus first or selected option\n\t\tconst options = Array.from(this.options || [])\n\t\tconst selectedIndex = this.multi ? 0 : options.findIndex(o => o.value === String(this.value))\n\n\t\tthis.focusOption(options, Math.max(selectedIndex, 0))\n\n\t\t// Don't automatically validate when opening\n\t\t// Only validate if explicitly requested (like from a form submission)\n\t\tif (report) this.reportValidity()\n\t}\n\n\tprivate closeDropdown() {\n\t\t// Only mark as touched if the user actually interacted with the component\n\t\t// and made a selection or explicitly closed it without selecting\n\t\tif (this._userInteracted) {\n\t\t\tthis._touched = true\n\t\t}\n\n\t\tthis.isOpen = false\n\t\tthis._focusedOptionId = ''\n\n\t\t// Update combobox to remove aria-activedescendant\n\t\tconst combobox = this.renderRoot.querySelector<HTMLElement>('.trigger')\n\t\tif (combobox) {\n\t\t\tcombobox.removeAttribute('aria-activedescendant')\n\t\t\tcombobox?.focus()\n\t\t}\n\n\t\t// Only check validity when closing if the user has actually interacted\n\t\t// with the component and validation should be shown\n\t\tif (this._userInteracted && this.shouldShowValidation()) {\n\t\t\tthis.checkValidity()\n\t\t}\n\t}\n\n\tprivate _setupReactivePipelines() {\n\t\t// Listen for option-select events from child options\n\t\tfromEvent<CustomEvent>(this, 'option-select')\n\t\t\t.pipe(\n\t\t\t\ttap((e) => {\n\t\t\t\t\te.stopPropagation() // Prevent event from bubbling further\n\t\t\t\t\tconst option = this.options.find(o => o.value === e.detail.value)\n\t\t\t\t\tif (option) {\n\t\t\t\t\t\tthis._optionSelect$.next(option)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// Handle option selection through reactive pipeline\n\t\tthis._optionSelect$\n\t\t\t.pipe(\n\t\t\t\twithLatestFrom(this._selectedValue$, this._selectedValues$),\n\t\t\t\ttap(([option, _, currentValues]) => {\n\t\t\t\t\tthis._userInteracted = true\n\t\t\t\t\tthis._touched = true\n\t\t\t\t\tthis._dirty = true\n\n\t\t\t\t\tif (this.multi) {\n\t\t\t\t\t\tconst index = currentValues.indexOf(option.value)\n\t\t\t\t\t\tconst newValues = index > -1\n\t\t\t\t\t\t\t? [...currentValues.slice(0, index), ...currentValues.slice(index + 1)]\n\t\t\t\t\t\t\t: [...currentValues, option.value]\n\t\t\t\t\t\tthis._selectedValues$.next(newValues)\n\n\t\t\t\t\t\t// Update display label\n\t\t\t\t\t\tthis.valueLabel = newValues.length > 0\n\t\t\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t\t\t.filter(o => newValues.includes(o.value))\n\t\t\t\t\t\t\t\t\t.map(o => o.label || o.textContent || '')\n\t\t\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t\t\t: this.placeholder\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Single select\n\t\t\t\t\t\tthis._selectedValue$.next(option.value)\n\t\t\t\t\t\tthis.valueLabel = option.label || option.textContent || this.placeholder\n\t\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\t}\n\n\t\t\t\t\t// Update the option's accessibility state\n\t\t\t\t\tthis.setupOptionsAccessibility()\n\n\t\t\t\t\t// Dispatch change event\n\t\t\t\t\tthis._fireChangeEvent()\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// Options management pipeline - bind pointerdown events exactly like autocomplete\n\t\tthis._options$\n\t\t\t.pipe(\n\t\t\t\ttap((options) => {\n\t\t\t\t\toptions.forEach((option, index) => {\n\t\t\t\t\t\toption.setAttribute('role', 'option')\n\t\t\t\t\t\toption.tabIndex = -1\n\t\t\t\t\t\tif (!option.id) {\n\t\t\t\t\t\t\toption.id = `${this.id}-option-${index}`\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Use data-event-bound to prevent duplicate bindings\n\t\t\t\t\t\tif (!option.hasAttribute('data-event-bound')) {\n\t\t\t\t\t\t\tfromEvent(option, 'pointerdown').pipe(\n\t\t\t\t\t\t\t\ttap(e => {\n\t\t\t\t\t\t\t\t\te.preventDefault() // Prevent blur from firing\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t\t\t\t\t).subscribe(() => this._optionSelect$.next(option))\n\t\t\t\t\t\t\toption.setAttribute('data-event-bound', 'true')\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// Selection sync pipeline - sync selected states with value changes\n\t\tcombineLatest([this._selectedValue$, this._selectedValues$, this._options$])\n\t\t\t.pipe(\n\t\t\t\ttap(([singleValue, multiValues, options]) => {\n\t\t\t\t\tif (options.length === 0) return\n\n\t\t\t\t\tif (this.multi) {\n\t\t\t\t\t\toptions.forEach(option => {\n\t\t\t\t\t\t\toption.selected = multiValues.includes(option.value)\n\t\t\t\t\t\t})\n\t\t\t\t\t} else {\n\t\t\t\t\t\toptions.forEach(option => {\n\t\t\t\t\t\t\toption.selected = option.value === singleValue\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tprivate handleOptionSelect(value: string) {\n\t\t// This method is now called from keyboard navigation only\n\t\tconst option = this.options.find(o => o.value === value)\n\t\tif (option) {\n\t\t\tthis._optionSelect$.next(option)\n\t\t}\n\t}\n\n\tprivate _fireChangeEvent() {\n\t\t// Get the current value based on multi/single mode\n\t\tconst value = this.multi ? this._selectedValues$.value : this._selectedValue$.value\n\n\t\t// Dispatch only one change event with the value in detail\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancySelectChangeEvent['detail']>('change', {\n\t\t\t\tdetail: { value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\n\t\t// Then check validity (only show error if validation should be shown)\n\t\tthis.checkValidity()\n\t}\n\n\tpublic checkValidity(): boolean {\n\t\t// Disabled fields are always valid\n\t\tif (this.disabled) {\n\t\t\treturn true\n\t\t}\n\n\t\t// Determine if the select is empty based on whether it's multi-select or single-select\n\t\tconst isEmpty = this.multi ? (Array.isArray(this.value) ? this.value.length === 0 : !this.value) : !this.value\n\n\t\t// Check if the value is valid (not empty when required)\n\t\tconst isValid = !(this.required && isEmpty)\n\n\t\t// Set the validity state\n\t\tthis.isValid = isValid\n\n\t\tif (!this.isValid) {\n\t\t\tthis.validationMessage = 'Please select an option.'\n\t\t\tthis.internals?.setValidity({ valueMissing: true }, 'Please select an option.', this.inputRef)\n\t\t} else {\n\t\t\t// Clear validation message\n\t\t\tthis.validationMessage = ''\n\t\t\tthis.internals?.setValidity({})\n\t\t}\n\n\t\t// Update the input component to reflect our validation state\n\t\tif (this.inputRef && this.hasUpdated) {\n\t\t\tconst showError = !this.isValid && this.shouldShowValidation()\n\t\t\tthis.inputRef.error = showError\n\t\t\tthis.inputRef.hint = showError ? this.validationMessage : this.hint\n\t\t}\n\n\t\treturn this.isValid\n\t}\n\n\tpublic reportValidity(): boolean {\n\t\t// Force validation display regardless of validation strategy\n\t\tconst valid = this.checkValidity()\n\n\t\t// Force the input to show validation errors\n\t\tif (this.inputRef) {\n\t\t\t// Set the input's error state\n\t\t\tthis.inputRef.error = !valid\n\t\t\tthis.inputRef.hint = !valid ? this.validationMessage : this.hint\n\n\t\t\t// If invalid and not already open, automatically open the dropdown to show options\n\t\t\tif (!valid && !this.isOpen) {\n\t\t\t\t// Open the dropdown but don't mark as user interaction yet\n\t\t\t\t// This helps users immediately see available options when validation fails\n\t\t\t\tthis.openDropdown(false)\n\t\t\t}\n\n\t\t\t// Only call reportValidity on the input if invalid to show the native popup\n\t\t\tif (!valid) {\n\t\t\t\tthis.inputRef.reportValidity()\n\t\t\t}\n\t\t}\n\n\t\treturn valid\n\t}\n\n\tpublic setCustomValidity(message: string) {\n\t\tthis.validationMessage = message\n\t\tif (message) {\n\t\t\tthis.isValid = false\n\t\t\tthis.internals?.setValidity({ customError: true }, message, this.inputRef)\n\t\t} else {\n\t\t\tthis.isValid = true\n\t\t\tthis.internals?.setValidity({})\n\t\t}\n\n\t\t// Update input if needed\n\t\tif (this.inputRef && this.shouldShowValidation()) {\n\t\t\tthis.inputRef.error = !this.isValid\n\t\t\tthis.inputRef.hint = !this.isValid ? this.validationMessage : this.hint\n\t\t}\n\t}\n\n\tpublic reset() {\n\t\t// Reset to initial value\n\t\tthis.value = this.defaultValue\n\t\tthis.valueLabel = this.placeholder\n\t\tthis.isValid = true\n\t\tthis.validationMessage = ''\n\t\tthis._touched = false\n\t\tthis._dirty = false\n\t\tthis._submitted = false\n\t\tthis._userInteracted = false\n\t\tthis.internals?.setValidity({})\n\n\t\tif (this.inputRef) {\n\t\t\tthis.inputRef.error = false\n\t\t\tthis.inputRef.hint = this.hint\n\t\t}\n\t}\n\n\trender(): TemplateResult {\n\t\t// Determine if we should show errors based on the validation strategy and interaction\n\t\t// Never show errors on initial render or if the dropdown is open\n\t\tconst showErrors = !this.isValid && this.shouldShowValidation() && !this.isOpen\n\n\t\t// Add caret icon based on open state\n\t\tconst caretIcon = this.isOpen\n\t\t\t? html`<span class=\"absolute right-3 top-1/2 transform -translate-y-1/2\">▲</span>`\n\t\t\t: html`<span class=\"absolute right-3 top-1/2 transform -translate-y-1/2\">▼</span>`\n\n\t\treturn html`\n\t\t\t<div class=\"relative ${this.disabled ? 'opacity-60 cursor-not-allowed' : ''}\">\n\t\t\t\t<sch-input\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\ttabIndex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\tclass=\"trigger\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\taria-autocomplete=\"none\"\n\t\t\t\t\taria-required=${this.required}\n\t\t\t\t\taria-activedescendant=${this._focusedOptionId || undefined}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\t.hint=${showErrors ? this.validationMessage : this.hint}\n\t\t\t\t\t.error=${showErrors}\n\t\t\t\t\t.validateOn=${this.validateOn}\n\t\t\t\t\t.size=${this.size}\n\t\t\t\t\treadonly\n\t\t\t\t\tclickable\n\t\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\t\t// Don't process clicks if disabled\n\t\t\t\t\t\tif (this.disabled) {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// On first click, don't count this as user interaction yet\n\t\t\t\t\t\tif (!this.isOpen) {\n\t\t\t\t\t\t\t// Open without triggering validation - we'll validate when they close\n\t\t\t\t\t\t\tthis.openDropdown(false)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Mark as interacted when they close the dropdown\n\t\t\t\t\t\t\tthis._userInteracted = true\n\t\t\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t${caretIcon}\n\t\t\t\t</sch-input>\n\n\t\t\t\t<!-- Overlay for capturing clicks outside when dropdown is open -->\n\t\t\t\t${this.isOpen\n\t\t\t\t\t? html` <div class=\"fixed inset-0 z-10\" @click=${this.closeDropdown} tabindex=\"-1\" aria-hidden=\"true\"></div> `\n\t\t\t\t\t: ''}\n\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\taria-multiselectable=${this.multi}\n\t\t\t\t\tclass=${classMap({\n\t\t\t\t\t\t'absolute min-w-full w-full z-20 mt-1 rounded-md shadow-lg': true,\n\t\t\t\t\t\thidden: !this.isOpen,\n\t\t\t\t\t})}\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.low,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\t\tthis._options$.next(this.options)\n\t\t\t\t\t\t\t// Sync selection state when options re-render\n\t\t\t\t\t\t\tthis.syncSelection()\n\t\t\t\t\t\t}}\n\t\t\t\t\t></slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\n// Don't export 'select' here as it conflicts with the store's select decorator\n// export const select = SchmancySelect\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-select': SchmancySelect\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","css","super","this","required","disabled","placeholder","multi","label","hint","validateOn","size","isOpen","valueLabel","isValid","validationMessage","defaultValue","_options$","BehaviorSubject","_selectedValue$","_selectedValues$","_optionSelect$","Subject","_userInteracted","_touched","_dirty","_submitted","_focusedOptionId","formSubmitHandler","checkValidity","formResetHandler","reset","handleKeyDown","e","includes","key","preventDefault","openDropdown","options","Array","from","current","findIndex","o","id","closeDropdown","focusOption","Math","min","length","max","focusedOption","find","opt","handleOptionSelect","value","internals","attachInternals","join","val","values","isArray","String","split","map","v","trim","filter","Boolean","next","form","connectedCallback","random","toString","substring","fromEvent","pipe","takeUntil","disconnecting","subscribe","_setupReactivePipelines","inputRef","error","disconnectedCallback","cleanupPositioner","syncSelection","setupOptionsAccessibility","changedProps","updated","has","formValue","setFormValue","hasUpdated","positionDropdown","forceValidation","selectedValues","forEach","selected","textContent","currentValue","selectedOption","option","index","setAttribute","tabIndex","reference","renderRoot","querySelector","ul","autoUpdate","async","viewportHeight","window","innerHeight","triggerRect","getBoundingClientRect","spaceBelow","bottom","spaceAbove","top","maxHeight","shouldFlip","style","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","left","position","width","offsetWidth","focus","combobox","offsetTop","optionTop","optionHeight","offsetHeight","scrollTop","ulHeight","clientHeight","report","updateComplete","selectedIndex","reportValidity","removeAttribute","shouldShowValidation","tap","stopPropagation","detail","withLatestFrom","_","currentValues","indexOf","newValues","slice","_fireChangeEvent","hasAttribute","combineLatest","singleValue","multiValues","dispatchEvent","CustomEvent","bubbles","composed","isEmpty","setValidity","valueMissing","showError","valid","message","customError","render","showErrors","caretIcon","html","name","classMap","hidden","color","bgColor","SchmancyTheme","sys","surface","low","on","formAssociated","__decorateClass","property","type","prototype","reflect","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { unsafeCSS as o, LitElement as n } from "lit";
|
|
2
|
-
import { Subject as s } from "rxjs";
|
|
3
|
-
import { classMap as l } from "lit/directives/class-map.js";
|
|
4
|
-
import { styleMap as c } from "lit/directives/style-map.js";
|
|
5
|
-
const d = (a) => class extends a {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments), this.disconnecting = new s();
|
|
8
|
-
}
|
|
9
|
-
classMap(r) {
|
|
10
|
-
const t = {};
|
|
11
|
-
return Object.keys(r).forEach((e) => {
|
|
12
|
-
e.trim().split(" ").filter(Boolean).forEach((i) => {
|
|
13
|
-
t[i] = r[e];
|
|
14
|
-
});
|
|
15
|
-
}), l(t);
|
|
16
|
-
}
|
|
17
|
-
styleMap(r) {
|
|
18
|
-
return c(r);
|
|
19
|
-
}
|
|
20
|
-
disconnectedCallback() {
|
|
21
|
-
this.disconnecting.next(!0), this.disconnecting.complete(), super.disconnectedCallback();
|
|
22
|
-
}
|
|
23
|
-
}, w = o('/*! tailwindcss v4.1.11 | 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-divide-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}}}@layer theme{:root,:host{--shadow-0:var(--schmancy-sys-elevation-0);--shadow-1:var(--schmancy-sys-elevation-1);--shadow-2:var(--schmancy-sys-elevation-2);--shadow-3:var(--schmancy-sys-elevation-3);--shadow-4:var(--schmancy-sys-elevation-4);--shadow-5:var(--schmancy-sys-elevation-5)}}@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}:-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:rect(0,0,0,0);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-1{top:-.25rem}.top-0{top:0}.top-1\\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-8{top:2rem}.top-14{top:3.5rem}.-right-1{right:-.25rem}.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}.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-\\[100\\]{z-index:100}.z-\\[1000\\]{z-index:1000}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-full{grid-column:1/-1}.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-4{margin-inline:-1rem}.mx-2{margin-inline:.5rem}.mx-auto{margin-inline:auto}.my-0\\.5{margin-block:.125rem}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-4{margin-block:1rem}.my-6{margin-block:1.5rem}.-mt-12{margin-top:-3rem}.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-12{margin-top:3rem}.-mr-1{margin-right:-.25rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.-mb-4{margin-bottom:-1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mb-\\[4px\\]{margin-bottom:4px}.-ml-px{margin-left:-1px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-\\[0\\.38em\\]{margin-left:.38em}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.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}.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-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-48{height:12rem}.h-64{height:16rem}.h-72{height:18rem}.h-80{height:20rem}.h-96{height:24rem}.h-\\[18px\\]{height:18px}.h-\\[500px\\]{height:500px}.h-\\[600px\\]{height:600px}.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-\\[200px\\]{max-height:200px}.max-h-\\[600px\\]{max-height:600px}.max-h-\\[calc\\(100vh-40px\\)\\]{max-height:calc(100vh - 40px)}.min-h-0{min-height:0}.min-h-32{min-height:8rem}.min-h-48{min-height:12rem}.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-\\[100px\\]{min-height:100px}.min-h-\\[150px\\]{min-height:150px}.min-h-\\[200px\\]{min-height:200px}.min-h-\\[300px\\]{min-height:300px}.min-h-\\[400px\\]{min-height:400px}.min-h-screen{min-height:100vh}.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-8{width:2rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-15{width:3.75rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-48{width:12rem}.w-64{width:16rem}.w-72{width:18rem}.w-80{width:20rem}.w-\\[18px\\]{width:18px}.w-\\[30\\%\\]{width:30%}.w-\\[100vw\\]{width:100vw}.w-\\[inherit\\]{width:inherit}.w-\\[var\\(--dialog-width\\)\\]{width:var(--dialog-width)}.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-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5{max-width:1.25rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-32{max-width:8rem}.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}.max-w-sm{max-width:24rem}.min-w-0{min-width:0}.min-w-16{min-width:4rem}.min-w-48{min-width:12rem}.min-w-\\[6px\\]{min-width:6px}.min-w-\\[16px\\]{min-width:16px}.min-w-\\[48px\\]{min-width:48px}.min-w-\\[60px\\]{min-width:60px}.min-w-\\[120px\\]{min-width:120px}.min-w-\\[150px\\]{min-width:150px}.min-w-\\[160px\\]{min-width:160px}.min-w-\\[200px\\]{min-width:200px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x: 0rem ;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)}.translate-y-0{--tw-translate-y: 0rem ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;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-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;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)}.-skew-x-12{--tw-skew-x:skewX( -12deg );transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0)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}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.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}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.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-\\[250px_1fr\\]{grid-template-columns:250px 1fr}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,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-5{gap:1.25rem}.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)))}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-outline>:not(:last-child)){border-color:var(--schmancy-sys-color-outline)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.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-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-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-4{border-style:var(--tw-border-style);border-width:4px}.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-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.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-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d1d5dc}.border-outline{border-color:var(--schmancy-sys-color-outline)}.border-outline-variant,.border-outline-variant\\/30{border-color:var(--schmancy-sys-color-outlineVariant)}@supports (color:color-mix(in lab,red,red)){.border-outline-variant\\/30{border-color:color-mix(in oklab,var(--schmancy-sys-color-outlineVariant)30%,transparent)}}.border-outline\\/12{border-color:var(--schmancy-sys-color-outline)}@supports (color:color-mix(in lab,red,red)){.border-outline\\/12{border-color:color-mix(in oklab,var(--schmancy-sys-color-outline)12%,transparent)}}.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-container{border-color:var(--schmancy-sys-color-primary-container)}.border-primary-default{border-color:var(--schmancy-sys-color-primary-default)}.border-primary-on{border-color:var(--schmancy-sys-color-primary-on)}.border-primary-onContainer{border-color:var(--schmancy-sys-color-primary-onContainer)}.border-red-500{border-color:#fb2c36}.border-scrim{border-color:var(--schmancy-sys-color-scrim)}.border-secondary-container{border-color:var(--schmancy-sys-color-secondary-container)}.border-success-on{border-color:var(--schmancy-sys-color-success-on)}.border-surface-container{border-color:var(--schmancy-sys-color-surface-container)}.border-surface-default{border-color:var(--schmancy-sys-color-surface-default)}.border-surface-dim{border-color:var(--schmancy-sys-color-surface-dim)}.border-transparent{border-color:#0000}.border-white{border-color:#fff}.bg-\\[color\\]{background-color:color}.bg-black{background-color:#000}.bg-black\\/20{background-color:oklab(0% none none/.2)}.bg-black\\/30{background-color:oklab(0% none none/.3)}.bg-blue-500{background-color:#3280ff;background-color:oklch(62.3% .214 259.815)}.bg-blue-600{background-color:#155dfc}.bg-blue-900{background-color:#1c398e}.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-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-gray-500{background-color:#6a7282}.bg-gray-600{background-color:#4a5565}.bg-green-500{background-color:#00c65a;background-color:oklch(72.3% .219 149.579)}.bg-green-600{background-color:#00a447;background-color:oklch(62.7% .194 149.214)}.bg-indigo-500{background-color:#6260ff;background-color:oklch(58.5% .233 277.117)}.bg-indigo-600{background-color:#4f39f6}.bg-orange-600{background-color:#ec5600;background-color:oklch(64.6% .222 41.116)}.bg-outline-variant{background-color:var(--schmancy-sys-color-outlineVariant)}.bg-pink-500{background-color:#f6339a}.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-on{background-color:var(--schmancy-sys-color-primary-on)}.bg-primary-onContainer{background-color:var(--schmancy-sys-color-primary-onContainer)}.bg-purple-500{background-color:#ab4eff;background-color:oklch(62.7% .265 303.9)}.bg-purple-600{background-color:#9810fa}.bg-red-500{background-color:#fb2c36}.bg-red-600{background-color:#e40014;background-color:oklch(57.7% .245 27.325)}.bg-scrim,.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-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-bright{background-color:var(--schmancy-sys-color-surface-bright)}.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-dim{background-color:var(--schmancy-sys-color-surface-dim)}.bg-surface-high{background-color:var(--schmancy-sys-color-surface-high)}.bg-surface-highest{background-color:var(--schmancy-sys-color-surface-highest)}.bg-surface-low{background-color:var(--schmancy-sys-color-surface-low)}.bg-surface-lowest{background-color:var(--schmancy-sys-color-surface-lowest)}.bg-surface-on{background-color:var(--schmancy-sys-color-surface-on)}.bg-teal-500{background-color:#00b9a6;background-color:oklch(70.4% .14 182.503)}.bg-tertiary-container{background-color:var(--schmancy-sys-color-tertiary-container)}.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-yellow-500{background-color:#eab300;background-color:oklch(79.5% .184 86.047)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from:oklch(62.3% .214 259.815);--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))}.from-indigo-600{--tw-gradient-from:oklch(51.1% .262 276.966);--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))}.from-primary-container{--tw-gradient-from:var(--schmancy-sys-color-primary-container);--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))}.from-purple-500{--tw-gradient-from:oklch(62.7% .265 303.9);--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))}.from-secondary-container{--tw-gradient-from:var(--schmancy-sys-color-secondary-container);--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))}.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))}.from-tertiary-container{--tw-gradient-from:var(--schmancy-sys-color-tertiary-container);--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))}.from-transparent{--tw-gradient-from: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))}.via-purple-600{--tw-gradient-via:oklch(55.8% .288 302.321);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\\/10{--tw-gradient-via:oklab(100% 0 5.96046e-8/.1);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-pink-500{--tw-gradient-to:oklch(65.6% .241 354.308);--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-pink-600{--tw-gradient-to:oklch(59.2% .249 .584);--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-primary-container{--tw-gradient-to:var(--schmancy-sys-color-primary-container);--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-secondary-container{--tw-gradient-to:var(--schmancy-sys-color-secondary-container);--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-teal-500{--tw-gradient-to:oklch(70.4% .14 182.503);--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-tertiary-container{--tw-gradient-to:var(--schmancy-sys-color-tertiary-container);--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-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.\\!px-2{padding-inline:.5rem!important}.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}.\\!py-1{padding-block:.25rem!important}.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}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.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-2{padding-bottom:.5rem}.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-6{padding-left:1.5rem}.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}.text-\\[24px\\]{font-size:24px}.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}.whitespace-pre-wrap{white-space:pre-wrap}.text-error-container{color:var(--schmancy-sys-color-error-container)}.text-error-default{color:var(--schmancy-sys-color-error-default)}.text-error-on{color:var(--schmancy-sys-color-error-on)}.text-error-onContainer{color:var(--schmancy-sys-color-error-onContainer)}.text-gray-500{color:#6a7282}.text-gray-600{color:#4a5565}.text-green-600{color:#00a447;color:oklch(62.7% .194 149.214)}.text-outline{color:var(--schmancy-sys-color-outline)}.text-outlineVariant{color:var(--schmancy-sys-color-outlineVariant)}.text-primary-container{color:var(--schmancy-sys-color-primary-container)}.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-red-500{color:#fb2c36}.text-red-600{color:#e40014;color:oklch(57.7% .245 27.325)}.text-scrim{color:var(--schmancy-sys-color-scrim)}.text-secondary-default{color:var(--schmancy-sys-color-secondary-default)}.text-secondary-on{color:var(--schmancy-sys-color-secondary-on)}.text-secondary-onContainer{color:var(--schmancy-sys-color-secondary-onContainer)}.text-success-default{color:var(--schmancy-sys-color-success-default)}.text-surface-bright{color:var(--schmancy-sys-color-surface-bright)}.text-surface-dim{color:var(--schmancy-sys-color-surface-dim)}.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)}.text-white{color:#fff}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.caret-transparent{caret-color:#0000}.opacity-0{opacity:0}.opacity-1{opacity:.01}.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-75{opacity:.75}.opacity-\\[0\\.1\\]{opacity:.1}.opacity-\\[0\\.08\\]{opacity:.08}.opacity-\\[0\\.12\\]{opacity:.12}.opacity-\\[0\\.38\\]{opacity:.38}.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-\\[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)}.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,visibility,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-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)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}:is(.\\*\\:-ml-2>*){margin-left:-.5rem}:is(.\\*\\:-ml-3>*){margin-left:-.75rem}:is(.\\*\\:border-2>*){border-style:var(--tw-border-style);border-width:2px}@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)}}.first\\:mt-0:first-child{margin-top:0}.last\\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.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\\:mr-3:hover{margin-right:.75rem}.hover\\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.hover\\:rounded-r-full:hover{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.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-green-700:hover{background-color:#00813a;background-color:oklch(52.7% .154 150.069)}.hover\\:bg-orange-700:hover{background-color:#c43e00;background-color:oklch(55.3% .195 38.402)}.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-red-700:hover{background-color:#bf000f;background-color:oklch(50.5% .213 27.518)}.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-primary-default:hover{color:var(--schmancy-sys-color-primary-default)}.hover\\:text-surface-on:hover{color:var(--schmancy-sys-color-surface-on)}.hover\\:opacity-\\[0\\.04\\]:hover{opacity:.04}.hover\\:opacity-\\[0\\.08\\]:hover{opacity:.08}.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-\\[0\\.1\\]:focus-visible{opacity:.1}.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)}.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\\:flex-1{flex:1}.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\\:right-0{right:0}.md\\:left-\\[unset\\]{left:unset}.md\\:col-span-2{grid-column:span 2/span 2}.md\\:block{display:block}.md\\:hidden{display:none}.md\\:h-auto{height:auto}.md\\:min-h-\\[56px\\]{min-height:56px}.md\\:w-48{width:12rem}.md\\:w-64{width:16rem}.md\\:w-\\[70vw\\]{width:70vw}.md\\:w-auto{width:auto}.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-4{grid-template-columns:repeat(4,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}}@media (min-width:64rem){.lg\\:col-span-2{grid-column:span 2/span 2}.lg\\:w-\\[60vw\\]{width:60vw}.lg\\:w-auto{width:auto}.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))}}@media (min-width:80rem){.xl\\:w-1\\/2{width:50%}.xl\\:w-\\[40vw\\]{width:40vw}.xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\\:flex-row{flex-direction:row}}}: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-divide-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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}'), p = (a) => {
|
|
24
|
-
const t = class t extends n {
|
|
25
|
-
};
|
|
26
|
-
t.styles = [o(a), w];
|
|
27
|
-
let r = t;
|
|
28
|
-
return r;
|
|
29
|
-
}, b = (a) => {
|
|
30
|
-
class r extends d(p(a)) {
|
|
31
|
-
constructor() {
|
|
32
|
-
super(...arguments), this.disconnectedCallback = () => {
|
|
33
|
-
super.disconnectedCallback();
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return r;
|
|
38
|
-
};
|
|
39
|
-
export {
|
|
40
|
-
d as B,
|
|
41
|
-
b as T
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=tailwind.mixin-Dj-xh5c5.js.map
|