@mhmo91/schmancy 0.2.126 → 0.2.128
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/dist/{animated-text-CR7nS6VW.js → animated-text-BJXm6krF.js} +3 -3
- package/dist/{animated-text-CR7nS6VW.js.map → animated-text-BJXm6krF.js.map} +1 -1
- package/dist/{animated-text-C7Kwa_OI.cjs → animated-text-rLaot0v2.cjs} +2 -2
- package/dist/{animated-text-C7Kwa_OI.cjs.map → animated-text-rLaot0v2.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.component-AypdoH-o.cjs → area.component-CP5oin2j.cjs} +2 -2
- package/dist/{area.component-AypdoH-o.cjs.map → area.component-CP5oin2j.cjs.map} +1 -1
- package/dist/{area.component-DP34t7HX.js → area.component-DlAEUmgd.js} +3 -3
- package/dist/{area.component-DP34t7HX.js.map → area.component-DlAEUmgd.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-DtXL-EYa.js → autocomplete-Bbi68nzP.js} +3 -3
- package/dist/{autocomplete-DtXL-EYa.js.map → autocomplete-Bbi68nzP.js.map} +1 -1
- package/dist/{autocomplete-BrXYON3m.cjs → autocomplete-DEUfHcCH.cjs} +2 -2
- package/dist/{autocomplete-BrXYON3m.cjs.map → autocomplete-DEUfHcCH.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.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-D9hGlFti.cjs → checkbox-DrrcDAjr.cjs} +2 -2
- package/dist/{checkbox-D9hGlFti.cjs.map → checkbox-DrrcDAjr.cjs.map} +1 -1
- package/dist/{checkbox-C6z4niEj.js → checkbox-N_JVa-1W.js} +2 -2
- package/dist/{checkbox-C6z4niEj.js.map → checkbox-N_JVa-1W.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-wP7Z-qFr.cjs → chips-DrYrCyTG.cjs} +2 -2
- package/dist/{chips-wP7Z-qFr.cjs.map → chips-DrYrCyTG.cjs.map} +1 -1
- package/dist/{chips-De6Vldxt.js → chips-DuSV3Pg2.js} +3 -3
- package/dist/{chips-De6Vldxt.js.map → chips-DuSV3Pg2.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +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-object-CVqtbNDv.js → context-object-CD26Iary.js} +20 -17
- package/dist/context-object-CD26Iary.js.map +1 -0
- package/dist/context-object-D81PeS3j.cjs +2 -0
- package/dist/context-object-D81PeS3j.cjs.map +1 -0
- package/dist/{date-range-rIm4WhKI.js → date-range-6fQ4ypDJ.js} +3 -3
- package/dist/{date-range-rIm4WhKI.js.map → date-range-6fQ4ypDJ.js.map} +1 -1
- package/dist/{date-range-BHtt61m5.cjs → date-range-DoZNetuD.cjs} +2 -2
- package/dist/{date-range-BHtt61m5.cjs.map → date-range-DoZNetuD.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-PEhN0JaA.js → delay-CSAsNZ4k.js} +2 -2
- package/dist/{delay-PEhN0JaA.js.map → delay-CSAsNZ4k.js.map} +1 -1
- package/dist/{delay-xd8PmM2r.cjs → delay-WrR6CJK_.cjs} +2 -2
- package/dist/{delay-xd8PmM2r.cjs.map → delay-WrR6CJK_.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{divider-B_GBA6wG.js → divider-ByXACxEQ.js} +3 -3
- package/dist/{divider-B_GBA6wG.js.map → divider-ByXACxEQ.js.map} +1 -1
- package/dist/{divider-CW3prtEN.cjs → divider-Cl2Thq2Y.cjs} +2 -2
- package/dist/{divider-CW3prtEN.cjs.map → divider-Cl2Thq2Y.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-Cmd1vWus.js → flex-BGVyAdBX.js} +2 -2
- package/dist/{flex-Cmd1vWus.js.map → flex-BGVyAdBX.js.map} +1 -1
- package/dist/{flex-CbweZ1uz.cjs → flex-DeB79N0h.cjs} +2 -2
- package/dist/{flex-CbweZ1uz.cjs.map → flex-DeB79N0h.cjs.map} +1 -1
- package/dist/{form-qGZu5wRz.js → form-DATARECy.js} +2 -2
- package/dist/{form-qGZu5wRz.js.map → form-DATARECy.js.map} +1 -1
- package/dist/{form-GwdkWkeq.cjs → form-Dkh-YG_8.cjs} +2 -2
- package/dist/{form-GwdkWkeq.cjs.map → form-Dkh-YG_8.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-DYd0ia3y.cjs → icon-BbqYaRVu.cjs} +2 -2
- package/dist/{icon-DYd0ia3y.cjs.map → icon-BbqYaRVu.cjs.map} +1 -1
- package/dist/{icon-0jYWClYF.js → icon-BdqEZEF8.js} +3 -3
- package/dist/{icon-0jYWClYF.js.map → icon-BdqEZEF8.js.map} +1 -1
- package/dist/{icon-button-CNn-TBQr.cjs → icon-button-BUUtmKnu.cjs} +2 -2
- package/dist/{icon-button-CNn-TBQr.cjs.map → icon-button-BUUtmKnu.cjs.map} +1 -1
- package/dist/{icon-button-Cb9UFHRA.js → icon-button-DlnuclQQ.js} +3 -3
- package/dist/{icon-button-Cb9UFHRA.js.map → icon-button-DlnuclQQ.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +118 -105
- package/dist/{input-BwUKlNLv.js → input-BDUd1ZGs.js} +2 -2
- package/dist/{input-BwUKlNLv.js.map → input-BDUd1ZGs.js.map} +1 -1
- package/dist/{input-BDvmjqzB.cjs → input-B_MWCRet.cjs} +2 -2
- package/dist/{input-BDvmjqzB.cjs.map → input-B_MWCRet.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-nuLmomtu.js → list-D0J2ndMA.js} +2 -2
- package/dist/{list-nuLmomtu.js.map → list-D0J2ndMA.js.map} +1 -1
- package/dist/{list-DGZ8nQDV.cjs → list-UOeNjOTt.cjs} +2 -2
- package/dist/{list-DGZ8nQDV.cjs.map → list-UOeNjOTt.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-CsMY3rsN.cjs → litElement.mixin-CfkMd-bR.cjs} +2 -2
- package/dist/{litElement.mixin-CsMY3rsN.cjs.map → litElement.mixin-CfkMd-bR.cjs.map} +1 -1
- package/dist/{litElement.mixin-KVNPHS0h.js → litElement.mixin-PXLBM6N4.js} +2 -2
- package/dist/{litElement.mixin-KVNPHS0h.js.map → litElement.mixin-PXLBM6N4.js.map} +1 -1
- package/dist/{menu-BoAxrHvz.cjs → menu-B4k2_5rl.cjs} +2 -2
- package/dist/{menu-BoAxrHvz.cjs.map → menu-B4k2_5rl.cjs.map} +1 -1
- package/dist/{menu-DCdcWg1Q.js → menu-D7PxtMOz.js} +3 -3
- package/dist/{menu-DCdcWg1Q.js.map → menu-D7PxtMOz.js.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.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BOoGEXyd.cjs → option-hsAZB8ji.cjs} +2 -2
- package/dist/{option-BOoGEXyd.cjs.map → option-hsAZB8ji.cjs.map} +1 -1
- package/dist/{option-04xx4j0z.js → option-vV2BM1B_.js} +2 -2
- package/dist/{option-04xx4j0z.js.map → option-vV2BM1B_.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{outlet-C9H_6XOK.cjs → outlet-DMOeEL6g.cjs} +2 -2
- package/dist/{outlet-C9H_6XOK.cjs.map → outlet-DMOeEL6g.cjs.map} +1 -1
- package/dist/{outlet-DlGwFO9i.js → outlet-DRaXjbOY.js} +2 -2
- package/dist/{outlet-DlGwFO9i.js.map → outlet-DRaXjbOY.js.map} +1 -1
- package/dist/{payment-card-form-DtcRjZp8.js → payment-card-form-8oXgNTFN.js} +3 -3
- package/dist/{payment-card-form-DtcRjZp8.js.map → payment-card-form-8oXgNTFN.js.map} +1 -1
- package/dist/{payment-card-form-BaysKg6Z.cjs → payment-card-form-DfbqzyTv.cjs} +2 -2
- package/dist/{payment-card-form-BaysKg6Z.cjs.map → payment-card-form-DfbqzyTv.cjs.map} +1 -1
- package/dist/{radio-group-BV6zZQBP.cjs → radio-group-CLt-d-Ni.cjs} +2 -2
- package/dist/{radio-group-BV6zZQBP.cjs.map → radio-group-CLt-d-Ni.cjs.map} +1 -1
- package/dist/{radio-group-BPFwj4dx.js → radio-group-DRXtgyf5.js} +2 -2
- package/dist/{radio-group-BPFwj4dx.js.map → radio-group-DRXtgyf5.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-CT4W6h4t.js → schmancy-steps-container-D1k0kjKI.js} +2 -2
- package/dist/{schmancy-steps-container-CT4W6h4t.js.map → schmancy-steps-container-D1k0kjKI.js.map} +1 -1
- package/dist/{schmancy-steps-container-CQp7mdgo.cjs → schmancy-steps-container-DguK5NK4.cjs} +2 -2
- package/dist/{schmancy-steps-container-CQp7mdgo.cjs.map → schmancy-steps-container-DguK5NK4.cjs.map} +1 -1
- package/dist/{select-DUqzjckq.cjs → select-BUUelLow.cjs} +2 -2
- package/dist/{select-DUqzjckq.cjs.map → select-BUUelLow.cjs.map} +1 -1
- package/dist/{select-BqN9V7cw.js → select-By_Pm8TG.js} +3 -3
- package/dist/{select-BqN9V7cw.js.map → select-By_Pm8TG.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/selector-hook-9dSW11-1.js +274 -0
- package/dist/selector-hook-9dSW11-1.js.map +1 -0
- package/dist/selector-hook-CH-z8W2d.cjs +2 -0
- package/dist/selector-hook-CH-z8W2d.cjs.map +1 -0
- package/dist/{sheet-PKhdztII.js → sheet-CHow9LJ8.js} +3 -3
- package/dist/{sheet-PKhdztII.js.map → sheet-CHow9LJ8.js.map} +1 -1
- package/dist/{sheet-RxCJqnwE.cjs → sheet-CyZB5a4W.cjs} +2 -2
- package/dist/{sheet-RxCJqnwE.cjs.map → sheet-CyZB5a4W.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-DKZODC7g.js → slider-BORUoU4I.js} +3 -3
- package/dist/{slider-DKZODC7g.js.map → slider-BORUoU4I.js.map} +1 -1
- package/dist/{slider-Cw5jFlAO.cjs → slider-DCRfwhaP.cjs} +2 -2
- package/dist/{slider-Cw5jFlAO.cjs.map → slider-DCRfwhaP.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-Cr6ZRUW_.js → spinner-C-rMlbyB.js} +3 -3
- package/dist/{spinner-Cr6ZRUW_.js.map → spinner-C-rMlbyB.js.map} +1 -1
- package/dist/{spinner-BIT7SlWT.cjs → spinner-DeHbns2e.cjs} +2 -2
- package/dist/{spinner-BIT7SlWT.cjs.map → spinner-DeHbns2e.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/store.cjs +1 -1
- package/dist/store.js +30 -17
- package/dist/{surface-BwHzF1Al.js → surface-HAEl5c8W.js} +2 -2
- package/dist/{surface-BwHzF1Al.js.map → surface-HAEl5c8W.js.map} +1 -1
- package/dist/{surface-CU_71bTu.cjs → surface-TpxKBWnD.cjs} +2 -2
- package/dist/{surface-CU_71bTu.cjs.map → surface-TpxKBWnD.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-CAAYvRWb.js → table-D7KL2FaN.js} +166 -164
- package/dist/table-D7KL2FaN.js.map +1 -0
- package/dist/table-DXPDEHEh.cjs +65 -0
- package/dist/table-DXPDEHEh.cjs.map +1 -0
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-DKgFtkF4.cjs → tabs-group-CR2cSCNr.cjs} +2 -2
- package/dist/{tabs-group-DKgFtkF4.cjs.map → tabs-group-CR2cSCNr.cjs.map} +1 -1
- package/dist/{tabs-group-3mMfpHn0.js → tabs-group-Dm_FCj7q.js} +2 -2
- package/dist/{tabs-group-3mMfpHn0.js.map → tabs-group-Dm_FCj7q.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-CjSVtdHt.cjs +2 -0
- package/dist/{tailwind.mixin-BAMa8YNR.cjs.map → tailwind.mixin-CjSVtdHt.cjs.map} +1 -1
- package/dist/tailwind.mixin-Cxj7n9Jd.js +43 -0
- package/dist/{tailwind.mixin-BQyZrGP1.js.map → tailwind.mixin-Cxj7n9Jd.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/{teleport.component-CrOAEYhZ.js → teleport.component-CBNKUZwe.js} +38 -38
- package/dist/{teleport.component-CrOAEYhZ.js.map → teleport.component-CBNKUZwe.js.map} +1 -1
- package/dist/{teleport.component-Cmbvbylw.cjs → teleport.component-CplIV2h1.cjs} +2 -2
- package/dist/{teleport.component-Cmbvbylw.cjs.map → teleport.component-CplIV2h1.cjs.map} +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-BX6iD8ez.cjs → textarea-CLlh5-HA.cjs} +2 -2
- package/dist/{textarea-BX6iD8ez.cjs.map → textarea-CLlh5-HA.cjs.map} +1 -1
- package/dist/{textarea-DrtTwsZf.js → textarea-DcSAsR60.js} +2 -2
- package/dist/{textarea-DrtTwsZf.js.map → textarea-DcSAsR60.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-C8uLYaSN.cjs → theme-button-53Mhj3kQ.cjs} +2 -2
- package/dist/{theme-button-C8uLYaSN.cjs.map → theme-button-53Mhj3kQ.cjs.map} +1 -1
- package/dist/{theme-button-BedwumBT.js → theme-button-B7_LXWoe.js} +2 -2
- package/dist/{theme-button-BedwumBT.js.map → theme-button-B7_LXWoe.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-DvlxAH1p.cjs → theme.component-Drmkh4sF.cjs} +2 -2
- package/dist/{theme.component-DvlxAH1p.cjs.map → theme.component-Drmkh4sF.cjs.map} +1 -1
- package/dist/{theme.component-zxDCAaxd.js → theme.component-yFb6vlsT.js} +2 -2
- package/dist/{theme.component-zxDCAaxd.js.map → theme.component-yFb6vlsT.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-1BrrQMHz.js → timezone-DxkvIe7V.js} +3 -3
- package/dist/{timezone-1BrrQMHz.js.map → timezone-DxkvIe7V.js.map} +1 -1
- package/dist/{timezone-D14kTMKK.cjs → timezone-enXRjPy1.cjs} +2 -2
- package/dist/{timezone-D14kTMKK.cjs.map → timezone-enXRjPy1.cjs.map} +1 -1
- package/dist/{tree-C_TPLHEo.cjs → tree-Bt4J6QVI.cjs} +2 -2
- package/dist/{tree-C_TPLHEo.cjs.map → tree-Bt4J6QVI.cjs.map} +1 -1
- package/dist/{tree-DuaRuwS9.js → tree-CQccoc9W.js} +2 -2
- package/dist/{tree-DuaRuwS9.js.map → tree-CQccoc9W.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-Fim6s-vF.js → typewriter-DGserMVU.js} +4 -4
- package/dist/{typewriter-Fim6s-vF.js.map → typewriter-DGserMVU.js.map} +1 -1
- package/dist/{typewriter-C2NQzIJ9.cjs → typewriter-WqDo75_3.cjs} +2 -2
- package/dist/{typewriter-C2NQzIJ9.cjs.map → typewriter-WqDo75_3.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-C4RygG_b.js → typography-D5E46rwN.js} +2 -2
- package/dist/{typography-C4RygG_b.js.map → typography-D5E46rwN.js.map} +1 -1
- package/dist/{typography-f0kdRUDj.cjs → typography-DbNitvGl.cjs} +2 -2
- package/dist/{typography-f0kdRUDj.cjs.map → typography-DbNitvGl.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/store/context-create.d.ts +15 -2
- package/types/src/store/filter-directive.d.ts +38 -11
- package/types/src/store/selector-hook.d.ts +27 -0
- package/types/src/store/selectors.d.ts +30 -1
- package/types/src/store/storage-manager.d.ts +6 -14
- package/types/src/store/types.d.ts +100 -45
- package/types/src/table/row.d.ts +8 -7
- package/types/src/table/table.d.ts +11 -5
- package/dist/context-object-CVqtbNDv.js.map +0 -1
- package/dist/context-object-CgZ6F8E9.cjs +0 -2
- package/dist/context-object-CgZ6F8E9.cjs.map +0 -1
- package/dist/selector-hook-B5oIBdcJ.cjs +0 -2
- package/dist/selector-hook-B5oIBdcJ.cjs.map +0 -1
- package/dist/selector-hook-BdsJkaE2.js +0 -185
- package/dist/selector-hook-BdsJkaE2.js.map +0 -1
- package/dist/table-B3lX6zue.cjs +0 -80
- package/dist/table-B3lX6zue.cjs.map +0 -1
- package/dist/table-CAAYvRWb.js.map +0 -1
- package/dist/tailwind.mixin-BAMa8YNR.cjs +0 -2
- package/dist/tailwind.mixin-BQyZrGP1.js +0 -43
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chips-De6Vldxt.js","sources":["../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/chip.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/chip-set.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/chip-set-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/chip-set.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/elevated-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/elevation/internal/elevation.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/elevation/internal/elevation-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/elevation/elevation.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/multi-action-chip.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/trailing-icons.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/filter-chip.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/filter-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/selectable-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/shared-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/trailing-icon-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/filter-chip.js","../src/chips/chip.ts","../src/chips/chips.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport '../../focus/md-focus-ring.js';\nimport '../../ripple/ripple.js';\nimport { html, isServer, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { mixinDelegatesAria } from '../../internal/aria/delegate.js';\n// Separate variable needed for closure.\nconst chipBaseClass = mixinDelegatesAria(LitElement);\n/**\n * A chip component.\n *\n * @fires update-focus {Event} Dispatched when `disabled` is toggled. --bubbles\n */\nexport class Chip extends chipBaseClass {\n /**\n * Whether or not the primary ripple is disabled (defaults to `disabled`).\n * Some chip actions such as links cannot be disabled.\n */\n get rippleDisabled() {\n return this.disabled || this.softDisabled;\n }\n constructor() {\n super();\n /**\n * Whether or not the chip is disabled.\n *\n * Disabled chips are not focusable, unless `always-focusable` is set.\n */\n this.disabled = false;\n /**\n * Whether or not the chip is \"soft-disabled\" (disabled but still\n * focusable).\n *\n * Use this when a chip needs increased visibility when disabled. See\n * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\n * for more guidance on when this is needed.\n */\n this.softDisabled = false;\n /**\n * When true, allow disabled chips to be focused with arrow keys.\n *\n * Add this when a chip needs increased visibility when disabled. See\n * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\n * for more guidance on when this is needed.\n *\n * @deprecated Use `softDisabled` instead of `alwaysFocusable` + `disabled`.\n */\n this.alwaysFocusable = false;\n // TODO(b/350810013): remove the label property.\n /**\n * The label of the chip.\n *\n * @deprecated Set text as content of the chip instead.\n */\n this.label = '';\n /**\n * Only needed for SSR.\n *\n * Add this attribute when a chip has a `slot=\"icon\"` to avoid a Flash Of\n * Unstyled Content.\n */\n this.hasIcon = false;\n if (!isServer) {\n this.addEventListener('click', this.handleClick.bind(this));\n }\n }\n focus(options) {\n if (this.disabled && !this.alwaysFocusable) {\n return;\n }\n super.focus(options);\n }\n render() {\n return html `\n <div class=\"container ${classMap(this.getContainerClasses())}\">\n ${this.renderContainerContent()}\n </div>\n `;\n }\n updated(changed) {\n if (changed.has('disabled') && changed.get('disabled') !== undefined) {\n this.dispatchEvent(new Event('update-focus', { bubbles: true }));\n }\n }\n getContainerClasses() {\n return {\n 'disabled': this.disabled || this.softDisabled,\n 'has-icon': this.hasIcon,\n };\n }\n renderContainerContent() {\n return html `\n ${this.renderOutline()}\n <md-focus-ring part=\"focus-ring\" for=${this.primaryId}></md-focus-ring>\n <md-ripple\n for=${this.primaryId}\n ?disabled=${this.rippleDisabled}></md-ripple>\n ${this.renderPrimaryAction(this.renderPrimaryContent())}\n `;\n }\n renderOutline() {\n return html `<span class=\"outline\"></span>`;\n }\n renderLeadingIcon() {\n return html `<slot name=\"icon\" @slotchange=${this.handleIconChange}></slot>`;\n }\n renderPrimaryContent() {\n return html `\n <span class=\"leading icon\" aria-hidden=\"true\">\n ${this.renderLeadingIcon()}\n </span>\n <span class=\"label\">\n <span class=\"label-text\" id=\"label\">\n ${this.label ? this.label : html `<slot></slot>`}\n </span>\n </span>\n <span class=\"touch\"></span>\n `;\n }\n handleIconChange(event) {\n const slot = event.target;\n this.hasIcon = slot.assignedElements({ flatten: true }).length > 0;\n }\n handleClick(event) {\n // If the chip is soft-disabled or disabled + always-focusable, we need to\n // explicitly prevent the click from propagating to other event listeners\n // as well as prevent the default action.\n if (this.softDisabled || (this.disabled && this.alwaysFocusable)) {\n event.stopImmediatePropagation();\n event.preventDefault();\n return;\n }\n }\n}\n/** @nocollapse */\nChip.shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n};\n__decorate([\n property({ type: Boolean, reflect: true })\n], Chip.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'soft-disabled', reflect: true })\n], Chip.prototype, \"softDisabled\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'always-focusable' })\n], Chip.prototype, \"alwaysFocusable\", void 0);\n__decorate([\n property()\n], Chip.prototype, \"label\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true, attribute: 'has-icon' })\n], Chip.prototype, \"hasIcon\", void 0);\n//# sourceMappingURL=chip.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { html, isServer, LitElement } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\nimport { Chip } from './chip.js';\n/**\n * A chip set component.\n */\nexport class ChipSet extends LitElement {\n get chips() {\n return this.childElements.filter((child) => child instanceof Chip);\n }\n constructor() {\n super();\n this.internals = \n // Cast needed for closure\n this.attachInternals();\n if (!isServer) {\n this.addEventListener('focusin', this.updateTabIndices.bind(this));\n this.addEventListener('update-focus', this.updateTabIndices.bind(this));\n this.addEventListener('keydown', this.handleKeyDown.bind(this));\n this.internals.role = 'toolbar';\n }\n }\n render() {\n return html `<slot @slotchange=${this.updateTabIndices}></slot>`;\n }\n handleKeyDown(event) {\n const isLeft = event.key === 'ArrowLeft';\n const isRight = event.key === 'ArrowRight';\n const isHome = event.key === 'Home';\n const isEnd = event.key === 'End';\n // Ignore non-navigation keys\n if (!isLeft && !isRight && !isHome && !isEnd) {\n return;\n }\n const { chips } = this;\n // Don't try to select another chip if there aren't any.\n if (chips.length < 2) {\n return;\n }\n // Prevent default interactions, such as scrolling.\n event.preventDefault();\n if (isHome || isEnd) {\n const index = isHome ? 0 : chips.length - 1;\n chips[index].focus({ trailing: isEnd });\n this.updateTabIndices();\n return;\n }\n // Check if moving forwards or backwards\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const forwards = isRtl ? isLeft : isRight;\n const focusedChip = chips.find((chip) => chip.matches(':focus-within'));\n if (!focusedChip) {\n // If there is not already a chip focused, select the first or last chip\n // based on the direction we're traveling.\n const nextChip = forwards ? chips[0] : chips[chips.length - 1];\n nextChip.focus({ trailing: !forwards });\n this.updateTabIndices();\n return;\n }\n const currentIndex = chips.indexOf(focusedChip);\n let nextIndex = forwards ? currentIndex + 1 : currentIndex - 1;\n // Search for the next sibling that is not disabled to select.\n // If we return to the host index, there is nothing to select.\n while (nextIndex !== currentIndex) {\n if (nextIndex >= chips.length) {\n // Return to start if moving past the last item.\n nextIndex = 0;\n }\n else if (nextIndex < 0) {\n // Go to end if moving before the first item.\n nextIndex = chips.length - 1;\n }\n // Check if the next sibling is disabled. If so,\n // move the index and continue searching.\n //\n // Some toolbar items may be focusable when disabled for increased\n // visibility.\n const nextChip = chips[nextIndex];\n if (nextChip.disabled && !nextChip.alwaysFocusable) {\n if (forwards) {\n nextIndex++;\n }\n else {\n nextIndex--;\n }\n continue;\n }\n nextChip.focus({ trailing: !forwards });\n this.updateTabIndices();\n break;\n }\n }\n updateTabIndices() {\n // The chip that should be focusable is either the chip that currently has\n // focus or the first chip that can be focused.\n const { chips } = this;\n let chipToFocus;\n for (const chip of chips) {\n const isChipFocusable = chip.alwaysFocusable || !chip.disabled;\n const chipIsFocused = chip.matches(':focus-within');\n if (chipIsFocused && isChipFocusable) {\n // Found the first chip that is actively focused. This overrides the\n // first focusable chip found.\n chipToFocus = chip;\n continue;\n }\n if (isChipFocusable && !chipToFocus) {\n chipToFocus = chip;\n }\n // Disable non-focused chips. If we disable all of them, we'll grant focus\n // to the first focusable child that was found.\n chip.tabIndex = -1;\n }\n if (chipToFocus) {\n chipToFocus.tabIndex = 0;\n }\n }\n}\n__decorate([\n queryAssignedElements()\n], ChipSet.prototype, \"childElements\", void 0);\n//# sourceMappingURL=chip-set.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/chip-set-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{display:flex;flex-wrap:wrap;gap:8px}\n`;\n//# sourceMappingURL=chip-set-styles.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { ChipSet } from './internal/chip-set.js';\nimport { styles } from './internal/chip-set-styles.js';\n/**\n * TODO(b/243982145): add docs\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdChipSet = class MdChipSet extends ChipSet {\n};\nMdChipSet.styles = [styles];\nMdChipSet = __decorate([\n customElement('md-chip-set')\n], MdChipSet);\n//# sourceMappingURL=chip-set.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/elevated-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.elevated{--md-elevation-level: var(--_elevated-container-elevation);--md-elevation-shadow-color: var(--_elevated-container-shadow-color)}.elevated::before{background:var(--_elevated-container-color)}.elevated:hover{--md-elevation-level: var(--_elevated-hover-container-elevation)}.elevated:focus-within{--md-elevation-level: var(--_elevated-focus-container-elevation)}.elevated:active{--md-elevation-level: var(--_elevated-pressed-container-elevation)}.elevated.disabled{--md-elevation-level: var(--_elevated-disabled-container-elevation)}.elevated.disabled::before{background:var(--_elevated-disabled-container-color);opacity:var(--_elevated-disabled-container-opacity)}@media(forced-colors: active){.elevated md-elevation{border:1px solid CanvasText}.elevated.disabled md-elevation{border-color:GrayText}}\n`;\n//# sourceMappingURL=elevated-styles.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { html, LitElement } from 'lit';\n/**\n * A component for elevation.\n */\nexport class Elevation extends LitElement {\n connectedCallback() {\n super.connectedCallback();\n // Needed for VoiceOver, which will create a \"group\" if the element is a\n // sibling to other content.\n this.setAttribute('aria-hidden', 'true');\n }\n render() {\n return html `<span class=\"shadow\"></span>`;\n }\n}\n//# sourceMappingURL=elevation.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./elevation/internal/elevation-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host,.shadow,.shadow::before,.shadow::after{border-radius:inherit;inset:0;position:absolute;transition-duration:inherit;transition-property:inherit;transition-timing-function:inherit}:host{display:flex;pointer-events:none;transition-property:box-shadow,opacity}.shadow::before,.shadow::after{content:\"\";transition-property:box-shadow,opacity;--_level: var(--md-elevation-level, 0);--_shadow-color: var(--md-elevation-shadow-color, var(--md-sys-color-shadow, #000))}.shadow::before{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 3,1) + 2*clamp(0,var(--_level) - 4,1))) calc(1px*(2*clamp(0,var(--_level),1) + clamp(0,var(--_level) - 2,1) + clamp(0,var(--_level) - 4,1))) 0px var(--_shadow-color);opacity:.3}.shadow::after{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 1,1) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(3*clamp(0,var(--_level),2) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(clamp(0,var(--_level),4) + 2*clamp(0,var(--_level) - 4,1))) var(--_shadow-color);opacity:.15}\n`;\n//# sourceMappingURL=elevation-styles.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { Elevation } from './internal/elevation.js';\nimport { styles } from './internal/elevation-styles.js';\n/**\n * The `<md-elevation>` custom element with default styles.\n *\n * Elevation is the relative distance between two surfaces along the z-axis.\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdElevation = class MdElevation extends Elevation {\n};\nMdElevation.styles = [styles];\nMdElevation = __decorate([\n customElement('md-elevation')\n], MdElevation);\n//# sourceMappingURL=elevation.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { html, isServer } from 'lit';\nimport { Chip } from './chip.js';\nconst ARIA_LABEL_REMOVE = 'aria-label-remove';\n/**\n * A chip component with multiple actions.\n */\nexport class MultiActionChip extends Chip {\n get ariaLabelRemove() {\n if (this.hasAttribute(ARIA_LABEL_REMOVE)) {\n return this.getAttribute(ARIA_LABEL_REMOVE);\n }\n const { ariaLabel } = this;\n // TODO(b/350810013): remove `this.label` when label property is removed.\n if (ariaLabel || this.label) {\n return `Remove ${ariaLabel || this.label}`;\n }\n return null;\n }\n set ariaLabelRemove(ariaLabel) {\n const prev = this.ariaLabelRemove;\n if (ariaLabel === prev) {\n return;\n }\n if (ariaLabel === null) {\n this.removeAttribute(ARIA_LABEL_REMOVE);\n }\n else {\n this.setAttribute(ARIA_LABEL_REMOVE, ariaLabel);\n }\n this.requestUpdate();\n }\n constructor() {\n super();\n this.handleTrailingActionFocus = this.handleTrailingActionFocus.bind(this);\n if (!isServer) {\n this.addEventListener('keydown', this.handleKeyDown.bind(this));\n }\n }\n focus(options) {\n const isFocusable = this.alwaysFocusable || !this.disabled;\n if (isFocusable && options?.trailing && this.trailingAction) {\n this.trailingAction.focus(options);\n return;\n }\n super.focus(options);\n }\n renderContainerContent() {\n return html `\n ${super.renderContainerContent()}\n ${this.renderTrailingAction(this.handleTrailingActionFocus)}\n `;\n }\n handleKeyDown(event) {\n const isLeft = event.key === 'ArrowLeft';\n const isRight = event.key === 'ArrowRight';\n // Ignore non-navigation keys.\n if (!isLeft && !isRight) {\n return;\n }\n if (!this.primaryAction || !this.trailingAction) {\n // Does not have multiple actions.\n return;\n }\n // Check if moving forwards or backwards\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const forwards = isRtl ? isLeft : isRight;\n const isPrimaryFocused = this.primaryAction?.matches(':focus-within');\n const isTrailingFocused = this.trailingAction?.matches(':focus-within');\n if ((forwards && isTrailingFocused) || (!forwards && isPrimaryFocused)) {\n // Moving outside of the chip, it will be handled by the chip set.\n return;\n }\n // Prevent default interactions, such as scrolling.\n event.preventDefault();\n // Don't let the chip set handle this navigation event.\n event.stopPropagation();\n const actionToFocus = forwards ? this.trailingAction : this.primaryAction;\n actionToFocus.focus();\n }\n handleTrailingActionFocus() {\n const { primaryAction, trailingAction } = this;\n if (!primaryAction || !trailingAction) {\n return;\n }\n // Temporarily turn off the primary action's focusability. This allows\n // shift+tab from the trailing action to move to the previous chip rather\n // than the primary action in the same chip.\n primaryAction.tabIndex = -1;\n trailingAction.addEventListener('focusout', () => {\n primaryAction.tabIndex = 0;\n }, { once: true });\n }\n}\n//# sourceMappingURL=multi-action-chip.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport '../../focus/md-focus-ring.js';\nimport '../../ripple/ripple.js';\nimport { html, nothing } from 'lit';\n/** @protected */\nexport function renderRemoveButton({ ariaLabel, disabled, focusListener, tabbable = false, }) {\n // When an aria-label is not provided, we use two spans with aria-labelledby\n // to create the \"Remove <textContent>\" label for the remove button. The first\n // is this #remove-label span, the second is the chip's #label slot span.\n return html `\n <span id=\"remove-label\" hidden aria-hidden=\"true\">Remove</span>\n <button\n class=\"trailing action\"\n aria-label=${ariaLabel || nothing}\n aria-labelledby=${!ariaLabel ? 'remove-label label' : nothing}\n tabindex=${!tabbable ? -1 : nothing}\n @click=${handleRemoveClick}\n @focus=${focusListener}>\n <md-focus-ring part=\"trailing-focus-ring\"></md-focus-ring>\n <md-ripple ?disabled=${disabled}></md-ripple>\n <span class=\"trailing icon\" aria-hidden=\"true\">\n <slot name=\"remove-trailing-icon\">\n <svg viewBox=\"0 96 960 960\">\n <path\n d=\"m249 849-42-42 231-231-231-231 42-42 231 231 231-231 42 42-231 231 231 231-42 42-231-231-231 231Z\" />\n </svg>\n </slot>\n </span>\n <span class=\"touch\"></span>\n </button>\n `;\n}\nfunction handleRemoveClick(event) {\n if (this.disabled || this.softDisabled) {\n return;\n }\n event.stopPropagation();\n const preventDefault = !this.dispatchEvent(new Event('remove', { cancelable: true }));\n if (preventDefault) {\n return;\n }\n this.remove();\n}\n//# sourceMappingURL=trailing-icons.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport '../../elevation/elevation.js';\nimport { html, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { redispatchEvent } from '../../internal/events/redispatch-event.js';\nimport { MultiActionChip } from './multi-action-chip.js';\nimport { renderRemoveButton } from './trailing-icons.js';\n/**\n * A filter chip component.\n *\n * @fires remove {Event} Dispatched when the remove button is clicked.\n */\nexport class FilterChip extends MultiActionChip {\n constructor() {\n super(...arguments);\n this.elevated = false;\n this.removable = false;\n this.selected = false;\n /**\n * Only needed for SSR.\n *\n * Add this attribute when a filter chip has a `slot=\"selected-icon\"` to avoid\n * a Flash Of Unstyled Content.\n */\n this.hasSelectedIcon = false;\n }\n get primaryId() {\n return 'button';\n }\n getContainerClasses() {\n return {\n ...super.getContainerClasses(),\n elevated: this.elevated,\n selected: this.selected,\n 'has-trailing': this.removable,\n 'has-icon': this.hasIcon || this.selected,\n };\n }\n renderPrimaryAction(content) {\n const { ariaLabel } = this;\n return html `\n <button\n class=\"primary action\"\n id=\"button\"\n aria-label=${ariaLabel || nothing}\n aria-pressed=${this.selected}\n aria-disabled=${this.softDisabled || nothing}\n ?disabled=${this.disabled && !this.alwaysFocusable}\n @click=${this.handleClickOnChild}\n >${content}</button\n >\n `;\n }\n renderLeadingIcon() {\n if (!this.selected) {\n return super.renderLeadingIcon();\n }\n return html `\n <slot name=\"selected-icon\">\n <svg class=\"checkmark\" viewBox=\"0 0 18 18\" aria-hidden=\"true\">\n <path\n d=\"M6.75012 12.1274L3.62262 8.99988L2.55762 10.0574L6.75012 14.2499L15.7501 5.24988L14.6926 4.19238L6.75012 12.1274Z\" />\n </svg>\n </slot>\n `;\n }\n renderTrailingAction(focusListener) {\n if (this.removable) {\n return renderRemoveButton({\n focusListener,\n ariaLabel: this.ariaLabelRemove,\n disabled: this.disabled || this.softDisabled,\n });\n }\n return nothing;\n }\n renderOutline() {\n if (this.elevated) {\n return html `<md-elevation part=\"elevation\"></md-elevation>`;\n }\n return super.renderOutline();\n }\n handleClickOnChild(event) {\n if (this.disabled || this.softDisabled) {\n return;\n }\n // Store prevValue to revert in case `chip.selected` is changed during an\n // event listener.\n const prevValue = this.selected;\n this.selected = !this.selected;\n const preventDefault = !redispatchEvent(this, event);\n if (preventDefault) {\n // We should not do `this.selected = !this.selected`, since a client\n // click listener could change its value. Instead, always revert to the\n // original value.\n this.selected = prevValue;\n return;\n }\n }\n}\n__decorate([\n property({ type: Boolean })\n], FilterChip.prototype, \"elevated\", void 0);\n__decorate([\n property({ type: Boolean })\n], FilterChip.prototype, \"removable\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], FilterChip.prototype, \"selected\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true, attribute: 'has-selected-icon' })\n], FilterChip.prototype, \"hasSelectedIcon\", void 0);\n__decorate([\n query('.primary.action')\n], FilterChip.prototype, \"primaryAction\", void 0);\n__decorate([\n query('.trailing.action')\n], FilterChip.prototype, \"trailingAction\", void 0);\n//# sourceMappingURL=filter-chip.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/filter-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{--_container-height: var(--md-filter-chip-container-height, 32px);--_disabled-label-text-color: var(--md-filter-chip-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filter-chip-disabled-label-text-opacity, 0.38);--_elevated-container-elevation: var(--md-filter-chip-elevated-container-elevation, 1);--_elevated-container-shadow-color: var(--md-filter-chip-elevated-container-shadow-color, var(--md-sys-color-shadow, #000));--_elevated-disabled-container-color: var(--md-filter-chip-elevated-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_elevated-disabled-container-elevation: var(--md-filter-chip-elevated-disabled-container-elevation, 0);--_elevated-disabled-container-opacity: var(--md-filter-chip-elevated-disabled-container-opacity, 0.12);--_elevated-focus-container-elevation: var(--md-filter-chip-elevated-focus-container-elevation, 1);--_elevated-hover-container-elevation: var(--md-filter-chip-elevated-hover-container-elevation, 2);--_elevated-pressed-container-elevation: var(--md-filter-chip-elevated-pressed-container-elevation, 1);--_elevated-selected-container-color: var(--md-filter-chip-elevated-selected-container-color, var(--md-sys-color-secondary-container, #e8def8));--_label-text-font: var(--md-filter-chip-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filter-chip-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-filter-chip-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-filter-chip-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_selected-focus-label-text-color: var(--md-filter-chip-selected-focus-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-label-text-color: var(--md-filter-chip-selected-hover-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-state-layer-color: var(--md-filter-chip-selected-hover-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-state-layer-opacity: var(--md-filter-chip-selected-hover-state-layer-opacity, 0.08);--_selected-label-text-color: var(--md-filter-chip-selected-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-label-text-color: var(--md-filter-chip-selected-pressed-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-state-layer-color: var(--md-filter-chip-selected-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_selected-pressed-state-layer-opacity: var(--md-filter-chip-selected-pressed-state-layer-opacity, 0.12);--_elevated-container-color: var(--md-filter-chip-elevated-container-color, var(--md-sys-color-surface-container-low, #f7f2fa));--_disabled-outline-color: var(--md-filter-chip-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-filter-chip-disabled-outline-opacity, 0.12);--_disabled-selected-container-color: var(--md-filter-chip-disabled-selected-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-selected-container-opacity: var(--md-filter-chip-disabled-selected-container-opacity, 0.12);--_focus-outline-color: var(--md-filter-chip-focus-outline-color, var(--md-sys-color-on-surface-variant, #49454f));--_outline-color: var(--md-filter-chip-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width: var(--md-filter-chip-outline-width, 1px);--_selected-container-color: var(--md-filter-chip-selected-container-color, var(--md-sys-color-secondary-container, #e8def8));--_selected-outline-width: var(--md-filter-chip-selected-outline-width, 0px);--_focus-label-text-color: var(--md-filter-chip-focus-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-label-text-color: var(--md-filter-chip-hover-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-filter-chip-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-opacity: var(--md-filter-chip-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filter-chip-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-label-text-color: var(--md-filter-chip-pressed-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-color: var(--md-filter-chip-pressed-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_pressed-state-layer-opacity: var(--md-filter-chip-pressed-state-layer-opacity, 0.12);--_icon-size: var(--md-filter-chip-icon-size, 18px);--_disabled-leading-icon-color: var(--md-filter-chip-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-icon-opacity: var(--md-filter-chip-disabled-leading-icon-opacity, 0.38);--_selected-focus-leading-icon-color: var(--md-filter-chip-selected-focus-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-leading-icon-color: var(--md-filter-chip-selected-hover-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-leading-icon-color: var(--md-filter-chip-selected-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-leading-icon-color: var(--md-filter-chip-selected-pressed-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_focus-leading-icon-color: var(--md-filter-chip-focus-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-leading-icon-color: var(--md-filter-chip-hover-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_leading-icon-color: var(--md-filter-chip-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_pressed-leading-icon-color: var(--md-filter-chip-pressed-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_disabled-trailing-icon-color: var(--md-filter-chip-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-icon-opacity: var(--md-filter-chip-disabled-trailing-icon-opacity, 0.38);--_selected-focus-trailing-icon-color: var(--md-filter-chip-selected-focus-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-trailing-icon-color: var(--md-filter-chip-selected-hover-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-trailing-icon-color: var(--md-filter-chip-selected-pressed-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-trailing-icon-color: var(--md-filter-chip-selected-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_focus-trailing-icon-color: var(--md-filter-chip-focus-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-icon-color: var(--md-filter-chip-hover-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-trailing-icon-color: var(--md-filter-chip-pressed-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-icon-color: var(--md-filter-chip-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_container-shape-start-start: var(--md-filter-chip-container-shape-start-start, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-start-end: var(--md-filter-chip-container-shape-start-end, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-end-end: var(--md-filter-chip-container-shape-end-end, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-end-start: var(--md-filter-chip-container-shape-end-start, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_leading-space: var(--md-filter-chip-leading-space, 16px);--_trailing-space: var(--md-filter-chip-trailing-space, 16px);--_icon-label-space: var(--md-filter-chip-icon-label-space, 8px);--_with-leading-icon-leading-space: var(--md-filter-chip-with-leading-icon-leading-space, 8px);--_with-trailing-icon-trailing-space: var(--md-filter-chip-with-trailing-icon-trailing-space, 8px)}.selected.elevated::before{background:var(--_elevated-selected-container-color)}.checkmark{height:var(--_icon-size);width:var(--_icon-size)}.disabled .checkmark{opacity:var(--_disabled-leading-icon-opacity)}@media(forced-colors: active){.disabled .checkmark{opacity:1}}\n`;\n//# sourceMappingURL=filter-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/selectable-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.selected{--md-ripple-hover-color: var(--_selected-hover-state-layer-color);--md-ripple-hover-opacity: var(--_selected-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_selected-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_selected-pressed-state-layer-opacity)}:where(.selected)::before{background:var(--_selected-container-color)}:where(.selected) .outline{border-width:var(--_selected-outline-width)}:where(.selected.disabled)::before{background:var(--_disabled-selected-container-color);opacity:var(--_disabled-selected-container-opacity)}:where(.selected) .label{color:var(--_selected-label-text-color)}:where(.selected:hover) .label{color:var(--_selected-hover-label-text-color)}:where(.selected:focus) .label{color:var(--_selected-focus-label-text-color)}:where(.selected:active) .label{color:var(--_selected-pressed-label-text-color)}:where(.selected) .leading.icon{color:var(--_selected-leading-icon-color)}:where(.selected:hover) .leading.icon{color:var(--_selected-hover-leading-icon-color)}:where(.selected:focus) .leading.icon{color:var(--_selected-focus-leading-icon-color)}:where(.selected:active) .leading.icon{color:var(--_selected-pressed-leading-icon-color)}@media(forced-colors: active){:where(.selected:not(.elevated))::before{border:1px solid CanvasText}:where(.selected) .outline{border-width:1px}}\n`;\n//# sourceMappingURL=selectable-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/shared-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end);display:inline-flex;height:var(--_container-height);cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}:host(:is([disabled],[soft-disabled])){pointer-events:none}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_container-height))/2) 0}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}.container{border-radius:inherit;box-sizing:border-box;display:flex;height:100%;position:relative;width:100%}.container::before{border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute}.container:not(.disabled){cursor:pointer}.container.disabled{pointer-events:none}.cell{display:flex}.action{align-items:baseline;appearance:none;background:none;border:none;border-radius:inherit;display:flex;outline:none;padding:0;position:relative;text-decoration:none}.primary.action{min-width:0;padding-inline-start:var(--_leading-space);padding-inline-end:var(--_trailing-space)}.has-icon .primary.action{padding-inline-start:var(--_with-leading-icon-leading-space)}.touch{height:48px;inset:50% 0 0;position:absolute;transform:translateY(-50%);width:100%}:host([touch-target=none]) .touch{display:none}.outline{border:var(--_outline-width) solid var(--_outline-color);border-radius:inherit;inset:0;pointer-events:none;position:absolute}:where(:focus) .outline{border-color:var(--_focus-outline-color)}:where(.disabled) .outline{border-color:var(--_disabled-outline-color);opacity:var(--_disabled-outline-opacity)}md-ripple{border-radius:inherit}.label,.icon,.touch{z-index:1}.label{align-items:center;color:var(--_label-text-color);display:flex;font-family:var(--_label-text-font);font-size:var(--_label-text-size);font-weight:var(--_label-text-weight);height:100%;line-height:var(--_label-text-line-height);overflow:hidden;user-select:none}.label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(:hover) .label{color:var(--_hover-label-text-color)}:where(:focus) .label{color:var(--_focus-label-text-color)}:where(:active) .label{color:var(--_pressed-label-text-color)}:where(.disabled) .label{color:var(--_disabled-label-text-color);opacity:var(--_disabled-label-text-opacity)}.icon{align-self:center;display:flex;fill:currentColor;position:relative}.icon ::slotted(:first-child){font-size:var(--_icon-size);height:var(--_icon-size);width:var(--_icon-size)}.leading.icon{color:var(--_leading-icon-color)}.leading.icon ::slotted(*),.leading.icon svg{margin-inline-end:var(--_icon-label-space)}:where(:hover) .leading.icon{color:var(--_hover-leading-icon-color)}:where(:focus) .leading.icon{color:var(--_focus-leading-icon-color)}:where(:active) .leading.icon{color:var(--_pressed-leading-icon-color)}:where(.disabled) .leading.icon{color:var(--_disabled-leading-icon-color);opacity:var(--_disabled-leading-icon-opacity)}@media(forced-colors: active){:where(.disabled) :is(.label,.outline,.leading.icon){color:GrayText;opacity:1}}a,button{text-transform:inherit}a,button:not(:disabled,[aria-disabled=true]){cursor:inherit}\n`;\n//# sourceMappingURL=shared-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/trailing-icon-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.trailing.action{align-items:center;justify-content:center;padding-inline-start:var(--_icon-label-space);padding-inline-end:var(--_with-trailing-icon-trailing-space)}.trailing.action :is(md-ripple,md-focus-ring){border-radius:50%;height:calc(1.3333333333*var(--_icon-size));width:calc(1.3333333333*var(--_icon-size))}.trailing.action md-focus-ring{inset:unset}.has-trailing .primary.action{padding-inline-end:0}.trailing.icon{color:var(--_trailing-icon-color);height:var(--_icon-size);width:var(--_icon-size)}:where(:hover) .trailing.icon{color:var(--_hover-trailing-icon-color)}:where(:focus) .trailing.icon{color:var(--_focus-trailing-icon-color)}:where(:active) .trailing.icon{color:var(--_pressed-trailing-icon-color)}:where(.disabled) .trailing.icon{color:var(--_disabled-trailing-icon-color);opacity:var(--_disabled-trailing-icon-opacity)}:where(.selected) .trailing.icon{color:var(--_selected-trailing-icon-color)}:where(.selected:hover) .trailing.icon{color:var(--_selected-hover-trailing-icon-color)}:where(.selected:focus) .trailing.icon{color:var(--_selected-focus-trailing-icon-color)}:where(.selected:active) .trailing.icon{color:var(--_selected-pressed-trailing-icon-color)}@media(forced-colors: active){.trailing.icon{color:ButtonText}:where(.disabled) .trailing.icon{color:GrayText;opacity:1}}\n`;\n//# sourceMappingURL=trailing-icon-styles.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { styles as elevatedStyles } from './internal/elevated-styles.js';\nimport { FilterChip } from './internal/filter-chip.js';\nimport { styles } from './internal/filter-styles.js';\nimport { styles as selectableStyles } from './internal/selectable-styles.js';\nimport { styles as sharedStyles } from './internal/shared-styles.js';\nimport { styles as trailingIconStyles } from './internal/trailing-icon-styles.js';\n/**\n * TODO(b/243982145): add docs\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdFilterChip = class MdFilterChip extends FilterChip {\n};\nMdFilterChip.styles = [\n sharedStyles,\n elevatedStyles,\n trailingIconStyles,\n selectableStyles,\n styles,\n];\nMdFilterChip = __decorate([\n customElement('md-filter-chip')\n], MdFilterChip);\n//# sourceMappingURL=filter-chip.js.map","import '@material/web/chips/chip-set.js'\nimport '@material/web/chips/filter-chip.js'\nimport { $LitElement } from '@mixins/index'\nimport { html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-chip')\nexport default class SchmancyChip extends $LitElement() {\n\t// Removed unused query for md-chip-set\n\n\t@property({ type: String, reflect: true })\n\tlabel: string = ''\n\n\t@property({ type: String, reflect: true })\n\tvalue: string = ''\n\n\t@property({ type: Boolean, reflect: true })\n\tselected: boolean = false\n\n\t@property({ type: String, reflect: true })\n\ticon: string = ''\n\n\t@property({ type: Boolean, reflect: true })\n\treadOnly: boolean = false\n\n\t@property({ type: Boolean, reflect: true })\n\tdisabled: boolean = false\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\n\tstatic formAssociated = true\n\tinternals: ElementInternals | undefined\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<md-filter-chip\n\t\t\t\t.disabled=${this.disabled}\n\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t@click=${(_e: Event) => {\n\t\t\t\t\tif (this.readOnly) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t// Toggle selection and dispatch a change event\n\t\t\t\t\tthis.selected = !this.selected\n\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<SchmancyChipChangeEvent>('change', {\n\t\t\t\t\t\t\tdetail: { value: this.value, selected: this.selected },\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t\t?selected=${this.selected}\n\t\t\t>\n\t\t\t\t${this.icon}\n\t\t\t</md-filter-chip>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chip': SchmancyChip\n\t}\n}\n\nexport type SchmancyChipChangeEvent = { value: string; selected: boolean }\n","import '@material/web/chips/chip-set.js'\nimport '@material/web/chips/filter-chip.js'\nimport { ChipSet } from '@material/web/chips/internal/chip-set'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, PropertyValues } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport SchmancyChip, { SchmancyChipChangeEvent } from './chip'\n@customElement('schmancy-chips')\nexport default class SchmancyChips extends $LitElement(css``) {\n\t@query('md-chip-set') chipSet!: ChipSet\n\n\t@property({\n\t\ttype: Boolean,\n\t\treflect: true,\n\t})\n\tmulti = false\n\n\t@property({\n\t\ttype: Array,\n\t\treflect: true,\n\t})\n\tvalues: string[] = []\n\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\tvalue: string = ''\n\n\t@queryAssignedElements({\n\t\tselector: 'schmancy-chip',\n\t\tflatten: true,\n\t})\n\tchips!: SchmancyChip[]\n\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\twrap: 'wrap' | 'nowrap' = 'wrap'\n\tasync change(e: CustomEvent<SchmancyChipChangeEvent>) {\n\t\te.preventDefault()\n\t\te.stopPropagation()\n\t\tconst { value, selected } = e.detail\n\t\tif (this.multi) {\n\t\t\tif (selected) {\n\t\t\t\tthis.values = [...this.values, value]\n\t\t\t\t// find the chip that was selected\n\t\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\t\t// if it exists, select it\n\t\t\t\tif (chip) chip.selected = true\n\t\t\t} else {\n\t\t\t\tthis.values = this.values.filter(v => v !== value)\n\t\t\t\t// find the chip that was deselected\n\t\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\t\t// if it exists, deselect it\n\t\t\t\tif (chip) chip.selected = false\n\t\t\t}\n\t\t\tthis.requestUpdate()\n\t\t} else {\n\t\t\tconst { value, selected } = e.detail\n\t\t\tthis.value = selected ? value : ''\n\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\tif (selected) chip.selected = selected\n\t\t\telse chip.selected = false\n\t\t\t// deselect all other chips\n\t\t\tthis.chips.forEach(c => {\n\t\t\t\tif (this.value && this.value === c.value) c.selected = true\n\t\t\t\telse c.selected = false\n\t\t\t})\n\t\t\tthis.requestUpdate()\n\t\t}\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyChipsChangeEvent>('change', {\n\t\t\t\tdetail: this.multi ? this.values : this.value,\n\t\t\t\tbubbles: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValues): void {\n\t\tsuper.firstUpdated(_changedProperties)\n\t\tthis.hydrateTabs()\n\t}\n\n\t// attribute changes\n\t// when values change, update the selected chips\n\tattributeChangedCallback(name: string, old: string, value: string): void {\n\t\tsuper.attributeChangedCallback(name, old, value)\n\t\tif (name === 'values') {\n\t\t\tthis.hydrateTabs()\n\t\t} else if (name === 'value') {\n\t\t\tthis.hydrateTabs()\n\t\t}\n\t}\n\n\thydrateTabs() {\n\t\tthis.chips.forEach(chip => {\n\t\t\tif (this.multi) {\n\t\t\t\tif (this.values.includes(chip.value)) chip.selected = true\n\t\t\t\telse chip.selected = false\n\t\t\t} else {\n\t\t\t\tif (this.value === chip.value) chip.selected = true\n\t\t\t\telse chip.selected = false\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render(): unknown {\n\t\tconst styles = {\n\t\t\t'flex-wrap': this.wrap,\n\t\t}\n\t\treturn html` <md-chip-set style=${this.styleMap(styles)} @change=${this.change}>\n\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t</md-chip-set>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chips': SchmancyChips\n\t}\n}\nexport type SchmancyChipsChangeEvent = string | Array<string>\n"],"names":["chipBaseClass","mixinDelegatesAria","LitElement","Chip","this","disabled","softDisabled","constructor","super","alwaysFocusable","label","hasIcon","isServer","addEventListener","handleClick","bind","options","focus","render","html","classMap","getContainerClasses","renderContainerContent","changed","has","undefined","get","dispatchEvent","Event","bubbles","renderOutline","primaryId","rippleDisabled","renderPrimaryAction","renderPrimaryContent","renderLeadingIcon","handleIconChange","event","slot","target","assignedElements","flatten","length","stopImmediatePropagation","preventDefault","shadowRootOptions","delegatesFocus","__decorate","property","type","Boolean","reflect","prototype","attribute","ChipSet","childElements","filter","child","internals","attachInternals","updateTabIndices","handleKeyDown","role","isLeft","key","isRight","isHome","isEnd","chips","trailing","forwards","getComputedStyle","direction","focusedChip","find","chip","matches","currentIndex","indexOf","nextIndex","nextChip","chipToFocus","isChipFocusable","tabIndex","queryAssignedElements","styles","css","MdChipSet","customElement","Elevation","connectedCallback","setAttribute","MdElevation","ARIA_LABEL_REMOVE","MultiActionChip","hasAttribute","getAttribute","ariaLabel","ariaLabelRemove","removeAttribute","requestUpdate","handleTrailingActionFocus","trailingAction","renderTrailingAction","primaryAction","isPrimaryFocused","isTrailingFocused","stopPropagation","once","renderRemoveButton","focusListener","tabbable","nothing","handleRemoveClick","cancelable","remove","FilterChip","arguments","elevated","removable","selected","hasSelectedIcon","content","handleClickOnChild","prevValue","redispatchEvent","query","MdFilterChip","sharedStyles","elevatedStyles","trailingIconStyles","selectableStyles","SchmancyChip","$LitElement","value","icon","readOnly","form","_e","CustomEvent","detail","formAssociated","__decorateClass","String","SchmancyChips","multi","values","wrap","e","c","v","forEach","_changedProperties","firstUpdated","hydrateTabs","name","old","attributeChangedCallback","includes","styleMap","change","Array","selector"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}
|
|
1
|
+
{"version":3,"file":"chips-DuSV3Pg2.js","sources":["../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/chip.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/chip-set.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/chip-set-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/chip-set.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/elevated-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/elevation/internal/elevation.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/elevation/internal/elevation-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/elevation/elevation.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/multi-action-chip.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/trailing-icons.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/filter-chip.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/filter-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/selectable-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/shared-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/internal/trailing-icon-styles.js","../../../../.yarn/berry/cache/@material-web-npm-2.2.0-6c67e37c0d-10c0.zip/node_modules/@material/web/chips/filter-chip.js","../src/chips/chip.ts","../src/chips/chips.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport '../../focus/md-focus-ring.js';\nimport '../../ripple/ripple.js';\nimport { html, isServer, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { mixinDelegatesAria } from '../../internal/aria/delegate.js';\n// Separate variable needed for closure.\nconst chipBaseClass = mixinDelegatesAria(LitElement);\n/**\n * A chip component.\n *\n * @fires update-focus {Event} Dispatched when `disabled` is toggled. --bubbles\n */\nexport class Chip extends chipBaseClass {\n /**\n * Whether or not the primary ripple is disabled (defaults to `disabled`).\n * Some chip actions such as links cannot be disabled.\n */\n get rippleDisabled() {\n return this.disabled || this.softDisabled;\n }\n constructor() {\n super();\n /**\n * Whether or not the chip is disabled.\n *\n * Disabled chips are not focusable, unless `always-focusable` is set.\n */\n this.disabled = false;\n /**\n * Whether or not the chip is \"soft-disabled\" (disabled but still\n * focusable).\n *\n * Use this when a chip needs increased visibility when disabled. See\n * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\n * for more guidance on when this is needed.\n */\n this.softDisabled = false;\n /**\n * When true, allow disabled chips to be focused with arrow keys.\n *\n * Add this when a chip needs increased visibility when disabled. See\n * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\n * for more guidance on when this is needed.\n *\n * @deprecated Use `softDisabled` instead of `alwaysFocusable` + `disabled`.\n */\n this.alwaysFocusable = false;\n // TODO(b/350810013): remove the label property.\n /**\n * The label of the chip.\n *\n * @deprecated Set text as content of the chip instead.\n */\n this.label = '';\n /**\n * Only needed for SSR.\n *\n * Add this attribute when a chip has a `slot=\"icon\"` to avoid a Flash Of\n * Unstyled Content.\n */\n this.hasIcon = false;\n if (!isServer) {\n this.addEventListener('click', this.handleClick.bind(this));\n }\n }\n focus(options) {\n if (this.disabled && !this.alwaysFocusable) {\n return;\n }\n super.focus(options);\n }\n render() {\n return html `\n <div class=\"container ${classMap(this.getContainerClasses())}\">\n ${this.renderContainerContent()}\n </div>\n `;\n }\n updated(changed) {\n if (changed.has('disabled') && changed.get('disabled') !== undefined) {\n this.dispatchEvent(new Event('update-focus', { bubbles: true }));\n }\n }\n getContainerClasses() {\n return {\n 'disabled': this.disabled || this.softDisabled,\n 'has-icon': this.hasIcon,\n };\n }\n renderContainerContent() {\n return html `\n ${this.renderOutline()}\n <md-focus-ring part=\"focus-ring\" for=${this.primaryId}></md-focus-ring>\n <md-ripple\n for=${this.primaryId}\n ?disabled=${this.rippleDisabled}></md-ripple>\n ${this.renderPrimaryAction(this.renderPrimaryContent())}\n `;\n }\n renderOutline() {\n return html `<span class=\"outline\"></span>`;\n }\n renderLeadingIcon() {\n return html `<slot name=\"icon\" @slotchange=${this.handleIconChange}></slot>`;\n }\n renderPrimaryContent() {\n return html `\n <span class=\"leading icon\" aria-hidden=\"true\">\n ${this.renderLeadingIcon()}\n </span>\n <span class=\"label\">\n <span class=\"label-text\" id=\"label\">\n ${this.label ? this.label : html `<slot></slot>`}\n </span>\n </span>\n <span class=\"touch\"></span>\n `;\n }\n handleIconChange(event) {\n const slot = event.target;\n this.hasIcon = slot.assignedElements({ flatten: true }).length > 0;\n }\n handleClick(event) {\n // If the chip is soft-disabled or disabled + always-focusable, we need to\n // explicitly prevent the click from propagating to other event listeners\n // as well as prevent the default action.\n if (this.softDisabled || (this.disabled && this.alwaysFocusable)) {\n event.stopImmediatePropagation();\n event.preventDefault();\n return;\n }\n }\n}\n/** @nocollapse */\nChip.shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n};\n__decorate([\n property({ type: Boolean, reflect: true })\n], Chip.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'soft-disabled', reflect: true })\n], Chip.prototype, \"softDisabled\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'always-focusable' })\n], Chip.prototype, \"alwaysFocusable\", void 0);\n__decorate([\n property()\n], Chip.prototype, \"label\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true, attribute: 'has-icon' })\n], Chip.prototype, \"hasIcon\", void 0);\n//# sourceMappingURL=chip.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { html, isServer, LitElement } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\nimport { Chip } from './chip.js';\n/**\n * A chip set component.\n */\nexport class ChipSet extends LitElement {\n get chips() {\n return this.childElements.filter((child) => child instanceof Chip);\n }\n constructor() {\n super();\n this.internals = \n // Cast needed for closure\n this.attachInternals();\n if (!isServer) {\n this.addEventListener('focusin', this.updateTabIndices.bind(this));\n this.addEventListener('update-focus', this.updateTabIndices.bind(this));\n this.addEventListener('keydown', this.handleKeyDown.bind(this));\n this.internals.role = 'toolbar';\n }\n }\n render() {\n return html `<slot @slotchange=${this.updateTabIndices}></slot>`;\n }\n handleKeyDown(event) {\n const isLeft = event.key === 'ArrowLeft';\n const isRight = event.key === 'ArrowRight';\n const isHome = event.key === 'Home';\n const isEnd = event.key === 'End';\n // Ignore non-navigation keys\n if (!isLeft && !isRight && !isHome && !isEnd) {\n return;\n }\n const { chips } = this;\n // Don't try to select another chip if there aren't any.\n if (chips.length < 2) {\n return;\n }\n // Prevent default interactions, such as scrolling.\n event.preventDefault();\n if (isHome || isEnd) {\n const index = isHome ? 0 : chips.length - 1;\n chips[index].focus({ trailing: isEnd });\n this.updateTabIndices();\n return;\n }\n // Check if moving forwards or backwards\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const forwards = isRtl ? isLeft : isRight;\n const focusedChip = chips.find((chip) => chip.matches(':focus-within'));\n if (!focusedChip) {\n // If there is not already a chip focused, select the first or last chip\n // based on the direction we're traveling.\n const nextChip = forwards ? chips[0] : chips[chips.length - 1];\n nextChip.focus({ trailing: !forwards });\n this.updateTabIndices();\n return;\n }\n const currentIndex = chips.indexOf(focusedChip);\n let nextIndex = forwards ? currentIndex + 1 : currentIndex - 1;\n // Search for the next sibling that is not disabled to select.\n // If we return to the host index, there is nothing to select.\n while (nextIndex !== currentIndex) {\n if (nextIndex >= chips.length) {\n // Return to start if moving past the last item.\n nextIndex = 0;\n }\n else if (nextIndex < 0) {\n // Go to end if moving before the first item.\n nextIndex = chips.length - 1;\n }\n // Check if the next sibling is disabled. If so,\n // move the index and continue searching.\n //\n // Some toolbar items may be focusable when disabled for increased\n // visibility.\n const nextChip = chips[nextIndex];\n if (nextChip.disabled && !nextChip.alwaysFocusable) {\n if (forwards) {\n nextIndex++;\n }\n else {\n nextIndex--;\n }\n continue;\n }\n nextChip.focus({ trailing: !forwards });\n this.updateTabIndices();\n break;\n }\n }\n updateTabIndices() {\n // The chip that should be focusable is either the chip that currently has\n // focus or the first chip that can be focused.\n const { chips } = this;\n let chipToFocus;\n for (const chip of chips) {\n const isChipFocusable = chip.alwaysFocusable || !chip.disabled;\n const chipIsFocused = chip.matches(':focus-within');\n if (chipIsFocused && isChipFocusable) {\n // Found the first chip that is actively focused. This overrides the\n // first focusable chip found.\n chipToFocus = chip;\n continue;\n }\n if (isChipFocusable && !chipToFocus) {\n chipToFocus = chip;\n }\n // Disable non-focused chips. If we disable all of them, we'll grant focus\n // to the first focusable child that was found.\n chip.tabIndex = -1;\n }\n if (chipToFocus) {\n chipToFocus.tabIndex = 0;\n }\n }\n}\n__decorate([\n queryAssignedElements()\n], ChipSet.prototype, \"childElements\", void 0);\n//# sourceMappingURL=chip-set.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/chip-set-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{display:flex;flex-wrap:wrap;gap:8px}\n`;\n//# sourceMappingURL=chip-set-styles.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { ChipSet } from './internal/chip-set.js';\nimport { styles } from './internal/chip-set-styles.js';\n/**\n * TODO(b/243982145): add docs\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdChipSet = class MdChipSet extends ChipSet {\n};\nMdChipSet.styles = [styles];\nMdChipSet = __decorate([\n customElement('md-chip-set')\n], MdChipSet);\n//# sourceMappingURL=chip-set.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/elevated-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.elevated{--md-elevation-level: var(--_elevated-container-elevation);--md-elevation-shadow-color: var(--_elevated-container-shadow-color)}.elevated::before{background:var(--_elevated-container-color)}.elevated:hover{--md-elevation-level: var(--_elevated-hover-container-elevation)}.elevated:focus-within{--md-elevation-level: var(--_elevated-focus-container-elevation)}.elevated:active{--md-elevation-level: var(--_elevated-pressed-container-elevation)}.elevated.disabled{--md-elevation-level: var(--_elevated-disabled-container-elevation)}.elevated.disabled::before{background:var(--_elevated-disabled-container-color);opacity:var(--_elevated-disabled-container-opacity)}@media(forced-colors: active){.elevated md-elevation{border:1px solid CanvasText}.elevated.disabled md-elevation{border-color:GrayText}}\n`;\n//# sourceMappingURL=elevated-styles.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { html, LitElement } from 'lit';\n/**\n * A component for elevation.\n */\nexport class Elevation extends LitElement {\n connectedCallback() {\n super.connectedCallback();\n // Needed for VoiceOver, which will create a \"group\" if the element is a\n // sibling to other content.\n this.setAttribute('aria-hidden', 'true');\n }\n render() {\n return html `<span class=\"shadow\"></span>`;\n }\n}\n//# sourceMappingURL=elevation.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./elevation/internal/elevation-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host,.shadow,.shadow::before,.shadow::after{border-radius:inherit;inset:0;position:absolute;transition-duration:inherit;transition-property:inherit;transition-timing-function:inherit}:host{display:flex;pointer-events:none;transition-property:box-shadow,opacity}.shadow::before,.shadow::after{content:\"\";transition-property:box-shadow,opacity;--_level: var(--md-elevation-level, 0);--_shadow-color: var(--md-elevation-shadow-color, var(--md-sys-color-shadow, #000))}.shadow::before{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 3,1) + 2*clamp(0,var(--_level) - 4,1))) calc(1px*(2*clamp(0,var(--_level),1) + clamp(0,var(--_level) - 2,1) + clamp(0,var(--_level) - 4,1))) 0px var(--_shadow-color);opacity:.3}.shadow::after{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 1,1) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(3*clamp(0,var(--_level),2) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(clamp(0,var(--_level),4) + 2*clamp(0,var(--_level) - 4,1))) var(--_shadow-color);opacity:.15}\n`;\n//# sourceMappingURL=elevation-styles.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { Elevation } from './internal/elevation.js';\nimport { styles } from './internal/elevation-styles.js';\n/**\n * The `<md-elevation>` custom element with default styles.\n *\n * Elevation is the relative distance between two surfaces along the z-axis.\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdElevation = class MdElevation extends Elevation {\n};\nMdElevation.styles = [styles];\nMdElevation = __decorate([\n customElement('md-elevation')\n], MdElevation);\n//# sourceMappingURL=elevation.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { html, isServer } from 'lit';\nimport { Chip } from './chip.js';\nconst ARIA_LABEL_REMOVE = 'aria-label-remove';\n/**\n * A chip component with multiple actions.\n */\nexport class MultiActionChip extends Chip {\n get ariaLabelRemove() {\n if (this.hasAttribute(ARIA_LABEL_REMOVE)) {\n return this.getAttribute(ARIA_LABEL_REMOVE);\n }\n const { ariaLabel } = this;\n // TODO(b/350810013): remove `this.label` when label property is removed.\n if (ariaLabel || this.label) {\n return `Remove ${ariaLabel || this.label}`;\n }\n return null;\n }\n set ariaLabelRemove(ariaLabel) {\n const prev = this.ariaLabelRemove;\n if (ariaLabel === prev) {\n return;\n }\n if (ariaLabel === null) {\n this.removeAttribute(ARIA_LABEL_REMOVE);\n }\n else {\n this.setAttribute(ARIA_LABEL_REMOVE, ariaLabel);\n }\n this.requestUpdate();\n }\n constructor() {\n super();\n this.handleTrailingActionFocus = this.handleTrailingActionFocus.bind(this);\n if (!isServer) {\n this.addEventListener('keydown', this.handleKeyDown.bind(this));\n }\n }\n focus(options) {\n const isFocusable = this.alwaysFocusable || !this.disabled;\n if (isFocusable && options?.trailing && this.trailingAction) {\n this.trailingAction.focus(options);\n return;\n }\n super.focus(options);\n }\n renderContainerContent() {\n return html `\n ${super.renderContainerContent()}\n ${this.renderTrailingAction(this.handleTrailingActionFocus)}\n `;\n }\n handleKeyDown(event) {\n const isLeft = event.key === 'ArrowLeft';\n const isRight = event.key === 'ArrowRight';\n // Ignore non-navigation keys.\n if (!isLeft && !isRight) {\n return;\n }\n if (!this.primaryAction || !this.trailingAction) {\n // Does not have multiple actions.\n return;\n }\n // Check if moving forwards or backwards\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const forwards = isRtl ? isLeft : isRight;\n const isPrimaryFocused = this.primaryAction?.matches(':focus-within');\n const isTrailingFocused = this.trailingAction?.matches(':focus-within');\n if ((forwards && isTrailingFocused) || (!forwards && isPrimaryFocused)) {\n // Moving outside of the chip, it will be handled by the chip set.\n return;\n }\n // Prevent default interactions, such as scrolling.\n event.preventDefault();\n // Don't let the chip set handle this navigation event.\n event.stopPropagation();\n const actionToFocus = forwards ? this.trailingAction : this.primaryAction;\n actionToFocus.focus();\n }\n handleTrailingActionFocus() {\n const { primaryAction, trailingAction } = this;\n if (!primaryAction || !trailingAction) {\n return;\n }\n // Temporarily turn off the primary action's focusability. This allows\n // shift+tab from the trailing action to move to the previous chip rather\n // than the primary action in the same chip.\n primaryAction.tabIndex = -1;\n trailingAction.addEventListener('focusout', () => {\n primaryAction.tabIndex = 0;\n }, { once: true });\n }\n}\n//# sourceMappingURL=multi-action-chip.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport '../../focus/md-focus-ring.js';\nimport '../../ripple/ripple.js';\nimport { html, nothing } from 'lit';\n/** @protected */\nexport function renderRemoveButton({ ariaLabel, disabled, focusListener, tabbable = false, }) {\n // When an aria-label is not provided, we use two spans with aria-labelledby\n // to create the \"Remove <textContent>\" label for the remove button. The first\n // is this #remove-label span, the second is the chip's #label slot span.\n return html `\n <span id=\"remove-label\" hidden aria-hidden=\"true\">Remove</span>\n <button\n class=\"trailing action\"\n aria-label=${ariaLabel || nothing}\n aria-labelledby=${!ariaLabel ? 'remove-label label' : nothing}\n tabindex=${!tabbable ? -1 : nothing}\n @click=${handleRemoveClick}\n @focus=${focusListener}>\n <md-focus-ring part=\"trailing-focus-ring\"></md-focus-ring>\n <md-ripple ?disabled=${disabled}></md-ripple>\n <span class=\"trailing icon\" aria-hidden=\"true\">\n <slot name=\"remove-trailing-icon\">\n <svg viewBox=\"0 96 960 960\">\n <path\n d=\"m249 849-42-42 231-231-231-231 42-42 231 231 231-231 42 42-231 231 231 231-42 42-231-231-231 231Z\" />\n </svg>\n </slot>\n </span>\n <span class=\"touch\"></span>\n </button>\n `;\n}\nfunction handleRemoveClick(event) {\n if (this.disabled || this.softDisabled) {\n return;\n }\n event.stopPropagation();\n const preventDefault = !this.dispatchEvent(new Event('remove', { cancelable: true }));\n if (preventDefault) {\n return;\n }\n this.remove();\n}\n//# sourceMappingURL=trailing-icons.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport '../../elevation/elevation.js';\nimport { html, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { redispatchEvent } from '../../internal/events/redispatch-event.js';\nimport { MultiActionChip } from './multi-action-chip.js';\nimport { renderRemoveButton } from './trailing-icons.js';\n/**\n * A filter chip component.\n *\n * @fires remove {Event} Dispatched when the remove button is clicked.\n */\nexport class FilterChip extends MultiActionChip {\n constructor() {\n super(...arguments);\n this.elevated = false;\n this.removable = false;\n this.selected = false;\n /**\n * Only needed for SSR.\n *\n * Add this attribute when a filter chip has a `slot=\"selected-icon\"` to avoid\n * a Flash Of Unstyled Content.\n */\n this.hasSelectedIcon = false;\n }\n get primaryId() {\n return 'button';\n }\n getContainerClasses() {\n return {\n ...super.getContainerClasses(),\n elevated: this.elevated,\n selected: this.selected,\n 'has-trailing': this.removable,\n 'has-icon': this.hasIcon || this.selected,\n };\n }\n renderPrimaryAction(content) {\n const { ariaLabel } = this;\n return html `\n <button\n class=\"primary action\"\n id=\"button\"\n aria-label=${ariaLabel || nothing}\n aria-pressed=${this.selected}\n aria-disabled=${this.softDisabled || nothing}\n ?disabled=${this.disabled && !this.alwaysFocusable}\n @click=${this.handleClickOnChild}\n >${content}</button\n >\n `;\n }\n renderLeadingIcon() {\n if (!this.selected) {\n return super.renderLeadingIcon();\n }\n return html `\n <slot name=\"selected-icon\">\n <svg class=\"checkmark\" viewBox=\"0 0 18 18\" aria-hidden=\"true\">\n <path\n d=\"M6.75012 12.1274L3.62262 8.99988L2.55762 10.0574L6.75012 14.2499L15.7501 5.24988L14.6926 4.19238L6.75012 12.1274Z\" />\n </svg>\n </slot>\n `;\n }\n renderTrailingAction(focusListener) {\n if (this.removable) {\n return renderRemoveButton({\n focusListener,\n ariaLabel: this.ariaLabelRemove,\n disabled: this.disabled || this.softDisabled,\n });\n }\n return nothing;\n }\n renderOutline() {\n if (this.elevated) {\n return html `<md-elevation part=\"elevation\"></md-elevation>`;\n }\n return super.renderOutline();\n }\n handleClickOnChild(event) {\n if (this.disabled || this.softDisabled) {\n return;\n }\n // Store prevValue to revert in case `chip.selected` is changed during an\n // event listener.\n const prevValue = this.selected;\n this.selected = !this.selected;\n const preventDefault = !redispatchEvent(this, event);\n if (preventDefault) {\n // We should not do `this.selected = !this.selected`, since a client\n // click listener could change its value. Instead, always revert to the\n // original value.\n this.selected = prevValue;\n return;\n }\n }\n}\n__decorate([\n property({ type: Boolean })\n], FilterChip.prototype, \"elevated\", void 0);\n__decorate([\n property({ type: Boolean })\n], FilterChip.prototype, \"removable\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], FilterChip.prototype, \"selected\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true, attribute: 'has-selected-icon' })\n], FilterChip.prototype, \"hasSelectedIcon\", void 0);\n__decorate([\n query('.primary.action')\n], FilterChip.prototype, \"primaryAction\", void 0);\n__decorate([\n query('.trailing.action')\n], FilterChip.prototype, \"trailingAction\", void 0);\n//# sourceMappingURL=filter-chip.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/filter-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{--_container-height: var(--md-filter-chip-container-height, 32px);--_disabled-label-text-color: var(--md-filter-chip-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filter-chip-disabled-label-text-opacity, 0.38);--_elevated-container-elevation: var(--md-filter-chip-elevated-container-elevation, 1);--_elevated-container-shadow-color: var(--md-filter-chip-elevated-container-shadow-color, var(--md-sys-color-shadow, #000));--_elevated-disabled-container-color: var(--md-filter-chip-elevated-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_elevated-disabled-container-elevation: var(--md-filter-chip-elevated-disabled-container-elevation, 0);--_elevated-disabled-container-opacity: var(--md-filter-chip-elevated-disabled-container-opacity, 0.12);--_elevated-focus-container-elevation: var(--md-filter-chip-elevated-focus-container-elevation, 1);--_elevated-hover-container-elevation: var(--md-filter-chip-elevated-hover-container-elevation, 2);--_elevated-pressed-container-elevation: var(--md-filter-chip-elevated-pressed-container-elevation, 1);--_elevated-selected-container-color: var(--md-filter-chip-elevated-selected-container-color, var(--md-sys-color-secondary-container, #e8def8));--_label-text-font: var(--md-filter-chip-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filter-chip-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-filter-chip-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-filter-chip-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_selected-focus-label-text-color: var(--md-filter-chip-selected-focus-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-label-text-color: var(--md-filter-chip-selected-hover-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-state-layer-color: var(--md-filter-chip-selected-hover-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-state-layer-opacity: var(--md-filter-chip-selected-hover-state-layer-opacity, 0.08);--_selected-label-text-color: var(--md-filter-chip-selected-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-label-text-color: var(--md-filter-chip-selected-pressed-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-state-layer-color: var(--md-filter-chip-selected-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_selected-pressed-state-layer-opacity: var(--md-filter-chip-selected-pressed-state-layer-opacity, 0.12);--_elevated-container-color: var(--md-filter-chip-elevated-container-color, var(--md-sys-color-surface-container-low, #f7f2fa));--_disabled-outline-color: var(--md-filter-chip-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-filter-chip-disabled-outline-opacity, 0.12);--_disabled-selected-container-color: var(--md-filter-chip-disabled-selected-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-selected-container-opacity: var(--md-filter-chip-disabled-selected-container-opacity, 0.12);--_focus-outline-color: var(--md-filter-chip-focus-outline-color, var(--md-sys-color-on-surface-variant, #49454f));--_outline-color: var(--md-filter-chip-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width: var(--md-filter-chip-outline-width, 1px);--_selected-container-color: var(--md-filter-chip-selected-container-color, var(--md-sys-color-secondary-container, #e8def8));--_selected-outline-width: var(--md-filter-chip-selected-outline-width, 0px);--_focus-label-text-color: var(--md-filter-chip-focus-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-label-text-color: var(--md-filter-chip-hover-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-filter-chip-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-opacity: var(--md-filter-chip-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filter-chip-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-label-text-color: var(--md-filter-chip-pressed-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-color: var(--md-filter-chip-pressed-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_pressed-state-layer-opacity: var(--md-filter-chip-pressed-state-layer-opacity, 0.12);--_icon-size: var(--md-filter-chip-icon-size, 18px);--_disabled-leading-icon-color: var(--md-filter-chip-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-icon-opacity: var(--md-filter-chip-disabled-leading-icon-opacity, 0.38);--_selected-focus-leading-icon-color: var(--md-filter-chip-selected-focus-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-leading-icon-color: var(--md-filter-chip-selected-hover-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-leading-icon-color: var(--md-filter-chip-selected-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-leading-icon-color: var(--md-filter-chip-selected-pressed-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_focus-leading-icon-color: var(--md-filter-chip-focus-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-leading-icon-color: var(--md-filter-chip-hover-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_leading-icon-color: var(--md-filter-chip-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_pressed-leading-icon-color: var(--md-filter-chip-pressed-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_disabled-trailing-icon-color: var(--md-filter-chip-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-icon-opacity: var(--md-filter-chip-disabled-trailing-icon-opacity, 0.38);--_selected-focus-trailing-icon-color: var(--md-filter-chip-selected-focus-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-trailing-icon-color: var(--md-filter-chip-selected-hover-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-trailing-icon-color: var(--md-filter-chip-selected-pressed-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-trailing-icon-color: var(--md-filter-chip-selected-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_focus-trailing-icon-color: var(--md-filter-chip-focus-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-icon-color: var(--md-filter-chip-hover-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-trailing-icon-color: var(--md-filter-chip-pressed-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-icon-color: var(--md-filter-chip-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_container-shape-start-start: var(--md-filter-chip-container-shape-start-start, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-start-end: var(--md-filter-chip-container-shape-start-end, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-end-end: var(--md-filter-chip-container-shape-end-end, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-end-start: var(--md-filter-chip-container-shape-end-start, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_leading-space: var(--md-filter-chip-leading-space, 16px);--_trailing-space: var(--md-filter-chip-trailing-space, 16px);--_icon-label-space: var(--md-filter-chip-icon-label-space, 8px);--_with-leading-icon-leading-space: var(--md-filter-chip-with-leading-icon-leading-space, 8px);--_with-trailing-icon-trailing-space: var(--md-filter-chip-with-trailing-icon-trailing-space, 8px)}.selected.elevated::before{background:var(--_elevated-selected-container-color)}.checkmark{height:var(--_icon-size);width:var(--_icon-size)}.disabled .checkmark{opacity:var(--_disabled-leading-icon-opacity)}@media(forced-colors: active){.disabled .checkmark{opacity:1}}\n`;\n//# sourceMappingURL=filter-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/selectable-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.selected{--md-ripple-hover-color: var(--_selected-hover-state-layer-color);--md-ripple-hover-opacity: var(--_selected-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_selected-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_selected-pressed-state-layer-opacity)}:where(.selected)::before{background:var(--_selected-container-color)}:where(.selected) .outline{border-width:var(--_selected-outline-width)}:where(.selected.disabled)::before{background:var(--_disabled-selected-container-color);opacity:var(--_disabled-selected-container-opacity)}:where(.selected) .label{color:var(--_selected-label-text-color)}:where(.selected:hover) .label{color:var(--_selected-hover-label-text-color)}:where(.selected:focus) .label{color:var(--_selected-focus-label-text-color)}:where(.selected:active) .label{color:var(--_selected-pressed-label-text-color)}:where(.selected) .leading.icon{color:var(--_selected-leading-icon-color)}:where(.selected:hover) .leading.icon{color:var(--_selected-hover-leading-icon-color)}:where(.selected:focus) .leading.icon{color:var(--_selected-focus-leading-icon-color)}:where(.selected:active) .leading.icon{color:var(--_selected-pressed-leading-icon-color)}@media(forced-colors: active){:where(.selected:not(.elevated))::before{border:1px solid CanvasText}:where(.selected) .outline{border-width:1px}}\n`;\n//# sourceMappingURL=selectable-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/shared-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end);display:inline-flex;height:var(--_container-height);cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}:host(:is([disabled],[soft-disabled])){pointer-events:none}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_container-height))/2) 0}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}.container{border-radius:inherit;box-sizing:border-box;display:flex;height:100%;position:relative;width:100%}.container::before{border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute}.container:not(.disabled){cursor:pointer}.container.disabled{pointer-events:none}.cell{display:flex}.action{align-items:baseline;appearance:none;background:none;border:none;border-radius:inherit;display:flex;outline:none;padding:0;position:relative;text-decoration:none}.primary.action{min-width:0;padding-inline-start:var(--_leading-space);padding-inline-end:var(--_trailing-space)}.has-icon .primary.action{padding-inline-start:var(--_with-leading-icon-leading-space)}.touch{height:48px;inset:50% 0 0;position:absolute;transform:translateY(-50%);width:100%}:host([touch-target=none]) .touch{display:none}.outline{border:var(--_outline-width) solid var(--_outline-color);border-radius:inherit;inset:0;pointer-events:none;position:absolute}:where(:focus) .outline{border-color:var(--_focus-outline-color)}:where(.disabled) .outline{border-color:var(--_disabled-outline-color);opacity:var(--_disabled-outline-opacity)}md-ripple{border-radius:inherit}.label,.icon,.touch{z-index:1}.label{align-items:center;color:var(--_label-text-color);display:flex;font-family:var(--_label-text-font);font-size:var(--_label-text-size);font-weight:var(--_label-text-weight);height:100%;line-height:var(--_label-text-line-height);overflow:hidden;user-select:none}.label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(:hover) .label{color:var(--_hover-label-text-color)}:where(:focus) .label{color:var(--_focus-label-text-color)}:where(:active) .label{color:var(--_pressed-label-text-color)}:where(.disabled) .label{color:var(--_disabled-label-text-color);opacity:var(--_disabled-label-text-opacity)}.icon{align-self:center;display:flex;fill:currentColor;position:relative}.icon ::slotted(:first-child){font-size:var(--_icon-size);height:var(--_icon-size);width:var(--_icon-size)}.leading.icon{color:var(--_leading-icon-color)}.leading.icon ::slotted(*),.leading.icon svg{margin-inline-end:var(--_icon-label-space)}:where(:hover) .leading.icon{color:var(--_hover-leading-icon-color)}:where(:focus) .leading.icon{color:var(--_focus-leading-icon-color)}:where(:active) .leading.icon{color:var(--_pressed-leading-icon-color)}:where(.disabled) .leading.icon{color:var(--_disabled-leading-icon-color);opacity:var(--_disabled-leading-icon-opacity)}@media(forced-colors: active){:where(.disabled) :is(.label,.outline,.leading.icon){color:GrayText;opacity:1}}a,button{text-transform:inherit}a,button:not(:disabled,[aria-disabled=true]){cursor:inherit}\n`;\n//# sourceMappingURL=shared-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/trailing-icon-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.trailing.action{align-items:center;justify-content:center;padding-inline-start:var(--_icon-label-space);padding-inline-end:var(--_with-trailing-icon-trailing-space)}.trailing.action :is(md-ripple,md-focus-ring){border-radius:50%;height:calc(1.3333333333*var(--_icon-size));width:calc(1.3333333333*var(--_icon-size))}.trailing.action md-focus-ring{inset:unset}.has-trailing .primary.action{padding-inline-end:0}.trailing.icon{color:var(--_trailing-icon-color);height:var(--_icon-size);width:var(--_icon-size)}:where(:hover) .trailing.icon{color:var(--_hover-trailing-icon-color)}:where(:focus) .trailing.icon{color:var(--_focus-trailing-icon-color)}:where(:active) .trailing.icon{color:var(--_pressed-trailing-icon-color)}:where(.disabled) .trailing.icon{color:var(--_disabled-trailing-icon-color);opacity:var(--_disabled-trailing-icon-opacity)}:where(.selected) .trailing.icon{color:var(--_selected-trailing-icon-color)}:where(.selected:hover) .trailing.icon{color:var(--_selected-hover-trailing-icon-color)}:where(.selected:focus) .trailing.icon{color:var(--_selected-focus-trailing-icon-color)}:where(.selected:active) .trailing.icon{color:var(--_selected-pressed-trailing-icon-color)}@media(forced-colors: active){.trailing.icon{color:ButtonText}:where(.disabled) .trailing.icon{color:GrayText;opacity:1}}\n`;\n//# sourceMappingURL=trailing-icon-styles.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { styles as elevatedStyles } from './internal/elevated-styles.js';\nimport { FilterChip } from './internal/filter-chip.js';\nimport { styles } from './internal/filter-styles.js';\nimport { styles as selectableStyles } from './internal/selectable-styles.js';\nimport { styles as sharedStyles } from './internal/shared-styles.js';\nimport { styles as trailingIconStyles } from './internal/trailing-icon-styles.js';\n/**\n * TODO(b/243982145): add docs\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdFilterChip = class MdFilterChip extends FilterChip {\n};\nMdFilterChip.styles = [\n sharedStyles,\n elevatedStyles,\n trailingIconStyles,\n selectableStyles,\n styles,\n];\nMdFilterChip = __decorate([\n customElement('md-filter-chip')\n], MdFilterChip);\n//# sourceMappingURL=filter-chip.js.map","import '@material/web/chips/chip-set.js'\nimport '@material/web/chips/filter-chip.js'\nimport { $LitElement } from '@mixins/index'\nimport { html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-chip')\nexport default class SchmancyChip extends $LitElement() {\n\t// Removed unused query for md-chip-set\n\n\t@property({ type: String, reflect: true })\n\tlabel: string = ''\n\n\t@property({ type: String, reflect: true })\n\tvalue: string = ''\n\n\t@property({ type: Boolean, reflect: true })\n\tselected: boolean = false\n\n\t@property({ type: String, reflect: true })\n\ticon: string = ''\n\n\t@property({ type: Boolean, reflect: true })\n\treadOnly: boolean = false\n\n\t@property({ type: Boolean, reflect: true })\n\tdisabled: boolean = false\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\n\tstatic formAssociated = true\n\tinternals: ElementInternals | undefined\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<md-filter-chip\n\t\t\t\t.disabled=${this.disabled}\n\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t@click=${(_e: Event) => {\n\t\t\t\t\tif (this.readOnly) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t// Toggle selection and dispatch a change event\n\t\t\t\t\tthis.selected = !this.selected\n\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<SchmancyChipChangeEvent>('change', {\n\t\t\t\t\t\t\tdetail: { value: this.value, selected: this.selected },\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t\t?selected=${this.selected}\n\t\t\t>\n\t\t\t\t${this.icon}\n\t\t\t</md-filter-chip>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chip': SchmancyChip\n\t}\n}\n\nexport type SchmancyChipChangeEvent = { value: string; selected: boolean }\n","import '@material/web/chips/chip-set.js'\nimport '@material/web/chips/filter-chip.js'\nimport { ChipSet } from '@material/web/chips/internal/chip-set'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, PropertyValues } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport SchmancyChip, { SchmancyChipChangeEvent } from './chip'\n@customElement('schmancy-chips')\nexport default class SchmancyChips extends $LitElement(css``) {\n\t@query('md-chip-set') chipSet!: ChipSet\n\n\t@property({\n\t\ttype: Boolean,\n\t\treflect: true,\n\t})\n\tmulti = false\n\n\t@property({\n\t\ttype: Array,\n\t\treflect: true,\n\t})\n\tvalues: string[] = []\n\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\tvalue: string = ''\n\n\t@queryAssignedElements({\n\t\tselector: 'schmancy-chip',\n\t\tflatten: true,\n\t})\n\tchips!: SchmancyChip[]\n\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\twrap: 'wrap' | 'nowrap' = 'wrap'\n\tasync change(e: CustomEvent<SchmancyChipChangeEvent>) {\n\t\te.preventDefault()\n\t\te.stopPropagation()\n\t\tconst { value, selected } = e.detail\n\t\tif (this.multi) {\n\t\t\tif (selected) {\n\t\t\t\tthis.values = [...this.values, value]\n\t\t\t\t// find the chip that was selected\n\t\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\t\t// if it exists, select it\n\t\t\t\tif (chip) chip.selected = true\n\t\t\t} else {\n\t\t\t\tthis.values = this.values.filter(v => v !== value)\n\t\t\t\t// find the chip that was deselected\n\t\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\t\t// if it exists, deselect it\n\t\t\t\tif (chip) chip.selected = false\n\t\t\t}\n\t\t\tthis.requestUpdate()\n\t\t} else {\n\t\t\tconst { value, selected } = e.detail\n\t\t\tthis.value = selected ? value : ''\n\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\tif (selected) chip.selected = selected\n\t\t\telse chip.selected = false\n\t\t\t// deselect all other chips\n\t\t\tthis.chips.forEach(c => {\n\t\t\t\tif (this.value && this.value === c.value) c.selected = true\n\t\t\t\telse c.selected = false\n\t\t\t})\n\t\t\tthis.requestUpdate()\n\t\t}\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyChipsChangeEvent>('change', {\n\t\t\t\tdetail: this.multi ? this.values : this.value,\n\t\t\t\tbubbles: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValues): void {\n\t\tsuper.firstUpdated(_changedProperties)\n\t\tthis.hydrateTabs()\n\t}\n\n\t// attribute changes\n\t// when values change, update the selected chips\n\tattributeChangedCallback(name: string, old: string, value: string): void {\n\t\tsuper.attributeChangedCallback(name, old, value)\n\t\tif (name === 'values') {\n\t\t\tthis.hydrateTabs()\n\t\t} else if (name === 'value') {\n\t\t\tthis.hydrateTabs()\n\t\t}\n\t}\n\n\thydrateTabs() {\n\t\tthis.chips.forEach(chip => {\n\t\t\tif (this.multi) {\n\t\t\t\tif (this.values.includes(chip.value)) chip.selected = true\n\t\t\t\telse chip.selected = false\n\t\t\t} else {\n\t\t\t\tif (this.value === chip.value) chip.selected = true\n\t\t\t\telse chip.selected = false\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render(): unknown {\n\t\tconst styles = {\n\t\t\t'flex-wrap': this.wrap,\n\t\t}\n\t\treturn html` <md-chip-set style=${this.styleMap(styles)} @change=${this.change}>\n\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t</md-chip-set>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chips': SchmancyChips\n\t}\n}\nexport type SchmancyChipsChangeEvent = string | Array<string>\n"],"names":["chipBaseClass","mixinDelegatesAria","LitElement","Chip","this","disabled","softDisabled","constructor","super","alwaysFocusable","label","hasIcon","isServer","addEventListener","handleClick","bind","options","focus","render","html","classMap","getContainerClasses","renderContainerContent","changed","has","undefined","get","dispatchEvent","Event","bubbles","renderOutline","primaryId","rippleDisabled","renderPrimaryAction","renderPrimaryContent","renderLeadingIcon","handleIconChange","event","slot","target","assignedElements","flatten","length","stopImmediatePropagation","preventDefault","shadowRootOptions","delegatesFocus","__decorate","property","type","Boolean","reflect","prototype","attribute","ChipSet","childElements","filter","child","internals","attachInternals","updateTabIndices","handleKeyDown","role","isLeft","key","isRight","isHome","isEnd","chips","trailing","forwards","getComputedStyle","direction","focusedChip","find","chip","matches","currentIndex","indexOf","nextIndex","nextChip","chipToFocus","isChipFocusable","tabIndex","queryAssignedElements","styles","css","MdChipSet","customElement","Elevation","connectedCallback","setAttribute","MdElevation","ARIA_LABEL_REMOVE","MultiActionChip","hasAttribute","getAttribute","ariaLabel","ariaLabelRemove","removeAttribute","requestUpdate","handleTrailingActionFocus","trailingAction","renderTrailingAction","primaryAction","isPrimaryFocused","isTrailingFocused","stopPropagation","once","renderRemoveButton","focusListener","tabbable","nothing","handleRemoveClick","cancelable","remove","FilterChip","arguments","elevated","removable","selected","hasSelectedIcon","content","handleClickOnChild","prevValue","redispatchEvent","query","MdFilterChip","sharedStyles","elevatedStyles","trailingIconStyles","selectableStyles","SchmancyChip","$LitElement","value","icon","readOnly","form","_e","CustomEvent","detail","formAssociated","__decorateClass","String","SchmancyChips","multi","values","wrap","e","c","v","forEach","_changedProperties","firstUpdated","hydrateTabs","name","old","attributeChangedCallback","includes","styleMap","change","Array","selector"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}
|
package/dist/chips.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./chips-
|
|
1
|
+
"use strict";require("./chips-DrYrCyTG.cjs");
|
|
2
2
|
//# sourceMappingURL=chips.cjs.map
|
package/dist/chips.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./chips-
|
|
1
|
+
import "./chips-DuSV3Pg2.js";
|
|
2
2
|
//# sourceMappingURL=chips.js.map
|
package/dist/components.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./payment-card-form-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./payment-card-form-DfbqzyTv.cjs");Object.defineProperty(exports,"SchmancyPaymentCardForm",{enumerable:!0,get:()=>e.SchmancyPaymentCardForm});
|
|
2
2
|
//# sourceMappingURL=components.cjs.map
|
package/dist/components.js
CHANGED
package/dist/content-drawer.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-CplIV2h1.cjs");Object.defineProperty(exports,"SchmancyContentDrawer",{enumerable:!0,get:()=>e.SchmancyContentDrawer}),exports.SchmancyContentDrawerID=e.SchmancyContentDrawerID,Object.defineProperty(exports,"SchmancyContentDrawerMain",{enumerable:!0,get:()=>e.SchmancyContentDrawerMain}),exports.SchmancyContentDrawerMaxHeight=e.SchmancyContentDrawerMaxHeight,exports.SchmancyContentDrawerMinWidth=e.SchmancyContentDrawerMinWidth,Object.defineProperty(exports,"SchmancyContentDrawerSheet",{enumerable:!0,get:()=>e.SchmancyContentDrawerSheet}),exports.SchmancyContentDrawerSheetMode=e.SchmancyContentDrawerSheetMode,exports.SchmancyContentDrawerSheetState=e.SchmancyContentDrawerSheetState,exports.schmancyContentDrawer=e.schmancyContentDrawer;
|
|
2
2
|
//# sourceMappingURL=content-drawer.cjs.map
|
package/dist/content-drawer.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { e as n, b as t, f as r, c, d as h, g as S, S as o, a as s, s as m } from "./teleport.component-
|
|
1
|
+
import { e as n, b as t, f as r, c, d as h, g as S, S as o, a as s, s as m } from "./teleport.component-CBNKUZwe.js";
|
|
2
2
|
export {
|
|
3
3
|
n as SchmancyContentDrawer,
|
|
4
4
|
t as SchmancyContentDrawerID,
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { Subject as
|
|
1
|
+
import { Subject as S, BehaviorSubject as h, throttleTime as w } from "rxjs";
|
|
2
2
|
class i extends Error {
|
|
3
3
|
constructor(t, e, s) {
|
|
4
|
-
super(t), this.cause = e, this.context = s, this.
|
|
4
|
+
super(t), this.name = "StoreError", this.cause = e, this.context = s, this.timestamp = /* @__PURE__ */ new Date(), Error.captureStackTrace && Error.captureStackTrace(this, i);
|
|
5
|
+
}
|
|
6
|
+
toJSON() {
|
|
7
|
+
return { name: this.name, message: this.message, cause: this.cause, context: this.context, timestamp: this.timestamp.toISOString(), stack: this.stack };
|
|
5
8
|
}
|
|
6
9
|
}
|
|
7
10
|
class g {
|
|
@@ -125,8 +128,8 @@ const a = class a {
|
|
|
125
128
|
};
|
|
126
129
|
a.DB_NAME = "StoreDB", a.STORE_NAME = "states", a.DB_VERSION = 1;
|
|
127
130
|
let d = a;
|
|
128
|
-
function
|
|
129
|
-
switch (
|
|
131
|
+
function p(c, t) {
|
|
132
|
+
switch (c) {
|
|
130
133
|
case "local":
|
|
131
134
|
return new $(t);
|
|
132
135
|
case "session":
|
|
@@ -137,9 +140,9 @@ function S(o, t) {
|
|
|
137
140
|
return new g();
|
|
138
141
|
}
|
|
139
142
|
}
|
|
140
|
-
const
|
|
143
|
+
const o = class o {
|
|
141
144
|
constructor(t, e, s) {
|
|
142
|
-
this.storageType = t, this.key = e, this._ready = !1, this._destroy$ = new
|
|
145
|
+
this.storageType = t, this.key = e, this._ready = !1, this._destroy$ = new S(), this.error$ = new h(null), this.defaultValue = s, this.$ = new h(/* @__PURE__ */ new Map()), this.storage = p(t, e), this.initializeFromStorage(), this.setupPersistence();
|
|
143
146
|
}
|
|
144
147
|
get ready() {
|
|
145
148
|
return this._ready;
|
|
@@ -149,7 +152,7 @@ const n = class n {
|
|
|
149
152
|
}
|
|
150
153
|
static getInstance(t, e, s) {
|
|
151
154
|
const r = `${t}:${e}`;
|
|
152
|
-
return this.instances.has(r) || this.instances.set(r, new
|
|
155
|
+
return this.instances.has(r) || this.instances.set(r, new o(t, e, s)), this.instances.get(r);
|
|
153
156
|
}
|
|
154
157
|
get value() {
|
|
155
158
|
return this.$.getValue();
|
|
@@ -206,7 +209,7 @@ const n = class n {
|
|
|
206
209
|
}
|
|
207
210
|
}
|
|
208
211
|
setupPersistence() {
|
|
209
|
-
this.storageType !== "memory" && this.$.pipe(
|
|
212
|
+
this.storageType !== "memory" && this.$.pipe(w(100, void 0, { leading: !0, trailing: !0 })).subscribe((t) => {
|
|
210
213
|
this.storage.save(t).catch((e) => {
|
|
211
214
|
const s = new i(`Error saving to ${this.storageType} storage for ${this.key}`, e);
|
|
212
215
|
this.error$.next(s);
|
|
@@ -223,11 +226,11 @@ const n = class n {
|
|
|
223
226
|
this._destroy$.next(), this._destroy$.complete(), this.$.complete(), this.error$.complete();
|
|
224
227
|
}
|
|
225
228
|
};
|
|
226
|
-
|
|
227
|
-
let u =
|
|
228
|
-
const
|
|
229
|
+
o.type = "collection", o.instances = /* @__PURE__ */ new Map();
|
|
230
|
+
let u = o;
|
|
231
|
+
const n = class n {
|
|
229
232
|
constructor(t, e, s) {
|
|
230
|
-
this.storageType = t, this.key = e, this._ready = !1, this._destroy$ = new
|
|
233
|
+
this.storageType = t, this.key = e, this._ready = !1, this._destroy$ = new S(), this.error$ = new h(null), this.defaultValue = s, this.$ = new h(s), this.storage = p(t, e), this.initializeFromStorage();
|
|
231
234
|
}
|
|
232
235
|
get ready() {
|
|
233
236
|
return this._ready;
|
|
@@ -237,7 +240,7 @@ const c = class c {
|
|
|
237
240
|
}
|
|
238
241
|
static getInstance(t, e, s) {
|
|
239
242
|
const r = `${t}:${e}`;
|
|
240
|
-
return this.instances.has(r) || this.instances.set(r, new
|
|
243
|
+
return this.instances.has(r) || this.instances.set(r, new n(t, e, s)), this.instances.get(r);
|
|
241
244
|
}
|
|
242
245
|
get value() {
|
|
243
246
|
return this.$.getValue();
|
|
@@ -288,8 +291,8 @@ const c = class c {
|
|
|
288
291
|
this._destroy$.next(), this._destroy$.complete(), this.$.complete(), this.error$.complete();
|
|
289
292
|
}
|
|
290
293
|
};
|
|
291
|
-
|
|
292
|
-
let y =
|
|
294
|
+
n.type = "object", n.instances = /* @__PURE__ */ new Map();
|
|
295
|
+
let y = n;
|
|
293
296
|
export {
|
|
294
297
|
d as I,
|
|
295
298
|
$ as L,
|
|
@@ -297,7 +300,7 @@ export {
|
|
|
297
300
|
y as S,
|
|
298
301
|
m as a,
|
|
299
302
|
i as b,
|
|
300
|
-
|
|
303
|
+
p as c,
|
|
301
304
|
u as d
|
|
302
305
|
};
|
|
303
|
-
//# sourceMappingURL=context-object-
|
|
306
|
+
//# sourceMappingURL=context-object-CD26Iary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-object-CD26Iary.js","sources":["../src/store/types.ts","../src/store/storage-manager.ts","../src/store/context-collection.ts","../src/store/context-object.ts"],"sourcesContent":["// src/store/types.ts\nimport { BehaviorSubject, Observable } from 'rxjs'\n\n/**\n * Storage types supported by the store\n */\nexport type StorageType = 'memory' | 'local' | 'session' | 'indexeddb'\n\n/**\n * Base store options\n */\nexport interface StoreOptions<T> {\n\t/** Key used for persistent storage */\n\tkey: string\n\n\t/** Storage type */\n\tstorage: StorageType\n\n\t/** Initial state */\n\tinitialState: T\n\n\t/** Enable dev tools */\n\tdevTools?: boolean\n}\n\n/**\n * Enhanced store error with type information and better context handling\n */\nexport class StoreError<T = unknown> extends Error {\n\t/** Original error that caused this store error */\n\tpublic readonly cause?: T\n\n\t/** Additional contextual information */\n\tpublic readonly context?: Record<string, unknown>\n\n\t/** Timestamp when the error occurred */\n\tpublic readonly timestamp: Date\n\n\tconstructor(message: string, cause?: T, context?: Record<string, unknown>) {\n\t\tsuper(message)\n\t\tthis.name = 'StoreError'\n\t\tthis.cause = cause\n\t\tthis.context = context\n\t\tthis.timestamp = new Date()\n\n\t\t// Capture stack trace if available\n\t\tif (Error.captureStackTrace) {\n\t\t\tError.captureStackTrace(this, StoreError)\n\t\t}\n\t}\n\n\t/**\n\t * Returns a JSON-serializable representation of the error\n\t */\n\ttoJSON(): Record<string, unknown> {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tmessage: this.message,\n\t\t\tcause: this.cause,\n\t\t\tcontext: this.context,\n\t\t\ttimestamp: this.timestamp.toISOString(),\n\t\t\tstack: this.stack,\n\t\t}\n\t}\n}\n\n/**\n * Core store interface with improved type definitions\n */\nexport interface IStore<T extends Record<string, any>> {\n\t/** Get the current store value */\n\treadonly value: T\n\n\t/** Observable stream of store values */\n\treadonly $: BehaviorSubject<T>\n\n\t/** The default/initial value of the store */\n\treadonly defaultValue: T\n\n\t/** Whether the store is ready (loaded from storage) */\n\tready: boolean\n\n\t/** Observable stream of store errors */\n\treadonly error$: Observable<StoreError | null>\n\n\t/**\n\t * Update store value with partial data\n\t * @param value Partial data to update\n\t * @param merge Whether to merge with existing data (default: true)\n\t */\n\tset(value: Partial<T>, merge?: boolean): void\n\n\t/**\n\t * Reset store to default value\n\t */\n\tclear(): void\n\n\t/**\n\t * Replace entire store value\n\t * @param newValue New value to set\n\t */\n\treplace(newValue: T): void\n\n\t/**\n\t * Delete a specific key from the store\n\t * @param key Key to delete\n\t */\n\tdelete<K extends keyof T>(key: K): void\n\n\t/**\n\t * Clean up resources\n\t */\n\tdestroy(): void\n}\n\n/**\n * Interface for collection stores with improved typing\n */\nexport interface ICollectionStore<T> {\n\t/** Get the current collection value */\n\treadonly value: Map<string, T>\n\n\t/** Observable stream of collection values */\n\treadonly $: BehaviorSubject<Map<string, T>>\n\n\t/** The default/initial value of the collection */\n\treadonly defaultValue: Map<string, T>\n\n\t/** Whether the store is ready (loaded from storage) */\n\tready: boolean\n\n\t/** Observable stream of store errors */\n\treadonly error$: Observable<StoreError | null>\n\n\t/**\n\t * Set a value in the collection\n\t * @param key Item key\n\t * @param value Item value\n\t */\n\tset<V = T>(key: string, value: V): void\n\n\t/**\n\t * Delete an item from the collection\n\t * @param key Item key to delete\n\t */\n\tdelete(key: string): void\n\n\t/**\n\t * Clear all items from the collection\n\t */\n\tclear(): void\n\n\t/**\n\t * Replace the entire collection\n\t * @param newValue New collection value\n\t */\n\treplace(newValue: Map<string, T>): void\n\n\t/**\n\t * Clean up resources\n\t */\n\tdestroy(): void\n}\n\n/**\n * Interface for a storage manager\n */\nexport interface IStorageManager<T> {\n\t/**\n\t * Load data from storage\n\t * @returns Promise resolving to stored data or null\n\t */\n\tload(): Promise<T | null>\n\n\t/**\n\t * Save data to storage\n\t * @param state Data to save\n\t */\n\tsave(state: T): Promise<void>\n\n\t/**\n\t * Clear data from storage\n\t */\n\tclear(): Promise<void>\n}\n\n/**\n * Factory function type for creating stores\n */\nexport type StoreFactory = <T extends Record<string, any>>(\n\tinitialData: T,\n\tstorage: StorageType,\n\tkey: string,\n) => IStore<T>\n\n/**\n * Factory function type for creating collection stores\n */\nexport type CollectionStoreFactory = <T>(\n\tinitialData: Map<string, T>,\n\tstorage: StorageType,\n\tkey: string,\n) => ICollectionStore<T>\n","import { IStorageManager, StorageType, StoreError } from './types'\n\n/**\n * Memory storage manager implementation\n */\nexport class MemoryStorageManager<T> implements IStorageManager<T> {\n\tprivate data: T | null = null\n\n\tasync load(): Promise<T | null> {\n\t\treturn this.data\n\t}\n\n\tasync save(state: T): Promise<void> {\n\t\tthis.data = state\n\t}\n\n\tasync clear(): Promise<void> {\n\t\tthis.data = null\n\t}\n}\n\n/**\n * Local storage manager implementation\n */\nexport class LocalStorageManager<T> implements IStorageManager<T> {\n\tconstructor(private key: string) {}\n\n\tasync load(): Promise<T | null> {\n\t\ttry {\n\t\t\tconst data = localStorage.getItem(this.key)\n\t\t\treturn data ? JSON.parse(data) : null\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to load from localStorage (${this.key}):`, err)\n\t\t\treturn null\n\t\t}\n\t}\n\n\tasync save(state: T): Promise<void> {\n\t\ttry {\n\t\t\tlocalStorage.setItem(this.key, JSON.stringify(state))\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to save to localStorage (${this.key}):`, err)\n\t\t\tthrow new StoreError<unknown>(`Failed to save to localStorage (${this.key})`, err)\n\t\t}\n\t}\n\n\tasync clear(): Promise<void> {\n\t\tlocalStorage.removeItem(this.key)\n\t}\n}\n\n/**\n * Session storage manager implementation\n */\nexport class SessionStorageManager<T> implements IStorageManager<T> {\n\tconstructor(private key: string) {}\n\n\tasync load(): Promise<T | null> {\n\t\ttry {\n\t\t\tconst data = sessionStorage.getItem(this.key)\n\t\t\treturn data ? JSON.parse(data) : null\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to load from sessionStorage (${this.key}):`, err)\n\t\t\treturn null\n\t\t}\n\t}\n\n\tasync save(state: T): Promise<void> {\n\t\ttry {\n\t\t\tsessionStorage.setItem(this.key, JSON.stringify(state))\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to save to sessionStorage (${this.key}):`, err)\n\t\t\tthrow new StoreError<unknown>(`Failed to save to sessionStorage (${this.key})`, err)\n\t\t}\n\t}\n\n\tasync clear(): Promise<void> {\n\t\tsessionStorage.removeItem(this.key)\n\t}\n}\n\n/**\n * IndexedDB storage manager implementation with better error typing\n */\nexport class IndexedDBStorageManager<T> implements IStorageManager<T> {\n\tprivate static DB_NAME = 'StoreDB'\n\tprivate static STORE_NAME = 'states'\n\tprivate static DB_VERSION = 1\n\n\tconstructor(private key: string) {}\n\n\tprivate openDB(): Promise<IDBDatabase> {\n\t\treturn new Promise<IDBDatabase>((resolve, reject) => {\n\t\t\tconst request = indexedDB.open(IndexedDBStorageManager.DB_NAME, IndexedDBStorageManager.DB_VERSION)\n\n\t\t\trequest.onupgradeneeded = () => {\n\t\t\t\tconst db = request.result\n\t\t\t\tif (!db.objectStoreNames.contains(IndexedDBStorageManager.STORE_NAME)) {\n\t\t\t\t\tdb.createObjectStore(IndexedDBStorageManager.STORE_NAME)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trequest.onsuccess = () => resolve(request.result)\n\t\t\trequest.onerror = () => reject(request.error)\n\t\t})\n\t}\n\n\tasync load(): Promise<T | null> {\n\t\ttry {\n\t\t\tconst db = await this.openDB()\n\t\t\treturn new Promise<T | null>((resolve, reject) => {\n\t\t\t\tconst transaction = db.transaction(IndexedDBStorageManager.STORE_NAME, 'readonly')\n\t\t\t\tconst store = transaction.objectStore(IndexedDBStorageManager.STORE_NAME)\n\t\t\t\tconst request = store.get(this.key)\n\n\t\t\t\trequest.onsuccess = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\tresolve(request.result || null)\n\t\t\t\t}\n\n\t\t\t\trequest.onerror = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\treject(request.error)\n\t\t\t\t}\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to load from IndexedDB (${this.key}):`, err)\n\t\t\treturn null\n\t\t}\n\t}\n\n\tasync save(state: T): Promise<void> {\n\t\ttry {\n\t\t\tconst db = await this.openDB()\n\t\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\t\tconst transaction = db.transaction(IndexedDBStorageManager.STORE_NAME, 'readwrite')\n\t\t\t\tconst store = transaction.objectStore(IndexedDBStorageManager.STORE_NAME)\n\t\t\t\tconst request = store.put(state, this.key)\n\n\t\t\t\trequest.onsuccess = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\tresolve()\n\t\t\t\t}\n\n\t\t\t\trequest.onerror = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\treject(request.error)\n\t\t\t\t}\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to save to IndexedDB (${this.key}):`, err)\n\t\t\tthrow new StoreError<unknown>(`Failed to save to IndexedDB (${this.key})`, err)\n\t\t}\n\t}\n\n\tasync clear(): Promise<void> {\n\t\ttry {\n\t\t\tconst db = await this.openDB()\n\t\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\t\tconst transaction = db.transaction(IndexedDBStorageManager.STORE_NAME, 'readwrite')\n\t\t\t\tconst store = transaction.objectStore(IndexedDBStorageManager.STORE_NAME)\n\t\t\t\tconst request = store.delete(this.key)\n\n\t\t\t\trequest.onsuccess = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\tresolve()\n\t\t\t\t}\n\n\t\t\t\trequest.onerror = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\treject(request.error)\n\t\t\t\t}\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to clear from IndexedDB (${this.key}):`, err)\n\t\t\tthrow new StoreError<unknown>(`Failed to clear from IndexedDB (${this.key})`, err)\n\t\t}\n\t}\n}\n\n/**\n * Factory function to create the appropriate storage manager\n */\nexport function createStorageManager<T>(type: StorageType, key: string): IStorageManager<T> {\n\tswitch (type) {\n\t\tcase 'local':\n\t\t\treturn new LocalStorageManager<T>(key)\n\t\tcase 'session':\n\t\t\treturn new SessionStorageManager<T>(key)\n\t\tcase 'indexeddb':\n\t\t\treturn new IndexedDBStorageManager<T>(key)\n\t\tcase 'memory':\n\t\tdefault:\n\t\t\treturn new MemoryStorageManager<T>()\n\t}\n}\n","import { BehaviorSubject, Subject, throttleTime } from 'rxjs'\nimport { createStorageManager } from './storage-manager'\nimport { ICollectionStore, IStorageManager, StorageType, StoreError } from './types'\n\n/**\n * Enhanced collection store with better TypeScript support\n */\nexport default class SchmancyCollectionStore<V = any> implements ICollectionStore<V> {\n\tpublic static type = 'collection'\n\n\t// Static map to hold instances\n\tprivate static instances: Map<string, SchmancyCollectionStore<any>> = new Map()\n\n\t// State management\n\tprivate _ready: boolean = false\n\tprivate _destroy$ = new Subject<void>()\n\n\t// Observable streams - modified to match interface requirements\n\tpublic $: BehaviorSubject<Map<string, V>>\n\tpublic error$ = new BehaviorSubject<StoreError | null>(null)\n\n\t// Default value for the store\n\tpublic readonly defaultValue: Map<string, V>\n\n\t// Storage manager\n\tprivate storage: IStorageManager<Map<string, V>>\n\n\t/**\n\t * Get ready state\n\t */\n\tpublic get ready(): boolean {\n\t\treturn this._ready\n\t}\n\n\t/**\n\t * Set ready state\n\t */\n\tpublic set ready(value: boolean) {\n\t\tthis._ready = value\n\t\tthis.updateState(this.$.value)\n\t}\n\n\t/**\n\t * Private constructor to enforce singleton pattern\n\t */\n\tprivate constructor(\n\t\tprivate storageType: StorageType,\n\t\tprivate key: string,\n\t\tdefaultValue: Map<string, V>,\n\t) {\n\t\tthis.defaultValue = defaultValue\n\t\tthis.$ = new BehaviorSubject<Map<string, V>>(new Map<string, V>())\n\t\tthis.storage = createStorageManager<Map<string, V>>(storageType, key)\n\n\t\t// Initialize from storage\n\t\tthis.initializeFromStorage()\n\n\t\t// Set up persistence\n\t\tthis.setupPersistence()\n\n\t\t// Setup dev tools in development\n\t\tif (import.meta.env.MODE === 'development') {\n\t\t\tthis.setupDevTools()\n\t\t}\n\t}\n\n\t/**\n\t * Static method to get or create an instance with proper typing\n\t */\n\tpublic static getInstance<V = any>(\n\t\tstorage: StorageType,\n\t\tkey: string,\n\t\tdefaultValue: Map<string, V>,\n\t): SchmancyCollectionStore<V> {\n\t\tconst instanceKey = `${storage}:${key}`\n\t\tif (!this.instances.has(instanceKey)) {\n\t\t\tthis.instances.set(instanceKey, new SchmancyCollectionStore<V>(storage, key, defaultValue))\n\t\t}\n\t\treturn this.instances.get(instanceKey) as SchmancyCollectionStore<V>\n\t}\n\n\t/**\n\t * Get the current value\n\t */\n\tpublic get value(): Map<string, V> {\n\t\treturn this.$.getValue()\n\t}\n\n\t/**\n\t * Set a value in the collection with proper typing\n\t */\n\tpublic set<T = V>(key: string, value: T): void {\n\t\ttry {\n\t\t\tconst currentValue = new Map(this.value)\n\t\t\tcurrentValue.set(key, value as unknown as V)\n\t\t\tthis.updateState(currentValue)\n\t\t\tthis.error$.next(null) // Clear any previous errors\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error setting value for key ${key} in ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\t/**\n\t * Delete a value from the collection\n\t */\n\tpublic delete(key: string): void {\n\t\ttry {\n\t\t\tconst currentValue = new Map(this.value)\n\t\t\tcurrentValue.delete(key)\n\t\t\tthis.updateState(currentValue)\n\t\t\tthis.error$.next(null) // Clear any previous errors\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error deleting key ${key} from ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\t/**\n\t * Clear the collection\n\t */\n\tpublic clear(): void {\n\t\tthis.updateState(new Map<string, V>())\n\t}\n\n\tpublic replace(newValue: Map<string, V>): void {\n\t\tthis.updateState(newValue)\n\t}\n\n\t/**\n\t * Update the state with error handling\n\t */\n\tprivate updateState(newValue: Map<string, V>): void {\n\t\ttry {\n\t\t\tthis.$.next(newValue)\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error updating state in ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\t/**\n\t * Initialize from persistent storage\n\t */\n\tprivate async initializeFromStorage(): Promise<void> {\n\t\tif (this.storageType === 'local' || this.storageType === 'session') {\n\t\t\ttry {\n\t\t\t\tconst storedValue = await this.storage.load()\n\t\t\t\tif (storedValue) {\n\t\t\t\t\tthis.updateState(storedValue)\n\t\t\t\t}\n\t\t\t\tthis._ready = true\n\t\t\t} catch (err) {\n\t\t\t\tconst error = new StoreError<unknown>(`Error loading from ${this.storageType} storage for ${this.key}`, err)\n\t\t\t\tthis.error$.next(error)\n\t\t\t\tconsole.error(error)\n\t\t\t\tthis._ready = true // Mark as ready even if loading fails\n\t\t\t}\n\t\t} else if (this.storageType === 'indexeddb') {\n\t\t\tthis.loadFromIndexedDB()\n\t\t} else {\n\t\t\t// Memory storage doesn't need loading\n\t\t\tthis._ready = true\n\t\t}\n\t}\n\n\t/**\n\t * Load data from IndexedDB with better typing\n\t */\n\tprivate async loadFromIndexedDB(): Promise<void> {\n\t\ttry {\n\t\t\tconst result = await this.storage.load()\n\t\t\tthis.updateState(result || new Map<string, V>())\n\t\t\tthis._ready = true\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error loading from IndexedDB for ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t\tthis._ready = true // Mark as ready even if loading fails\n\t\t}\n\t}\n\n\t/**\n\t * Set up persistence to storage\n\t */\n\tprivate setupPersistence(): void {\n\t\tif (this.storageType === 'memory') return\n\n\t\tthis.$.pipe(throttleTime(100, undefined, { leading: true, trailing: true })).subscribe(currentValue => {\n\t\t\tthis.storage.save(currentValue).catch(err => {\n\t\t\t\tconst error = new StoreError<unknown>(`Error saving to ${this.storageType} storage for ${this.key}`, err)\n\t\t\t\tthis.error$.next(error)\n\t\t\t\tconsole.error(error)\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Setup development tools for debugging\n\t */\n\tprivate setupDevTools(): void {\n\t\tif (typeof window !== 'undefined') {\n\t\t\t// Add to global store registry\n\t\t\t;(window as any).__STORES__ = (window as any).__STORES__ || {}\n\t\t\t;(window as any).__STORES__[this.key] = {\n\t\t\t\tgetState: () => this.value,\n\t\t\t\tset: this.set.bind(this),\n\t\t\t\tdelete: this.delete.bind(this),\n\t\t\t\tclear: this.clear.bind(this),\n\t\t\t\tsubscribe: (callback: (state: Map<string, V>) => void) => {\n\t\t\t\t\tconst subscription = this.$.subscribe(callback)\n\t\t\t\t\treturn () => subscription.unsubscribe()\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Clean up resources\n\t */\n\tpublic destroy(): void {\n\t\tthis._destroy$.next()\n\t\tthis._destroy$.complete()\n\t\tthis.$.complete()\n\t\tthis.error$.complete()\n\t}\n}\n","import { BehaviorSubject, Subject } from 'rxjs'\nimport { createStorageManager } from './storage-manager'\nimport { IStorageManager, IStore, StorageType, StoreError } from './types'\n\n/**\n * Enhanced store object with better TypeScript support\n */\nexport class SchmancyStoreObject<T extends Record<string, any>> implements IStore<T> {\n\tpublic static type = 'object'\n\n\t// Static map to hold instances with proper typing\n\tprivate static instances: Map<string, SchmancyStoreObject<any>> = new Map()\n\n\t// State tracking\n\tprivate _ready: boolean = false\n\tprivate _destroy$ = new Subject<void>()\n\n\t// Observable streams\n\tpublic $: BehaviorSubject<T>\n\tpublic error$ = new BehaviorSubject<StoreError | null>(null)\n\n\t// Default value for the store\n\tpublic readonly defaultValue: T\n\n\t// Storage manager\n\tprivate storage: IStorageManager<T>\n\n\t/**\n\t * Get store ready state\n\t */\n\tpublic get ready(): boolean {\n\t\treturn this._ready\n\t}\n\n\t/**\n\t * Set store ready state\n\t */\n\tpublic set ready(value: boolean) {\n\t\tthis._ready = value\n\t\tthis.updateState(this.$.value)\n\t}\n\n\t/**\n\t * Private constructor to enforce singleton pattern\n\t */\n\tprivate constructor(\n\t\tprivate storageType: StorageType,\n\t\tprivate key: string,\n\t\tdefaultValue: T,\n\t) {\n\t\tthis.defaultValue = defaultValue\n\t\tthis.$ = new BehaviorSubject<T>(defaultValue)\n\t\tthis.storage = createStorageManager<T>(storageType, key)\n\n\t\t// Initialize from storage\n\t\tthis.initializeFromStorage()\n\n\t\t// Setup dev tools in development\n\t\tif (import.meta.env.MODE === 'development') {\n\t\t\tthis.setupDevTools()\n\t\t}\n\t}\n\n\t/**\n\t * Static method to get or create an instance with strong typing\n\t */\n\tpublic static getInstance<T extends Record<string, any>>(\n\t\tstorage: StorageType,\n\t\tkey: string,\n\t\tdefaultValue: T,\n\t): SchmancyStoreObject<T> {\n\t\tconst instanceKey = `${storage}:${key}`\n\t\tif (!this.instances.has(instanceKey)) {\n\t\t\tthis.instances.set(instanceKey, new SchmancyStoreObject<T>(storage, key, defaultValue))\n\t\t}\n\t\treturn this.instances.get(instanceKey) as SchmancyStoreObject<T>\n\t}\n\n\t/**\n\t * Get the current value from the store\n\t */\n\tpublic get value(): T {\n\t\treturn this.$.getValue()\n\t}\n\n\t/**\n\t * Set state with proper typing\n\t */\n\tpublic set(value: Partial<T>, merge: boolean = true): void {\n\t\ttry {\n\t\t\tthis.updateState(merge ? { ...this.value, ...value } : (value as T))\n\t\t\tthis.error$.next(null) // Clear any previous errors\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error updating store: ${this.key}`, err, { value, merge })\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\t/**\n\t * Reset the store to its default value\n\t */\n\tpublic clear(): void {\n\t\tthis.set(this.defaultValue, false)\n\t}\n\n\t/**\n\t * Replace the store with a new value\n\t */\n\tpublic replace(newValue: T): void {\n\t\tthis.updateState(newValue)\n\t}\n\n\t/**\n\t * Delete a specific key from the store with type checking\n\t */\n\tpublic delete<K extends keyof T>(key: K): void {\n\t\tconst value = { ...this.value }\n\t\tdelete value[key]\n\t\tthis.updateState(value)\n\t}\n\n\t/**\n\t * Update the state with proper error handling\n\t */\n\tprivate updateState(newValue: T): void {\n\t\ttry {\n\t\t\tthis.$.next(newValue)\n\n\t\t\t// Persist to storage\n\t\t\tif (this.storageType !== 'memory') {\n\t\t\t\tthis.storage.save(newValue).catch(err => {\n\t\t\t\t\tconsole.error(`Error saving to ${this.storageType} storage:`, err)\n\t\t\t\t})\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error updating state in ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\t/**\n\t * Initialize the store from persistent storage\n\t */\n\tprivate async initializeFromStorage(): Promise<void> {\n\t\ttry {\n\t\t\tconst storedValue = await this.storage.load()\n\t\t\tif (storedValue) {\n\t\t\t\tthis.updateState({ ...this.defaultValue, ...storedValue })\n\t\t\t}\n\t\t\tthis._ready = true\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error loading from ${this.storageType} storage for ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t\tthis._ready = true // Mark as ready even if loading fails\n\t\t}\n\t}\n\n\t/**\n\t * Setup development tools for debugging\n\t */\n\tprivate setupDevTools(): void {\n\t\tif (typeof window !== 'undefined') {\n\t\t\t// Add to global store registry\n\t\t\t;(window as any).__STORES__ = (window as any).__STORES__ || {}\n\t\t\t;(window as any).__STORES__[this.key] = {\n\t\t\t\tgetState: () => this.value,\n\t\t\t\tset: this.set.bind(this),\n\t\t\t\tdelete: this.delete.bind(this),\n\t\t\t\tclear: this.clear.bind(this),\n\t\t\t\tsubscribe: (callback: (state: T) => void) => {\n\t\t\t\t\tconst subscription = this.$.subscribe(callback)\n\t\t\t\t\treturn () => subscription.unsubscribe()\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Clean up resources\n\t */\n\tpublic destroy(): void {\n\t\tthis._destroy$.next()\n\t\tthis._destroy$.complete()\n\t\tthis.$.complete()\n\t\tthis.error$.complete()\n\t}\n}\n"],"names":["StoreError","Error","message","cause","context","super","this","name","timestamp","Date","captureStackTrace","toJSON","toISOString","stack","MemoryStorageManager","data","save","state","LocalStorageManager","key","load","localStorage","getItem","JSON","parse","setItem","stringify","err","clear","removeItem","SessionStorageManager","sessionStorage","IndexedDBStorageManager","openDB","Promise","resolve","reject","request","indexedDB","open","DB_NAME","DB_VERSION","onupgradeneeded","db","result","objectStoreNames","contains","STORE_NAME","createObjectStore","onsuccess","onerror","error","transaction","objectStore","get","close","put","delete","_a","createStorageManager","type","SchmancyCollectionStore","storageType","defaultValue","_ready","_destroy$","Subject","error$","BehaviorSubject","$","Map","storage","initializeFromStorage","setupPersistence","ready","value","updateState","getInstance","instanceKey","instances","has","set","getValue","currentValue","next","newValue","storedValue","loadFromIndexedDB","pipe","throttleTime","leading","trailing","subscribe","catch","window","__STORES__","getState","bind","callback","subscription","unsubscribe","complete","_c","SchmancyStoreObject","merge","_l"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const o=require("rxjs");class a extends Error{constructor(t,e,s){super(t),this.name="StoreError",this.cause=e,this.context=s,this.timestamp=new Date,Error.captureStackTrace&&Error.captureStackTrace(this,a)}toJSON(){return{name:this.name,message:this.message,cause:this.cause,context:this.context,timestamp:this.timestamp.toISOString(),stack:this.stack}}}class g{constructor(){this.data=null}async load(){return this.data}async save(t){this.data=t}async clear(){this.data=null}}class p{constructor(t){this.key=t}async load(){try{const t=localStorage.getItem(this.key);return t?JSON.parse(t):null}catch{return null}}async save(t){try{localStorage.setItem(this.key,JSON.stringify(t))}catch(e){throw new a(`Failed to save to localStorage (${this.key})`,e)}}async clear(){localStorage.removeItem(this.key)}}class w{constructor(t){this.key=t}async load(){try{const t=sessionStorage.getItem(this.key);return t?JSON.parse(t):null}catch{return null}}async save(t){try{sessionStorage.setItem(this.key,JSON.stringify(t))}catch(e){throw new a(`Failed to save to sessionStorage (${this.key})`,e)}}async clear(){sessionStorage.removeItem(this.key)}}const i=class i{constructor(t){this.key=t}openDB(){return new Promise((t,e)=>{const s=indexedDB.open(i.DB_NAME,i.DB_VERSION);s.onupgradeneeded=()=>{const r=s.result;r.objectStoreNames.contains(i.STORE_NAME)||r.createObjectStore(i.STORE_NAME)},s.onsuccess=()=>t(s.result),s.onerror=()=>e(s.error)})}async load(){try{const t=await this.openDB();return new Promise((e,s)=>{const r=t.transaction(i.STORE_NAME,"readonly").objectStore(i.STORE_NAME).get(this.key);r.onsuccess=()=>{t.close(),e(r.result||null)},r.onerror=()=>{t.close(),s(r.error)}})}catch{return null}}async save(t){try{const e=await this.openDB();return new Promise((s,r)=>{const d=e.transaction(i.STORE_NAME,"readwrite").objectStore(i.STORE_NAME).put(t,this.key);d.onsuccess=()=>{e.close(),s()},d.onerror=()=>{e.close(),r(d.error)}})}catch(e){throw new a(`Failed to save to IndexedDB (${this.key})`,e)}}async clear(){try{const t=await this.openDB();return new Promise((e,s)=>{const r=t.transaction(i.STORE_NAME,"readwrite").objectStore(i.STORE_NAME).delete(this.key);r.onsuccess=()=>{t.close(),e()},r.onerror=()=>{t.close(),s(r.error)}})}catch(t){throw new a(`Failed to clear from IndexedDB (${this.key})`,t)}}};i.DB_NAME="StoreDB",i.STORE_NAME="states",i.DB_VERSION=1;let l=i;function S(h,t){switch(h){case"local":return new p(t);case"session":return new w(t);case"indexeddb":return new l(t);default:return new g}}const n=class n{constructor(t,e,s){this.storageType=t,this.key=e,this._ready=!1,this._destroy$=new o.Subject,this.error$=new o.BehaviorSubject(null),this.defaultValue=s,this.$=new o.BehaviorSubject(new Map),this.storage=S(t,e),this.initializeFromStorage(),this.setupPersistence()}get ready(){return this._ready}set ready(t){this._ready=t,this.updateState(this.$.value)}static getInstance(t,e,s){const r=`${t}:${e}`;return this.instances.has(r)||this.instances.set(r,new n(t,e,s)),this.instances.get(r)}get value(){return this.$.getValue()}set(t,e){try{const s=new Map(this.value);s.set(t,e),this.updateState(s),this.error$.next(null)}catch(s){const r=new a(`Error setting value for key ${t} in ${this.key}`,s);this.error$.next(r)}}delete(t){try{const e=new Map(this.value);e.delete(t),this.updateState(e),this.error$.next(null)}catch(e){const s=new a(`Error deleting key ${t} from ${this.key}`,e);this.error$.next(s)}}clear(){this.updateState(new Map)}replace(t){this.updateState(t)}updateState(t){try{this.$.next(t)}catch(e){const s=new a(`Error updating state in ${this.key}`,e);this.error$.next(s)}}async initializeFromStorage(){if(this.storageType==="local"||this.storageType==="session")try{const t=await this.storage.load();t&&this.updateState(t),this._ready=!0}catch(t){const e=new a(`Error loading from ${this.storageType} storage for ${this.key}`,t);this.error$.next(e),this._ready=!0}else this.storageType==="indexeddb"?this.loadFromIndexedDB():this._ready=!0}async loadFromIndexedDB(){try{const t=await this.storage.load();this.updateState(t||new Map),this._ready=!0}catch(t){const e=new a(`Error loading from IndexedDB for ${this.key}`,t);this.error$.next(e),this._ready=!0}}setupPersistence(){this.storageType!=="memory"&&this.$.pipe(o.throttleTime(100,void 0,{leading:!0,trailing:!0})).subscribe(t=>{this.storage.save(t).catch(e=>{const s=new a(`Error saving to ${this.storageType} storage for ${this.key}`,e);this.error$.next(s)})})}setupDevTools(){typeof window<"u"&&(window.__STORES__=window.__STORES__||{},window.__STORES__[this.key]={getState:()=>this.value,set:this.set.bind(this),delete:this.delete.bind(this),clear:this.clear.bind(this),subscribe:t=>{const e=this.$.subscribe(t);return()=>e.unsubscribe()}})}destroy(){this._destroy$.next(),this._destroy$.complete(),this.$.complete(),this.error$.complete()}};n.type="collection",n.instances=new Map;let u=n;const c=class c{constructor(t,e,s){this.storageType=t,this.key=e,this._ready=!1,this._destroy$=new o.Subject,this.error$=new o.BehaviorSubject(null),this.defaultValue=s,this.$=new o.BehaviorSubject(s),this.storage=S(t,e),this.initializeFromStorage()}get ready(){return this._ready}set ready(t){this._ready=t,this.updateState(this.$.value)}static getInstance(t,e,s){const r=`${t}:${e}`;return this.instances.has(r)||this.instances.set(r,new c(t,e,s)),this.instances.get(r)}get value(){return this.$.getValue()}set(t,e=!0){try{this.updateState(e?{...this.value,...t}:t),this.error$.next(null)}catch(s){const r=new a(`Error updating store: ${this.key}`,s,{value:t,merge:e});this.error$.next(r)}}clear(){this.set(this.defaultValue,!1)}replace(t){this.updateState(t)}delete(t){const e={...this.value};delete e[t],this.updateState(e)}updateState(t){try{this.$.next(t),this.storageType!=="memory"&&this.storage.save(t).catch(e=>{})}catch(e){const s=new a(`Error updating state in ${this.key}`,e);this.error$.next(s)}}async initializeFromStorage(){try{const t=await this.storage.load();t&&this.updateState({...this.defaultValue,...t}),this._ready=!0}catch(t){const e=new a(`Error loading from ${this.storageType} storage for ${this.key}`,t);this.error$.next(e),this._ready=!0}}setupDevTools(){typeof window<"u"&&(window.__STORES__=window.__STORES__||{},window.__STORES__[this.key]={getState:()=>this.value,set:this.set.bind(this),delete:this.delete.bind(this),clear:this.clear.bind(this),subscribe:t=>{const e=this.$.subscribe(t);return()=>e.unsubscribe()}})}destroy(){this._destroy$.next(),this._destroy$.complete(),this.$.complete(),this.error$.complete()}};c.type="object",c.instances=new Map;let y=c;exports.IndexedDBStorageManager=l,exports.LocalStorageManager=p,exports.MemoryStorageManager=g,exports.SchmancyCollectionStore=u,exports.SchmancyStoreObject=y,exports.SessionStorageManager=w,exports.StoreError=a,exports.createStorageManager=S;
|
|
2
|
+
//# sourceMappingURL=context-object-D81PeS3j.cjs.map
|