@mhmo91/schmancy 0.7.7 → 0.8.4
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/audio.md +241 -0
- package/ai/content-drawer.md +163 -70
- package/ai/lightbox.md +381 -0
- package/ai/typography.md +75 -49
- package/dist/ai/audio.md +241 -0
- package/dist/ai/content-drawer.md +163 -70
- package/dist/ai/lightbox.md +381 -0
- package/dist/ai/typography.md +75 -49
- package/dist/{animated-text-Be290e6l.cjs → animated-text-B3DQRJBy.cjs} +2 -2
- package/dist/{animated-text-Be290e6l.cjs.map → animated-text-B3DQRJBy.cjs.map} +1 -1
- package/dist/{animated-text-DuLrWJ6O.js → animated-text-BAj4-6hE.js} +3 -3
- package/dist/{animated-text-DuLrWJ6O.js.map → animated-text-BAj4-6hE.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-BzjJiNTJ.js → area.component-CP4DZ0d8.js} +104 -98
- package/dist/area.component-CP4DZ0d8.js.map +1 -0
- package/dist/area.component-ChxSLt16.cjs +12 -0
- package/dist/area.component-ChxSLt16.cjs.map +1 -0
- package/dist/area.js +1 -1
- package/dist/audio.cjs +2 -0
- package/dist/audio.cjs.map +1 -0
- package/dist/audio.js +9 -0
- package/dist/audio.js.map +1 -0
- package/dist/{autocomplete-CHmGhBNt.cjs → autocomplete-CAaVSg4g.cjs} +2 -2
- package/dist/{autocomplete-CHmGhBNt.cjs.map → autocomplete-CAaVSg4g.cjs.map} +1 -1
- package/dist/{autocomplete-FLkd9ju8.js → autocomplete-CGbACUYd.js} +4 -4
- package/dist/{autocomplete-FLkd9ju8.js.map → autocomplete-CGbACUYd.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatar-nWOZXEsW.cjs +273 -0
- package/dist/avatar-nWOZXEsW.cjs.map +1 -0
- package/dist/{avatar-C8P4lVfa.js → avatar-rLCF6MSI.js} +244 -259
- package/dist/avatar-rLCF6MSI.js.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-Ma6LW-ny.js → boat-Ckt9v__d.js} +6 -6
- package/dist/{boat-Ma6LW-ny.js.map → boat-Ckt9v__d.js.map} +1 -1
- package/dist/{boat-kYOUec8f.cjs → boat-yNAZ2LLB.cjs} +5 -5
- package/dist/{boat-kYOUec8f.cjs.map → boat-yNAZ2LLB.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/charts.cjs +2 -0
- package/dist/charts.cjs.map +1 -0
- package/dist/charts.js +9 -0
- package/dist/charts.js.map +1 -0
- package/dist/{checkbox-DLZkKaon.cjs → checkbox-BnAlpsJN.cjs} +2 -2
- package/dist/{checkbox-DLZkKaon.cjs.map → checkbox-BnAlpsJN.cjs.map} +1 -1
- package/dist/{checkbox-x46L-XTG.js → checkbox-D22yfGe3.js} +6 -6
- package/dist/{checkbox-x46L-XTG.js.map → checkbox-D22yfGe3.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-C3DLglSl.js → code-preview-DPlQayFd.js} +3 -3
- package/dist/{code-preview-C3DLglSl.js.map → code-preview-DPlQayFd.js.map} +1 -1
- package/dist/{code-preview-BsQq77nu.cjs → code-preview-jPnX60FF.cjs} +2 -2
- package/dist/{code-preview-BsQq77nu.cjs.map → code-preview-jPnX60FF.cjs.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/{context-create-BvxbWTgj.js → context-create-B_S-sD5B.js} +69 -57
- package/dist/context-create-B_S-sD5B.js.map +1 -0
- package/dist/context-create-DTybDbZp.cjs +2 -0
- package/dist/context-create-DTybDbZp.cjs.map +1 -0
- package/dist/date-range-GFm5NG33.js +639 -0
- package/dist/date-range-GFm5NG33.js.map +1 -0
- package/dist/{date-range-inline-cGptw0hr.cjs → date-range-inline-CgX2o0FP.cjs} +2 -2
- package/dist/{date-range-inline-cGptw0hr.cjs.map → date-range-inline-CgX2o0FP.cjs.map} +1 -1
- package/dist/{date-range-inline-CfDu-lIo.js → date-range-inline-DTQLESAZ.js} +3 -3
- package/dist/{date-range-inline-CfDu-lIo.js.map → date-range-inline-DTQLESAZ.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range-ug3B9CFT.cjs +119 -0
- package/dist/date-range-ug3B9CFT.cjs.map +1 -0
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-CXFIM6qK.cjs → delay-CWtBL0VD.cjs} +2 -2
- package/dist/delay-CWtBL0VD.cjs.map +1 -0
- package/dist/{delay-BINGOQ7f.js → delay-DEe1CmHc.js} +45 -45
- package/dist/delay-DEe1CmHc.js.map +1 -0
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/details-D-LXW23W.js +100 -0
- package/dist/details-D-LXW23W.js.map +1 -0
- package/dist/details-DVke77dU.cjs +55 -0
- package/dist/details-DVke77dU.cjs.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/dialog-service-C86xTS8q.cjs +2 -0
- package/dist/dialog-service-C86xTS8q.cjs.map +1 -0
- package/dist/dialog-service-D9E3jLAR.js +118 -0
- package/dist/dialog-service-D9E3jLAR.js.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.component-BM0D-hK9.cjs +48 -0
- package/dist/dialog.component-BM0D-hK9.cjs.map +1 -0
- package/dist/dialog.component-a7FlKhGD.js +145 -0
- package/dist/dialog.component-a7FlKhGD.js.map +1 -0
- package/dist/dialog.js +7 -7
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +11 -10
- package/dist/directives.js.map +1 -1
- package/dist/{divider-Bu6tzwGl.js → divider-CzTpxOqt.js} +3 -3
- package/dist/{divider-Bu6tzwGl.js.map → divider-CzTpxOqt.js.map} +1 -1
- package/dist/{divider-8tk2mDbL.cjs → divider-D8KStUhN.cjs} +2 -2
- package/dist/{divider-8tk2mDbL.cjs.map → divider-D8KStUhN.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-DFb07S8x.cjs → dropdown-content-CngZN3vv.cjs} +2 -2
- package/dist/{dropdown-content-DFb07S8x.cjs.map → dropdown-content-CngZN3vv.cjs.map} +1 -1
- package/dist/{dropdown-content-fVhnEKdY.js → dropdown-content-DCn-g0-f.js} +3 -3
- package/dist/{dropdown-content-fVhnEKdY.js.map → dropdown-content-DCn-g0-f.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-BG3GxJvc.cjs → email-recipients-BhntMZMf.cjs} +2 -2
- package/dist/{email-recipients-BG3GxJvc.cjs.map → email-recipients-BhntMZMf.cjs.map} +1 -1
- package/dist/{email-recipients-OG52RGiH.js → email-recipients-BzjAKNJ0.js} +8 -7
- package/dist/{email-recipients-OG52RGiH.js.map → email-recipients-BzjAKNJ0.js.map} +1 -1
- package/dist/emotional-sounds-BRnFhww6.js +234 -0
- package/dist/emotional-sounds-BRnFhww6.js.map +1 -0
- package/dist/emotional-sounds-DVGhmoZf.cjs +2 -0
- package/dist/emotional-sounds-DVGhmoZf.cjs.map +1 -0
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/flex-5dR48zie.js +183 -0
- package/dist/flex-5dR48zie.js.map +1 -0
- package/dist/flex-oHl2EfYB.cjs +18 -0
- package/dist/flex-oHl2EfYB.cjs.map +1 -0
- package/dist/{form-cWJBcwc6.cjs → form-BlPiAPt7.cjs} +2 -2
- package/dist/{form-cWJBcwc6.cjs.map → form-BlPiAPt7.cjs.map} +1 -1
- package/dist/{form-tpyd1nsT.js → form-BxVM6JTn.js} +2 -2
- package/dist/{form-tpyd1nsT.js.map → form-BxVM6JTn.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-Mx5CwYUh.js → formField.mixin-BCGA7Ea3.js} +2 -2
- package/dist/{formField.mixin-Mx5CwYUh.js.map → formField.mixin-BCGA7Ea3.js.map} +1 -1
- package/dist/{formField.mixin-XlN2pAL0.cjs → formField.mixin-BfJMifU9.cjs} +2 -2
- package/dist/{formField.mixin-XlN2pAL0.cjs.map → formField.mixin-BfJMifU9.cjs.map} +1 -1
- package/dist/height-CfECBO2j.js +44 -0
- package/dist/height-CfECBO2j.js.map +1 -0
- package/dist/height-Z70qJYJK.cjs +2 -0
- package/dist/height-Z70qJYJK.cjs.map +1 -0
- package/dist/icon-DHEXr3c-.cjs +49 -0
- package/dist/icon-DHEXr3c-.cjs.map +1 -0
- package/dist/{icon-Y2qLOFqe.js → icon-DYpLoegR.js} +17 -17
- package/dist/icon-DYpLoegR.js.map +1 -0
- package/dist/icon-button-CmZBLHWC.js +164 -0
- package/dist/icon-button-CmZBLHWC.js.map +1 -0
- package/dist/icon-button-IbSX8C98.cjs +70 -0
- package/dist/icon-button-IbSX8C98.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +275 -250
- package/dist/index.js.map +1 -1
- package/dist/input-BByjYlgl.cjs +51 -0
- package/dist/input-BByjYlgl.cjs.map +1 -0
- package/dist/{input-DDCFZ3cr.js → input-D0cQ9DOY.js} +35 -31
- package/dist/input-D0cQ9DOY.js.map +1 -0
- package/dist/{input-chip-DVE4_1wn.js → input-chip-B5ErXgCB.js} +2 -2
- package/dist/{input-chip-DVE4_1wn.js.map → input-chip-B5ErXgCB.js.map} +1 -1
- package/dist/{input-chip-Bht9MU9G.cjs → input-chip-DkWaTciP.cjs} +2 -2
- package/dist/{input-chip-Bht9MU9G.cjs.map → input-chip-DkWaTciP.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/json-BZVe74np.cjs +12 -0
- package/dist/json-BZVe74np.cjs.map +1 -0
- package/dist/json-PKewOWuJ.js +51 -0
- package/dist/json-PKewOWuJ.js.map +1 -0
- package/dist/json.cjs +2 -0
- package/dist/json.cjs.map +1 -0
- package/dist/json.js +5 -0
- package/dist/json.js.map +1 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +4 -3
- package/dist/layout.js.map +1 -1
- package/dist/lightbox-service-D-0JtxB1.cjs +202 -0
- package/dist/lightbox-service-D-0JtxB1.cjs.map +1 -0
- package/dist/lightbox-service-DZMnb1eU.js +458 -0
- package/dist/lightbox-service-DZMnb1eU.js.map +1 -0
- package/dist/lightbox.cjs +2 -0
- package/dist/lightbox.cjs.map +1 -0
- package/dist/lightbox.js +8 -0
- package/dist/lightbox.js.map +1 -0
- package/dist/{list-Bac329kq.cjs → list-B_2m7l3g.cjs} +6 -6
- package/dist/list-B_2m7l3g.cjs.map +1 -0
- package/dist/{list-BO1gnjmc.js → list-CW56LV-v.js} +13 -13
- package/dist/list-CW56LV-v.js.map +1 -0
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-B1WTI3WY.cjs → litElement.mixin-CrpeGpZ7.cjs} +2 -2
- package/dist/{litElement.mixin-B1WTI3WY.cjs.map → litElement.mixin-CrpeGpZ7.cjs.map} +1 -1
- package/dist/{litElement.mixin-CVje6z-M.js → litElement.mixin-DHZXtvYq.js} +2 -2
- package/dist/{litElement.mixin-CVje6z-M.js.map → litElement.mixin-DHZXtvYq.js.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-C1jVMhlF.js → map-2Hl60a0A.js} +6 -6
- package/dist/{map-C1jVMhlF.js.map → map-2Hl60a0A.js.map} +1 -1
- package/dist/{map-BlmS6Zfx.cjs → map-DyPS9G7M.cjs} +3 -3
- package/dist/{map-BlmS6Zfx.cjs.map → map-DyPS9G7M.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-CxfrOjie.cjs → media-CS8HpKnK.cjs} +2 -2
- package/dist/{media-CxfrOjie.cjs.map → media-CS8HpKnK.cjs.map} +1 -1
- package/dist/{media-CNMZbEJe.js → media-DtWbcRxL.js} +2 -2
- package/dist/{media-CNMZbEJe.js.map → media-DtWbcRxL.js.map} +1 -1
- package/dist/menu-Caju5-zd.js +60 -0
- package/dist/{menu-CUKV4pVJ.js.map → menu-Caju5-zd.js.map} +1 -1
- package/dist/{menu-DEa2K7Pk.cjs → menu-rX5RPAI2.cjs} +4 -6
- package/dist/{menu-DEa2K7Pk.cjs.map → menu-rX5RPAI2.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +3 -3
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{navigation-rail-CYKfvZs9.js → navigation-rail-Ctketq5a.js} +43 -38
- package/dist/navigation-rail-Ctketq5a.js.map +1 -0
- package/dist/navigation-rail-DC9_oSIM.cjs +79 -0
- package/dist/navigation-rail-DC9_oSIM.cjs.map +1 -0
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/notification-service-CUlfXqmj.js +155 -0
- package/dist/notification-service-CUlfXqmj.js.map +1 -0
- package/dist/notification-service-DknbpqTt.cjs +19 -0
- package/dist/notification-service-DknbpqTt.cjs.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +6 -8
- package/dist/{notify-KvHZ-8z9.js → notify-DJSOWTxv.js} +2 -2
- package/dist/notify-DJSOWTxv.js.map +1 -0
- package/dist/{notify-VkDx6hMZ.cjs → notify-DickIEHW.cjs} +2 -2
- package/dist/notify-DickIEHW.cjs.map +1 -0
- package/dist/{option-DnRdbsTb.js → option-Bng41-rY.js} +2 -2
- package/dist/{option-DnRdbsTb.js.map → option-Bng41-rY.js.map} +1 -1
- package/dist/{option-Eh2AXe-Z.cjs → option-DYT5Rkgy.cjs} +2 -2
- package/dist/{option-Eh2AXe-Z.cjs.map → option-DYT5Rkgy.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/page-BLn9gtSd.cjs +20 -0
- package/dist/page-BLn9gtSd.cjs.map +1 -0
- package/dist/page-D-ROcQDd.js +48 -0
- package/dist/page-D-ROcQDd.js.map +1 -0
- package/dist/page.cjs +2 -0
- package/dist/page.cjs.map +1 -0
- package/dist/page.js +5 -0
- package/dist/page.js.map +1 -0
- package/dist/{payment-card-form-8a4Nqqhy.cjs → payment-card-form-5UtfWzoW.cjs} +2 -2
- package/dist/{payment-card-form-8a4Nqqhy.cjs.map → payment-card-form-5UtfWzoW.cjs.map} +1 -1
- package/dist/{payment-card-form-EVQEb5OX.js → payment-card-form-BJa4RgF2.js} +3 -3
- package/dist/{payment-card-form-EVQEb5OX.js.map → payment-card-form-BJa4RgF2.js.map} +1 -1
- package/dist/pills-BS5rZ6C3.js +346 -0
- package/dist/pills-BS5rZ6C3.js.map +1 -0
- package/dist/pills-Blf7IAeq.cjs +113 -0
- package/dist/pills-Blf7IAeq.cjs.map +1 -0
- package/dist/progress-DlhYniW_.cjs +35 -0
- package/dist/progress-DlhYniW_.cjs.map +1 -0
- package/dist/progress-yTIX6EqC.js +56 -0
- package/dist/progress-yTIX6EqC.js.map +1 -0
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/qr-scanner-DOs7uNS_.cjs +29 -0
- package/dist/qr-scanner-DOs7uNS_.cjs.map +1 -0
- package/dist/qr-scanner-DjZ8mgHV.js +743 -0
- package/dist/qr-scanner-DjZ8mgHV.js.map +1 -0
- package/dist/qr-scanner.cjs +2 -0
- package/dist/qr-scanner.cjs.map +1 -0
- package/dist/qr-scanner.js +5 -0
- package/dist/qr-scanner.js.map +1 -0
- package/dist/{radio-button-BTdqEOSJ.cjs → radio-button-N_PrrxKB.cjs} +2 -2
- package/dist/{radio-button-BTdqEOSJ.cjs.map → radio-button-N_PrrxKB.cjs.map} +1 -1
- package/dist/{radio-button-QCukBJLy.js → radio-button-me3SRHGu.js} +3 -3
- package/dist/{radio-button-QCukBJLy.js.map → radio-button-me3SRHGu.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/ripple-BgJXbNSP.js +124 -0
- package/dist/ripple-BgJXbNSP.js.map +1 -0
- package/dist/ripple-x6sTX02K.cjs +16 -0
- package/dist/ripple-x6sTX02K.cjs.map +1 -0
- package/dist/{schmancy-steps-container-NZOamraF.js → schmancy-steps-container-J6P-NNNj.js} +3 -3
- package/dist/{schmancy-steps-container-NZOamraF.js.map → schmancy-steps-container-J6P-NNNj.js.map} +1 -1
- package/dist/{schmancy-steps-container-CtwqkRBU.cjs → schmancy-steps-container-T57BKMzi.cjs} +2 -2
- package/dist/{schmancy-steps-container-CtwqkRBU.cjs.map → schmancy-steps-container-T57BKMzi.cjs.map} +1 -1
- package/dist/scroll-C_gfUgjn.js +87 -0
- package/dist/scroll-C_gfUgjn.js.map +1 -0
- package/dist/scroll-CecsowP7.cjs +27 -0
- package/dist/scroll-CecsowP7.cjs.map +1 -0
- package/dist/{select-DSTQ-Zau.js → select-BBA0gBHf.js} +5 -4
- package/dist/select-BBA0gBHf.js.map +1 -0
- package/dist/{select-C-Kv7ey_.cjs → select-D9oCjv7N.cjs} +2 -2
- package/dist/select-D9oCjv7N.cjs.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{selector-hook-Cok22ifx.cjs → selector-hook-9w2auh2O.cjs} +2 -2
- package/dist/{selector-hook-Cok22ifx.cjs.map → selector-hook-9w2auh2O.cjs.map} +1 -1
- package/dist/{selector-hook-l2fe2UO5.js → selector-hook-CHV4kDMd.js} +3 -3
- package/dist/{selector-hook-l2fe2UO5.js.map → selector-hook-CHV4kDMd.js.map} +1 -1
- package/dist/{sheet-IzYy3H8n.cjs → sheet-0oUfBmXX.cjs} +2 -2
- package/dist/{sheet-IzYy3H8n.cjs.map → sheet-0oUfBmXX.cjs.map} +1 -1
- package/dist/{sheet-DY-z5_tm.js → sheet-CNcDT3VP.js} +5 -5
- package/dist/{sheet-DY-z5_tm.js.map → sheet-CNcDT3VP.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-DuVcXyOB.js → sheet.service-2MobB-9z.js} +20 -18
- package/dist/sheet.service-2MobB-9z.js.map +1 -0
- package/dist/sheet.service-su_7yDQ-.cjs +2 -0
- package/dist/sheet.service-su_7yDQ-.cjs.map +1 -0
- package/dist/{slider-CGE_Qeok.cjs → slider-CV-Ehp_5.cjs} +2 -2
- package/dist/{slider-CGE_Qeok.cjs.map → slider-CV-Ehp_5.cjs.map} +1 -1
- package/dist/{slider-CFtbSQ9Y.js → slider-CkE-iFUy.js} +3 -3
- package/dist/{slider-CFtbSQ9Y.js.map → slider-CkE-iFUy.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/sound.service-Nza4c6wv.js +102 -0
- package/dist/sound.service-Nza4c6wv.js.map +1 -0
- package/dist/sound.service-eRirZw59.cjs +2 -0
- package/dist/sound.service-eRirZw59.cjs.map +1 -0
- package/dist/{spinner-CSPJs8CL.cjs → spinner-Bfn8KC-9.cjs} +9 -9
- package/dist/spinner-Bfn8KC-9.cjs.map +1 -0
- package/dist/{spinner-DAF-hCvQ.js → spinner-DiMbWXp9.js} +15 -12
- package/dist/spinner-DiMbWXp9.js.map +1 -0
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/store.cjs +1 -1
- package/dist/store.js +2 -2
- package/dist/{suggestion-chip-CYu-4xrL.js → suggestion-chip-CEDqUNoS.js} +50 -46
- package/dist/suggestion-chip-CEDqUNoS.js.map +1 -0
- package/dist/{suggestion-chip-Cj8gwZqq.cjs → suggestion-chip-HhsLtZXR.cjs} +18 -23
- package/dist/suggestion-chip-HhsLtZXR.cjs.map +1 -0
- package/dist/{surface-VX_THUHv.cjs → surface-CW3H23Va.cjs} +5 -4
- package/dist/surface-CW3H23Va.cjs.map +1 -0
- package/dist/{surface-DTOK-0E4.js → surface-eBfnSwQS.js} +12 -11
- package/dist/surface-eBfnSwQS.js.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-BV0-o9Wi.cjs → table-D0tiSL_u.cjs} +2 -2
- package/dist/{table-BV0-o9Wi.cjs.map → table-D0tiSL_u.cjs.map} +1 -1
- package/dist/{table-CkXbXqi9.js → table-Dmo4TvTx.js} +3 -3
- package/dist/{table-CkXbXqi9.js.map → table-Dmo4TvTx.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-D_BBW655.js → tabs-compatibility-Bit6y6en.js} +2 -2
- package/dist/{tabs-compatibility-D_BBW655.js.map → tabs-compatibility-Bit6y6en.js.map} +1 -1
- package/dist/{tabs-compatibility-DsfD60U_.cjs → tabs-compatibility-Vq_2-ekz.cjs} +2 -2
- package/dist/{tabs-compatibility-DsfD60U_.cjs.map → tabs-compatibility-Vq_2-ekz.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-Bp_PR6yc.js +67 -0
- package/dist/{tailwind.mixin-wLaKUxf1.js.map → tailwind.mixin-Bp_PR6yc.js.map} +1 -1
- package/dist/tailwind.mixin-Cp4PyXok.cjs +2 -0
- package/dist/{tailwind.mixin-JFXu3GSo.cjs.map → tailwind.mixin-Cp4PyXok.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-TeVnUeIJ.js → textarea-B1d1QCqT.js} +4 -3
- package/dist/{textarea-TeVnUeIJ.js.map → textarea-B1d1QCqT.js.map} +1 -1
- package/dist/textarea-DG8CHhZA.cjs +44 -0
- package/dist/{textarea-B6LDhRed.cjs.map → textarea-DG8CHhZA.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-DxMbO3yP.cjs → theme-button-CPL6Eaqd.cjs} +2 -2
- package/dist/{theme-button-DxMbO3yP.cjs.map → theme-button-CPL6Eaqd.cjs.map} +1 -1
- package/dist/{theme-button-BXXqAu2Y.js → theme-button-CrLuMQNe.js} +2 -2
- package/dist/{theme-button-BXXqAu2Y.js.map → theme-button-CrLuMQNe.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme-controller-boat-CXbNJSI3.cjs +178 -0
- package/dist/theme-controller-boat-CXbNJSI3.cjs.map +1 -0
- package/dist/{theme-controller-boat-CVS77gnH.js → theme-controller-boat-CzSmjyKq.js} +420 -228
- package/dist/theme-controller-boat-CzSmjyKq.js.map +1 -0
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +13 -11
- package/dist/{timezone-RBV74f85.js → timezone-4vwX0BgA.js} +3 -3
- package/dist/{timezone-RBV74f85.js.map → timezone-4vwX0BgA.js.map} +1 -1
- package/dist/{timezone-D7YOMM8G.cjs → timezone-BxvQcqe1.cjs} +2 -2
- package/dist/{timezone-D7YOMM8G.cjs.map → timezone-BxvQcqe1.cjs.map} +1 -1
- package/dist/{tooltip-DssL6Qfx.js → tooltip-CjdvBf4X.js} +2 -2
- package/dist/{tooltip-DssL6Qfx.js.map → tooltip-CjdvBf4X.js.map} +1 -1
- package/dist/{tooltip-BH_RLoZI.cjs → tooltip-ZtnGjoJd.cjs} +2 -2
- package/dist/{tooltip-BH_RLoZI.cjs.map → tooltip-ZtnGjoJd.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-C33t9-0j.js → tree-CBEjV7jP.js} +2 -2
- package/dist/{tree-C33t9-0j.js.map → tree-CBEjV7jP.js.map} +1 -1
- package/dist/{tree-7Zz1sJKl.cjs → tree-DP5U00NA.cjs} +2 -2
- package/dist/{tree-7Zz1sJKl.cjs.map → tree-DP5U00NA.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-WbYqfXO7.cjs → typewriter-C6kFjLcX.cjs} +4 -4
- package/dist/{typewriter-WbYqfXO7.cjs.map → typewriter-C6kFjLcX.cjs.map} +1 -1
- package/dist/{typewriter-Dt1Js2lP.js → typewriter-Eo5qXoGC.js} +5 -5
- package/dist/{typewriter-Dt1Js2lP.js.map → typewriter-Eo5qXoGC.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DdG9aEAg.js → typography-C_1gdM2I.js} +13 -53
- package/dist/typography-C_1gdM2I.js.map +1 -0
- package/dist/{typography-Ck-OdI83.cjs → typography-DGyjlLCE.cjs} +3 -46
- package/dist/typography-DGyjlLCE.cjs.map +1 -0
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/mixins/tailwind.css +37 -6
- package/package.json +21 -20
- package/types/src/area/area.service.d.ts +1 -1
- package/types/src/area/router.types.d.ts +1 -0
- package/types/src/audio/emotional-sounds.d.ts +122 -0
- package/types/src/audio/index.d.ts +30 -0
- package/types/src/audio/sound.service.d.ts +111 -0
- package/types/src/avatar.d.ts +10 -1
- package/types/src/busy/spinner.d.ts +6 -1
- package/types/src/button/button.d.ts +15 -2
- package/types/src/button/icon-button.d.ts +1 -1
- package/types/src/charts/area-chart.d.ts +58 -0
- package/types/src/charts/index.d.ts +4 -0
- package/types/src/charts/pills.d.ts +51 -0
- package/types/src/charts/types.d.ts +62 -0
- package/types/src/charts/utils.d.ts +28 -0
- package/types/src/checkbox/checkbox.d.ts +3 -2
- package/types/src/chips/chips.d.ts +2 -0
- package/types/src/content-drawer/drawer.service.d.ts +1 -7
- package/types/src/date-range/date-range-dialog.d.ts +16 -0
- package/types/src/date-range/date-range.d.ts +1 -1
- package/types/src/details/details.d.ts +3 -7
- package/types/src/dialog/dailog.d.ts +1 -5
- package/types/src/dialog/dialog-base.mixin.d.ts +26 -0
- package/types/src/dialog/dialog-service.d.ts +3 -66
- package/types/src/dialog/dialog.component.d.ts +63 -30
- package/types/src/dialog/index.d.ts +1 -3
- package/types/src/directives/height.d.ts +11 -6
- package/types/src/icons/icon.d.ts +17 -0
- package/types/src/index.d.ts +6 -0
- package/types/src/input/input.d.ts +13 -9
- package/types/src/json/index.d.ts +1 -0
- package/types/src/json/json.d.ts +15 -0
- package/types/src/lightbox/flip-directive.d.ts +29 -0
- package/types/src/lightbox/flip.directive.d.ts +22 -0
- package/types/src/lightbox/index.d.ts +4 -0
- package/types/src/lightbox/lightbox-service.d.ts +24 -0
- package/types/src/lightbox/lightbox.d.ts +34 -0
- package/types/src/lightbox/lightbox.directive.d.ts +30 -0
- package/types/src/nav-drawer/appbar.d.ts +0 -5
- package/types/src/nav-drawer/drawer.d.ts +1 -32
- package/types/src/navigation-rail/navigation-rail.d.ts +2 -0
- package/types/src/notification/index.d.ts +1 -3
- package/types/src/notification/notification-service.d.ts +13 -1
- package/types/src/notification/notification.d.ts +13 -12
- package/types/src/notification/notify.d.ts +1 -1
- package/types/src/page/index.d.ts +1 -0
- package/types/src/page/page.d.ts +31 -0
- package/types/src/progress/progress.d.ts +2 -2
- package/types/src/qr-scanner/index.d.ts +1 -0
- package/types/src/qr-scanner/qr-scanner.d.ts +26 -0
- package/types/src/select/select.d.ts +1 -1
- package/types/src/theme/index.d.ts +1 -0
- package/types/src/theme/theme-audio-player.d.ts +100 -0
- package/types/src/theme/theme-controller-boat.d.ts +1 -0
- package/types/src/theme/theme.component.d.ts +1 -1
- package/types/src/types/index.d.ts +1 -0
- package/types/src/types/mood-audio.types.d.ts +173 -0
- package/types/src/typography/typography.d.ts +1 -0
- package/dist/area.component-BzjJiNTJ.js.map +0 -1
- package/dist/area.component-FL_IUylM.cjs +0 -12
- package/dist/area.component-FL_IUylM.cjs.map +0 -1
- package/dist/avatar-B_uJN9WV.cjs +0 -288
- package/dist/avatar-B_uJN9WV.cjs.map +0 -1
- package/dist/avatar-C8P4lVfa.js.map +0 -1
- package/dist/context-create-BJkkLr1D.cjs +0 -2
- package/dist/context-create-BJkkLr1D.cjs.map +0 -1
- package/dist/context-create-BvxbWTgj.js.map +0 -1
- package/dist/date-range-Cm0TCfwu.js +0 -664
- package/dist/date-range-Cm0TCfwu.js.map +0 -1
- package/dist/date-range-Cy97kOP_.cjs +0 -134
- package/dist/date-range-Cy97kOP_.cjs.map +0 -1
- package/dist/delay-BINGOQ7f.js.map +0 -1
- package/dist/delay-CXFIM6qK.cjs.map +0 -1
- package/dist/details-CLRikV4s.cjs +0 -64
- package/dist/details-CLRikV4s.cjs.map +0 -1
- package/dist/details-bgq2X_hO.js +0 -115
- package/dist/details-bgq2X_hO.js.map +0 -1
- package/dist/dialog-content-B59ekS_y.cjs +0 -85
- package/dist/dialog-content-B59ekS_y.cjs.map +0 -1
- package/dist/dialog-content-Cu7fqN8Y.js +0 -256
- package/dist/dialog-content-Cu7fqN8Y.js.map +0 -1
- package/dist/dialog-service-B4nR8Em5.cjs +0 -2
- package/dist/dialog-service-B4nR8Em5.cjs.map +0 -1
- package/dist/dialog-service-Bege4HF4.js +0 -140
- package/dist/dialog-service-Bege4HF4.js.map +0 -1
- package/dist/flex-CYQU6Pf8.js +0 -260
- package/dist/flex-CYQU6Pf8.js.map +0 -1
- package/dist/flex-DytMcHmq.cjs +0 -43
- package/dist/flex-DytMcHmq.cjs.map +0 -1
- package/dist/icon-C8Q_XMtJ.cjs +0 -49
- package/dist/icon-C8Q_XMtJ.cjs.map +0 -1
- package/dist/icon-Y2qLOFqe.js.map +0 -1
- package/dist/icon-button-CJ6AVTv9.js +0 -156
- package/dist/icon-button-CJ6AVTv9.js.map +0 -1
- package/dist/icon-button-IdG1NVgA.cjs +0 -65
- package/dist/icon-button-IdG1NVgA.cjs.map +0 -1
- package/dist/input-DDCFZ3cr.js.map +0 -1
- package/dist/input-UyknNHNr.cjs +0 -51
- package/dist/input-UyknNHNr.cjs.map +0 -1
- package/dist/list-BO1gnjmc.js.map +0 -1
- package/dist/list-Bac329kq.cjs.map +0 -1
- package/dist/menu-CUKV4pVJ.js +0 -61
- package/dist/navigation-rail-CYKfvZs9.js.map +0 -1
- package/dist/navigation-rail-DXr4NJnN.cjs +0 -81
- package/dist/navigation-rail-DXr4NJnN.cjs.map +0 -1
- package/dist/notification-service-CZ56fXew.js +0 -532
- package/dist/notification-service-CZ56fXew.js.map +0 -1
- package/dist/notification-service-DQGs9O0f.cjs +0 -143
- package/dist/notification-service-DQGs9O0f.cjs.map +0 -1
- package/dist/notify-KvHZ-8z9.js.map +0 -1
- package/dist/notify-VkDx6hMZ.cjs.map +0 -1
- package/dist/progress-D5kgn2Fg.js +0 -58
- package/dist/progress-D5kgn2Fg.js.map +0 -1
- package/dist/progress-yFxoJDYf.cjs +0 -35
- package/dist/progress-yFxoJDYf.cjs.map +0 -1
- package/dist/ripple-QoNZUUw_.js +0 -148
- package/dist/ripple-QoNZUUw_.js.map +0 -1
- package/dist/ripple-Ujq_REH4.cjs +0 -16
- package/dist/ripple-Ujq_REH4.cjs.map +0 -1
- package/dist/select-C-Kv7ey_.cjs.map +0 -1
- package/dist/select-DSTQ-Zau.js.map +0 -1
- package/dist/sheet.service-BNz-ird-.cjs +0 -2
- package/dist/sheet.service-BNz-ird-.cjs.map +0 -1
- package/dist/sheet.service-DuVcXyOB.js.map +0 -1
- package/dist/spinner-CSPJs8CL.cjs.map +0 -1
- package/dist/spinner-DAF-hCvQ.js.map +0 -1
- package/dist/suggestion-chip-CYu-4xrL.js.map +0 -1
- package/dist/suggestion-chip-Cj8gwZqq.cjs.map +0 -1
- package/dist/surface-DTOK-0E4.js.map +0 -1
- package/dist/surface-VX_THUHv.cjs.map +0 -1
- package/dist/tailwind.mixin-JFXu3GSo.cjs +0 -2
- package/dist/tailwind.mixin-wLaKUxf1.js +0 -67
- package/dist/textarea-B6LDhRed.cjs +0 -44
- package/dist/theme-controller-boat-CCBNOGxF.cjs +0 -64
- package/dist/theme-controller-boat-CCBNOGxF.cjs.map +0 -1
- package/dist/theme-controller-boat-CVS77gnH.js.map +0 -1
- package/dist/typography-Ck-OdI83.cjs.map +0 -1
- package/dist/typography-DdG9aEAg.js.map +0 -1
- package/types/src/notification/notification-audio-generator.d.ts +0 -45
- package/types/src/notification/notification-audio.d.ts +0 -79
- package/types/src/notification/notification-container.d.ts +0 -48
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divider-
|
|
1
|
+
{"version":3,"file":"divider-D8KStUhN.cjs","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\n\t@keyframes grow-horizontal {\n\t\tfrom {\n\t\t\ttransform: scaleX(0);\n\t\t}\n\t\tto {\n\t\t\ttransform: scaleX(1);\n\t\t}\n\t}\n\n\t@keyframes grow-vertical {\n\t\tfrom {\n\t\t\ttransform: scaleY(0);\n\t\t}\n\t\tto {\n\t\t\ttransform: scaleY(1);\n\t\t}\n\t}\n\n\t/* Horizontal divider grow animations */\n\t.grow-start:not(.h-full) {\n\t\tanimation: grow-horizontal 400ms ease-out;\n\t\ttransform-origin: left;\n\t}\n\n\t.grow-end:not(.h-full) {\n\t\tanimation: grow-horizontal 400ms ease-out;\n\t\ttransform-origin: right;\n\t}\n\n\t.grow-both:not(.h-full) {\n\t\tanimation: grow-horizontal 400ms ease-out;\n\t\ttransform-origin: center;\n\t}\n\n\t/* Vertical divider grow animations */\n\t.grow-start.h-full {\n\t\tanimation: grow-vertical 400ms ease-out;\n\t\ttransform-origin: top;\n\t}\n\n\t.grow-end.h-full {\n\t\tanimation: grow-vertical 400ms ease-out;\n\t\ttransform-origin: bottom;\n\t}\n\n\t.grow-both.h-full {\n\t\tanimation: grow-vertical 400ms ease-out;\n\t\ttransform-origin: center;\n\t}\n`) {\n\t@property({ type: String }) outline: 'default' | 'variant' = 'variant'\n\t@property({ type: Boolean }) vertical = false\n\t@property({ type: String }) grow: 'start' | 'end' | 'both' = 'start'\n\n\t/**\n\t * @deprecated Use `vertical` property instead. Will be removed in next major version.\n\t */\n\t@property({ reflect: true, type: String })\n\tset orientation(value: 'horizontal' | 'vertical') {\n\t\tthis.vertical = value === 'vertical'\n\t}\n\tget orientation(): 'horizontal' | 'vertical' {\n\t\treturn this.vertical ? 'vertical' : 'horizontal'\n\t}\n\n\tprotected render() {\n\t\treturn html`<div\n\t\t\tclass=${this.classMap({\n\t\t\t\t// Dimensions\n\t\t\t\t'w-full h-px': !this.vertical,\n\t\t\t\t'h-full w-px': this.vertical,\n\t\t\t\t// Border color\n\t\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t\t'border-outline': this.outline === 'default',\n\t\t\t\t// Border style\n\t\t\t\t'border-t': !this.vertical,\n\t\t\t\t'border-l': this.vertical,\n\t\t\t\t// Grow behavior\n\t\t\t\t[`grow-${this.grow}`]: true,\n\t\t\t})}\n\t\t></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","css","constructor","super","arguments","this","outline","vertical","grow","value","render","html","classMap","__decorateClass","property","type","String","prototype","Boolean","reflect","customElement"],"mappings":"udAMA,IAAqBA,EAArB,cAA6CC,EAAAA,YAAYC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAzD,CAAA,CAAA,aAAAC,CAAAC,MAAAA,GAAAC,SAAAA,EAuD6BC,KAAAC,QAAiC,UAChCD,KAAAE,SAAAA,GACDF,KAAAG,KAAiC,OAAA,CAM7D,gBAAgBC,EAAAA,CACfJ,KAAKE,SAAWE,IAAU,UAC3B,CACA,IAAA,cACC,OAAOJ,KAAKE,SAAW,WAAa,YACrC,CAEU,QAAAG,CACT,OAAOC;WACEN,KAAKO,SAAS,CAErB,cAAA,CAAgBP,KAAKE,SACrB,cAAeF,KAAKE,SAEpB,wBAAyBF,KAAKC,UAAY,UAC1C,iBAAkBD,KAAKC,UAAY,UAEnC,WAAA,CAAaD,KAAKE,SAClB,WAAYF,KAAKE,SAEjB,CAAC,QAAQF,KAAKG,IAAAA,EAAAA,EAAAA,EAAS,CAAA,CAAA;AAAA,UAG1B,CAAA,EA/B4BK,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,MAAAA,CAAAA,CAAAA,EAvDEjB,EAuDQkB,UAAA,UAAA,CAAA,EACCJ,EAAA,CAA5BC,WAAS,CAAEC,KAAMG,OAAAA,CAAAA,CAAAA,EAxDEnB,EAwDSkB,UAAA,WAAA,CAAA,EACDJ,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,MAAAA,CAAAA,CAAAA,EAzDEjB,EAyDQkB,UAAA,OAAA,GAMxBJ,EAAA,CADHC,EAAAA,SAAS,CAAEK,QAAAA,GAAeJ,KAAMC,MAAAA,CAAAA,CAAAA,EA9DbjB,EA+DhBkB,UAAA,cAAA,CAAA,EA/DgBlB,EAArBc,EAAA,CADCO,EAAAA,cAAc,kBAAA,CAAA,EACMrB,CAAAA"}
|
package/dist/divider.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./divider-
|
|
1
|
+
"use strict";require("./divider-D8KStUhN.cjs");
|
|
2
2
|
//# sourceMappingURL=divider.cjs.map
|
package/dist/divider.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./divider-
|
|
1
|
+
import "./divider-CzTpxOqt.js";
|
|
2
2
|
//# sourceMappingURL=divider.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const l=require("@floating-ui/dom"),c=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const n=require("lit/decorators.js"),m=require("./tailwind.mixin-
|
|
1
|
+
"use strict";const l=require("@floating-ui/dom"),c=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const n=require("lit/decorators.js"),m=require("./tailwind.mixin-Cp4PyXok.cjs"),y=require("./litElement.mixin-CrpeGpZ7.cjs"),h=require("lit");var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,i=(t,o,s,r)=>{for(var a,e=r>1?void 0:r?g(o,s):o,p=t.length-1;p>=0;p--)(a=t[p])&&(e=(r?a(o,s,e):a(e))||e);return r&&e&&u(o,s,e),e};exports.SchmancyDropdown=class extends y.$LitElement(){constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.distance=8,this.portal=null,this.portalSubscriptions=[]}connectedCallback(){super.connectedCallback(),this.setupPortal(),c.fromEvent(document,"click").pipe(c.filter(t=>this.open&&!this.isEventFromSelf(t)),c.takeUntil(this.disconnecting)).subscribe(()=>{this.open=!1}),c.fromEvent(document,"keydown").pipe(c.filter(t=>this.open&&t.key==="Escape"),c.takeUntil(this.disconnecting)).subscribe(()=>{this.open=!1})}setupPortal(){let t=document.getElementById("schmancy-portal-container");t||(t=document.createElement("div"),t.id="schmancy-portal-container",t.style.position="fixed",t.style.zIndex="10000",t.style.top="0",t.style.left="0",t.style.pointerEvents="none",document.body.appendChild(t));const o=document.createElement("div");o.className="schmancy-dropdown-portal",o.style.position="absolute",o.style.pointerEvents="auto",o.style.display="none",t.appendChild(o),this.portal=o}isEventFromSelf(t){return t.composedPath().some(o=>o===this)}disconnectedCallback(){this.cleanupPositioner?.(),this.portalSubscriptions.forEach(t=>t.unsubscribe()),this.portalSubscriptions=[],this.portal&&(this.portal.remove(),this.portal=null),super.disconnectedCallback()}toggle(){this.open=!this.open}updated(t){super.updated(t),t.has("open")&&(this.open?this.setupPositioner():(this.cleanupPositioner?.(),this.portal&&(this.portal.style.display="none",this.portal.innerHTML="",this.portalSubscriptions.forEach(o=>o.unsubscribe()),this.portalSubscriptions=[])))}setupPositioner(){this.triggerContainer&&this.portal&&(this.portal.style.display="block",this.teleportContentToPortal(),this.cleanupPositioner=l.autoUpdate(this.triggerContainer,this.portal,()=>{l.computePosition(this.triggerContainer,this.portal,{placement:this.placement,middleware:[l.offset(this.distance),l.flip({fallbackPlacements:["top-start","bottom-start"]}),l.shift({padding:0})]}).then(({x:t,y:o})=>{Object.assign(this.portal.style,{left:`${t}px`,top:o-8+"px"})})}))}teleportContentToPortal(){this.portal&&(this.portalSubscriptions.forEach(t=>t.unsubscribe()),this.portalSubscriptions=[],this.portal.innerHTML="",this.contentElements.forEach(t=>{const o=t.cloneNode(!0);if(t.tagName.toLowerCase()==="schmancy-dropdown-content"){const s=c.fromEvent(o,"slotchange").subscribe(()=>{const r=o.shadowRoot?.querySelector('[part="content"]');r&&r.classList.add("schmancy-dropdown-content")});this.portalSubscriptions.push(s)}this.portal?.appendChild(o)}))}handleTriggerClick(t){t.stopPropagation(),this.toggle()}render(){return h.html`
|
|
2
2
|
<div class="trigger-container" @click=${this.handleTriggerClick}>
|
|
3
3
|
<slot name="trigger"></slot>
|
|
4
4
|
</div>
|
|
@@ -55,4 +55,4 @@
|
|
|
55
55
|
<slot></slot>
|
|
56
56
|
</div>
|
|
57
57
|
`}},d([n.property({type:String})],exports.SchmancyDropdownContent.prototype,"width",2),d([n.property({type:String})],exports.SchmancyDropdownContent.prototype,"maxHeight",2),d([n.property({type:Boolean})],exports.SchmancyDropdownContent.prototype,"shadow",2),d([n.property({type:String})],exports.SchmancyDropdownContent.prototype,"radius",2),exports.SchmancyDropdownContent=d([n.customElement("schmancy-dropdown-content")],exports.SchmancyDropdownContent);
|
|
58
|
-
//# sourceMappingURL=dropdown-content-
|
|
58
|
+
//# sourceMappingURL=dropdown-content-CngZN3vv.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-content-DFb07S8x.cjs","sources":["../src/dropdown/dropdown-component.ts","../src/dropdown/dropdown-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, Subscription } from 'rxjs'\n\n/**\n * A dropdown component that displays content when triggered.\n *\n * @element schmancy-dropdown\n * @slot trigger - The element that triggers the dropdown\n * @slot - Default slot for the dropdown content\n */\n@customElement('schmancy-dropdown')\nexport class SchmancyDropdown extends $LitElement() {\n\t/**\n\t * Whether the dropdown is currently open\n\t */\n\t@property({ type: Boolean, reflect: true })\n\topen = false\n\n\t/**\n\t * Placement of the dropdown relative to the trigger\n\t */\n\t@property({ type: String })\n\tplacement:\n\t\t| 'top'\n\t\t| 'top-start'\n\t\t| 'top-end'\n\t\t| 'right'\n\t\t| 'right-start'\n\t\t| 'right-end'\n\t\t| 'bottom'\n\t\t| 'bottom-start'\n\t\t| 'bottom-end'\n\t\t| 'left'\n\t\t| 'left-start'\n\t\t| 'left-end' = 'bottom-start'\n\n\t/**\n\t * Offset distance in pixels\n\t */\n\t@property({ type: Number })\n\tdistance = 8\n\n\t@query('.trigger-container') triggerContainer!: HTMLElement\n\t@query('.dropdown-content-container') contentContainer!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) contentElements!: HTMLElement[]\n\t@state() private portal: HTMLElement | null = null\n\n\t@queryAssignedElements({ slot: 'trigger', flatten: true })\n\ttriggerElements!: Array<HTMLElement>\n\n\tprivate cleanupPositioner?: () => void\n\tprivate portalSubscriptions: Subscription[] = []\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create portal container for teleporting content to document body\n\t\tthis.setupPortal()\n\n\t\t// Listen for document clicks to close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && !this.isEventFromSelf(event)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\n\t\t// Listen for escape key to close dropdown\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && event.key === 'Escape'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up the portal element for teleporting content\n\t */\n\tprivate setupPortal() {\n\t\t// Check if portal container exists\n\t\tlet portalContainer = document.getElementById('schmancy-portal-container')\n\n\t\t// Create portal container if it doesn't exist\n\t\tif (!portalContainer) {\n\t\t\tportalContainer = document.createElement('div')\n\t\t\tportalContainer.id = 'schmancy-portal-container'\n\t\t\tportalContainer.style.position = 'fixed'\n\t\t\tportalContainer.style.zIndex = '10000'\n\t\t\tportalContainer.style.top = '0'\n\t\t\tportalContainer.style.left = '0'\n\t\t\tportalContainer.style.pointerEvents = 'none'\n\t\t\tdocument.body.appendChild(portalContainer)\n\t\t}\n\n\t\t// Create portal for this specific dropdown\n\t\tconst portal = document.createElement('div')\n\t\tportal.className = 'schmancy-dropdown-portal'\n\t\tportal.style.position = 'absolute'\n\t\tportal.style.pointerEvents = 'auto'\n\t\tportal.style.display = 'none'\n\t\tportalContainer.appendChild(portal)\n\n\t\tthis.portal = portal\n\t}\n\n\t/**\n\t * Check if an event originated from within this component\n\t */\n\tprivate isEventFromSelf(event: Event): boolean {\n\t\treturn event.composedPath().some(el => el === this)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.cleanupPositioner?.()\n\n\t\t// Clean up portal subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\n\n\t\t// Remove portal when component is disconnected\n\t\tif (this.portal) {\n\t\t\tthis.portal.remove()\n\t\t\tthis.portal = null\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t/**\n\t * Toggle the dropdown open state\n\t */\n\ttoggle() {\n\t\tthis.open = !this.open\n\t}\n\n\tupdated(changedProps: Map<string, any>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tthis.setupPositioner()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\n\t\t\t\t// Hide portal when dropdown is closed\n\t\t\t\tif (this.portal) {\n\t\t\t\t\tthis.portal.style.display = 'none'\n\t\t\t\t\tthis.portal.innerHTML = ''\n\t\t\t\t\t// Clean up subscriptions when content is cleared\n\t\t\t\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\t\t\t\tthis.portalSubscriptions = []\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Setup floating UI positioning with teleportation\n\t */\n\tprivate setupPositioner() {\n\t\tif (!this.triggerContainer || !this.portal) return\n\n\t\t// Show the portal\n\t\tthis.portal.style.display = 'block'\n\n\t\t// Move content to portal\n\t\tthis.teleportContentToPortal()\n\n\t\t// Setup positioning\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerContainer, this.portal, () => {\n\t\t\tcomputePosition(this.triggerContainer, this.portal, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(this.distance),\n\t\t\t\t\tflip({\n\t\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-start'],\n\t\t\t\t\t}),\n\t\t\t\t\tshift({ padding: 0 }),\n\t\t\t\t],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Update portal position\n\t\t\t\tObject.assign(this.portal.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y - 8}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Move slotted content to the portal\n\t */\n\tprivate teleportContentToPortal() {\n\t\tif (!this.portal) return\n\n\t\t// Clean up existing subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\n\n\t\t// Clear existing content\n\t\tthis.portal.innerHTML = ''\n\n\t\t// Clone and move slotted content to portal\n\t\tthis.contentElements.forEach(element => {\n\t\t\t// Get computed styles to ensure portal content matches original styling\n\t\t\tconst clonedElement = element.cloneNode(true) as HTMLElement\n\n\t\t\t// Ensure dropdown-content elements maintain their styles when teleported\n\t\t\tif (element.tagName.toLowerCase() === 'schmancy-dropdown-content') {\n\t\t\t\tconst subscription = fromEvent(clonedElement, 'slotchange').subscribe(() => {\n\t\t\t\t\t// Propagate any slot changes to class changes on children\n\t\t\t\t\tconst contentDiv = clonedElement.shadowRoot?.querySelector('[part=\"content\"]')\n\t\t\t\t\tif (contentDiv) {\n\t\t\t\t\t\tcontentDiv.classList.add('schmancy-dropdown-content')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tthis.portalSubscriptions.push(subscription)\n\t\t\t}\n\n\t\t\tthis.portal?.appendChild(clonedElement)\n\t\t})\n\t}\n\n\t/**\n\t * Handle trigger click to toggle dropdown\n\t */\n\tprivate handleTriggerClick(e: Event) {\n\t\te.stopPropagation()\n\t\tthis.toggle()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"trigger-container\" @click=${this.handleTriggerClick}>\n\t\t\t\t<slot name=\"trigger\"></slot>\n\t\t\t</div>\n\n\t\t\t<div class=\"dropdown-content-container\" ?hidden=${!this.open}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.teleportContentToPortal()\n\t\t\t\t\t\t\tthis.setupPositioner()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown': SchmancyDropdown\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Content container for the schmancy-dropdown component.\n *\n * @element schmancy-dropdown-content\n * @slot - Default slot for dropdown content\n */\n@customElement('schmancy-dropdown-content')\nexport class SchmancyDropdownContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 1000;\n\t\tmin-width: 10rem;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\tlist-style: none;\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tbackground-clip: padding-box;\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t@keyframes dropdownAnimation {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t/* Apply styles to content both in the component and when teleported to the portal */\n\t.schmancy-dropdown-content {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n`) {\n\t/**\n\t * Width of the dropdown content\n\t */\n\t@property({ type: String })\n\twidth: string = 'auto'\n\n\t/**\n\t * Maximum height of the dropdown content\n\t */\n\t@property({ type: String })\n\tmaxHeight: string = '80vh'\n\n\t/**\n\t * Whether to render with a shadow\n\t */\n\t@property({ type: Boolean })\n\tshadow: boolean = true\n\n\t/**\n\t * Border radius style\n\t */\n\t@property({ type: String })\n\tradius: 'none' | 'sm' | 'md' | 'lg' | 'full' = 'md'\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'schmancy-dropdown-content': true,\n\t\t\t'overflow-auto': true,\n\t\t\t'shadow-none': !this.shadow,\n\t\t\t'rounded-none': this.radius === 'none',\n\t\t\t'rounded-sm': this.radius === 'sm',\n\t\t\t'rounded-md': this.radius === 'md',\n\t\t\t'rounded-lg': this.radius === 'lg',\n\t\t\t'rounded-full': this.radius === 'full',\n\t\t}\n\n\t\tconst styles = {\n\t\t\twidth: this.width,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} style=${this.styleMap(styles)} part=\"content\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown-content': SchmancyDropdownContent\n\t}\n}\n"],"names":["SchmancyDropdown","$LitElement","constructor","super","arguments","this","open","placement","distance","portal","portalSubscriptions","connectedCallback","setupPortal","fromEvent","document","pipe","filter","isEventFromSelf","event","takeUntil","disconnecting","subscribe","key","portalContainer","getElementById","createElement","id","style","position","zIndex","top","left","pointerEvents","body","appendChild","className","display","composedPath","some","el","cleanupPositioner","forEach","subscription","unsubscribe","remove","disconnectedCallback","toggle","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","element","clonedElement","cloneNode","tagName","toLowerCase","contentDiv","shadowRoot","querySelector","classList","add","push","e","stopPropagation","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","css","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown-content-CngZN3vv.cjs","sources":["../src/dropdown/dropdown-component.ts","../src/dropdown/dropdown-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, Subscription } from 'rxjs'\n\n/**\n * A dropdown component that displays content when triggered.\n *\n * @element schmancy-dropdown\n * @slot trigger - The element that triggers the dropdown\n * @slot - Default slot for the dropdown content\n */\n@customElement('schmancy-dropdown')\nexport class SchmancyDropdown extends $LitElement() {\n\t/**\n\t * Whether the dropdown is currently open\n\t */\n\t@property({ type: Boolean, reflect: true })\n\topen = false\n\n\t/**\n\t * Placement of the dropdown relative to the trigger\n\t */\n\t@property({ type: String })\n\tplacement:\n\t\t| 'top'\n\t\t| 'top-start'\n\t\t| 'top-end'\n\t\t| 'right'\n\t\t| 'right-start'\n\t\t| 'right-end'\n\t\t| 'bottom'\n\t\t| 'bottom-start'\n\t\t| 'bottom-end'\n\t\t| 'left'\n\t\t| 'left-start'\n\t\t| 'left-end' = 'bottom-start'\n\n\t/**\n\t * Offset distance in pixels\n\t */\n\t@property({ type: Number })\n\tdistance = 8\n\n\t@query('.trigger-container') triggerContainer!: HTMLElement\n\t@query('.dropdown-content-container') contentContainer!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) contentElements!: HTMLElement[]\n\t@state() private portal: HTMLElement | null = null\n\n\t@queryAssignedElements({ slot: 'trigger', flatten: true })\n\ttriggerElements!: Array<HTMLElement>\n\n\tprivate cleanupPositioner?: () => void\n\tprivate portalSubscriptions: Subscription[] = []\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create portal container for teleporting content to document body\n\t\tthis.setupPortal()\n\n\t\t// Listen for document clicks to close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && !this.isEventFromSelf(event)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\n\t\t// Listen for escape key to close dropdown\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && event.key === 'Escape'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up the portal element for teleporting content\n\t */\n\tprivate setupPortal() {\n\t\t// Check if portal container exists\n\t\tlet portalContainer = document.getElementById('schmancy-portal-container')\n\n\t\t// Create portal container if it doesn't exist\n\t\tif (!portalContainer) {\n\t\t\tportalContainer = document.createElement('div')\n\t\t\tportalContainer.id = 'schmancy-portal-container'\n\t\t\tportalContainer.style.position = 'fixed'\n\t\t\tportalContainer.style.zIndex = '10000'\n\t\t\tportalContainer.style.top = '0'\n\t\t\tportalContainer.style.left = '0'\n\t\t\tportalContainer.style.pointerEvents = 'none'\n\t\t\tdocument.body.appendChild(portalContainer)\n\t\t}\n\n\t\t// Create portal for this specific dropdown\n\t\tconst portal = document.createElement('div')\n\t\tportal.className = 'schmancy-dropdown-portal'\n\t\tportal.style.position = 'absolute'\n\t\tportal.style.pointerEvents = 'auto'\n\t\tportal.style.display = 'none'\n\t\tportalContainer.appendChild(portal)\n\n\t\tthis.portal = portal\n\t}\n\n\t/**\n\t * Check if an event originated from within this component\n\t */\n\tprivate isEventFromSelf(event: Event): boolean {\n\t\treturn event.composedPath().some(el => el === this)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.cleanupPositioner?.()\n\n\t\t// Clean up portal subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\n\n\t\t// Remove portal when component is disconnected\n\t\tif (this.portal) {\n\t\t\tthis.portal.remove()\n\t\t\tthis.portal = null\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t/**\n\t * Toggle the dropdown open state\n\t */\n\ttoggle() {\n\t\tthis.open = !this.open\n\t}\n\n\tupdated(changedProps: Map<string, any>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tthis.setupPositioner()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\n\t\t\t\t// Hide portal when dropdown is closed\n\t\t\t\tif (this.portal) {\n\t\t\t\t\tthis.portal.style.display = 'none'\n\t\t\t\t\tthis.portal.innerHTML = ''\n\t\t\t\t\t// Clean up subscriptions when content is cleared\n\t\t\t\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\t\t\t\tthis.portalSubscriptions = []\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Setup floating UI positioning with teleportation\n\t */\n\tprivate setupPositioner() {\n\t\tif (!this.triggerContainer || !this.portal) return\n\n\t\t// Show the portal\n\t\tthis.portal.style.display = 'block'\n\n\t\t// Move content to portal\n\t\tthis.teleportContentToPortal()\n\n\t\t// Setup positioning\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerContainer, this.portal, () => {\n\t\t\tcomputePosition(this.triggerContainer, this.portal, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(this.distance),\n\t\t\t\t\tflip({\n\t\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-start'],\n\t\t\t\t\t}),\n\t\t\t\t\tshift({ padding: 0 }),\n\t\t\t\t],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Update portal position\n\t\t\t\tObject.assign(this.portal.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y - 8}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Move slotted content to the portal\n\t */\n\tprivate teleportContentToPortal() {\n\t\tif (!this.portal) return\n\n\t\t// Clean up existing subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\n\n\t\t// Clear existing content\n\t\tthis.portal.innerHTML = ''\n\n\t\t// Clone and move slotted content to portal\n\t\tthis.contentElements.forEach(element => {\n\t\t\t// Get computed styles to ensure portal content matches original styling\n\t\t\tconst clonedElement = element.cloneNode(true) as HTMLElement\n\n\t\t\t// Ensure dropdown-content elements maintain their styles when teleported\n\t\t\tif (element.tagName.toLowerCase() === 'schmancy-dropdown-content') {\n\t\t\t\tconst subscription = fromEvent(clonedElement, 'slotchange').subscribe(() => {\n\t\t\t\t\t// Propagate any slot changes to class changes on children\n\t\t\t\t\tconst contentDiv = clonedElement.shadowRoot?.querySelector('[part=\"content\"]')\n\t\t\t\t\tif (contentDiv) {\n\t\t\t\t\t\tcontentDiv.classList.add('schmancy-dropdown-content')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tthis.portalSubscriptions.push(subscription)\n\t\t\t}\n\n\t\t\tthis.portal?.appendChild(clonedElement)\n\t\t})\n\t}\n\n\t/**\n\t * Handle trigger click to toggle dropdown\n\t */\n\tprivate handleTriggerClick(e: Event) {\n\t\te.stopPropagation()\n\t\tthis.toggle()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"trigger-container\" @click=${this.handleTriggerClick}>\n\t\t\t\t<slot name=\"trigger\"></slot>\n\t\t\t</div>\n\n\t\t\t<div class=\"dropdown-content-container\" ?hidden=${!this.open}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.teleportContentToPortal()\n\t\t\t\t\t\t\tthis.setupPositioner()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown': SchmancyDropdown\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Content container for the schmancy-dropdown component.\n *\n * @element schmancy-dropdown-content\n * @slot - Default slot for dropdown content\n */\n@customElement('schmancy-dropdown-content')\nexport class SchmancyDropdownContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 1000;\n\t\tmin-width: 10rem;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\tlist-style: none;\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tbackground-clip: padding-box;\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t@keyframes dropdownAnimation {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t/* Apply styles to content both in the component and when teleported to the portal */\n\t.schmancy-dropdown-content {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n`) {\n\t/**\n\t * Width of the dropdown content\n\t */\n\t@property({ type: String })\n\twidth: string = 'auto'\n\n\t/**\n\t * Maximum height of the dropdown content\n\t */\n\t@property({ type: String })\n\tmaxHeight: string = '80vh'\n\n\t/**\n\t * Whether to render with a shadow\n\t */\n\t@property({ type: Boolean })\n\tshadow: boolean = true\n\n\t/**\n\t * Border radius style\n\t */\n\t@property({ type: String })\n\tradius: 'none' | 'sm' | 'md' | 'lg' | 'full' = 'md'\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'schmancy-dropdown-content': true,\n\t\t\t'overflow-auto': true,\n\t\t\t'shadow-none': !this.shadow,\n\t\t\t'rounded-none': this.radius === 'none',\n\t\t\t'rounded-sm': this.radius === 'sm',\n\t\t\t'rounded-md': this.radius === 'md',\n\t\t\t'rounded-lg': this.radius === 'lg',\n\t\t\t'rounded-full': this.radius === 'full',\n\t\t}\n\n\t\tconst styles = {\n\t\t\twidth: this.width,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} style=${this.styleMap(styles)} part=\"content\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown-content': SchmancyDropdownContent\n\t}\n}\n"],"names":["SchmancyDropdown","$LitElement","constructor","super","arguments","this","open","placement","distance","portal","portalSubscriptions","connectedCallback","setupPortal","fromEvent","document","pipe","filter","isEventFromSelf","event","takeUntil","disconnecting","subscribe","key","portalContainer","getElementById","createElement","id","style","position","zIndex","top","left","pointerEvents","body","appendChild","className","display","composedPath","some","el","cleanupPositioner","forEach","subscription","unsubscribe","remove","disconnectedCallback","toggle","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","element","clonedElement","cloneNode","tagName","toLowerCase","contentDiv","shadowRoot","querySelector","classList","add","push","e","stopPropagation","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","css","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import "rxjs/operators";
|
|
|
4
4
|
import "lit/directives/class-map.js";
|
|
5
5
|
import "lit/directives/style-map.js";
|
|
6
6
|
import { property as l, query as y, queryAssignedElements as g, state as C, customElement as f } from "lit/decorators.js";
|
|
7
|
-
import { T as E } from "./tailwind.mixin-
|
|
8
|
-
import { $ as S } from "./litElement.mixin-
|
|
7
|
+
import { T as E } from "./tailwind.mixin-Bp_PR6yc.js";
|
|
8
|
+
import { $ as S } from "./litElement.mixin-DHZXtvYq.js";
|
|
9
9
|
import { html as b, css as T } from "lit";
|
|
10
10
|
var $ = Object.defineProperty, O = Object.getOwnPropertyDescriptor, i = (t, o, r, s) => {
|
|
11
11
|
for (var a, e = s > 1 ? void 0 : s ? O(o, r) : o, p = t.length - 1; p >= 0; p--) (a = t[p]) && (e = (s ? a(o, r, e) : a(e)) || e);
|
|
@@ -144,4 +144,4 @@ export {
|
|
|
144
144
|
n as S,
|
|
145
145
|
c as a
|
|
146
146
|
};
|
|
147
|
-
//# sourceMappingURL=dropdown-content-
|
|
147
|
+
//# sourceMappingURL=dropdown-content-DCn-g0-f.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-content-fVhnEKdY.js","sources":["../src/dropdown/dropdown-component.ts","../src/dropdown/dropdown-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, Subscription } from 'rxjs'\n\n/**\n * A dropdown component that displays content when triggered.\n *\n * @element schmancy-dropdown\n * @slot trigger - The element that triggers the dropdown\n * @slot - Default slot for the dropdown content\n */\n@customElement('schmancy-dropdown')\nexport class SchmancyDropdown extends $LitElement() {\n\t/**\n\t * Whether the dropdown is currently open\n\t */\n\t@property({ type: Boolean, reflect: true })\n\topen = false\n\n\t/**\n\t * Placement of the dropdown relative to the trigger\n\t */\n\t@property({ type: String })\n\tplacement:\n\t\t| 'top'\n\t\t| 'top-start'\n\t\t| 'top-end'\n\t\t| 'right'\n\t\t| 'right-start'\n\t\t| 'right-end'\n\t\t| 'bottom'\n\t\t| 'bottom-start'\n\t\t| 'bottom-end'\n\t\t| 'left'\n\t\t| 'left-start'\n\t\t| 'left-end' = 'bottom-start'\n\n\t/**\n\t * Offset distance in pixels\n\t */\n\t@property({ type: Number })\n\tdistance = 8\n\n\t@query('.trigger-container') triggerContainer!: HTMLElement\n\t@query('.dropdown-content-container') contentContainer!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) contentElements!: HTMLElement[]\n\t@state() private portal: HTMLElement | null = null\n\n\t@queryAssignedElements({ slot: 'trigger', flatten: true })\n\ttriggerElements!: Array<HTMLElement>\n\n\tprivate cleanupPositioner?: () => void\n\tprivate portalSubscriptions: Subscription[] = []\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create portal container for teleporting content to document body\n\t\tthis.setupPortal()\n\n\t\t// Listen for document clicks to close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && !this.isEventFromSelf(event)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\n\t\t// Listen for escape key to close dropdown\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && event.key === 'Escape'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up the portal element for teleporting content\n\t */\n\tprivate setupPortal() {\n\t\t// Check if portal container exists\n\t\tlet portalContainer = document.getElementById('schmancy-portal-container')\n\n\t\t// Create portal container if it doesn't exist\n\t\tif (!portalContainer) {\n\t\t\tportalContainer = document.createElement('div')\n\t\t\tportalContainer.id = 'schmancy-portal-container'\n\t\t\tportalContainer.style.position = 'fixed'\n\t\t\tportalContainer.style.zIndex = '10000'\n\t\t\tportalContainer.style.top = '0'\n\t\t\tportalContainer.style.left = '0'\n\t\t\tportalContainer.style.pointerEvents = 'none'\n\t\t\tdocument.body.appendChild(portalContainer)\n\t\t}\n\n\t\t// Create portal for this specific dropdown\n\t\tconst portal = document.createElement('div')\n\t\tportal.className = 'schmancy-dropdown-portal'\n\t\tportal.style.position = 'absolute'\n\t\tportal.style.pointerEvents = 'auto'\n\t\tportal.style.display = 'none'\n\t\tportalContainer.appendChild(portal)\n\n\t\tthis.portal = portal\n\t}\n\n\t/**\n\t * Check if an event originated from within this component\n\t */\n\tprivate isEventFromSelf(event: Event): boolean {\n\t\treturn event.composedPath().some(el => el === this)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.cleanupPositioner?.()\n\n\t\t// Clean up portal subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\n\n\t\t// Remove portal when component is disconnected\n\t\tif (this.portal) {\n\t\t\tthis.portal.remove()\n\t\t\tthis.portal = null\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t/**\n\t * Toggle the dropdown open state\n\t */\n\ttoggle() {\n\t\tthis.open = !this.open\n\t}\n\n\tupdated(changedProps: Map<string, any>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tthis.setupPositioner()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\n\t\t\t\t// Hide portal when dropdown is closed\n\t\t\t\tif (this.portal) {\n\t\t\t\t\tthis.portal.style.display = 'none'\n\t\t\t\t\tthis.portal.innerHTML = ''\n\t\t\t\t\t// Clean up subscriptions when content is cleared\n\t\t\t\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\t\t\t\tthis.portalSubscriptions = []\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Setup floating UI positioning with teleportation\n\t */\n\tprivate setupPositioner() {\n\t\tif (!this.triggerContainer || !this.portal) return\n\n\t\t// Show the portal\n\t\tthis.portal.style.display = 'block'\n\n\t\t// Move content to portal\n\t\tthis.teleportContentToPortal()\n\n\t\t// Setup positioning\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerContainer, this.portal, () => {\n\t\t\tcomputePosition(this.triggerContainer, this.portal, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(this.distance),\n\t\t\t\t\tflip({\n\t\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-start'],\n\t\t\t\t\t}),\n\t\t\t\t\tshift({ padding: 0 }),\n\t\t\t\t],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Update portal position\n\t\t\t\tObject.assign(this.portal.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y - 8}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Move slotted content to the portal\n\t */\n\tprivate teleportContentToPortal() {\n\t\tif (!this.portal) return\n\n\t\t// Clean up existing subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\n\n\t\t// Clear existing content\n\t\tthis.portal.innerHTML = ''\n\n\t\t// Clone and move slotted content to portal\n\t\tthis.contentElements.forEach(element => {\n\t\t\t// Get computed styles to ensure portal content matches original styling\n\t\t\tconst clonedElement = element.cloneNode(true) as HTMLElement\n\n\t\t\t// Ensure dropdown-content elements maintain their styles when teleported\n\t\t\tif (element.tagName.toLowerCase() === 'schmancy-dropdown-content') {\n\t\t\t\tconst subscription = fromEvent(clonedElement, 'slotchange').subscribe(() => {\n\t\t\t\t\t// Propagate any slot changes to class changes on children\n\t\t\t\t\tconst contentDiv = clonedElement.shadowRoot?.querySelector('[part=\"content\"]')\n\t\t\t\t\tif (contentDiv) {\n\t\t\t\t\t\tcontentDiv.classList.add('schmancy-dropdown-content')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tthis.portalSubscriptions.push(subscription)\n\t\t\t}\n\n\t\t\tthis.portal?.appendChild(clonedElement)\n\t\t})\n\t}\n\n\t/**\n\t * Handle trigger click to toggle dropdown\n\t */\n\tprivate handleTriggerClick(e: Event) {\n\t\te.stopPropagation()\n\t\tthis.toggle()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"trigger-container\" @click=${this.handleTriggerClick}>\n\t\t\t\t<slot name=\"trigger\"></slot>\n\t\t\t</div>\n\n\t\t\t<div class=\"dropdown-content-container\" ?hidden=${!this.open}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.teleportContentToPortal()\n\t\t\t\t\t\t\tthis.setupPositioner()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown': SchmancyDropdown\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Content container for the schmancy-dropdown component.\n *\n * @element schmancy-dropdown-content\n * @slot - Default slot for dropdown content\n */\n@customElement('schmancy-dropdown-content')\nexport class SchmancyDropdownContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 1000;\n\t\tmin-width: 10rem;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\tlist-style: none;\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tbackground-clip: padding-box;\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t@keyframes dropdownAnimation {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t/* Apply styles to content both in the component and when teleported to the portal */\n\t.schmancy-dropdown-content {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n`) {\n\t/**\n\t * Width of the dropdown content\n\t */\n\t@property({ type: String })\n\twidth: string = 'auto'\n\n\t/**\n\t * Maximum height of the dropdown content\n\t */\n\t@property({ type: String })\n\tmaxHeight: string = '80vh'\n\n\t/**\n\t * Whether to render with a shadow\n\t */\n\t@property({ type: Boolean })\n\tshadow: boolean = true\n\n\t/**\n\t * Border radius style\n\t */\n\t@property({ type: String })\n\tradius: 'none' | 'sm' | 'md' | 'lg' | 'full' = 'md'\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'schmancy-dropdown-content': true,\n\t\t\t'overflow-auto': true,\n\t\t\t'shadow-none': !this.shadow,\n\t\t\t'rounded-none': this.radius === 'none',\n\t\t\t'rounded-sm': this.radius === 'sm',\n\t\t\t'rounded-md': this.radius === 'md',\n\t\t\t'rounded-lg': this.radius === 'lg',\n\t\t\t'rounded-full': this.radius === 'full',\n\t\t}\n\n\t\tconst styles = {\n\t\t\twidth: this.width,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} style=${this.styleMap(styles)} part=\"content\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown-content': SchmancyDropdownContent\n\t}\n}\n"],"names":["SchmancyDropdown","$LitElement","constructor","super","arguments","this","open","placement","distance","portal","portalSubscriptions","connectedCallback","setupPortal","fromEvent","document","pipe","filter","isEventFromSelf","event","takeUntil","disconnecting","subscribe","key","portalContainer","getElementById","createElement","id","style","position","zIndex","top","left","pointerEvents","body","appendChild","className","display","composedPath","some","el","disconnectedCallback","cleanupPositioner","forEach","subscription","unsubscribe","remove","toggle","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","element","clonedElement","cloneNode","tagName","toLowerCase","contentDiv","shadowRoot","querySelector","classList","add","push","e","stopPropagation","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","css","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown-content-DCn-g0-f.js","sources":["../src/dropdown/dropdown-component.ts","../src/dropdown/dropdown-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, Subscription } from 'rxjs'\n\n/**\n * A dropdown component that displays content when triggered.\n *\n * @element schmancy-dropdown\n * @slot trigger - The element that triggers the dropdown\n * @slot - Default slot for the dropdown content\n */\n@customElement('schmancy-dropdown')\nexport class SchmancyDropdown extends $LitElement() {\n\t/**\n\t * Whether the dropdown is currently open\n\t */\n\t@property({ type: Boolean, reflect: true })\n\topen = false\n\n\t/**\n\t * Placement of the dropdown relative to the trigger\n\t */\n\t@property({ type: String })\n\tplacement:\n\t\t| 'top'\n\t\t| 'top-start'\n\t\t| 'top-end'\n\t\t| 'right'\n\t\t| 'right-start'\n\t\t| 'right-end'\n\t\t| 'bottom'\n\t\t| 'bottom-start'\n\t\t| 'bottom-end'\n\t\t| 'left'\n\t\t| 'left-start'\n\t\t| 'left-end' = 'bottom-start'\n\n\t/**\n\t * Offset distance in pixels\n\t */\n\t@property({ type: Number })\n\tdistance = 8\n\n\t@query('.trigger-container') triggerContainer!: HTMLElement\n\t@query('.dropdown-content-container') contentContainer!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) contentElements!: HTMLElement[]\n\t@state() private portal: HTMLElement | null = null\n\n\t@queryAssignedElements({ slot: 'trigger', flatten: true })\n\ttriggerElements!: Array<HTMLElement>\n\n\tprivate cleanupPositioner?: () => void\n\tprivate portalSubscriptions: Subscription[] = []\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create portal container for teleporting content to document body\n\t\tthis.setupPortal()\n\n\t\t// Listen for document clicks to close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && !this.isEventFromSelf(event)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\n\t\t// Listen for escape key to close dropdown\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && event.key === 'Escape'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up the portal element for teleporting content\n\t */\n\tprivate setupPortal() {\n\t\t// Check if portal container exists\n\t\tlet portalContainer = document.getElementById('schmancy-portal-container')\n\n\t\t// Create portal container if it doesn't exist\n\t\tif (!portalContainer) {\n\t\t\tportalContainer = document.createElement('div')\n\t\t\tportalContainer.id = 'schmancy-portal-container'\n\t\t\tportalContainer.style.position = 'fixed'\n\t\t\tportalContainer.style.zIndex = '10000'\n\t\t\tportalContainer.style.top = '0'\n\t\t\tportalContainer.style.left = '0'\n\t\t\tportalContainer.style.pointerEvents = 'none'\n\t\t\tdocument.body.appendChild(portalContainer)\n\t\t}\n\n\t\t// Create portal for this specific dropdown\n\t\tconst portal = document.createElement('div')\n\t\tportal.className = 'schmancy-dropdown-portal'\n\t\tportal.style.position = 'absolute'\n\t\tportal.style.pointerEvents = 'auto'\n\t\tportal.style.display = 'none'\n\t\tportalContainer.appendChild(portal)\n\n\t\tthis.portal = portal\n\t}\n\n\t/**\n\t * Check if an event originated from within this component\n\t */\n\tprivate isEventFromSelf(event: Event): boolean {\n\t\treturn event.composedPath().some(el => el === this)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.cleanupPositioner?.()\n\n\t\t// Clean up portal subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\n\n\t\t// Remove portal when component is disconnected\n\t\tif (this.portal) {\n\t\t\tthis.portal.remove()\n\t\t\tthis.portal = null\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t/**\n\t * Toggle the dropdown open state\n\t */\n\ttoggle() {\n\t\tthis.open = !this.open\n\t}\n\n\tupdated(changedProps: Map<string, any>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tthis.setupPositioner()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\n\t\t\t\t// Hide portal when dropdown is closed\n\t\t\t\tif (this.portal) {\n\t\t\t\t\tthis.portal.style.display = 'none'\n\t\t\t\t\tthis.portal.innerHTML = ''\n\t\t\t\t\t// Clean up subscriptions when content is cleared\n\t\t\t\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\t\t\t\tthis.portalSubscriptions = []\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Setup floating UI positioning with teleportation\n\t */\n\tprivate setupPositioner() {\n\t\tif (!this.triggerContainer || !this.portal) return\n\n\t\t// Show the portal\n\t\tthis.portal.style.display = 'block'\n\n\t\t// Move content to portal\n\t\tthis.teleportContentToPortal()\n\n\t\t// Setup positioning\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerContainer, this.portal, () => {\n\t\t\tcomputePosition(this.triggerContainer, this.portal, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(this.distance),\n\t\t\t\t\tflip({\n\t\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-start'],\n\t\t\t\t\t}),\n\t\t\t\t\tshift({ padding: 0 }),\n\t\t\t\t],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Update portal position\n\t\t\t\tObject.assign(this.portal.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y - 8}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Move slotted content to the portal\n\t */\n\tprivate teleportContentToPortal() {\n\t\tif (!this.portal) return\n\n\t\t// Clean up existing subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\n\n\t\t// Clear existing content\n\t\tthis.portal.innerHTML = ''\n\n\t\t// Clone and move slotted content to portal\n\t\tthis.contentElements.forEach(element => {\n\t\t\t// Get computed styles to ensure portal content matches original styling\n\t\t\tconst clonedElement = element.cloneNode(true) as HTMLElement\n\n\t\t\t// Ensure dropdown-content elements maintain their styles when teleported\n\t\t\tif (element.tagName.toLowerCase() === 'schmancy-dropdown-content') {\n\t\t\t\tconst subscription = fromEvent(clonedElement, 'slotchange').subscribe(() => {\n\t\t\t\t\t// Propagate any slot changes to class changes on children\n\t\t\t\t\tconst contentDiv = clonedElement.shadowRoot?.querySelector('[part=\"content\"]')\n\t\t\t\t\tif (contentDiv) {\n\t\t\t\t\t\tcontentDiv.classList.add('schmancy-dropdown-content')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tthis.portalSubscriptions.push(subscription)\n\t\t\t}\n\n\t\t\tthis.portal?.appendChild(clonedElement)\n\t\t})\n\t}\n\n\t/**\n\t * Handle trigger click to toggle dropdown\n\t */\n\tprivate handleTriggerClick(e: Event) {\n\t\te.stopPropagation()\n\t\tthis.toggle()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"trigger-container\" @click=${this.handleTriggerClick}>\n\t\t\t\t<slot name=\"trigger\"></slot>\n\t\t\t</div>\n\n\t\t\t<div class=\"dropdown-content-container\" ?hidden=${!this.open}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.teleportContentToPortal()\n\t\t\t\t\t\t\tthis.setupPositioner()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown': SchmancyDropdown\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Content container for the schmancy-dropdown component.\n *\n * @element schmancy-dropdown-content\n * @slot - Default slot for dropdown content\n */\n@customElement('schmancy-dropdown-content')\nexport class SchmancyDropdownContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 1000;\n\t\tmin-width: 10rem;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\tlist-style: none;\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tbackground-clip: padding-box;\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t@keyframes dropdownAnimation {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t/* Apply styles to content both in the component and when teleported to the portal */\n\t.schmancy-dropdown-content {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n`) {\n\t/**\n\t * Width of the dropdown content\n\t */\n\t@property({ type: String })\n\twidth: string = 'auto'\n\n\t/**\n\t * Maximum height of the dropdown content\n\t */\n\t@property({ type: String })\n\tmaxHeight: string = '80vh'\n\n\t/**\n\t * Whether to render with a shadow\n\t */\n\t@property({ type: Boolean })\n\tshadow: boolean = true\n\n\t/**\n\t * Border radius style\n\t */\n\t@property({ type: String })\n\tradius: 'none' | 'sm' | 'md' | 'lg' | 'full' = 'md'\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'schmancy-dropdown-content': true,\n\t\t\t'overflow-auto': true,\n\t\t\t'shadow-none': !this.shadow,\n\t\t\t'rounded-none': this.radius === 'none',\n\t\t\t'rounded-sm': this.radius === 'sm',\n\t\t\t'rounded-md': this.radius === 'md',\n\t\t\t'rounded-lg': this.radius === 'lg',\n\t\t\t'rounded-full': this.radius === 'full',\n\t\t}\n\n\t\tconst styles = {\n\t\t\twidth: this.width,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} style=${this.styleMap(styles)} part=\"content\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown-content': SchmancyDropdownContent\n\t}\n}\n"],"names":["SchmancyDropdown","$LitElement","constructor","super","arguments","this","open","placement","distance","portal","portalSubscriptions","connectedCallback","setupPortal","fromEvent","document","pipe","filter","isEventFromSelf","event","takeUntil","disconnecting","subscribe","key","portalContainer","getElementById","createElement","id","style","position","zIndex","top","left","pointerEvents","body","appendChild","className","display","composedPath","some","el","disconnectedCallback","cleanupPositioner","forEach","subscription","unsubscribe","remove","toggle","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","element","clonedElement","cloneNode","tagName","toLowerCase","contentDiv","shadowRoot","querySelector","classList","add","push","e","stopPropagation","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","css","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
|
package/dist/dropdown.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./dropdown-content-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./dropdown-content-CngZN3vv.cjs");Object.defineProperty(exports,"SchmancyDropdown",{enumerable:!0,get:()=>e.SchmancyDropdown}),Object.defineProperty(exports,"SchmancyDropdownContent",{enumerable:!0,get:()=>e.SchmancyDropdownContent});
|
|
2
2
|
//# sourceMappingURL=dropdown.cjs.map
|
package/dist/dropdown.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const u=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),C=require("./tailwind.mixin-
|
|
1
|
+
"use strict";const u=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),C=require("./tailwind.mixin-Cp4PyXok.cjs"),k=require("./litElement.mixin-CrpeGpZ7.cjs"),o=require("lit"),d=require("lit/directives/when.js"),f=require("lit/directives/ref.js"),$=require("lit/directives/repeat.js"),R=require("./dialog-service-C86xTS8q.cjs");require("./dialog.component-BM0D-hK9.cjs"),require("@floating-ui/dom");const g=require("./notification-service-DknbpqTt.cjs"),E=require("./sheet.service-su_7yDQ-.cjs");var T=Object.defineProperty,I=Object.getOwnPropertyDescriptor,m=(e,t,i,s)=>{for(var a,n=s>1?void 0:s?I(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=(s?a(t,i,n):a(n))||n);return s&&n&&T(t,i,n),n};exports.SchmancyMailbox=class extends k.$LitElement(o.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
height: 100%;
|
|
@@ -1170,4 +1170,4 @@ Tab key inserts 2 spaces for better formatting."
|
|
|
1170
1170
|
</div>
|
|
1171
1171
|
`)}
|
|
1172
1172
|
`}},y([c.property({type:Boolean})],exports.SchmancyEmailRecipients.prototype,"disabled",2),y([c.property({type:Array})],exports.SchmancyEmailRecipients.prototype,"recipients",2),y([c.property({type:Array})],exports.SchmancyEmailRecipients.prototype,"selectedRecipients",2),y([c.property({type:Boolean})],exports.SchmancyEmailRecipients.prototype,"enableCsvImport",2),y([c.property({type:Boolean})],exports.SchmancyEmailRecipients.prototype,"enableDragDrop",2),y([c.property({type:String})],exports.SchmancyEmailRecipients.prototype,"title",2),y([c.property({type:String})],exports.SchmancyEmailRecipients.prototype,"emptyStateTitle",2),y([c.property({type:String})],exports.SchmancyEmailRecipients.prototype,"emptyStateMessage",2),y([c.property({type:Object})],exports.SchmancyEmailRecipients.prototype,"csvParser",2),y([c.state()],exports.SchmancyEmailRecipients.prototype,"dragOver",2),y([c.state()],exports.SchmancyEmailRecipients.prototype,"localSelectedRecipients",2),y([c.state()],exports.SchmancyEmailRecipients.prototype,"searchQuery",2),y([c.state()],exports.SchmancyEmailRecipients.prototype,"filteredRecipients",2),y([c.state()],exports.SchmancyEmailRecipients.prototype,"boatState",2),exports.SchmancyEmailRecipients=y([c.customElement("schmancy-email-recipients")],exports.SchmancyEmailRecipients);
|
|
1173
|
-
//# sourceMappingURL=email-recipients-
|
|
1173
|
+
//# sourceMappingURL=email-recipients-BhntMZMf.cjs.map
|