@mhmo91/schmancy 0.4.92 → 0.4.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/area.md +181 -968
- package/dist/ai/area.md +181 -968
- package/dist/{animated-text-CUFCt7Zg.js → animated-text-BLDqQ33G.js} +3 -3
- package/dist/{animated-text-CUFCt7Zg.js.map → animated-text-BLDqQ33G.js.map} +1 -1
- package/dist/{animated-text-CM1zqBki.cjs → animated-text-CIgDmUF0.cjs} +2 -2
- package/dist/{animated-text-CM1zqBki.cjs.map → animated-text-CIgDmUF0.cjs.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.js +1 -1
- package/dist/{autocomplete-CFREt7Vm.cjs → autocomplete-35wx4zfo.cjs} +6 -6
- package/dist/autocomplete-35wx4zfo.cjs.map +1 -0
- package/dist/{autocomplete-09_SfjsP.js → autocomplete-DMbJLodc.js} +35 -35
- package/dist/autocomplete-DMbJLodc.js.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-CKp3Ukk4.js → avatar-BqGZ5lKc.js} +152 -200
- package/dist/avatar-BqGZ5lKc.js.map +1 -0
- package/dist/{avatar-C8PC_n9i.cjs → avatar-UnP-o7T9.cjs} +21 -69
- package/dist/avatar-UnP-o7T9.cjs.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-DDJK4CS4.js → boat-PVy1fXfm.js} +2 -2
- package/dist/{boat-DDJK4CS4.js.map → boat-PVy1fXfm.js.map} +1 -1
- package/dist/{boat-Ddi4PegB.cjs → boat-zVJF22wK.cjs} +2 -2
- package/dist/{boat-Ddi4PegB.cjs.map → boat-zVJF22wK.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-TclkD2h5.cjs → checkbox-BtZqKgPT.cjs} +2 -2
- package/dist/{checkbox-TclkD2h5.cjs.map → checkbox-BtZqKgPT.cjs.map} +1 -1
- package/dist/{checkbox-BU1x0W8U.js → checkbox-DAFDBz7J.js} +2 -2
- package/dist/{checkbox-BU1x0W8U.js.map → checkbox-DAFDBz7J.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-DQBHJNSu.cjs → chips-BRigd0oB.cjs} +10 -21
- package/dist/{chips-DQBHJNSu.cjs.map → chips-BRigd0oB.cjs.map} +1 -1
- package/dist/{chips-Bxsoq1vm.js → chips-BnA6mVWq.js} +56 -67
- package/dist/{chips-Bxsoq1vm.js.map → chips-BnA6mVWq.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-C9Imx-RX.cjs → code-preview-BYWzA52m.cjs} +2 -2
- package/dist/{code-preview-C9Imx-RX.cjs.map → code-preview-BYWzA52m.cjs.map} +1 -1
- package/dist/{code-preview-DnUM87ZB.js → code-preview-CUc2NHQu.js} +2 -2
- package/dist/{code-preview-DnUM87ZB.js.map → code-preview-CUc2NHQu.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-DF7MnRi3.js → date-range-DFNdMN6p.js} +4 -4
- package/dist/{date-range-DF7MnRi3.js.map → date-range-DFNdMN6p.js.map} +1 -1
- package/dist/{date-range-D1A1Xrmw.cjs → date-range-DhWbY9Ph.cjs} +2 -2
- package/dist/{date-range-D1A1Xrmw.cjs.map → date-range-DhWbY9Ph.cjs.map} +1 -1
- package/dist/{date-range-inline-CwLJLOe1.cjs → date-range-inline-FiCLIta4.cjs} +2 -2
- package/dist/{date-range-inline-CwLJLOe1.cjs.map → date-range-inline-FiCLIta4.cjs.map} +1 -1
- package/dist/{date-range-inline-Ca4DPfeR.js → date-range-inline-xh0mrWH9.js} +3 -3
- package/dist/{date-range-inline-Ca4DPfeR.js.map → date-range-inline-xh0mrWH9.js.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-hXu_bFxW.js → delay-BTRy2v5H.js} +2 -2
- package/dist/{delay-hXu_bFxW.js.map → delay-BTRy2v5H.js.map} +1 -1
- package/dist/{delay-DQKt6VVn.cjs → delay-dCLgp1B7.cjs} +2 -2
- package/dist/{delay-DQKt6VVn.cjs.map → delay-dCLgp1B7.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-Ft0ivj0F.cjs → details-Bf0qMDKW.cjs} +2 -2
- package/dist/{details-Ft0ivj0F.cjs.map → details-Bf0qMDKW.cjs.map} +1 -1
- package/dist/{details-Ci0XXz0g.js → details-BsmaD0yr.js} +2 -2
- package/dist/{details-Ci0XXz0g.js.map → details-BsmaD0yr.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-7tFlrTFn.cjs → dialog-content-0w0WQYF3.cjs} +2 -2
- package/dist/{dialog-content-7tFlrTFn.cjs.map → dialog-content-0w0WQYF3.cjs.map} +1 -1
- package/dist/{dialog-content-DXnLwUtv.js → dialog-content-r1Ai3BZj.js} +4 -4
- package/dist/{dialog-content-DXnLwUtv.js.map → dialog-content-r1Ai3BZj.js.map} +1 -1
- package/dist/dialog-service-CgJH8clD.cjs +2 -0
- package/dist/dialog-service-CgJH8clD.cjs.map +1 -0
- package/dist/{dialog-service-DwhuICgc.js → dialog-service-PQ9ssbsY.js} +53 -47
- package/dist/dialog-service-PQ9ssbsY.js.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +2 -2
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +1 -1
- package/dist/divider-BPsLFNzK.js +22 -0
- package/dist/divider-BPsLFNzK.js.map +1 -0
- package/dist/divider-CYPKRC_-.cjs +2 -0
- package/dist/divider-CYPKRC_-.cjs.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-BCk2WbXc.js → dropdown-content-B51-eGbI.js} +40 -41
- package/dist/dropdown-content-B51-eGbI.js.map +1 -0
- package/dist/{dropdown-content-CXxTjA0j.cjs → dropdown-content-DelDUcfW.cjs} +5 -10
- package/dist/dropdown-content-DelDUcfW.cjs.map +1 -0
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-BWIYYwA8.cjs → email-recipients-BlSATi3L.cjs} +24 -24
- package/dist/email-recipients-BlSATi3L.cjs.map +1 -0
- package/dist/{email-recipients-BT3xPoBN.js → email-recipients-hkvv_vgI.js} +141 -144
- package/dist/email-recipients-hkvv_vgI.js.map +1 -0
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-DJEZ1DdQ.js → flex-BDtCUg0s.js} +2 -2
- package/dist/{flex-DJEZ1DdQ.js.map → flex-BDtCUg0s.js.map} +1 -1
- package/dist/{flex-DflXFgVs.cjs → flex-_K-5RVZM.cjs} +2 -2
- package/dist/{flex-DflXFgVs.cjs.map → flex-_K-5RVZM.cjs.map} +1 -1
- package/dist/{form-7OiDtJT4.js → form-BTmhZIB8.js} +11 -23
- package/dist/form-BTmhZIB8.js.map +1 -0
- package/dist/form-jw1NVkyp.cjs +2 -0
- package/dist/form-jw1NVkyp.cjs.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-3i7VOHMH.js → formField.mixin-D_1WwNWJ.js} +2 -2
- package/dist/{formField.mixin-3i7VOHMH.js.map → formField.mixin-D_1WwNWJ.js.map} +1 -1
- package/dist/{formField.mixin-B1vJlhmI.cjs → formField.mixin-HN79lSIE.cjs} +2 -2
- package/dist/{formField.mixin-B1vJlhmI.cjs.map → formField.mixin-HN79lSIE.cjs.map} +1 -1
- package/dist/{icon-BMhWh8Ib.js → icon-Clqcexag.js} +2 -2
- package/dist/{icon-BMhWh8Ib.js.map → icon-Clqcexag.js.map} +1 -1
- package/dist/{icon-button-DOZuY9x8.js → icon-button-Bu_eEqfk.js} +5 -5
- package/dist/icon-button-Bu_eEqfk.js.map +1 -0
- package/dist/{icon-button-CLDy5tUS.cjs → icon-button-M5CqyRR4.cjs} +4 -4
- package/dist/icon-button-M5CqyRR4.cjs.map +1 -0
- package/dist/{icon-TPLdDnCq.cjs → icon-pFAWVSGq.cjs} +2 -2
- package/dist/{icon-TPLdDnCq.cjs.map → icon-pFAWVSGq.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +49 -49
- package/dist/{input-Dre3bMuF.js → input-CFlQ_9Cq.js} +40 -44
- package/dist/input-CFlQ_9Cq.js.map +1 -0
- package/dist/input-CWOVMdSb.cjs +51 -0
- package/dist/input-CWOVMdSb.cjs.map +1 -0
- 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/lazy-DObpkuL6.cjs.map +1 -1
- package/dist/lazy-E2LCDm7n.js.map +1 -1
- package/dist/{list-DZ43cTnR.cjs → list-CDXL73JQ.cjs} +2 -2
- package/dist/{list-DZ43cTnR.cjs.map → list-CDXL73JQ.cjs.map} +1 -1
- package/dist/{list-2mBZmMCP.js → list-rmfIuWZK.js} +2 -2
- package/dist/{list-2mBZmMCP.js.map → list-rmfIuWZK.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-Bj0zv3lK.js → litElement.mixin-Dm9SOPDp.js} +2 -2
- package/dist/{litElement.mixin-Bj0zv3lK.js.map → litElement.mixin-Dm9SOPDp.js.map} +1 -1
- package/dist/{litElement.mixin-CjRG_9tZ.cjs → litElement.mixin-YJ8D9a8Z.cjs} +2 -2
- package/dist/{litElement.mixin-CjRG_9tZ.cjs.map → litElement.mixin-YJ8D9a8Z.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-sSS6ACVH.js → map-BfP3ZVm_.js} +2 -2
- package/dist/{map-sSS6ACVH.js.map → map-BfP3ZVm_.js.map} +1 -1
- package/dist/{map-D69SEPpf.cjs → map-DQwGv46m.cjs} +2 -2
- package/dist/{map-D69SEPpf.cjs.map → map-DQwGv46m.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/media-B28J9yez.js +261 -0
- package/dist/media-B28J9yez.js.map +1 -0
- package/dist/media-DtYChqKs.cjs +177 -0
- package/dist/media-DtYChqKs.cjs.map +1 -0
- package/dist/{menu-CATzB9tA.js → menu-C0iTDVTM.js} +3 -3
- package/dist/{menu-CATzB9tA.js.map → menu-C0iTDVTM.js.map} +1 -1
- package/dist/{menu-BOeTdvk_.cjs → menu-jcodrTEA.cjs} +2 -2
- package/dist/{menu-BOeTdvk_.cjs.map → menu-jcodrTEA.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/{notification-service-DrwmIgoR.js → notification-service-BIH173dS.js} +62 -58
- package/dist/notification-service-BIH173dS.js.map +1 -0
- package/dist/{notification-service-LnNx5EDh.cjs → notification-service-CD-XzDeP.cjs} +7 -7
- package/dist/notification-service-CD-XzDeP.cjs.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-C41nYdUf.js → notify-4u_P6A9W.js} +2 -2
- package/dist/{notify-C41nYdUf.js.map → notify-4u_P6A9W.js.map} +1 -1
- package/dist/{notify-DQMcgjgZ.cjs → notify-C95rxXiW.cjs} +2 -2
- package/dist/{notify-DQMcgjgZ.cjs.map → notify-C95rxXiW.cjs.map} +1 -1
- package/dist/{option-DbBr0StZ.js → option-CTkTl7Pz.js} +12 -12
- package/dist/option-CTkTl7Pz.js.map +1 -0
- package/dist/{option-BNKGfKgL.cjs → option-D-Itfwmu.cjs} +5 -5
- package/dist/option-D-Itfwmu.cjs.map +1 -0
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-_jHodv7G.js → payment-card-form-DcipYS1-.js} +3 -3
- package/dist/{payment-card-form-_jHodv7G.js.map → payment-card-form-DcipYS1-.js.map} +1 -1
- package/dist/{payment-card-form-ByWbYHhd.cjs → payment-card-form-HQsOp4z5.cjs} +2 -2
- package/dist/{payment-card-form-ByWbYHhd.cjs.map → payment-card-form-HQsOp4z5.cjs.map} +1 -1
- package/dist/{progress-BY7K7Etz.cjs → progress-B3Q1qs5e.cjs} +2 -2
- package/dist/{progress-BY7K7Etz.cjs.map → progress-B3Q1qs5e.cjs.map} +1 -1
- package/dist/{progress-Cix7Mu1p.js → progress-zOZKeIA7.js} +2 -2
- package/dist/{progress-Cix7Mu1p.js.map → progress-zOZKeIA7.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-BNmjg-i9.js → radio-button-C4TI0v9W.js} +27 -27
- package/dist/radio-button-C4TI0v9W.js.map +1 -0
- package/dist/radio-button-COzEX5Ar.cjs +41 -0
- package/dist/radio-button-COzEX5Ar.cjs.map +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{ripple-BumgqsDT.js → ripple-Cy-nvO8W.js} +24 -22
- package/dist/ripple-Cy-nvO8W.js.map +1 -0
- package/dist/ripple-DqQrvaTe.cjs +16 -0
- package/dist/ripple-DqQrvaTe.cjs.map +1 -0
- package/dist/route.component-Cr-M16SZ.cjs +12 -0
- package/dist/route.component-Cr-M16SZ.cjs.map +1 -0
- package/dist/route.component-Df4CQy4C.js +320 -0
- package/dist/route.component-Df4CQy4C.js.map +1 -0
- package/dist/{schmancy-steps-container-BUE4fG8_.js → schmancy-steps-container-DC6Ca6-A.js} +2 -2
- package/dist/{schmancy-steps-container-BUE4fG8_.js.map → schmancy-steps-container-DC6Ca6-A.js.map} +1 -1
- package/dist/{schmancy-steps-container-D69TfC2I.cjs → schmancy-steps-container-DfzodwEn.cjs} +2 -2
- package/dist/{schmancy-steps-container-D69TfC2I.cjs.map → schmancy-steps-container-DfzodwEn.cjs.map} +1 -1
- package/dist/{select-Bspcrc-h.js → select-Br2sY6MK.js} +16 -16
- package/dist/select-Br2sY6MK.js.map +1 -0
- package/dist/select-wUk1qE31.cjs +57 -0
- package/dist/select-wUk1qE31.cjs.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-BxOGSGJ0.js → sheet-BjJdVvvp.js} +3 -3
- package/dist/{sheet-BxOGSGJ0.js.map → sheet-BjJdVvvp.js.map} +1 -1
- package/dist/{sheet-CuE9tUeo.cjs → sheet-D3RmdvbL.cjs} +2 -2
- package/dist/{sheet-CuE9tUeo.cjs.map → sheet-D3RmdvbL.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-ChQVbnYO.js → slider-Dgwlzvr-.js} +3 -3
- package/dist/{slider-ChQVbnYO.js.map → slider-Dgwlzvr-.js.map} +1 -1
- package/dist/{slider-DeKwZONn.cjs → slider-XoN7Z9iO.cjs} +2 -2
- package/dist/{slider-DeKwZONn.cjs.map → slider-XoN7Z9iO.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-C5tMQys5.cjs → spinner-D9l0j12i.cjs} +2 -2
- package/dist/{spinner-C5tMQys5.cjs.map → spinner-D9l0j12i.cjs.map} +1 -1
- package/dist/{spinner-y1dPMTQp.js → spinner-e06PNB2u.js} +2 -2
- package/dist/{spinner-y1dPMTQp.js.map → spinner-e06PNB2u.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-4MzhEaru.cjs → surface-BgLZnRcp.cjs} +2 -2
- package/dist/{surface-4MzhEaru.cjs.map → surface-BgLZnRcp.cjs.map} +1 -1
- package/dist/{surface-BYmdH754.js → surface-trk3Zpii.js} +2 -2
- package/dist/{surface-BYmdH754.js.map → surface-trk3Zpii.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-YBHaxQzQ.js → table-BfFAQg7K.js} +2 -2
- package/dist/{table-YBHaxQzQ.js.map → table-BfFAQg7K.js.map} +1 -1
- package/dist/{table-J5EVvpXy.cjs → table-g0Wsm45r.cjs} +2 -2
- package/dist/{table-J5EVvpXy.cjs.map → table-g0Wsm45r.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-ezB19WI8.js → tabs-compatibility-D1RfuRqZ.js} +2 -2
- package/dist/{tabs-compatibility-ezB19WI8.js.map → tabs-compatibility-D1RfuRqZ.js.map} +1 -1
- package/dist/{tabs-compatibility-JMTsaND_.cjs → tabs-compatibility-FkpvGEG3.cjs} +2 -2
- package/dist/{tabs-compatibility-JMTsaND_.cjs.map → tabs-compatibility-FkpvGEG3.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-CPuO9c5y.js +43 -0
- package/dist/{tailwind.mixin-Cwbr8x57.js.map → tailwind.mixin-CPuO9c5y.js.map} +1 -1
- package/dist/tailwind.mixin-Cb-fyJ_y.cjs +2 -0
- package/dist/{tailwind.mixin-B-VcpMHn.cjs.map → tailwind.mixin-Cb-fyJ_y.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-B3nWhCra.cjs → textarea-DBKIOjBp.cjs} +2 -2
- package/dist/{textarea-B3nWhCra.cjs.map → textarea-DBKIOjBp.cjs.map} +1 -1
- package/dist/{textarea-yn7IFbnu.js → textarea-U-fvfv2M.js} +3 -3
- package/dist/{textarea-yn7IFbnu.js.map → textarea-U-fvfv2M.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-I_c1ZWWV.cjs → theme-button-C-6Y_Mib.cjs} +2 -2
- package/dist/{theme-button-I_c1ZWWV.cjs.map → theme-button-C-6Y_Mib.cjs.map} +1 -1
- package/dist/{theme-button-CGArg1pu.js → theme-button-CnWM9ZCv.js} +2 -2
- package/dist/{theme-button-CGArg1pu.js.map → theme-button-CnWM9ZCv.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-B5zp-4OG.js → theme.component-CfLAvCYi.js} +168 -168
- package/dist/{theme.component-B5zp-4OG.js.map → theme.component-CfLAvCYi.js.map} +1 -1
- package/dist/{theme.component-CdSDaeU0.cjs → theme.component-Dko2yi2n.cjs} +3 -3
- package/dist/{theme.component-CdSDaeU0.cjs.map → theme.component-Dko2yi2n.cjs.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-CepyC8kw.js → timezone-CXGJk88N.js} +3 -3
- package/dist/{timezone-CepyC8kw.js.map → timezone-CXGJk88N.js.map} +1 -1
- package/dist/{timezone-DRBf5biI.cjs → timezone-Wy7jf5gf.cjs} +2 -2
- package/dist/{timezone-DRBf5biI.cjs.map → timezone-Wy7jf5gf.cjs.map} +1 -1
- package/dist/tooltip-BXCWSU_6.cjs +7 -0
- package/dist/tooltip-BXCWSU_6.cjs.map +1 -0
- package/dist/{tooltip-C6HlAqs2.js → tooltip-CuDCLzkr.js} +55 -55
- package/dist/tooltip-CuDCLzkr.js.map +1 -0
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-CpqWMdfb.cjs → tree-Bux6udiH.cjs} +2 -2
- package/dist/{tree-CpqWMdfb.cjs.map → tree-Bux6udiH.cjs.map} +1 -1
- package/dist/{tree-CxJAr7G3.js → tree-CfcLl-dV.js} +2 -2
- package/dist/{tree-CxJAr7G3.js.map → tree-CfcLl-dV.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-D3QLAVdz.js → typewriter-C63WkKf1.js} +64 -76
- package/dist/typewriter-C63WkKf1.js.map +1 -0
- package/dist/{typewriter-BWg7Otk8.cjs → typewriter-HZThI3m1.cjs} +3 -15
- package/dist/typewriter-HZThI3m1.cjs.map +1 -0
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DGOOlbC1.cjs → typography-DNj4eHeR.cjs} +2 -2
- package/dist/{typography-DGOOlbC1.cjs.map → typography-DNj4eHeR.cjs.map} +1 -1
- package/dist/{typography-C8NCP_rr.js → typography-DRkYb9R0.js} +2 -2
- package/dist/{typography-C8NCP_rr.js.map → typography-DRkYb9R0.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/area/area.component.d.ts +8 -3
- package/types/src/area/area.service.d.ts +1 -0
- package/types/src/area/route.component.d.ts +4 -5
- package/types/src/area/utils.d.ts +2 -1
- package/types/src/card/card.d.ts +56 -3
- package/types/src/directives/ripple.d.ts +2 -1
- package/types/src/dropdown/dropdown-component.d.ts +1 -0
- package/types/src/form/form-v2.d.ts +0 -1
- package/types/src/form/form.d.ts +0 -1
- package/types/src/mailbox/email-editor.d.ts +1 -2
- package/types/src/notification/notification-audio.d.ts +9 -0
- package/types/src/notification/notification-container.d.ts +1 -0
- package/dist/autocomplete-09_SfjsP.js.map +0 -1
- package/dist/autocomplete-CFREt7Vm.cjs.map +0 -1
- package/dist/avatar-C8PC_n9i.cjs.map +0 -1
- package/dist/avatar-CKp3Ukk4.js.map +0 -1
- package/dist/dialog-service-DwhuICgc.js.map +0 -1
- package/dist/dialog-service-juvsgc5X.cjs +0 -2
- package/dist/dialog-service-juvsgc5X.cjs.map +0 -1
- package/dist/divider-BG9uDpUp.js +0 -103
- package/dist/divider-BG9uDpUp.js.map +0 -1
- package/dist/divider-CWnAg2p-.cjs +0 -83
- package/dist/divider-CWnAg2p-.cjs.map +0 -1
- package/dist/dropdown-content-BCk2WbXc.js.map +0 -1
- package/dist/dropdown-content-CXxTjA0j.cjs.map +0 -1
- package/dist/email-recipients-BT3xPoBN.js.map +0 -1
- package/dist/email-recipients-BWIYYwA8.cjs.map +0 -1
- package/dist/form-7OiDtJT4.js.map +0 -1
- package/dist/form-nHwPpyhJ.cjs +0 -14
- package/dist/form-nHwPpyhJ.cjs.map +0 -1
- package/dist/icon-button-CLDy5tUS.cjs.map +0 -1
- package/dist/icon-button-DOZuY9x8.js.map +0 -1
- package/dist/input-CqLneJhz.cjs +0 -51
- package/dist/input-CqLneJhz.cjs.map +0 -1
- package/dist/input-Dre3bMuF.js.map +0 -1
- package/dist/media-B-VIbSH_.js +0 -151
- package/dist/media-B-VIbSH_.js.map +0 -1
- package/dist/media-Cew1Mxkj.cjs +0 -100
- package/dist/media-Cew1Mxkj.cjs.map +0 -1
- package/dist/notification-service-DrwmIgoR.js.map +0 -1
- package/dist/notification-service-LnNx5EDh.cjs.map +0 -1
- package/dist/option-BNKGfKgL.cjs.map +0 -1
- package/dist/option-DbBr0StZ.js.map +0 -1
- package/dist/radio-button-BNmjg-i9.js.map +0 -1
- package/dist/radio-button-CYq6qTSb.cjs +0 -41
- package/dist/radio-button-CYq6qTSb.cjs.map +0 -1
- package/dist/ripple-BumgqsDT.js.map +0 -1
- package/dist/ripple-C2BHbhcS.cjs +0 -16
- package/dist/ripple-C2BHbhcS.cjs.map +0 -1
- package/dist/route.component-CzCd2fMa.cjs +0 -12
- package/dist/route.component-CzCd2fMa.cjs.map +0 -1
- package/dist/route.component-Q3rCkryr.js +0 -321
- package/dist/route.component-Q3rCkryr.js.map +0 -1
- package/dist/select-B-yc3JB7.cjs +0 -57
- package/dist/select-B-yc3JB7.cjs.map +0 -1
- package/dist/select-Bspcrc-h.js.map +0 -1
- package/dist/tailwind.mixin-B-VcpMHn.cjs +0 -2
- package/dist/tailwind.mixin-Cwbr8x57.js +0 -43
- package/dist/tooltip-C6HlAqs2.js.map +0 -1
- package/dist/tooltip-CCX8PidC.cjs +0 -7
- package/dist/tooltip-CCX8PidC.cjs.map +0 -1
- package/dist/typewriter-BWg7Otk8.cjs.map +0 -1
- package/dist/typewriter-D3QLAVdz.js.map +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";const r=require("@floating-ui/dom"),w=require("lit/directive.js"),n=require("rxjs"),I=require("./tailwind.mixin-Cb-fyJ_y.cjs"),O=require("lit"),m=require("lit/decorators.js"),E=new WeakMap;class U extends w.Directive{constructor(i){if(super(i),i.type!==w.PartType.ELEMENT)throw new Error("The tooltip directive can only be used on elements")}render(i,s={}){return{text:i,options:s}}update(i,[s,e={}]){const o=i.element,l=e?.position||"top",d=e?.delay||300,y=e?.showArrow!==!1;let t=E.get(o);if(t)t.tooltipElement.textContent=s,t.arrowElement&&(t.arrowElement.style.visibility=y?"visible":"hidden");else{const p=document.createElement("div");let u;p.className="schmancy-tooltip",Object.assign(p.style,{position:"absolute",zIndex:"10000",backgroundColor:"var(--schmancy-sys-color-surface-highest, #333)",color:"var(--schmancy-sys-color-surface-on, white)",padding:"8px 12px",borderRadius:"4px",fontSize:"14px",fontWeight:"normal",maxWidth:"300px",pointerEvents:"none",opacity:"0",transition:"opacity 150ms ease",boxShadow:"var(--schmancy-sys-elevation-2)",textAlign:"center",visibility:"hidden"}),y&&(u=document.createElement("div"),u.className="schmancy-tooltip-arrow",Object.assign(u.style,{position:"absolute",width:"8px",height:"8px",background:"inherit",visibility:"hidden",transform:"rotate(45deg)"}),p.appendChild(u)),p.setAttribute("role","tooltip");const f=`tooltip-${Math.random().toString(36).slice(2,9)}`;p.id=f,o.setAttribute("aria-describedby",f),document.body.appendChild(p),t={tooltipElement:p,arrowElement:u},E.set(o,t);const x=()=>{t?.showTimeout&&clearTimeout(t.showTimeout),t.showTimeout=window.setTimeout(()=>{t.tooltipElement.textContent=s,y&&t.arrowElement&&!t.tooltipElement.contains(t.arrowElement)&&t.tooltipElement.appendChild(t.arrowElement),t.tooltipElement.style.visibility="visible",t.cleanup&&t.cleanup(),t.cleanup=r.autoUpdate(o,t.tooltipElement,()=>async function(v,c,T,k){const S=[r.offset(8),r.flip({fallbackPlacements:["top","right","bottom","left"].filter(b=>b!==T),padding:5}),r.shift({padding:5})];k&&c.arrowElement&&S.push(r.arrow({element:c.arrowElement}));const{x:q,y:P,placement:$,middlewareData:C}=await r.computePosition(v,c.tooltipElement,{placement:T,middleware:S,strategy:"fixed"});if(Object.assign(c.tooltipElement.style,{left:`${q}px`,top:`${P}px`,position:"fixed"}),k&&c.arrowElement&&C.arrow){const{x:b,y:A}=C.arrow,z={top:"bottom",right:"left",bottom:"top",left:"right"}[$.split("-")[0]]||"bottom";Object.assign(c.arrowElement.style,{left:b!=null?`${b}px`:"",top:A!=null?`${A}px`:"",[z]:"-4px",visibility:"visible"})}}(o,t,l,y)),requestAnimationFrame(()=>{t.tooltipElement.style.opacity="1"})},d)},g=()=>{t?.showTimeout&&clearTimeout(t.showTimeout),t.tooltipElement.style.opacity="0",setTimeout(()=>{t.tooltipElement.style.visibility="hidden"},150),t?.cleanup&&(t.cleanup(),t.cleanup=void 0)},j=[n.fromEvent(o,"mouseenter").subscribe(x),n.fromEvent(o,"focus").subscribe(x),n.fromEvent(o,"mouseleave").subscribe(g),n.fromEvent(o,"blur").subscribe(g),n.fromEvent(document,"keydown").subscribe(v=>{v.key==="Escape"&&t?.tooltipElement.style.opacity==="1"&&g()})];t.subscriptions=j}return{text:s,options:e}}disconnected(i){const s=i.element,e=E.get(s);e&&(e.subscriptions&&e.subscriptions.forEach(o=>o.unsubscribe()),e.showTimeout&&clearTimeout(e.showTimeout),e.cleanup&&e.cleanup(),document.body.contains(e.tooltipElement)&&document.body.removeChild(e.tooltipElement),s.hasAttribute("aria-describedby")&&s.removeAttribute("aria-describedby"),E.delete(s))}}const N=w.directive(U);var W=Object.defineProperty,M=Object.getOwnPropertyDescriptor,h=(a,i,s,e)=>{for(var o,l=e>1?void 0:e?M(i,s):i,d=a.length-1;d>=0;d--)(o=a[d])&&(l=(e?o(i,s,l):o(l))||l);return e&&l&&W(i,s,l),l};exports.SchmancyTooltip=class extends I.TailwindElement(O.css`
|
|
2
|
+
:host {
|
|
3
|
+
display: inline-block;
|
|
4
|
+
position: relative;
|
|
5
|
+
}
|
|
6
|
+
`){constructor(){super(...arguments),this.text="",this.position="top",this.delay=50,this.disabled=!1,this.visible=!1,this.triggerElement=null,this.tooltipElement=null}connectedCallback(){super.connectedCallback(),this.tooltipElement||this.createTooltipElement()}firstUpdated(){this.updateComplete.then(()=>{const a=this.shadowRoot?.querySelector("slot"),i=a?.assignedElements()||[];i.length>0&&(this.triggerElement=i[0],this.setupEvents())})}createTooltipElement(){this.tooltipElement=document.createElement("div"),this.tooltipElement.className="schmancy-tooltip",Object.assign(this.tooltipElement.style,{position:"absolute",zIndex:"10000",backgroundColor:"var(--schmancy-sys-color-surface-highest, #333)",color:"var(--schmancy-sys-color-surface-on, white)",padding:"8px 12px",borderRadius:"4px",fontSize:"14px",fontWeight:"normal",maxWidth:"300px",pointerEvents:"none",opacity:"0",transition:"opacity 150ms ease",boxShadow:"var(--schmancy-sys-elevation-2)",textAlign:"center"}),this.tooltipElement.setAttribute("role","tooltip"),document.body.appendChild(this.tooltipElement)}setupEvents(){if(!this.triggerElement||this.disabled)return;const a=`tooltip-${Math.random().toString(36).slice(2,9)}`;this.tooltipElement&&(this.tooltipElement.id=a,this.triggerElement.setAttribute("aria-describedby",a));const i=n.fromEvent(this.triggerElement,"mouseenter"),s=n.fromEvent(this.triggerElement,"focus"),e=n.fromEvent(this.triggerElement,"mouseleave"),o=n.fromEvent(this.triggerElement,"blur");n.fromEvent(document,"keydown").pipe(n.takeUntil(this.disconnecting)).subscribe(l=>{l.key==="Escape"&&this.visible&&this.hideTooltip()}),n.merge(i,s).pipe(n.takeUntil(this.disconnecting)).subscribe(()=>{this.showTooltip()}),n.merge(e,o).pipe(n.takeUntil(this.disconnecting)).subscribe(()=>{this.hideTooltip()})}disconnectedCallback(){this.tooltipElement&&document.body.contains(this.tooltipElement)&&document.body.removeChild(this.tooltipElement),this.cleanup?.(),clearTimeout(this.showTimeoutId),super.disconnectedCallback()}showTooltip(){!this.disabled&&this.tooltipElement&&this.triggerElement&&(clearTimeout(this.showTimeoutId),this.showTimeoutId=window.setTimeout(()=>{this.tooltipElement&&(this.tooltipElement.textContent=this.text,this.visible=!0,this.tooltipElement.style.opacity="1",this.initializePositioning())},this.delay))}hideTooltip(){clearTimeout(this.showTimeoutId),this.tooltipElement&&(this.visible=!1,this.tooltipElement.style.opacity="0"),this.cleanup&&(this.cleanup(),this.cleanup=void 0)}initializePositioning(){this.triggerElement&&this.tooltipElement&&(this.cleanup&&this.cleanup(),this.cleanup=r.autoUpdate(this.triggerElement,this.tooltipElement,()=>{r.computePosition(this.triggerElement,this.tooltipElement,{placement:this.position,middleware:[r.offset(8),r.flip({padding:5}),r.shift({padding:5})]}).then(({x:a,y:i})=>{this.tooltipElement&&Object.assign(this.tooltipElement.style,{left:`${a}px`,top:`${i}px`})})}))}render(){return O.html`<slot></slot>`}},h([m.property({type:String})],exports.SchmancyTooltip.prototype,"text",2),h([m.property({type:String})],exports.SchmancyTooltip.prototype,"position",2),h([m.property({type:Number})],exports.SchmancyTooltip.prototype,"delay",2),h([m.property({type:Boolean})],exports.SchmancyTooltip.prototype,"disabled",2),h([m.state()],exports.SchmancyTooltip.prototype,"visible",2),exports.SchmancyTooltip=h([m.customElement("schmancy-tooltip")],exports.SchmancyTooltip),exports.tooltip=N;
|
|
7
|
+
//# sourceMappingURL=tooltip-BXCWSU_6.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip-BXCWSU_6.cjs","sources":["../src/tooltip/tooltip.directive.ts","../src/tooltip/tooltip.ts"],"sourcesContent":["import { arrow, autoUpdate, computePosition, flip, offset, Placement, shift, Strategy } from '@floating-ui/dom'\nimport { Directive, directive, ElementPart, ElementPartInfo, PartType } from 'lit/directive.js'\nimport { fromEvent, Subscription } from 'rxjs'\n\n// Store tooltip data for elements\nconst tooltipMap = new WeakMap<\n\tElement,\n\t{\n\t\ttooltipElement: HTMLElement\n\t\tarrowElement?: HTMLElement\n\t\tcleanup?: () => void\n\t\tshowTimeout?: number\n\t\tsubscriptions?: Subscription[]\n\t}\n>()\n\nclass TooltipDirective extends Directive {\n\tconstructor(partInfo: ElementPartInfo) {\n\t\tsuper(partInfo)\n\t\tif (partInfo.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('The tooltip directive can only be used on elements')\n\t\t}\n\t}\n\n\trender(\n\t\ttext: string,\n\t\toptions: {\n\t\t\tposition?: 'top' | 'right' | 'bottom' | 'left'\n\t\t\tdelay?: number\n\t\t\tshowArrow?: boolean\n\t\t} = {},\n\t) {\n\t\treturn { text, options }\n\t}\n\n\tupdate(part: ElementPart, [text, options = {}]: [string, any]) {\n\t\tconst element = part.element as HTMLElement\n\t\tconst position = options?.position || 'top'\n\t\tconst delay = options?.delay || 300\n\t\tconst showArrow = options?.showArrow !== false // Default to true\n\n\t\t// Get or create tooltip data\n\t\tlet tooltipData = tooltipMap.get(element)\n\n\t\tif (!tooltipData) {\n\t\t\t// Create tooltip element\n\t\t\tconst tooltipElement = document.createElement('div')\n\t\t\ttooltipElement.className = 'schmancy-tooltip'\n\n\t\t\t// Apply styles\n\t\t\tObject.assign(tooltipElement.style, {\n\t\t\t\tposition: 'absolute',\n\t\t\t\tzIndex: '10000',\n\t\t\t\tbackgroundColor: 'var(--schmancy-sys-color-surface-highest, #333)',\n\t\t\t\tcolor: 'var(--schmancy-sys-color-surface-on, white)',\n\t\t\t\tpadding: '8px 12px',\n\t\t\t\tborderRadius: '4px',\n\t\t\t\tfontSize: '14px',\n\t\t\t\tfontWeight: 'normal',\n\t\t\t\tmaxWidth: '300px',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\topacity: '0',\n\t\t\t\ttransition: 'opacity 150ms ease',\n\t\t\t\tboxShadow: 'var(--schmancy-sys-elevation-2)',\n\t\t\t\ttextAlign: 'center',\n\t\t\t\t// Important: start with visibility hidden to avoid flash\n\t\t\t\tvisibility: 'hidden',\n\t\t\t})\n\n\t\t\t// Create arrow element if needed\n\t\t\tlet arrowElement: HTMLElement | undefined\n\t\t\tif (showArrow) {\n\t\t\t\tarrowElement = document.createElement('div')\n\t\t\t\tarrowElement.className = 'schmancy-tooltip-arrow'\n\t\t\t\tObject.assign(arrowElement.style, {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\twidth: '8px',\n\t\t\t\t\theight: '8px',\n\t\t\t\t\tbackground: 'inherit',\n\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t// We'll rotate this to create an arrow\n\t\t\t\t\ttransform: 'rotate(45deg)',\n\t\t\t\t})\n\t\t\t\ttooltipElement.appendChild(arrowElement)\n\t\t\t}\n\n\t\t\t// Set ARIA attributes\n\t\t\ttooltipElement.setAttribute('role', 'tooltip')\n\n\t\t\t// Generate unique ID\n\t\t\tconst tooltipId = `tooltip-${Math.random().toString(36).slice(2, 9)}`\n\t\t\ttooltipElement.id = tooltipId\n\t\t\telement.setAttribute('aria-describedby', tooltipId)\n\n\t\t\t// Add to document\n\t\t\tdocument.body.appendChild(tooltipElement)\n\n\t\t\t// Create tooltip data\n\t\t\ttooltipData = {\n\t\t\t\ttooltipElement,\n\t\t\t\tarrowElement,\n\t\t\t}\n\n\t\t\ttooltipMap.set(element, tooltipData)\n\n\t\t\t// Define show handler\n\t\t\tconst showTooltip = () => {\n\t\t\t\tif (tooltipData?.showTimeout) {\n\t\t\t\t\tclearTimeout(tooltipData.showTimeout)\n\t\t\t\t}\n\n\t\t\t\ttooltipData.showTimeout = window.setTimeout(() => {\n\t\t\t\t\t// Set content\n\t\t\t\t\ttooltipData.tooltipElement.textContent = text\n\n\t\t\t\t\t// Add arrow back if it was removed\n\t\t\t\t\tif (showArrow && tooltipData.arrowElement && !tooltipData.tooltipElement.contains(tooltipData.arrowElement)) {\n\t\t\t\t\t\ttooltipData.tooltipElement.appendChild(tooltipData.arrowElement)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Make sure element is visible first\n\t\t\t\t\ttooltipData.tooltipElement.style.visibility = 'visible'\n\n\t\t\t\t\t// Clean up existing positioning\n\t\t\t\t\tif (tooltipData.cleanup) {\n\t\t\t\t\t\ttooltipData.cleanup()\n\t\t\t\t\t}\n\n\t\t\t\t\t// Set up positioning\n\t\t\t\t\ttooltipData.cleanup = autoUpdate(element, tooltipData.tooltipElement, () =>\n\t\t\t\t\t\tupdatePosition(element, tooltipData, position, showArrow),\n\t\t\t\t\t)\n\n\t\t\t\t\t// Make opacity 1 after positioning is set up\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\ttooltipData.tooltipElement.style.opacity = '1'\n\t\t\t\t\t})\n\t\t\t\t}, delay)\n\t\t\t}\n\n\t\t\t// Define hide handler\n\t\t\tconst hideTooltip = () => {\n\t\t\t\tif (tooltipData?.showTimeout) {\n\t\t\t\t\tclearTimeout(tooltipData.showTimeout)\n\t\t\t\t}\n\n\t\t\t\ttooltipData.tooltipElement.style.opacity = '0'\n\n\t\t\t\t// Set visibility to hidden after fade out\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttooltipData.tooltipElement.style.visibility = 'hidden'\n\t\t\t\t}, 150) // Match transition time\n\n\t\t\t\t// Clean up positioning\n\t\t\t\tif (tooltipData?.cleanup) {\n\t\t\t\t\ttooltipData.cleanup()\n\t\t\t\t\ttooltipData.cleanup = undefined\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add event listeners using fromEvent\n\t\t\tconst subscriptions = [\n\t\t\t\tfromEvent(element, 'mouseenter').subscribe(showTooltip),\n\t\t\t\tfromEvent(element, 'focus').subscribe(showTooltip),\n\t\t\t\tfromEvent(element, 'mouseleave').subscribe(hideTooltip),\n\t\t\t\tfromEvent(element, 'blur').subscribe(hideTooltip),\n\t\t\t\tfromEvent<KeyboardEvent>(document, 'keydown').subscribe((e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Escape' && tooltipData?.tooltipElement.style.opacity === '1') {\n\t\t\t\t\t\thideTooltip()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t]\n\n\t\t\t// Store subscriptions for cleanup\n\t\t\ttooltipData.subscriptions = subscriptions\n\t\t} else {\n\t\t\t// Update content for existing tooltip\n\t\t\ttooltipData.tooltipElement.textContent = text\n\n\t\t\t// Update arrow visibility if needed\n\t\t\tif (tooltipData.arrowElement) {\n\t\t\t\ttooltipData.arrowElement.style.visibility = showArrow ? 'visible' : 'hidden'\n\t\t\t}\n\t\t}\n\n\t\treturn { text, options }\n\t}\n\n\tdisconnected(part: ElementPart) {\n\t\tconst element = part.element\n\t\tconst tooltipData = tooltipMap.get(element)\n\n\t\tif (tooltipData) {\n\t\t\t// Clean up subscriptions\n\t\t\tif (tooltipData.subscriptions) {\n\t\t\t\ttooltipData.subscriptions.forEach(subscription => subscription.unsubscribe())\n\t\t\t}\n\n\t\t\t// Clean up timeouts and positioning\n\t\t\tif (tooltipData.showTimeout) {\n\t\t\t\tclearTimeout(tooltipData.showTimeout)\n\t\t\t}\n\n\t\t\tif (tooltipData.cleanup) {\n\t\t\t\ttooltipData.cleanup()\n\t\t\t}\n\n\t\t\t// Remove tooltip element\n\t\t\tif (document.body.contains(tooltipData.tooltipElement)) {\n\t\t\t\tdocument.body.removeChild(tooltipData.tooltipElement)\n\t\t\t}\n\n\t\t\t// Remove ARIA attributes\n\t\t\tif (element.hasAttribute('aria-describedby')) {\n\t\t\t\telement.removeAttribute('aria-describedby')\n\t\t\t}\n\n\t\t\t// Remove from WeakMap\n\t\t\ttooltipMap.delete(element)\n\t\t}\n\t}\n}\n\n// Separate positioning function for clarity and reuse\nasync function updatePosition(element: HTMLElement, tooltipData: any, position: string, showArrow: boolean) {\n\t// Use floating-ui to compute position\n\tconst middleware = [\n\t\toffset(8), // Distance from the element\n\t\tflip({\n\t\t\tfallbackPlacements: ['top', 'right', 'bottom', 'left'].filter(p => p !== position) as Placement[],\n\t\t\tpadding: 5, // How far from the edges before flipping\n\t\t}),\n\t\tshift({ padding: 5 }), // Keep it within viewport bounds\n\t]\n\n\t// Add arrow middleware if needed\n\tif (showArrow && tooltipData.arrowElement) {\n\t\tmiddleware.push(arrow({ element: tooltipData.arrowElement }))\n\t}\n\n\tconst { x, y, placement, middlewareData } = await computePosition(element, tooltipData.tooltipElement, {\n\t\tplacement: position as Placement,\n\t\tmiddleware,\n\t\tstrategy: 'fixed' as Strategy, // Fixed positioning works better across contexts\n\t})\n\n\t// Apply position\n\tObject.assign(tooltipData.tooltipElement.style, {\n\t\tleft: `${x}px`,\n\t\ttop: `${y}px`,\n\t\tposition: 'fixed',\n\t})\n\n\t// Position the arrow if it exists\n\tif (showArrow && tooltipData.arrowElement && middlewareData.arrow) {\n\t\tconst { x: arrowX, y: arrowY } = middlewareData.arrow\n\n\t\t// Determine which side the arrow should be on based on placement\n\t\tconst staticSide =\n\t\t\t{\n\t\t\t\ttop: 'bottom',\n\t\t\t\tright: 'left',\n\t\t\t\tbottom: 'top',\n\t\t\t\tleft: 'right',\n\t\t\t}[placement.split('-')[0]] || 'bottom'\n\n\t\t// Position the arrow\n\t\tObject.assign(tooltipData.arrowElement.style, {\n\t\t\tleft: arrowX != null ? `${arrowX}px` : '',\n\t\t\ttop: arrowY != null ? `${arrowY}px` : '',\n\t\t\t[staticSide]: '-4px', // Position the arrow on the correct side\n\t\t\tvisibility: 'visible',\n\t\t})\n\t}\n}\n\nexport const tooltip = directive(TooltipDirective)\n","import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { html, css } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { fromEvent, merge, takeUntil } from 'rxjs'\nimport { computePosition, flip, shift, offset, autoUpdate, Placement } from '@floating-ui/dom'\n\n/**\n * A tooltip component that displays a text tooltip when hovering over content.\n * Addresses shadow DOM limitations by teleporting the tooltip to document.body.\n *\n * @element schmancy-tooltip\n */\n@customElement('schmancy-tooltip')\nexport class SchmancyTooltip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t}\n`) {\n\t@property({ type: String })\n\ttext = ''\n\n\t@property({ type: String })\n\tposition: 'top' | 'right' | 'bottom' | 'left' = 'top'\n\n\t@property({ type: Number })\n\tdelay = 50\n\n\t@property({ type: Boolean })\n\tdisabled = false\n\n\t@state() private visible = false\n\n\tprivate triggerElement: HTMLElement | null = null\n\tprivate tooltipElement: HTMLElement | null = null\n\tprivate cleanup: (() => void) | undefined\n\tprivate showTimeoutId: number | undefined\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create tooltip element once\n\t\tif (!this.tooltipElement) {\n\t\t\tthis.createTooltipElement()\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\t// Wait for slotted elements to be available\n\t\tthis.updateComplete.then(() => {\n\t\t\t// Get the first slotted element as trigger\n\t\t\tconst slot = this.shadowRoot?.querySelector('slot') as HTMLSlotElement\n\t\t\tconst slottedElements = slot?.assignedElements() || []\n\n\t\t\tif (slottedElements.length > 0) {\n\t\t\t\tthis.triggerElement = slottedElements[0] as HTMLElement\n\t\t\t\tthis.setupEvents()\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate createTooltipElement() {\n\t\t// Create the tooltip element in document.body\n\t\tthis.tooltipElement = document.createElement('div')\n\t\tthis.tooltipElement.className = 'schmancy-tooltip'\n\n\t\t// Apply styles\n\t\tObject.assign(this.tooltipElement.style, {\n\t\t\tposition: 'absolute',\n\t\t\tzIndex: '10000',\n\t\t\tbackgroundColor: 'var(--schmancy-sys-color-surface-highest, #333)',\n\t\t\tcolor: 'var(--schmancy-sys-color-surface-on, white)',\n\t\t\tpadding: '8px 12px',\n\t\t\tborderRadius: '4px',\n\t\t\tfontSize: '14px',\n\t\t\tfontWeight: 'normal',\n\t\t\tmaxWidth: '300px',\n\t\t\tpointerEvents: 'none',\n\t\t\topacity: '0',\n\t\t\ttransition: 'opacity 150ms ease',\n\t\t\tboxShadow: 'var(--schmancy-sys-elevation-2)',\n\t\t\ttextAlign: 'center',\n\t\t})\n\n\t\t// Set ARIA attributes\n\t\tthis.tooltipElement.setAttribute('role', 'tooltip')\n\n\t\t// Add to document\n\t\tdocument.body.appendChild(this.tooltipElement)\n\t}\n\n\tprivate setupEvents() {\n\t\tif (!this.triggerElement || this.disabled) return\n\n\t\t// Generate unique ID for ARIA\n\t\tconst tooltipId = `tooltip-${Math.random().toString(36).slice(2, 9)}`\n\t\tif (this.tooltipElement) {\n\t\t\tthis.tooltipElement.id = tooltipId\n\t\t\tthis.triggerElement.setAttribute('aria-describedby', tooltipId)\n\t\t}\n\n\t\t// Setup event streams using RxJS\n\t\tconst mouseEnter$ = fromEvent(this.triggerElement, 'mouseenter')\n\t\tconst focus$ = fromEvent(this.triggerElement, 'focus')\n\t\tconst mouseLeave$ = fromEvent(this.triggerElement, 'mouseleave')\n\t\tconst blur$ = fromEvent(this.triggerElement, 'blur')\n\n\t\t// Global escape key handler\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tif (event.key === 'Escape' && this.visible) {\n\t\t\t\t\tthis.hideTooltip()\n\t\t\t\t}\n\t\t\t})\n\n\t\t// Handle showing\n\t\tmerge(mouseEnter$, focus$)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showTooltip()\n\t\t\t})\n\n\t\t// Handle hiding\n\t\tmerge(mouseLeave$, blur$)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideTooltip()\n\t\t\t})\n\t}\n\n\tdisconnectedCallback() {\n\t\t// Clean up\n\t\tif (this.tooltipElement && document.body.contains(this.tooltipElement)) {\n\t\t\tdocument.body.removeChild(this.tooltipElement)\n\t\t}\n\t\tthis.cleanup?.()\n\t\tclearTimeout(this.showTimeoutId)\n\t\tsuper.disconnectedCallback()\n\t}\n\n\tprivate showTooltip() {\n\t\tif (this.disabled || !this.tooltipElement || !this.triggerElement) return\n\n\t\t// Clear any existing timeout\n\t\tclearTimeout(this.showTimeoutId)\n\n\t\t// Set timeout for showing\n\t\tthis.showTimeoutId = window.setTimeout(() => {\n\t\t\t// Update content\n\t\t\tif (this.tooltipElement) {\n\t\t\t\tthis.tooltipElement.textContent = this.text\n\n\t\t\t\t// Make visible\n\t\t\t\tthis.visible = true\n\t\t\t\tthis.tooltipElement.style.opacity = '1'\n\n\t\t\t\t// Initialize positioning\n\t\t\t\tthis.initializePositioning()\n\t\t\t}\n\t\t}, this.delay)\n\t}\n\n\tprivate hideTooltip() {\n\t\t// Clear showing timeout\n\t\tclearTimeout(this.showTimeoutId)\n\n\t\t// Hide tooltip\n\t\tif (this.tooltipElement) {\n\t\t\tthis.visible = false\n\t\t\tthis.tooltipElement.style.opacity = '0'\n\t\t}\n\n\t\t// Clean up positioning\n\t\tif (this.cleanup) {\n\t\t\tthis.cleanup()\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t}\n\n\tprivate initializePositioning() {\n\t\tif (!this.triggerElement || !this.tooltipElement) return\n\n\t\t// Clean up existing positioning\n\t\tif (this.cleanup) {\n\t\t\tthis.cleanup()\n\t\t}\n\n\t\t// Set up auto-updating position\n\t\tthis.cleanup = autoUpdate(this.triggerElement, this.tooltipElement, () => {\n\t\t\t// Compute position\n\t\t\tcomputePosition(this.triggerElement!, this.tooltipElement!, {\n\t\t\t\tplacement: this.position as Placement,\n\t\t\t\tmiddleware: [offset(8), flip({ padding: 5 }), shift({ padding: 5 })],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Apply position\n\t\t\t\tif (this.tooltipElement) {\n\t\t\t\t\tObject.assign(this.tooltipElement.style, {\n\t\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tooltip': SchmancyTooltip\n\t}\n}\n"],"names":["tooltipMap","WeakMap","TooltipDirective","Directive","partInfo","super","type","PartType","ELEMENT","Error","text","options","part","element","position","delay","showArrow","tooltipData","get","tooltipElement","textContent","arrowElement","style","visibility","document","createElement","className","Object","assign","zIndex","backgroundColor","color","padding","borderRadius","fontSize","fontWeight","maxWidth","pointerEvents","opacity","transition","boxShadow","textAlign","width","height","background","transform","appendChild","setAttribute","tooltipId","Math","random","toString","slice","id","body","set","showTooltip","showTimeout","clearTimeout","window","setTimeout","contains","cleanup","autoUpdate","async","middleware","offset","flip","fallbackPlacements","filter","p","shift","push","arrow","x","y","placement","middlewareData","computePosition","strategy","left","top","arrowX","arrowY","staticSide","right","bottom","split","requestAnimationFrame","hideTooltip","subscriptions","fromEvent","subscribe","e","key","forEach","subscription","unsubscribe","removeChild","hasAttribute","removeAttribute","delete","tooltip","directive","SchmancyTooltip","TailwindElement","css","constructor","arguments","this","disabled","visible","triggerElement","connectedCallback","createTooltipElement","firstUpdated","updateComplete","then","slot","shadowRoot","querySelector","slottedElements","assignedElements","length","setupEvents","mouseEnter$","focus$","mouseLeave$","blur$","pipe","takeUntil","disconnecting","event","merge","showTimeoutId","disconnectedCallback","initializePositioning","render","html","__decorateClass","property","String","prototype","Number","Boolean","state","customElement"],"mappings":"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"}
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
import { autoUpdate as j, offset as O, flip as $, shift as P, arrow as
|
|
2
|
-
import { directive as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
const
|
|
8
|
-
constructor(
|
|
9
|
-
if (super(
|
|
1
|
+
import { autoUpdate as j, offset as O, flip as $, shift as P, arrow as R, computePosition as z } from "@floating-ui/dom";
|
|
2
|
+
import { directive as U, Directive as q, PartType as B } from "lit/directive.js";
|
|
3
|
+
import { fromEvent as n, takeUntil as w, merge as S } from "rxjs";
|
|
4
|
+
import { T as F } from "./tailwind.mixin-CPuO9c5y.js";
|
|
5
|
+
import { css as L, html as G } from "lit";
|
|
6
|
+
import { property as b, state as H, customElement as J } from "lit/decorators.js";
|
|
7
|
+
const y = /* @__PURE__ */ new WeakMap(), et = U(class extends q {
|
|
8
|
+
constructor(o) {
|
|
9
|
+
if (super(o), o.type !== B.ELEMENT) throw new Error("The tooltip directive can only be used on elements");
|
|
10
10
|
}
|
|
11
|
-
render(
|
|
12
|
-
return { text:
|
|
11
|
+
render(o, e = {}) {
|
|
12
|
+
return { text: o, options: e };
|
|
13
13
|
}
|
|
14
|
-
update(
|
|
15
|
-
const s =
|
|
16
|
-
let t =
|
|
17
|
-
if (t) t.tooltipElement.textContent = e, t.arrowElement && (t.arrowElement.style.visibility =
|
|
14
|
+
update(o, [e, i = {}]) {
|
|
15
|
+
const s = o.element, a = i?.position || "top", l = i?.delay || 300, r = i?.showArrow !== !1;
|
|
16
|
+
let t = y.get(s);
|
|
17
|
+
if (t) t.tooltipElement.textContent = e, t.arrowElement && (t.arrowElement.style.visibility = r ? "visible" : "hidden");
|
|
18
18
|
else {
|
|
19
|
-
const
|
|
19
|
+
const p = document.createElement("div");
|
|
20
20
|
let d;
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
|
|
21
|
+
p.className = "schmancy-tooltip", Object.assign(p.style, { position: "absolute", zIndex: "10000", backgroundColor: "var(--schmancy-sys-color-surface-highest, #333)", color: "var(--schmancy-sys-color-surface-on, white)", padding: "8px 12px", borderRadius: "4px", fontSize: "14px", fontWeight: "normal", maxWidth: "300px", pointerEvents: "none", opacity: "0", transition: "opacity 150ms ease", boxShadow: "var(--schmancy-sys-elevation-2)", textAlign: "center", visibility: "hidden" }), r && (d = document.createElement("div"), d.className = "schmancy-tooltip-arrow", Object.assign(d.style, { position: "absolute", width: "8px", height: "8px", background: "inherit", visibility: "hidden", transform: "rotate(45deg)" }), p.appendChild(d)), p.setAttribute("role", "tooltip");
|
|
22
|
+
const v = `tooltip-${Math.random().toString(36).slice(2, 9)}`;
|
|
23
|
+
p.id = v, s.setAttribute("aria-describedby", v), document.body.appendChild(p), t = { tooltipElement: p, arrowElement: d }, y.set(s, t);
|
|
24
24
|
const x = () => {
|
|
25
25
|
t?.showTimeout && clearTimeout(t.showTimeout), t.showTimeout = window.setTimeout(() => {
|
|
26
|
-
t.tooltipElement.textContent = e,
|
|
26
|
+
t.tooltipElement.textContent = e, r && t.arrowElement && !t.tooltipElement.contains(t.arrowElement) && t.tooltipElement.appendChild(t.arrowElement), t.tooltipElement.style.visibility = "visible", t.cleanup && t.cleanup(), t.cleanup = j(s, t.tooltipElement, () => async function(g, m, f, T) {
|
|
27
27
|
const C = [O(8), $({ fallbackPlacements: ["top", "right", "bottom", "left"].filter((u) => u !== f), padding: 5 }), P({ padding: 5 })];
|
|
28
|
-
T && m.arrowElement && C.push(
|
|
29
|
-
const { x:
|
|
30
|
-
if (Object.assign(m.tooltipElement.style, { left: `${
|
|
31
|
-
const { x: u, y: A } = k.arrow,
|
|
32
|
-
Object.assign(m.arrowElement.style, { left: u != null ? `${u}px` : "", top: A != null ? `${A}px` : "", [
|
|
28
|
+
T && m.arrowElement && C.push(R({ element: m.arrowElement }));
|
|
29
|
+
const { x: N, y: W, placement: M, middlewareData: k } = await z(g, m.tooltipElement, { placement: f, middleware: C, strategy: "fixed" });
|
|
30
|
+
if (Object.assign(m.tooltipElement.style, { left: `${N}px`, top: `${W}px`, position: "fixed" }), T && m.arrowElement && k.arrow) {
|
|
31
|
+
const { x: u, y: A } = k.arrow, D = { top: "bottom", right: "left", bottom: "top", left: "right" }[M.split("-")[0]] || "bottom";
|
|
32
|
+
Object.assign(m.arrowElement.style, { left: u != null ? `${u}px` : "", top: A != null ? `${A}px` : "", [D]: "-4px", visibility: "visible" });
|
|
33
33
|
}
|
|
34
|
-
}(s, t, a,
|
|
34
|
+
}(s, t, a, r)), requestAnimationFrame(() => {
|
|
35
35
|
t.tooltipElement.style.opacity = "1";
|
|
36
36
|
});
|
|
37
|
-
},
|
|
38
|
-
},
|
|
37
|
+
}, l);
|
|
38
|
+
}, E = () => {
|
|
39
39
|
t?.showTimeout && clearTimeout(t.showTimeout), t.tooltipElement.style.opacity = "0", setTimeout(() => {
|
|
40
40
|
t.tooltipElement.style.visibility = "hidden";
|
|
41
41
|
}, 150), t?.cleanup && (t.cleanup(), t.cleanup = void 0);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
}, I = [n(s, "mouseenter").subscribe(x), n(s, "focus").subscribe(x), n(s, "mouseleave").subscribe(E), n(s, "blur").subscribe(E), n(document, "keydown").subscribe((g) => {
|
|
43
|
+
g.key === "Escape" && t?.tooltipElement.style.opacity === "1" && E();
|
|
44
|
+
})];
|
|
45
|
+
t.subscriptions = I;
|
|
46
46
|
}
|
|
47
|
-
return { text: e, options:
|
|
47
|
+
return { text: e, options: i };
|
|
48
48
|
}
|
|
49
|
-
disconnected(
|
|
50
|
-
const e =
|
|
51
|
-
|
|
49
|
+
disconnected(o) {
|
|
50
|
+
const e = o.element, i = y.get(e);
|
|
51
|
+
i && (i.subscriptions && i.subscriptions.forEach((s) => s.unsubscribe()), i.showTimeout && clearTimeout(i.showTimeout), i.cleanup && i.cleanup(), document.body.contains(i.tooltipElement) && document.body.removeChild(i.tooltipElement), e.hasAttribute("aria-describedby") && e.removeAttribute("aria-describedby"), y.delete(e));
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
-
var
|
|
55
|
-
for (var a,
|
|
56
|
-
return s &&
|
|
54
|
+
var K = Object.defineProperty, Q = Object.getOwnPropertyDescriptor, h = (o, e, i, s) => {
|
|
55
|
+
for (var a, l = s > 1 ? void 0 : s ? Q(e, i) : e, r = o.length - 1; r >= 0; r--) (a = o[r]) && (l = (s ? a(e, i, l) : a(l)) || l);
|
|
56
|
+
return s && l && K(e, i, l), l;
|
|
57
57
|
};
|
|
58
|
-
let
|
|
58
|
+
let c = class extends F(L`
|
|
59
59
|
:host {
|
|
60
60
|
display: inline-block;
|
|
61
61
|
position: relative;
|
|
@@ -69,7 +69,7 @@ let p = class extends q(B`
|
|
|
69
69
|
}
|
|
70
70
|
firstUpdated() {
|
|
71
71
|
this.updateComplete.then(() => {
|
|
72
|
-
const
|
|
72
|
+
const o = this.shadowRoot?.querySelector("slot"), e = o?.assignedElements() || [];
|
|
73
73
|
e.length > 0 && (this.triggerElement = e[0], this.setupEvents());
|
|
74
74
|
});
|
|
75
75
|
}
|
|
@@ -78,14 +78,14 @@ let p = class extends q(B`
|
|
|
78
78
|
}
|
|
79
79
|
setupEvents() {
|
|
80
80
|
if (!this.triggerElement || this.disabled) return;
|
|
81
|
-
const
|
|
82
|
-
this.tooltipElement && (this.tooltipElement.id =
|
|
83
|
-
const e =
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}), S(e,
|
|
81
|
+
const o = `tooltip-${Math.random().toString(36).slice(2, 9)}`;
|
|
82
|
+
this.tooltipElement && (this.tooltipElement.id = o, this.triggerElement.setAttribute("aria-describedby", o));
|
|
83
|
+
const e = n(this.triggerElement, "mouseenter"), i = n(this.triggerElement, "focus"), s = n(this.triggerElement, "mouseleave"), a = n(this.triggerElement, "blur");
|
|
84
|
+
n(document, "keydown").pipe(w(this.disconnecting)).subscribe((l) => {
|
|
85
|
+
l.key === "Escape" && this.visible && this.hideTooltip();
|
|
86
|
+
}), S(e, i).pipe(w(this.disconnecting)).subscribe(() => {
|
|
87
87
|
this.showTooltip();
|
|
88
|
-
}), S(s, a).pipe(
|
|
88
|
+
}), S(s, a).pipe(w(this.disconnecting)).subscribe(() => {
|
|
89
89
|
this.hideTooltip();
|
|
90
90
|
});
|
|
91
91
|
}
|
|
@@ -102,18 +102,18 @@ let p = class extends q(B`
|
|
|
102
102
|
}
|
|
103
103
|
initializePositioning() {
|
|
104
104
|
this.triggerElement && this.tooltipElement && (this.cleanup && this.cleanup(), this.cleanup = j(this.triggerElement, this.tooltipElement, () => {
|
|
105
|
-
z(this.triggerElement, this.tooltipElement, { placement: this.position, middleware: [O(8), $({ padding: 5 }), P({ padding: 5 })] }).then(({ x:
|
|
106
|
-
this.tooltipElement && Object.assign(this.tooltipElement.style, { left: `${
|
|
105
|
+
z(this.triggerElement, this.tooltipElement, { placement: this.position, middleware: [O(8), $({ padding: 5 }), P({ padding: 5 })] }).then(({ x: o, y: e }) => {
|
|
106
|
+
this.tooltipElement && Object.assign(this.tooltipElement.style, { left: `${o}px`, top: `${e}px` });
|
|
107
107
|
});
|
|
108
108
|
}));
|
|
109
109
|
}
|
|
110
110
|
render() {
|
|
111
|
-
return
|
|
111
|
+
return G`<slot></slot>`;
|
|
112
112
|
}
|
|
113
113
|
};
|
|
114
|
-
|
|
114
|
+
h([b({ type: String })], c.prototype, "text", 2), h([b({ type: String })], c.prototype, "position", 2), h([b({ type: Number })], c.prototype, "delay", 2), h([b({ type: Boolean })], c.prototype, "disabled", 2), h([H()], c.prototype, "visible", 2), c = h([J("schmancy-tooltip")], c);
|
|
115
115
|
export {
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
c as S,
|
|
117
|
+
et as t
|
|
118
118
|
};
|
|
119
|
-
//# sourceMappingURL=tooltip-
|
|
119
|
+
//# sourceMappingURL=tooltip-CuDCLzkr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip-CuDCLzkr.js","sources":["../src/tooltip/tooltip.directive.ts","../src/tooltip/tooltip.ts"],"sourcesContent":["import { arrow, autoUpdate, computePosition, flip, offset, Placement, shift, Strategy } from '@floating-ui/dom'\nimport { Directive, directive, ElementPart, ElementPartInfo, PartType } from 'lit/directive.js'\nimport { fromEvent, Subscription } from 'rxjs'\n\n// Store tooltip data for elements\nconst tooltipMap = new WeakMap<\n\tElement,\n\t{\n\t\ttooltipElement: HTMLElement\n\t\tarrowElement?: HTMLElement\n\t\tcleanup?: () => void\n\t\tshowTimeout?: number\n\t\tsubscriptions?: Subscription[]\n\t}\n>()\n\nclass TooltipDirective extends Directive {\n\tconstructor(partInfo: ElementPartInfo) {\n\t\tsuper(partInfo)\n\t\tif (partInfo.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('The tooltip directive can only be used on elements')\n\t\t}\n\t}\n\n\trender(\n\t\ttext: string,\n\t\toptions: {\n\t\t\tposition?: 'top' | 'right' | 'bottom' | 'left'\n\t\t\tdelay?: number\n\t\t\tshowArrow?: boolean\n\t\t} = {},\n\t) {\n\t\treturn { text, options }\n\t}\n\n\tupdate(part: ElementPart, [text, options = {}]: [string, any]) {\n\t\tconst element = part.element as HTMLElement\n\t\tconst position = options?.position || 'top'\n\t\tconst delay = options?.delay || 300\n\t\tconst showArrow = options?.showArrow !== false // Default to true\n\n\t\t// Get or create tooltip data\n\t\tlet tooltipData = tooltipMap.get(element)\n\n\t\tif (!tooltipData) {\n\t\t\t// Create tooltip element\n\t\t\tconst tooltipElement = document.createElement('div')\n\t\t\ttooltipElement.className = 'schmancy-tooltip'\n\n\t\t\t// Apply styles\n\t\t\tObject.assign(tooltipElement.style, {\n\t\t\t\tposition: 'absolute',\n\t\t\t\tzIndex: '10000',\n\t\t\t\tbackgroundColor: 'var(--schmancy-sys-color-surface-highest, #333)',\n\t\t\t\tcolor: 'var(--schmancy-sys-color-surface-on, white)',\n\t\t\t\tpadding: '8px 12px',\n\t\t\t\tborderRadius: '4px',\n\t\t\t\tfontSize: '14px',\n\t\t\t\tfontWeight: 'normal',\n\t\t\t\tmaxWidth: '300px',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\topacity: '0',\n\t\t\t\ttransition: 'opacity 150ms ease',\n\t\t\t\tboxShadow: 'var(--schmancy-sys-elevation-2)',\n\t\t\t\ttextAlign: 'center',\n\t\t\t\t// Important: start with visibility hidden to avoid flash\n\t\t\t\tvisibility: 'hidden',\n\t\t\t})\n\n\t\t\t// Create arrow element if needed\n\t\t\tlet arrowElement: HTMLElement | undefined\n\t\t\tif (showArrow) {\n\t\t\t\tarrowElement = document.createElement('div')\n\t\t\t\tarrowElement.className = 'schmancy-tooltip-arrow'\n\t\t\t\tObject.assign(arrowElement.style, {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\twidth: '8px',\n\t\t\t\t\theight: '8px',\n\t\t\t\t\tbackground: 'inherit',\n\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t// We'll rotate this to create an arrow\n\t\t\t\t\ttransform: 'rotate(45deg)',\n\t\t\t\t})\n\t\t\t\ttooltipElement.appendChild(arrowElement)\n\t\t\t}\n\n\t\t\t// Set ARIA attributes\n\t\t\ttooltipElement.setAttribute('role', 'tooltip')\n\n\t\t\t// Generate unique ID\n\t\t\tconst tooltipId = `tooltip-${Math.random().toString(36).slice(2, 9)}`\n\t\t\ttooltipElement.id = tooltipId\n\t\t\telement.setAttribute('aria-describedby', tooltipId)\n\n\t\t\t// Add to document\n\t\t\tdocument.body.appendChild(tooltipElement)\n\n\t\t\t// Create tooltip data\n\t\t\ttooltipData = {\n\t\t\t\ttooltipElement,\n\t\t\t\tarrowElement,\n\t\t\t}\n\n\t\t\ttooltipMap.set(element, tooltipData)\n\n\t\t\t// Define show handler\n\t\t\tconst showTooltip = () => {\n\t\t\t\tif (tooltipData?.showTimeout) {\n\t\t\t\t\tclearTimeout(tooltipData.showTimeout)\n\t\t\t\t}\n\n\t\t\t\ttooltipData.showTimeout = window.setTimeout(() => {\n\t\t\t\t\t// Set content\n\t\t\t\t\ttooltipData.tooltipElement.textContent = text\n\n\t\t\t\t\t// Add arrow back if it was removed\n\t\t\t\t\tif (showArrow && tooltipData.arrowElement && !tooltipData.tooltipElement.contains(tooltipData.arrowElement)) {\n\t\t\t\t\t\ttooltipData.tooltipElement.appendChild(tooltipData.arrowElement)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Make sure element is visible first\n\t\t\t\t\ttooltipData.tooltipElement.style.visibility = 'visible'\n\n\t\t\t\t\t// Clean up existing positioning\n\t\t\t\t\tif (tooltipData.cleanup) {\n\t\t\t\t\t\ttooltipData.cleanup()\n\t\t\t\t\t}\n\n\t\t\t\t\t// Set up positioning\n\t\t\t\t\ttooltipData.cleanup = autoUpdate(element, tooltipData.tooltipElement, () =>\n\t\t\t\t\t\tupdatePosition(element, tooltipData, position, showArrow),\n\t\t\t\t\t)\n\n\t\t\t\t\t// Make opacity 1 after positioning is set up\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\ttooltipData.tooltipElement.style.opacity = '1'\n\t\t\t\t\t})\n\t\t\t\t}, delay)\n\t\t\t}\n\n\t\t\t// Define hide handler\n\t\t\tconst hideTooltip = () => {\n\t\t\t\tif (tooltipData?.showTimeout) {\n\t\t\t\t\tclearTimeout(tooltipData.showTimeout)\n\t\t\t\t}\n\n\t\t\t\ttooltipData.tooltipElement.style.opacity = '0'\n\n\t\t\t\t// Set visibility to hidden after fade out\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttooltipData.tooltipElement.style.visibility = 'hidden'\n\t\t\t\t}, 150) // Match transition time\n\n\t\t\t\t// Clean up positioning\n\t\t\t\tif (tooltipData?.cleanup) {\n\t\t\t\t\ttooltipData.cleanup()\n\t\t\t\t\ttooltipData.cleanup = undefined\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add event listeners using fromEvent\n\t\t\tconst subscriptions = [\n\t\t\t\tfromEvent(element, 'mouseenter').subscribe(showTooltip),\n\t\t\t\tfromEvent(element, 'focus').subscribe(showTooltip),\n\t\t\t\tfromEvent(element, 'mouseleave').subscribe(hideTooltip),\n\t\t\t\tfromEvent(element, 'blur').subscribe(hideTooltip),\n\t\t\t\tfromEvent<KeyboardEvent>(document, 'keydown').subscribe((e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Escape' && tooltipData?.tooltipElement.style.opacity === '1') {\n\t\t\t\t\t\thideTooltip()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t]\n\n\t\t\t// Store subscriptions for cleanup\n\t\t\ttooltipData.subscriptions = subscriptions\n\t\t} else {\n\t\t\t// Update content for existing tooltip\n\t\t\ttooltipData.tooltipElement.textContent = text\n\n\t\t\t// Update arrow visibility if needed\n\t\t\tif (tooltipData.arrowElement) {\n\t\t\t\ttooltipData.arrowElement.style.visibility = showArrow ? 'visible' : 'hidden'\n\t\t\t}\n\t\t}\n\n\t\treturn { text, options }\n\t}\n\n\tdisconnected(part: ElementPart) {\n\t\tconst element = part.element\n\t\tconst tooltipData = tooltipMap.get(element)\n\n\t\tif (tooltipData) {\n\t\t\t// Clean up subscriptions\n\t\t\tif (tooltipData.subscriptions) {\n\t\t\t\ttooltipData.subscriptions.forEach(subscription => subscription.unsubscribe())\n\t\t\t}\n\n\t\t\t// Clean up timeouts and positioning\n\t\t\tif (tooltipData.showTimeout) {\n\t\t\t\tclearTimeout(tooltipData.showTimeout)\n\t\t\t}\n\n\t\t\tif (tooltipData.cleanup) {\n\t\t\t\ttooltipData.cleanup()\n\t\t\t}\n\n\t\t\t// Remove tooltip element\n\t\t\tif (document.body.contains(tooltipData.tooltipElement)) {\n\t\t\t\tdocument.body.removeChild(tooltipData.tooltipElement)\n\t\t\t}\n\n\t\t\t// Remove ARIA attributes\n\t\t\tif (element.hasAttribute('aria-describedby')) {\n\t\t\t\telement.removeAttribute('aria-describedby')\n\t\t\t}\n\n\t\t\t// Remove from WeakMap\n\t\t\ttooltipMap.delete(element)\n\t\t}\n\t}\n}\n\n// Separate positioning function for clarity and reuse\nasync function updatePosition(element: HTMLElement, tooltipData: any, position: string, showArrow: boolean) {\n\t// Use floating-ui to compute position\n\tconst middleware = [\n\t\toffset(8), // Distance from the element\n\t\tflip({\n\t\t\tfallbackPlacements: ['top', 'right', 'bottom', 'left'].filter(p => p !== position) as Placement[],\n\t\t\tpadding: 5, // How far from the edges before flipping\n\t\t}),\n\t\tshift({ padding: 5 }), // Keep it within viewport bounds\n\t]\n\n\t// Add arrow middleware if needed\n\tif (showArrow && tooltipData.arrowElement) {\n\t\tmiddleware.push(arrow({ element: tooltipData.arrowElement }))\n\t}\n\n\tconst { x, y, placement, middlewareData } = await computePosition(element, tooltipData.tooltipElement, {\n\t\tplacement: position as Placement,\n\t\tmiddleware,\n\t\tstrategy: 'fixed' as Strategy, // Fixed positioning works better across contexts\n\t})\n\n\t// Apply position\n\tObject.assign(tooltipData.tooltipElement.style, {\n\t\tleft: `${x}px`,\n\t\ttop: `${y}px`,\n\t\tposition: 'fixed',\n\t})\n\n\t// Position the arrow if it exists\n\tif (showArrow && tooltipData.arrowElement && middlewareData.arrow) {\n\t\tconst { x: arrowX, y: arrowY } = middlewareData.arrow\n\n\t\t// Determine which side the arrow should be on based on placement\n\t\tconst staticSide =\n\t\t\t{\n\t\t\t\ttop: 'bottom',\n\t\t\t\tright: 'left',\n\t\t\t\tbottom: 'top',\n\t\t\t\tleft: 'right',\n\t\t\t}[placement.split('-')[0]] || 'bottom'\n\n\t\t// Position the arrow\n\t\tObject.assign(tooltipData.arrowElement.style, {\n\t\t\tleft: arrowX != null ? `${arrowX}px` : '',\n\t\t\ttop: arrowY != null ? `${arrowY}px` : '',\n\t\t\t[staticSide]: '-4px', // Position the arrow on the correct side\n\t\t\tvisibility: 'visible',\n\t\t})\n\t}\n}\n\nexport const tooltip = directive(TooltipDirective)\n","import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { html, css } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { fromEvent, merge, takeUntil } from 'rxjs'\nimport { computePosition, flip, shift, offset, autoUpdate, Placement } from '@floating-ui/dom'\n\n/**\n * A tooltip component that displays a text tooltip when hovering over content.\n * Addresses shadow DOM limitations by teleporting the tooltip to document.body.\n *\n * @element schmancy-tooltip\n */\n@customElement('schmancy-tooltip')\nexport class SchmancyTooltip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t}\n`) {\n\t@property({ type: String })\n\ttext = ''\n\n\t@property({ type: String })\n\tposition: 'top' | 'right' | 'bottom' | 'left' = 'top'\n\n\t@property({ type: Number })\n\tdelay = 50\n\n\t@property({ type: Boolean })\n\tdisabled = false\n\n\t@state() private visible = false\n\n\tprivate triggerElement: HTMLElement | null = null\n\tprivate tooltipElement: HTMLElement | null = null\n\tprivate cleanup: (() => void) | undefined\n\tprivate showTimeoutId: number | undefined\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create tooltip element once\n\t\tif (!this.tooltipElement) {\n\t\t\tthis.createTooltipElement()\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\t// Wait for slotted elements to be available\n\t\tthis.updateComplete.then(() => {\n\t\t\t// Get the first slotted element as trigger\n\t\t\tconst slot = this.shadowRoot?.querySelector('slot') as HTMLSlotElement\n\t\t\tconst slottedElements = slot?.assignedElements() || []\n\n\t\t\tif (slottedElements.length > 0) {\n\t\t\t\tthis.triggerElement = slottedElements[0] as HTMLElement\n\t\t\t\tthis.setupEvents()\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate createTooltipElement() {\n\t\t// Create the tooltip element in document.body\n\t\tthis.tooltipElement = document.createElement('div')\n\t\tthis.tooltipElement.className = 'schmancy-tooltip'\n\n\t\t// Apply styles\n\t\tObject.assign(this.tooltipElement.style, {\n\t\t\tposition: 'absolute',\n\t\t\tzIndex: '10000',\n\t\t\tbackgroundColor: 'var(--schmancy-sys-color-surface-highest, #333)',\n\t\t\tcolor: 'var(--schmancy-sys-color-surface-on, white)',\n\t\t\tpadding: '8px 12px',\n\t\t\tborderRadius: '4px',\n\t\t\tfontSize: '14px',\n\t\t\tfontWeight: 'normal',\n\t\t\tmaxWidth: '300px',\n\t\t\tpointerEvents: 'none',\n\t\t\topacity: '0',\n\t\t\ttransition: 'opacity 150ms ease',\n\t\t\tboxShadow: 'var(--schmancy-sys-elevation-2)',\n\t\t\ttextAlign: 'center',\n\t\t})\n\n\t\t// Set ARIA attributes\n\t\tthis.tooltipElement.setAttribute('role', 'tooltip')\n\n\t\t// Add to document\n\t\tdocument.body.appendChild(this.tooltipElement)\n\t}\n\n\tprivate setupEvents() {\n\t\tif (!this.triggerElement || this.disabled) return\n\n\t\t// Generate unique ID for ARIA\n\t\tconst tooltipId = `tooltip-${Math.random().toString(36).slice(2, 9)}`\n\t\tif (this.tooltipElement) {\n\t\t\tthis.tooltipElement.id = tooltipId\n\t\t\tthis.triggerElement.setAttribute('aria-describedby', tooltipId)\n\t\t}\n\n\t\t// Setup event streams using RxJS\n\t\tconst mouseEnter$ = fromEvent(this.triggerElement, 'mouseenter')\n\t\tconst focus$ = fromEvent(this.triggerElement, 'focus')\n\t\tconst mouseLeave$ = fromEvent(this.triggerElement, 'mouseleave')\n\t\tconst blur$ = fromEvent(this.triggerElement, 'blur')\n\n\t\t// Global escape key handler\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tif (event.key === 'Escape' && this.visible) {\n\t\t\t\t\tthis.hideTooltip()\n\t\t\t\t}\n\t\t\t})\n\n\t\t// Handle showing\n\t\tmerge(mouseEnter$, focus$)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showTooltip()\n\t\t\t})\n\n\t\t// Handle hiding\n\t\tmerge(mouseLeave$, blur$)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideTooltip()\n\t\t\t})\n\t}\n\n\tdisconnectedCallback() {\n\t\t// Clean up\n\t\tif (this.tooltipElement && document.body.contains(this.tooltipElement)) {\n\t\t\tdocument.body.removeChild(this.tooltipElement)\n\t\t}\n\t\tthis.cleanup?.()\n\t\tclearTimeout(this.showTimeoutId)\n\t\tsuper.disconnectedCallback()\n\t}\n\n\tprivate showTooltip() {\n\t\tif (this.disabled || !this.tooltipElement || !this.triggerElement) return\n\n\t\t// Clear any existing timeout\n\t\tclearTimeout(this.showTimeoutId)\n\n\t\t// Set timeout for showing\n\t\tthis.showTimeoutId = window.setTimeout(() => {\n\t\t\t// Update content\n\t\t\tif (this.tooltipElement) {\n\t\t\t\tthis.tooltipElement.textContent = this.text\n\n\t\t\t\t// Make visible\n\t\t\t\tthis.visible = true\n\t\t\t\tthis.tooltipElement.style.opacity = '1'\n\n\t\t\t\t// Initialize positioning\n\t\t\t\tthis.initializePositioning()\n\t\t\t}\n\t\t}, this.delay)\n\t}\n\n\tprivate hideTooltip() {\n\t\t// Clear showing timeout\n\t\tclearTimeout(this.showTimeoutId)\n\n\t\t// Hide tooltip\n\t\tif (this.tooltipElement) {\n\t\t\tthis.visible = false\n\t\t\tthis.tooltipElement.style.opacity = '0'\n\t\t}\n\n\t\t// Clean up positioning\n\t\tif (this.cleanup) {\n\t\t\tthis.cleanup()\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t}\n\n\tprivate initializePositioning() {\n\t\tif (!this.triggerElement || !this.tooltipElement) return\n\n\t\t// Clean up existing positioning\n\t\tif (this.cleanup) {\n\t\t\tthis.cleanup()\n\t\t}\n\n\t\t// Set up auto-updating position\n\t\tthis.cleanup = autoUpdate(this.triggerElement, this.tooltipElement, () => {\n\t\t\t// Compute position\n\t\t\tcomputePosition(this.triggerElement!, this.tooltipElement!, {\n\t\t\t\tplacement: this.position as Placement,\n\t\t\t\tmiddleware: [offset(8), flip({ padding: 5 }), shift({ padding: 5 })],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Apply position\n\t\t\t\tif (this.tooltipElement) {\n\t\t\t\t\tObject.assign(this.tooltipElement.style, {\n\t\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tooltip': SchmancyTooltip\n\t}\n}\n"],"names":["tooltipMap","WeakMap","tooltip","directive","Directive","partInfo","super","type","PartType","ELEMENT","Error","text","options","part","element","position","delay","showArrow","tooltipData","get","tooltipElement","textContent","arrowElement","style","visibility","document","createElement","className","Object","assign","zIndex","backgroundColor","color","padding","borderRadius","fontSize","fontWeight","maxWidth","pointerEvents","opacity","transition","boxShadow","textAlign","width","height","background","transform","appendChild","setAttribute","tooltipId","Math","random","toString","slice","id","body","set","showTooltip","showTimeout","clearTimeout","window","setTimeout","contains","cleanup","autoUpdate","async","middleware","offset","flip","fallbackPlacements","filter","p","shift","push","arrow","x","y","placement","middlewareData","computePosition","strategy","left","top","arrowX","arrowY","staticSide","right","bottom","split","requestAnimationFrame","hideTooltip","subscriptions","fromEvent","subscribe","e","key","forEach","subscription","unsubscribe","removeChild","hasAttribute","removeAttribute","delete","SchmancyTooltip","TailwindElement","css","constructor","arguments","this","disabled","visible","triggerElement","connectedCallback","createTooltipElement","updateComplete","then","slot","shadowRoot","querySelector","slottedElements","assignedElements","length","setupEvents","mouseEnter$","focus$","mouseLeave$","blur$","pipe","takeUntil","disconnecting","event","merge","disconnectedCallback","showTimeoutId","initializePositioning","render","html","__decorateClass","property","String","prototype","Number","Boolean","state","customElement"],"mappings":"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"}
|
package/dist/tooltip.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./tooltip-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./tooltip-BXCWSU_6.cjs");Object.defineProperty(exports,"SchmancyTooltip",{enumerable:!0,get:()=>e.SchmancyTooltip}),exports.tooltip=e.tooltip;
|
|
2
2
|
//# sourceMappingURL=tooltip.cjs.map
|
package/dist/tooltip.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const t=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),d=require("./tailwind.mixin-
|
|
1
|
+
"use strict";const t=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),d=require("./tailwind.mixin-Cb-fyJ_y.cjs"),p=require("lit");var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,l=(n,r,o,i)=>{for(var s,e=i>1?void 0:i?g(r,o):r,a=n.length-1;a>=0;a--)(s=n[a])&&(e=(i?s(r,o,e):s(e))||e);return i&&e&&u(r,o,e),e};exports.SchmancyTree=class extends d.TailwindElement(p.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|
|
@@ -24,4 +24,4 @@
|
|
|
24
24
|
<!-- The default slot: tree children -->
|
|
25
25
|
<slot></slot>
|
|
26
26
|
`}},l([c.property({type:Boolean})],exports.SchmancyTree.prototype,"open",2),l([c.query("#toggler")],exports.SchmancyTree.prototype,"toggler",2),l([c.query('slot:not([name="root"])')],exports.SchmancyTree.prototype,"defaultSlot",2),l([c.query("#chevron")],exports.SchmancyTree.prototype,"chevron",2),exports.SchmancyTree=l([c.customElement("schmancy-tree")],exports.SchmancyTree);
|
|
27
|
-
//# sourceMappingURL=tree-
|
|
27
|
+
//# sourceMappingURL=tree-Bux6udiH.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-
|
|
1
|
+
{"version":3,"file":"tree-Bux6udiH.cjs","sources":["../src/tree/tree.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { fromEvent, merge, switchMap, takeUntil, tap, zip } from 'rxjs'\n\n/**\n * @element schmancy-tree\n * @slot root - The root element of the tree\n * @slot - The children of the tree\n */\n@customElement('schmancy-tree')\nexport class SchmancyTree extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tbackground-color: initial;\n\t}\n\t::slotted([slot='root']) {\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t}\n\t::slotted([slot='root'] + *) {\n\t\tmargin-top: 0.5rem;\n\t}\n`) {\n\t/**\n\t * Whether the tree’s children are visible\n\t */\n\t@property({ type: Boolean }) open = false\n\n\t@query('#toggler') toggler!: HTMLSlotElement\n\t@query('slot:not([name=\"root\"])') defaultSlot!: HTMLSlotElement\n\n\t// Since it's actually a <schmancy-button>, use HTMLElement or a custom type\n\t@query('#chevron') chevron!: HTMLElement\n\n\tfirstUpdated() {\n\t\t// Hide or show the slot initially based on `open`\n\t\tif (!this.open) {\n\t\t\tthis.defaultSlot.hidden = true\n\t\t}\n\n\t\t// Root toggler\n\t\tconst toggleClick$ = fromEvent<MouseEvent>(this.toggler, 'click').pipe(\n\t\t\ttakeUntil(this.disconnecting),\n\t\t\ttap(e => {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(new CustomEvent('toggle', { bubbles: true, composed: true }))\n\t\t\t}),\n\t\t)\n\n\t\t// Chevron (the schmancy-button) click\n\t\tconst chevronClick$ = fromEvent<MouseEvent>(this.chevron, 'click')\n\n\t\tmerge(toggleClick$, chevronClick$)\n\t\t\t.pipe(\n\t\t\t\tswitchMap(() => {\n\t\t\t\t\t// 1. Animate the chevron rotation\n\t\t\t\t\t// If `open` is true, rotate from 180 -> 0; if false, from 0 -> 180\n\t\t\t\t\tconst fromDeg = this.open ? 180 : 0\n\t\t\t\t\tconst toDeg = this.open ? 0 : 180\n\t\t\t\t\tconst chevronAnimation = this.chevron.animate(\n\t\t\t\t\t\t[{ transform: `rotate(${fromDeg}deg)` }, { transform: `rotate(${toDeg}deg)` }],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\t\teasing: 'ease-in',\n\t\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\n\t\t\t\t\t// 2. Animate the slot’s height + opacity\n\t\t\t\t\tif (!this.open) {\n\t\t\t\t\t\t// We are about to open, so remove `hidden` to measure scrollHeight\n\t\t\t\t\t\tthis.defaultSlot.hidden = false\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fromOpacity = this.open ? 1 : 0\n\t\t\t\t\tconst toOpacity = this.open ? 0 : 1\n\n\t\t\t\t\tconst slotAnimation = this.defaultSlot.animate([{ opacity: fromOpacity }, { opacity: toOpacity }], {\n\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\teasing: 'ease-out',\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t})\n\n\t\t\t\t\t// Hide the slot if we just closed it\n\t\t\t\t\tslotAnimation.onfinish = () => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.defaultSlot.hidden = true\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.defaultSlot.style.height = 'auto'\n\t\t\t\t\t\t\tthis.defaultSlot.style.opacity = '1'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Return an Observable that completes when both animations finish\n\t\t\t\t\treturn zip(fromEvent(chevronAnimation, 'finish'), fromEvent(slotAnimation, 'finish')).pipe(\n\t\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\ttap(() => {\n\t\t\t\t\t// Flip the open state\n\t\t\t\t\tthis.open = !this.open\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\trender() {\n\t\treturn html`\n\t\t\t<div class=\"flex content-center items-center justify-between\">\n\t\t\t\t<!-- Root toggler content -->\n\t\t\t\t<slot id=\"toggler\" name=\"root\"></slot>\n\n\t\t\t\t<!-- The chevron or arrow symbol -->\n\t\t\t\t<!-- Stop propagation on the schmancy-button itself just to avoid double triggers -->\n\t\t\t\t<schmancy-button slot=\"trailing\" id=\"chevron\" @click=${(e: Event) => e.stopPropagation()}> ⌅ </schmancy-button>\n\t\t\t</div>\n\n\t\t\t<!-- The default slot: tree children -->\n\t\t\t<slot></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tree': SchmancyTree\n\t}\n}\n"],"names":["SchmancyTree","TailwindElement","css","super","arguments","this","open","firstUpdated","defaultSlot","hidden","toggleClick$","fromEvent","toggler","pipe","takeUntil","disconnecting","tap","e","preventDefault","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","chevronClick$","chevron","merge","switchMap","fromDeg","toDeg","chevronAnimation","animate","transform","duration","easing","fill","fromOpacity","toOpacity","slotAnimation","opacity","onfinish","style","height","zip","subscribe","render","html","__decorateClass","property","type","Boolean","prototype","query","customElement"],"mappings":"oZAWaA,QAAAA,aAAN,cAA2BC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA3C,CAAA,CAAA,cAAAC,MAAAA,GAAAC,SAAAA,EAiBuBC,KAAAC,KAAAA,EAAO,CAQpC,cAAAC,CAEMF,KAAKC,OACTD,KAAKG,YAAYC,OAAAA,IAIlB,MAAMC,EAAeC,EAAAA,UAAsBN,KAAKO,QAAS,OAAA,EAASC,KACjEC,EAAAA,UAAUT,KAAKU,aAAAA,EACfC,EAAAA,IAAIC,GAAAA,CACHA,EAAEC,iBACFD,EAAEE,gBAAAA,EACFd,KAAKe,cAAc,IAAIC,YAAY,SAAU,CAAEC,WAAeC,SAAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,EAKpEC,EAAgBb,EAAAA,UAAsBN,KAAKoB,QAAS,OAAA,EAE1DC,QAAMhB,EAAcc,CAAAA,EAClBX,KACAc,EAAAA,UAAU,IAAA,CAGT,MAAMC,EAAUvB,KAAKC,KAAO,IAAM,EAC5BuB,EAAQxB,KAAKC,KAAO,EAAI,IACxBwB,EAAmBzB,KAAKoB,QAAQM,QACrC,CAAC,CAAEC,UAAW,UAAUJ,CAAAA,MAAAA,EAAiB,CAAEI,UAAW,UAAUH,CAAAA,MAAAA,CAAAA,EAChE,CACCI,SAAU,IACVC,OAAQ,UACRC,KAAM,UAAA,CAAA,EAKH9B,KAAKC,OAETD,KAAKG,YAAYC,WAGlB,MAAM2B,EAAc/B,KAAKC,KAAO,EAAI,EAC9B+B,EAAYhC,KAAKC,KAAO,EAAI,EAE5BgC,EAAgBjC,KAAKG,YAAYuB,QAAQ,CAAC,CAAEQ,QAASH,CAAAA,EAAe,CAAEG,QAASF,CAAAA,CAAAA,EAAc,CAClGJ,SAAU,IACVC,OAAQ,WACRC,KAAM,UAAA,CAAA,EAcP,OAVAG,EAAcE,SAAW,KACpBnC,KAAKC,KACRD,KAAKG,YAAYC,OAAAA,IAEjBJ,KAAKG,YAAYiC,MAAMC,OAAS,OAChCrC,KAAKG,YAAYiC,MAAMF,QAAU,IAAA,EAK5BI,EAAAA,IAAIhC,YAAUmB,EAAkB,UAAWnB,EAAAA,UAAU2B,EAAe,QAAA,CAAA,EAAWzB,KACrFC,EAAAA,UAAUT,KAAKU,aAAAA,CAAAA,CAAAA,CAAAA,EAGjBC,EAAAA,IAAI,IAAA,CAEHX,KAAKC,MAAQD,KAAKC,IAAAA,CAAAA,EAEnBQ,EAAAA,UAAUT,KAAKU,gBAEf6B,UAAAA,CACH,CAEA,QAAAC,CACC,OAAOC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,2DAOmD7B,GAAaA,EAAEE,gBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAM1E,CAAA,EAhG6B4B,EAAA,CAA5BC,WAAS,CAAEC,KAAMC,OAAAA,CAAAA,CAAAA,EAjBNlD,qBAiBiBmD,UAAA,OAAA,GAEVJ,EAAA,CAAlBK,EAAAA,MAAM,UAAA,CAAA,EAnBKpD,qBAmBOmD,UAAA,UAAA,CAAA,EACeJ,EAAA,CAAjCK,EAAAA,MAAM,yBAAA,CAAA,EApBKpD,qBAoBsBmD,UAAA,cAAA,CAAA,EAGfJ,EAAA,CAAlBK,EAAAA,MAAM,UAAA,CAAA,EAvBKpD,qBAuBOmD,UAAA,UAAA,CAAA,EAvBPnD,QAAAA,aAAN+C,EAAA,CADNM,EAAAA,cAAc,eAAA,CAAA,EACFrD"}
|
|
@@ -2,7 +2,7 @@ import { fromEvent as p, takeUntil as c, tap as g, merge as m, switchMap as f, z
|
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
4
|
import { property as y, query as h, customElement as v } from "lit/decorators.js";
|
|
5
|
-
import { T as b } from "./tailwind.mixin-
|
|
5
|
+
import { T as b } from "./tailwind.mixin-CPuO9c5y.js";
|
|
6
6
|
import { css as S, html as w } from "lit";
|
|
7
7
|
var k = Object.defineProperty, j = Object.getOwnPropertyDescriptor, l = (e, s, o, i) => {
|
|
8
8
|
for (var r, t = i > 1 ? void 0 : i ? j(s, o) : s, a = e.length - 1; a >= 0; a--) (r = e[a]) && (t = (i ? r(s, o, t) : r(t)) || t);
|
|
@@ -61,4 +61,4 @@ l([y({ type: Boolean })], n.prototype, "open", 2), l([h("#toggler")], n.prototyp
|
|
|
61
61
|
export {
|
|
62
62
|
n as S
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=tree-
|
|
64
|
+
//# sourceMappingURL=tree-CfcLl-dV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-
|
|
1
|
+
{"version":3,"file":"tree-CfcLl-dV.js","sources":["../src/tree/tree.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { fromEvent, merge, switchMap, takeUntil, tap, zip } from 'rxjs'\n\n/**\n * @element schmancy-tree\n * @slot root - The root element of the tree\n * @slot - The children of the tree\n */\n@customElement('schmancy-tree')\nexport class SchmancyTree extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tbackground-color: initial;\n\t}\n\t::slotted([slot='root']) {\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t}\n\t::slotted([slot='root'] + *) {\n\t\tmargin-top: 0.5rem;\n\t}\n`) {\n\t/**\n\t * Whether the tree’s children are visible\n\t */\n\t@property({ type: Boolean }) open = false\n\n\t@query('#toggler') toggler!: HTMLSlotElement\n\t@query('slot:not([name=\"root\"])') defaultSlot!: HTMLSlotElement\n\n\t// Since it's actually a <schmancy-button>, use HTMLElement or a custom type\n\t@query('#chevron') chevron!: HTMLElement\n\n\tfirstUpdated() {\n\t\t// Hide or show the slot initially based on `open`\n\t\tif (!this.open) {\n\t\t\tthis.defaultSlot.hidden = true\n\t\t}\n\n\t\t// Root toggler\n\t\tconst toggleClick$ = fromEvent<MouseEvent>(this.toggler, 'click').pipe(\n\t\t\ttakeUntil(this.disconnecting),\n\t\t\ttap(e => {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(new CustomEvent('toggle', { bubbles: true, composed: true }))\n\t\t\t}),\n\t\t)\n\n\t\t// Chevron (the schmancy-button) click\n\t\tconst chevronClick$ = fromEvent<MouseEvent>(this.chevron, 'click')\n\n\t\tmerge(toggleClick$, chevronClick$)\n\t\t\t.pipe(\n\t\t\t\tswitchMap(() => {\n\t\t\t\t\t// 1. Animate the chevron rotation\n\t\t\t\t\t// If `open` is true, rotate from 180 -> 0; if false, from 0 -> 180\n\t\t\t\t\tconst fromDeg = this.open ? 180 : 0\n\t\t\t\t\tconst toDeg = this.open ? 0 : 180\n\t\t\t\t\tconst chevronAnimation = this.chevron.animate(\n\t\t\t\t\t\t[{ transform: `rotate(${fromDeg}deg)` }, { transform: `rotate(${toDeg}deg)` }],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\t\teasing: 'ease-in',\n\t\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\n\t\t\t\t\t// 2. Animate the slot’s height + opacity\n\t\t\t\t\tif (!this.open) {\n\t\t\t\t\t\t// We are about to open, so remove `hidden` to measure scrollHeight\n\t\t\t\t\t\tthis.defaultSlot.hidden = false\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fromOpacity = this.open ? 1 : 0\n\t\t\t\t\tconst toOpacity = this.open ? 0 : 1\n\n\t\t\t\t\tconst slotAnimation = this.defaultSlot.animate([{ opacity: fromOpacity }, { opacity: toOpacity }], {\n\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\teasing: 'ease-out',\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t})\n\n\t\t\t\t\t// Hide the slot if we just closed it\n\t\t\t\t\tslotAnimation.onfinish = () => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.defaultSlot.hidden = true\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.defaultSlot.style.height = 'auto'\n\t\t\t\t\t\t\tthis.defaultSlot.style.opacity = '1'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Return an Observable that completes when both animations finish\n\t\t\t\t\treturn zip(fromEvent(chevronAnimation, 'finish'), fromEvent(slotAnimation, 'finish')).pipe(\n\t\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\ttap(() => {\n\t\t\t\t\t// Flip the open state\n\t\t\t\t\tthis.open = !this.open\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\trender() {\n\t\treturn html`\n\t\t\t<div class=\"flex content-center items-center justify-between\">\n\t\t\t\t<!-- Root toggler content -->\n\t\t\t\t<slot id=\"toggler\" name=\"root\"></slot>\n\n\t\t\t\t<!-- The chevron or arrow symbol -->\n\t\t\t\t<!-- Stop propagation on the schmancy-button itself just to avoid double triggers -->\n\t\t\t\t<schmancy-button slot=\"trailing\" id=\"chevron\" @click=${(e: Event) => e.stopPropagation()}> ⌅ </schmancy-button>\n\t\t\t</div>\n\n\t\t\t<!-- The default slot: tree children -->\n\t\t\t<slot></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tree': SchmancyTree\n\t}\n}\n"],"names":["SchmancyTree","TailwindElement","css","super","arguments","this","open","firstUpdated","defaultSlot","hidden","toggleClick$","fromEvent","toggler","pipe","takeUntil","disconnecting","tap","e","preventDefault","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","chevronClick$","chevron","merge","switchMap","fromDeg","toDeg","chevronAnimation","animate","transform","duration","easing","fill","fromOpacity","toOpacity","slotAnimation","opacity","onfinish","style","height","zip","subscribe","render","html","__decorateClass","property","type","Boolean","prototype","query","customElement"],"mappings":";;;;;;;;;;AAWO,IAAMA,IAAN,cAA2BC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA3C,EAAA;AAAA,EAAA;AAAAC,UAAAA,GAAAC,SAAAA,GAiBuBC,KAAAC,OAAAA;AAAAA,EAAO;AAAA,EAQpC,eAAAC;AAEMF,SAAKC,SACTD,KAAKG,YAAYC,SAAAA;AAIlB,UAAMC,IAAeC,EAAsBN,KAAKO,SAAS,SAASC,KACjEC,EAAUT,KAAKU,aAAAA,GACfC,EAAIC,CAAAA,MAAAA;AACHA,MAAAA,EAAEC,eAAAA,GACFD,EAAEE,mBACFd,KAAKe,cAAc,IAAIC,YAAY,UAAU,EAAEC,SAAAA,IAAeC,UAAAA,GAAU,CAAA,CAAA;AAAA,IAAA,CAAA,CAAA,GAKpEC,IAAgBb,EAAsBN,KAAKoB,SAAS,OAAA;AAE1DC,IAAAA,EAAMhB,GAAcc,CAAAA,EAClBX,KACAc,EAAU;AAGT,YAAMC,IAAUvB,KAAKC,OAAO,MAAM,GAC5BuB,IAAQxB,KAAKC,OAAO,IAAI,KACxBwB,IAAmBzB,KAAKoB,QAAQM,QACrC,CAAC,EAAEC,WAAW,UAAUJ,CAAAA,OAAAA,GAAiB,EAAEI,WAAW,UAAUH,YAChE,EACCI,UAAU,KACVC,QAAQ,WACRC,MAAM,WAAA,CAAA;AAKH9B,WAAKC,SAETD,KAAKG,YAAYC,SAAAA;AAGlB,YAAM2B,IAAc/B,KAAKC,OAAO,IAAI,GAC9B+B,IAAYhC,KAAKC,OAAO,IAAI,GAE5BgC,IAAgBjC,KAAKG,YAAYuB,QAAQ,CAAC,EAAEQ,SAASH,EAAAA,GAAe,EAAEG,SAASF,EAAAA,CAAAA,GAAc,EAClGJ,UAAU,KACVC,QAAQ,YACRC,MAAM;AAcP,aAVAG,EAAcE,WAAW,MAAA;AACpBnC,aAAKC,OACRD,KAAKG,YAAYC,SAAAA,MAEjBJ,KAAKG,YAAYiC,MAAMC,SAAS,QAChCrC,KAAKG,YAAYiC,MAAMF,UAAU;AAAA,MAAA,GAK5BI,EAAIhC,EAAUmB,GAAkB,WAAWnB,EAAU2B,GAAe,QAAA,CAAA,EAAWzB,KACrFC,EAAUT,KAAKU,aAAAA,CAAAA;AAAAA,IAAAA,CAAAA,GAGjBC,EAAI,MAAA;AAEHX,WAAKC,OAAAA,CAAQD,KAAKC;AAAAA,IAAAA,CAAAA,GAEnBQ,EAAUT,KAAKU,aAAAA,CAAAA,EAEf6B,UAAAA;AAAAA,EACH;AAAA,EAEA,SAAAC;AACC,WAAOC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,2DAOmD7B,CAAAA,MAAaA,EAAEE,gBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAM1E;AAAA;AAhG6B4B,EAAA,CAA5BC,EAAS,EAAEC,MAAMC,aAjBNlD,EAiBiBmD,WAAA,QAAA,CAAA,GAEVJ,EAAA,CAAlBK,EAAM,cAnBKpD,EAmBOmD,WAAA,WAAA,CAAA,GACeJ,EAAA,CAAjCK,EAAM,6BApBKpD,EAoBsBmD,WAAA,eAAA,CAAA,GAGfJ,EAAA,CAAlBK,EAAM,UAAA,CAAA,GAvBKpD,EAuBOmD,WAAA,WAAA,CAAA,GAvBPnD,IAAN+C,EAAA,CADNM,EAAc,mBACFrD,CAAAA;"}
|
package/dist/tree.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./tree-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./tree-Bux6udiH.cjs");Object.defineProperty(exports,"SchmancyTree",{enumerable:!0,get:()=>e.SchmancyTree});
|
|
2
2
|
//# sourceMappingURL=tree.cjs.map
|
package/dist/tree.js
CHANGED