@mhmo91/schmancy 0.7.3 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/ai/animated-text.md +2 -0
- package/ai/boat.md +1 -0
- package/ai/map.md +1 -0
- package/dist/ai/animated-text.md +2 -0
- package/dist/ai/boat.md +1 -0
- package/dist/ai/map.md +1 -0
- package/dist/{animated-text-Ha4oAANq.cjs → animated-text-DnFenRS1.cjs} +2 -2
- package/dist/{animated-text-Ha4oAANq.cjs.map → animated-text-DnFenRS1.cjs.map} +1 -1
- package/dist/{animated-text-BFlc2Dxw.js → animated-text-YBgWXuVJ.js} +3 -3
- package/dist/{animated-text-BFlc2Dxw.js.map → animated-text-YBgWXuVJ.js.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-CKsrcDRn.cjs → area.component-BojFAcRk.cjs} +2 -2
- package/dist/{area.component-CKsrcDRn.cjs.map → area.component-BojFAcRk.cjs.map} +1 -1
- package/dist/{area.component-Bka65tDs.js → area.component-C_nUxyiY.js} +3 -3
- package/dist/{area.component-Bka65tDs.js.map → area.component-C_nUxyiY.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-DZkEFTEZ.js → autocomplete-B-X_D8MC.js} +5 -5
- package/dist/{autocomplete-DZkEFTEZ.js.map → autocomplete-B-X_D8MC.js.map} +1 -1
- package/dist/{autocomplete-B_1GqRUR.cjs → autocomplete-B8oOdRsV.cjs} +2 -2
- package/dist/{autocomplete-B_1GqRUR.cjs.map → autocomplete-B8oOdRsV.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-qq14bs9t.cjs → avatar-Db95uagl.cjs} +2 -2
- package/dist/{avatar-qq14bs9t.cjs.map → avatar-Db95uagl.cjs.map} +1 -1
- package/dist/{avatar-DtekXmcU.js → avatar-TpHjBCrR.js} +53 -53
- package/dist/{avatar-DtekXmcU.js.map → avatar-TpHjBCrR.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-DZoxLvZC.js → boat-B7AKN6Ge.js} +3 -3
- package/dist/{boat-DZoxLvZC.js.map → boat-B7AKN6Ge.js.map} +1 -1
- package/dist/{boat-BMkLrXTL.cjs → boat-BhAuteUk.cjs} +2 -2
- package/dist/{boat-BMkLrXTL.cjs.map → boat-BhAuteUk.cjs.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-CQx4HYwJ.js → checkbox-BOmazo-k.js} +14 -14
- package/dist/checkbox-BOmazo-k.js.map +1 -0
- package/dist/{checkbox-0VoZZa4h.cjs → checkbox-DMfwDgYx.cjs} +3 -3
- package/dist/checkbox-DMfwDgYx.cjs.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/code-preview-CbZzYTk2.cjs +193 -0
- package/dist/code-preview-CbZzYTk2.cjs.map +1 -0
- package/dist/{code-preview-DEGx3kQB.js → code-preview-DgyY3Jlw.js} +27 -27
- package/dist/code-preview-DgyY3Jlw.js.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/consume-5D1qfVWM.js.map +1 -1
- package/dist/consume-edta5ng5.cjs.map +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/context-create-BJkkLr1D.cjs +2 -0
- package/dist/context-create-BJkkLr1D.cjs.map +1 -0
- package/dist/{context-create-DCiujzV2.js → context-create-BvxbWTgj.js} +276 -263
- package/dist/context-create-BvxbWTgj.js.map +1 -0
- package/dist/date-range-47SnbVM6.cjs +134 -0
- package/dist/date-range-47SnbVM6.cjs.map +1 -0
- package/dist/{date-range--yEeeHCf.js → date-range-BV0479CW.js} +18 -18
- package/dist/date-range-BV0479CW.js.map +1 -0
- package/dist/{date-range-inline-CIVzMnQn.js → date-range-inline-GfLao0NN.js} +3 -3
- package/dist/{date-range-inline-CIVzMnQn.js.map → date-range-inline-GfLao0NN.js.map} +1 -1
- package/dist/{date-range-inline-Dnljq_BA.cjs → date-range-inline-HNDLTnYi.cjs} +2 -2
- package/dist/{date-range-inline-Dnljq_BA.cjs.map → date-range-inline-HNDLTnYi.cjs.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-DwCdeYuL.js → delay-B40l99jW.js} +2 -2
- package/dist/delay-B40l99jW.js.map +1 -0
- package/dist/{delay-CACWxGqn.cjs → delay-Dr3Fr5YB.cjs} +2 -2
- package/dist/delay-Dr3Fr5YB.cjs.map +1 -0
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-DGb0xqNr.js → details-CQPpI_la.js} +2 -2
- package/dist/{details-DGb0xqNr.js.map → details-CQPpI_la.js.map} +1 -1
- package/dist/{details-CCoS9xd8.cjs → details-DydvHvfw.cjs} +2 -2
- package/dist/{details-CCoS9xd8.cjs.map → details-DydvHvfw.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-B2JVKPqi.js → dialog-content-B_amCfq7.js} +4 -4
- package/dist/{dialog-content-B2JVKPqi.js.map → dialog-content-B_amCfq7.js.map} +1 -1
- package/dist/{dialog-content-i87I9rQk.cjs → dialog-content-Emd7BLQA.cjs} +2 -2
- package/dist/{dialog-content-i87I9rQk.cjs.map → dialog-content-Emd7BLQA.cjs.map} +1 -1
- package/dist/dialog-service-B4nR8Em5.cjs +2 -0
- package/dist/dialog-service-B4nR8Em5.cjs.map +1 -0
- package/dist/dialog-service-Bege4HF4.js +140 -0
- package/dist/dialog-service-Bege4HF4.js.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +2 -2
- package/dist/{divider-CacIbNwO.cjs → divider-BF9xljgI.cjs} +2 -2
- package/dist/{divider-CacIbNwO.cjs.map → divider-BF9xljgI.cjs.map} +1 -1
- package/dist/{divider-vQSomcaK.js → divider-BHruVdsE.js} +3 -3
- package/dist/{divider-vQSomcaK.js.map → divider-BHruVdsE.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-M1rD9kJj.cjs → dropdown-content-BpJq8Q1u.cjs} +2 -2
- package/dist/{dropdown-content-M1rD9kJj.cjs.map → dropdown-content-BpJq8Q1u.cjs.map} +1 -1
- package/dist/{dropdown-content-DQWxgudU.js → dropdown-content-Bw9jnfCR.js} +3 -3
- package/dist/{dropdown-content-DQWxgudU.js.map → dropdown-content-Bw9jnfCR.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-CmJzkoy6.cjs → email-recipients-Bxvu6zi9.cjs} +2 -2
- package/dist/{email-recipients-CmJzkoy6.cjs.map → email-recipients-Bxvu6zi9.cjs.map} +1 -1
- package/dist/{email-recipients-BEWJbqMn.js → email-recipients-DZGMhyg4.js} +7 -7
- package/dist/{email-recipients-BEWJbqMn.js.map → email-recipients-DZGMhyg4.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-C0ZdKa-V.js → flex-DUgMxT_9.js} +2 -2
- package/dist/{flex-C0ZdKa-V.js.map → flex-DUgMxT_9.js.map} +1 -1
- package/dist/{flex-Bjwz-HnJ.cjs → flex-DakK9gco.cjs} +2 -2
- package/dist/{flex-Bjwz-HnJ.cjs.map → flex-DakK9gco.cjs.map} +1 -1
- package/dist/flow-D0e7hGXO.cjs.map +1 -1
- package/dist/flow-DXYqC9OA.js.map +1 -1
- package/dist/{form-lqIXYGSt.cjs → form-CPmMvWvE.cjs} +2 -2
- package/dist/{form-lqIXYGSt.cjs.map → form-CPmMvWvE.cjs.map} +1 -1
- package/dist/{form-zZ9K6dHM.js → form-yZ1fh3h9.js} +2 -2
- package/dist/{form-zZ9K6dHM.js.map → form-yZ1fh3h9.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-DCxn2nDa.js → formField.mixin-Cmb9YpmX.js} +2 -2
- package/dist/{formField.mixin-DCxn2nDa.js.map → formField.mixin-Cmb9YpmX.js.map} +1 -1
- package/dist/{formField.mixin-d4a9NzW1.cjs → formField.mixin-D51klHq7.cjs} +2 -2
- package/dist/{formField.mixin-d4a9NzW1.cjs.map → formField.mixin-D51klHq7.cjs.map} +1 -1
- package/dist/{icon-BKURK4cc.js → icon-DHT8YsE3.js} +2 -2
- package/dist/{icon-BKURK4cc.js.map → icon-DHT8YsE3.js.map} +1 -1
- package/dist/{icon-DgMwU6Sh.cjs → icon-Dsa_BddL.cjs} +2 -2
- package/dist/{icon-DgMwU6Sh.cjs.map → icon-Dsa_BddL.cjs.map} +1 -1
- package/dist/{icon-button-BFBXcA0v.cjs → icon-button-BRcfLsJL.cjs} +2 -2
- package/dist/{icon-button-BFBXcA0v.cjs.map → icon-button-BRcfLsJL.cjs.map} +1 -1
- package/dist/{icon-button-BWGNtLD5.js → icon-button-PpRHFLCj.js} +3 -3
- package/dist/{icon-button-BWGNtLD5.js.map → icon-button-PpRHFLCj.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index-CCi1otmh.cjs.map +1 -1
- package/dist/index-CW6PhEkx.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +54 -54
- package/dist/{input-SdlMv4FP.js → input-CYGSlByl.js} +4 -4
- package/dist/{input-SdlMv4FP.js.map → input-CYGSlByl.js.map} +1 -1
- package/dist/{input-DJvCQHXx.cjs → input-DB269a2X.cjs} +2 -2
- package/dist/{input-DJvCQHXx.cjs.map → input-DB269a2X.cjs.map} +1 -1
- package/dist/{input-chip-DHLxhM-i.cjs → input-chip-CKYO8Lww.cjs} +2 -2
- package/dist/{input-chip-DHLxhM-i.cjs.map → input-chip-CKYO8Lww.cjs.map} +1 -1
- package/dist/{input-chip-PI7UwDJM.js → input-chip-CTKPIRVA.js} +2 -2
- package/dist/{input-chip-PI7UwDJM.js.map → input-chip-CTKPIRVA.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-4y3Bcw_L.cjs → list-BQVTFNkq.cjs} +2 -2
- package/dist/{list-4y3Bcw_L.cjs.map → list-BQVTFNkq.cjs.map} +1 -1
- package/dist/{list-BuiXWlhv.js → list-BbzeVuby.js} +2 -2
- package/dist/{list-BuiXWlhv.js.map → list-BbzeVuby.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-Bx-YfcU2.js → litElement.mixin-BzbZQbxa.js} +2 -2
- package/dist/{litElement.mixin-Bx-YfcU2.js.map → litElement.mixin-BzbZQbxa.js.map} +1 -1
- package/dist/{litElement.mixin-Dtw9qaJn.cjs → litElement.mixin-DzCpXwcY.cjs} +2 -2
- package/dist/{litElement.mixin-Dtw9qaJn.cjs.map → litElement.mixin-DzCpXwcY.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-Cfiud6nO.js → map-CgwU5Px4.js} +2 -2
- package/dist/{map-Cfiud6nO.js.map → map-CgwU5Px4.js.map} +1 -1
- package/dist/{map-BbLSj4Pp.cjs → map-DuTFI2lm.cjs} +2 -2
- package/dist/{map-BbLSj4Pp.cjs.map → map-DuTFI2lm.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-DB2g1n05.js → media-BnktmFRW.js} +2 -2
- package/dist/{media-DB2g1n05.js.map → media-BnktmFRW.js.map} +1 -1
- package/dist/{media-Dy-pnYxM.cjs → media-gtpSHRFx.cjs} +2 -2
- package/dist/{media-Dy-pnYxM.cjs.map → media-gtpSHRFx.cjs.map} +1 -1
- package/dist/menu-C8PcWr7Y.cjs +26 -0
- package/dist/{menu-BoXnSAf7.cjs.map → menu-C8PcWr7Y.cjs.map} +1 -1
- package/dist/{menu-B5LqArNO.js → menu-DthqNQR7.js} +15 -13
- package/dist/{menu-B5LqArNO.js.map → menu-DthqNQR7.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +3 -3
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{navigation-rail-wry6dTCG.js → navigation-rail-CUMNSz0h.js} +3 -3
- package/dist/{navigation-rail-wry6dTCG.js.map → navigation-rail-CUMNSz0h.js.map} +1 -1
- package/dist/{navigation-rail-DF4-60eF.cjs → navigation-rail-D8otIR2P.cjs} +2 -2
- package/dist/{navigation-rail-DF4-60eF.cjs.map → navigation-rail-D8otIR2P.cjs.map} +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-DqeHvJJJ.cjs → notification-service-CP6kGXVL.cjs} +2 -2
- package/dist/{notification-service-DqeHvJJJ.cjs.map → notification-service-CP6kGXVL.cjs.map} +1 -1
- package/dist/{notification-service-xmGhXVEJ.js → notification-service-E16lPsiT.js} +4 -4
- package/dist/{notification-service-xmGhXVEJ.js.map → notification-service-E16lPsiT.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-C5HEjOEP.cjs → notify-Czdp7BbG.cjs} +2 -2
- package/dist/{notify-C5HEjOEP.cjs.map → notify-Czdp7BbG.cjs.map} +1 -1
- package/dist/{notify-BR9D2TiK.js → notify-D865xIlu.js} +2 -2
- package/dist/{notify-BR9D2TiK.js.map → notify-D865xIlu.js.map} +1 -1
- package/dist/{option-DBV7IAxP.cjs → option-B1r0hb3H.cjs} +2 -2
- package/dist/{option-DBV7IAxP.cjs.map → option-B1r0hb3H.cjs.map} +1 -1
- package/dist/{option-DS1NWVVP.js → option-cJ8fM5qJ.js} +2 -2
- package/dist/{option-DS1NWVVP.js.map → option-cJ8fM5qJ.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-BJooohMJ.cjs → payment-card-form-EO3auDS8.cjs} +2 -2
- package/dist/payment-card-form-EO3auDS8.cjs.map +1 -0
- package/dist/{payment-card-form-BpDjIGpf.js → payment-card-form-RBjpMc2m.js} +3 -3
- package/dist/payment-card-form-RBjpMc2m.js.map +1 -0
- package/dist/{progress-DWtRzL3_.js → progress-4v9FzvOT.js} +2 -2
- package/dist/{progress-DWtRzL3_.js.map → progress-4v9FzvOT.js.map} +1 -1
- package/dist/{progress-DKBw83JW.cjs → progress-DnhvJMz_.cjs} +2 -2
- package/dist/{progress-DKBw83JW.cjs.map → progress-DnhvJMz_.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/provide-BxZ2kn_p.cjs.map +1 -1
- package/dist/provide-tcktw8xB.js.map +1 -1
- package/dist/{radio-button-BxN-7CRZ.cjs → radio-button-BVegeFKE.cjs} +2 -2
- package/dist/{radio-button-BxN-7CRZ.cjs.map → radio-button-BVegeFKE.cjs.map} +1 -1
- package/dist/{radio-button-Uv2rHJG4.js → radio-button-DDavzgCz.js} +3 -3
- package/dist/{radio-button-Uv2rHJG4.js.map → radio-button-DDavzgCz.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-BM10FUOA.js → schmancy-steps-container-DN9c-HeX.js} +2 -2
- package/dist/{schmancy-steps-container-BM10FUOA.js.map → schmancy-steps-container-DN9c-HeX.js.map} +1 -1
- package/dist/{schmancy-steps-container-Bc1d-op6.cjs → schmancy-steps-container-s6kZWhcr.cjs} +2 -2
- package/dist/{schmancy-steps-container-Bc1d-op6.cjs.map → schmancy-steps-container-s6kZWhcr.cjs.map} +1 -1
- package/dist/{search-6Hr7K1gh.js → search-BeEqIiuO.js} +7 -7
- package/dist/{search-6Hr7K1gh.js.map → search-BeEqIiuO.js.map} +1 -1
- package/dist/search-bfOHCuHZ.cjs +2 -0
- package/dist/{search-DWW8IoOp.cjs.map → search-bfOHCuHZ.cjs.map} +1 -1
- package/dist/{select-DR4yXzR0.js → select--D6l5ru7.js} +3 -3
- package/dist/{select-DR4yXzR0.js.map → select--D6l5ru7.js.map} +1 -1
- package/dist/{select-CfZPs5yA.cjs → select-DVT_kFNR.cjs} +2 -2
- package/dist/{select-CfZPs5yA.cjs.map → select-DVT_kFNR.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{selector-hook-BWMY8npH.cjs → selector-hook-BG6g_IEN.cjs} +2 -2
- package/dist/{selector-hook-BWMY8npH.cjs.map → selector-hook-BG6g_IEN.cjs.map} +1 -1
- package/dist/{selector-hook-CKeyK4K-.js → selector-hook-CrwQCPxL.js} +4 -4
- package/dist/{selector-hook-CKeyK4K-.js.map → selector-hook-CrwQCPxL.js.map} +1 -1
- package/dist/{sheet-Dtj0_7Kk.cjs → sheet-Bza5jVS2.cjs} +2 -2
- package/dist/{sheet-Dtj0_7Kk.cjs.map → sheet-Bza5jVS2.cjs.map} +1 -1
- package/dist/{sheet-D5cujyVW.js → sheet-CNn_huhz.js} +5 -5
- package/dist/{sheet-D5cujyVW.js.map → sheet-CNn_huhz.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-AsrLLW-7.cjs → sheet.service--zUgftN3.cjs} +2 -2
- package/dist/{sheet.service-AsrLLW-7.cjs.map → sheet.service--zUgftN3.cjs.map} +1 -1
- package/dist/{sheet.service-M8PMUUgc.js → sheet.service-CmNDL4f6.js} +2 -2
- package/dist/{sheet.service-M8PMUUgc.js.map → sheet.service-CmNDL4f6.js.map} +1 -1
- package/dist/{slider-B4GUyZqU.cjs → slider-Cf0pED-U.cjs} +2 -2
- package/dist/{slider-B4GUyZqU.cjs.map → slider-Cf0pED-U.cjs.map} +1 -1
- package/dist/{slider-C6LcofBD.js → slider-DPxBmmFD.js} +3 -3
- package/dist/{slider-C6LcofBD.js.map → slider-DPxBmmFD.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-BHnxNdlk.cjs → spinner-BDSDxr_W.cjs} +2 -2
- package/dist/{spinner-BHnxNdlk.cjs.map → spinner-BDSDxr_W.cjs.map} +1 -1
- package/dist/{spinner-CcRNBMvJ.js → spinner-Dyz6HBFa.js} +2 -2
- package/dist/{spinner-CcRNBMvJ.js.map → spinner-Dyz6HBFa.js.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 +2 -2
- package/dist/{suggestion-chip-BdSNOe03.cjs → suggestion-chip-B7COqb4l.cjs} +2 -2
- package/dist/{suggestion-chip-BdSNOe03.cjs.map → suggestion-chip-B7COqb4l.cjs.map} +1 -1
- package/dist/{suggestion-chip-DVScnCxJ.js → suggestion-chip-CCW8g_3S.js} +3 -3
- package/dist/{suggestion-chip-DVScnCxJ.js.map → suggestion-chip-CCW8g_3S.js.map} +1 -1
- package/dist/{surface-xeatGhRa.js → surface-B4CxtF38.js} +2 -2
- package/dist/{surface-xeatGhRa.js.map → surface-B4CxtF38.js.map} +1 -1
- package/dist/{surface-CxTEeZl9.cjs → surface-CkzbeSYN.cjs} +2 -2
- package/dist/{surface-CxTEeZl9.cjs.map → surface-CkzbeSYN.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/table-D-g4ZBys.cjs +63 -0
- package/dist/table-D-g4ZBys.cjs.map +1 -0
- package/dist/{table-CoztXQq4.js → table-KPNVMJtn.js} +8 -8
- package/dist/table-KPNVMJtn.js.map +1 -0
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-BO5a2_1S.cjs → tabs-compatibility-sMoQP12I.cjs} +2 -2
- package/dist/{tabs-compatibility-BO5a2_1S.cjs.map → tabs-compatibility-sMoQP12I.cjs.map} +1 -1
- package/dist/{tabs-compatibility-DVO94tDv.js → tabs-compatibility-xUK4vD1M.js} +2 -2
- package/dist/{tabs-compatibility-DVO94tDv.js.map → tabs-compatibility-xUK4vD1M.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-scDxsqaX.cjs +2 -0
- package/dist/{tailwind.mixin-7Zryjmgw.cjs.map → tailwind.mixin-scDxsqaX.cjs.map} +1 -1
- package/dist/tailwind.mixin-xIIxrXd8.js +67 -0
- package/dist/{tailwind.mixin-DqSYbdpb.js.map → tailwind.mixin-xIIxrXd8.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-BYryibzf.cjs → textarea-BSBYVs99.cjs} +2 -2
- package/dist/{textarea-BYryibzf.cjs.map → textarea-BSBYVs99.cjs.map} +1 -1
- package/dist/{textarea-BAvMG2X9.js → textarea-CFrirT5y.js} +2 -2
- package/dist/{textarea-BAvMG2X9.js.map → textarea-CFrirT5y.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-U_pvbRUN.cjs → theme-button-B8Xqrz1M.cjs} +2 -2
- package/dist/{theme-button-U_pvbRUN.cjs.map → theme-button-B8Xqrz1M.cjs.map} +1 -1
- package/dist/{theme-button-xscoLGo8.js → theme-button-D-LTPh88.js} +2 -2
- package/dist/{theme-button-xscoLGo8.js.map → theme-button-D-LTPh88.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{theme-controller-boat-CBRV8Lxv.js → theme-controller-boat-BOddzVdU.js} +20 -20
- package/dist/theme-controller-boat-BOddzVdU.js.map +1 -0
- package/dist/theme-controller-boat-C2F-qRyu.cjs +64 -0
- package/dist/theme-controller-boat-C2F-qRyu.cjs.map +1 -0
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-0VQbGKGw.js → timezone-BvOWa9Nt.js} +3 -3
- package/dist/{timezone-0VQbGKGw.js.map → timezone-BvOWa9Nt.js.map} +1 -1
- package/dist/{timezone-BY79gIHy.cjs → timezone-xHmnktrm.cjs} +2 -2
- package/dist/{timezone-BY79gIHy.cjs.map → timezone-xHmnktrm.cjs.map} +1 -1
- package/dist/{tooltip-CZ2GERET.cjs → tooltip-D24v5bvM.cjs} +2 -2
- package/dist/{tooltip-CZ2GERET.cjs.map → tooltip-D24v5bvM.cjs.map} +1 -1
- package/dist/{tooltip-DQvySABb.js → tooltip-D3ZZJEAk.js} +4 -4
- package/dist/{tooltip-DQvySABb.js.map → tooltip-D3ZZJEAk.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-Don7mV2c.js → tree-CfVyhRIH.js} +2 -2
- package/dist/{tree-Don7mV2c.js.map → tree-CfVyhRIH.js.map} +1 -1
- package/dist/{tree-B-WLxCyF.cjs → tree-DC_jbDRu.cjs} +2 -2
- package/dist/{tree-B-WLxCyF.cjs.map → tree-DC_jbDRu.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/tslib.es6-DgOcxv4s.cjs.map +1 -1
- package/dist/tslib.es6-ujVQHAQ4.js.map +1 -1
- package/dist/{typewriter-mw2viHm5.js → typewriter-By-3T0Jm.js} +8 -8
- package/dist/typewriter-By-3T0Jm.js.map +1 -0
- package/dist/typewriter-vit0P1N1.cjs +9 -0
- package/dist/typewriter-vit0P1N1.cjs.map +1 -0
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-Cqnp2hjE.cjs → typography-9lVCjAbj.cjs} +2 -2
- package/dist/{typography-Cqnp2hjE.cjs.map → typography-9lVCjAbj.cjs.map} +1 -1
- package/dist/{typography-BW88WILG.js → typography-B7kvO8iJ.js} +2 -2
- package/dist/{typography-BW88WILG.js.map → typography-B7kvO8iJ.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/dist/checkbox-0VoZZa4h.cjs.map +0 -1
- package/dist/checkbox-CQx4HYwJ.js.map +0 -1
- package/dist/code-preview-DEGx3kQB.js.map +0 -1
- package/dist/code-preview-Dl_M5GR8.cjs +0 -193
- package/dist/code-preview-Dl_M5GR8.cjs.map +0 -1
- package/dist/context-create-CA907mdD.cjs +0 -2
- package/dist/context-create-CA907mdD.cjs.map +0 -1
- package/dist/context-create-DCiujzV2.js.map +0 -1
- package/dist/date-range--yEeeHCf.js.map +0 -1
- package/dist/date-range-CvTDLehP.cjs +0 -134
- package/dist/date-range-CvTDLehP.cjs.map +0 -1
- package/dist/delay-CACWxGqn.cjs.map +0 -1
- package/dist/delay-DwCdeYuL.js.map +0 -1
- package/dist/dialog-service-Bdaxn2t0.cjs +0 -2
- package/dist/dialog-service-Bdaxn2t0.cjs.map +0 -1
- package/dist/dialog-service-CyQzm5qE.js +0 -147
- package/dist/dialog-service-CyQzm5qE.js.map +0 -1
- package/dist/menu-BoXnSAf7.cjs +0 -24
- package/dist/payment-card-form-BJooohMJ.cjs.map +0 -1
- package/dist/payment-card-form-BpDjIGpf.js.map +0 -1
- package/dist/search-DWW8IoOp.cjs +0 -2
- package/dist/table-BDoBA49H.cjs +0 -63
- package/dist/table-BDoBA49H.cjs.map +0 -1
- package/dist/table-CoztXQq4.js.map +0 -1
- package/dist/tailwind.mixin-7Zryjmgw.cjs +0 -2
- package/dist/tailwind.mixin-DqSYbdpb.js +0 -67
- package/dist/theme-controller-boat-CBRV8Lxv.js.map +0 -1
- package/dist/theme-controller-boat-Cu_42DVG.cjs +0 -64
- package/dist/theme-controller-boat-Cu_42DVG.cjs.map +0 -1
- package/dist/typewriter-DxBpGHo6.cjs +0 -9
- package/dist/typewriter-DxBpGHo6.cjs.map +0 -1
- package/dist/typewriter-mw2viHm5.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flex-Bjwz-HnJ.cjs","sources":["../src/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts","../src/layout/v2/flex.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\n/**\n * @deprecated Use Tailwind CSS utility classes directly on HTML elements instead of this base class.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Use inline styles or Tailwind utility classes for layout properties\n * - Replace properties like padding, margin, width, etc. with their CSS equivalents\n * \n * @class Layout\n */\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout'\nimport style from './flex.scss?inline'\n\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * @element schmancy-flex\n */\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String, reflect: true }) flow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\t@property({ type: String, reflect: true }) wrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\t@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\t@property({ type: String, reflect: true }) justify: 'start' | 'center' | 'end' | 'stretch' | 'between' = 'start'\n\t@property({ type: String, reflect: true }) gap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\tconst classes = {\n\t\t\tflex: true,\n\t\t\t// Direction\n\t\t\t'flex-col': this.flow === 'row',\n\t\t\t'flex-col-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-row': this.flow === 'col',\n\t\t\t'flex-row-reverse': this.flow === 'col-reverse',\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t// Align\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'justify-baseline': this.align === 'baseline',\n\n\t\t\t// Justify\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-stretch': this.justify === 'stretch',\n\t\t\t'justify-between': this.justify === 'between',\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\tconst styles = {}\n\t\treturn html`\n\t\t\t<section class=${classMap(classes)} style=${styleMap(styles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout'\nimport style from './grid.scss?inline'\n\n/**\n * @deprecated Use Tailwind CSS grid classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-grid> with <div class=\"grid ...\">\n * - Use Tailwind's grid utilities: grid-cols-*, gap-*, items-*, justify-items-*, etc.\n * \n * @element schmancy-grid\n */\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { debounceTime, filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Custom scroll event interface for the SchmancyScroll component.\n * Contains detailed information about the scroll state.\n */\nexport interface SchmancyScrollEvent\n\textends CustomEvent<{\n\t\t/** Current scroll position from the top */\n\t\tscrollTop: number\n\t\t/** Total scrollable height of the content */\n\t\tscrollHeight: number\n\t\t/** Visible height of the container */\n\t\tclientHeight: number\n\t\t/** Original scroll event */\n\t\te: Event\n\t\t/** Current scroll position from the left (for horizontal scrolling) */\n\t\tscrollLeft?: number\n\t\t/** Total scrollable width of the content (for horizontal scrolling) */\n\t\tscrollWidth?: number\n\t\t/** Visible width of the container (for horizontal scrolling) */\n\t\tclientWidth?: number\n\t}> {}\n\n/**\n * Command event interface for controlling SchmancyScroll components\n */\nexport interface SchmancyScrollCommandEvent\n\textends CustomEvent<{\n\t\t/** Target component name */\n\t\tname: string\n\t\t/** Command action to perform */\n\t\taction: 'scrollTo'\n\t\t/** Scroll position for scrollTo action */\n\t\ttop: number\n\t\t/** Horizontal scroll position for scrollTo action (optional) */\n\t\tleft?: number\n\t}> {}\n\n// Augment the HTMLElementEventMap to include our custom events\ndeclare global {\n\tinterface HTMLElementEventMap {\n\t\tscroll: SchmancyScrollEvent\n\t\t'schmancy-scroll-command': SchmancyScrollCommandEvent\n\t}\n}\n\n/**\n * A custom scrollable container with enhanced features.\n *\n * @fires {SchmancyScrollEvent} scroll - Fired when scrolling occurs (with a configurable debounce)\n * @slot - Default slot for content to be scrolled\n * @csspart scroller - The inner scrollable div element\n *\n * @example\n * ```html\n * <schmancy-scroll hide name=\"main-content\">\n * <div>Scrollable content goes here</div>\n * </schmancy-scroll>\n * ```\n *\n * @example\n * ```html\n * <schmancy-scroll direction=\"horizontal\" hide name=\"image-carousel\">\n * <div class=\"flex\">\n * <img src=\"image1.jpg\" alt=\"Image 1\">\n * <img src=\"image2.jpg\" alt=\"Image 2\">\n * </div>\n * </schmancy-scroll>\n * ```\n */\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\t/* Flexible sizing for different layout contexts */\n\t\twidth: 100%;\n\t\tmin-height: 0; /* Allow flex shrinking */\n\t\tflex: 1; /* Grow in flex containers */\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tscroll-behavior: smooth;\n\t\toverscroll-behavior-x: contain;\n\t\toverscroll-behavior-y: auto;\n\t}\n\t/* Fallback for non-flex contexts */\n\t:host(.explicit-height) {\n\t\theight: 100%;\n\t\tflex: none;\n\t}\n\t:host([hide]) {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t:host([hide])::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the host element's scrollbars are hidden\n\t * in supported browsers using CSS.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\t/**\n\t * Optional name identifier for the component.\n\t * Used for targeting this specific component with global events.\n\t *\n\t * @attr name\n\t * @example <schmancy-scroll name=\"main-content\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic name?: string\n\n\t/**\n\t * Direction of scrolling: vertical, horizontal, or both.\n\t * - vertical: Only allows vertical scrolling\n\t * - horizontal: Only allows horizontal scrolling\n\t * - both: Allows both horizontal and vertical scrolling (default)\n\t *\n\t * @attr direction\n\t * @example <schmancy-scroll direction=\"horizontal\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic direction: 'vertical' | 'horizontal' | 'both' = 'both'\n\n\t/**\n\t * Reference to the scrollable element (the host element itself)\n\t * @public\n\t */\n\tget scroller(): HTMLElement {\n\t\treturn this\n\t}\n\n\t/**\n\t * Debounce time in milliseconds for the scroll event.\n\t * Higher values reduce the frequency of scroll events being dispatched.\n\t *\n\t * @attr debounce\n\t * @example <schmancy-scroll debounce=\"50\"></schmancy-scroll>\n\t */\n\t@property({ type: Number })\n\tpublic debounce = 10\n\n\t/**\n\t * Scrolls the container to the specified position\n\t * @param options - ScrollToOptions or a number representing the top position\n\t * @param top - For backward compatibility, if options is a number, this is treated as \"behavior\"\n\t */\n\tpublic override scrollTo(options?: ScrollToOptions | number, top?: number): void {\n\t\tif (!this.scroller) return\n\n\t\tif (typeof options === 'number') {\n\t\t\t// Legacy support for scrollTo(top, behavior)\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: options,\n\t\t\t\tbehavior: top ? 'smooth' : 'auto',\n\t\t\t})\n\t\t} else if (options) {\n\t\t\tthis.scroller.scrollTo(options)\n\t\t} else {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'auto',\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Scrolls the container horizontally to the specified position\n\t * @param left - The horizontal position to scroll to (in pixels)\n\t * @param behavior - The scroll behavior ('auto' or 'smooth')\n\t */\n\tpublic scrollToLeft(left: number, behavior: ScrollBehavior = 'auto'): void {\n\t\tif (this.scroller) {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\tleft,\n\t\t\t\tbehavior,\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Called when the component is connected to the DOM\n\t * Applies scrolling styles directly to the host element\n\t * @protected\n\t */\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.updateScrollingStyles()\n\t\tthis.updateLayoutContext()\n\t\t// Set the part attribute on the host element\n\t\tthis.setAttribute('part', 'scroller')\n\t}\n\n\t/**\n\t * Updates the overflow styles based on the direction property\n\t * @private\n\t */\n\tprivate updateScrollingStyles(): void {\n\t\t// Apply overflow styles based on direction\n\t\tif (this.direction === 'horizontal') {\n\t\t\tthis.style.setProperty('overflow-y', 'hidden')\n\t\t\tthis.style.setProperty('overflow-x', 'auto')\n\t\t} else if (this.direction === 'vertical') {\n\t\t\tthis.style.setProperty('overflow-y', 'auto')\n\t\t\tthis.style.setProperty('overflow-x', 'hidden')\n\t\t} else {\n\t\t\t// both\n\t\t\tthis.style.setProperty('overflow-y', 'auto')\n\t\t\tthis.style.setProperty('overflow-x', 'auto')\n\t\t}\n\t}\n\n\t/**\n\t * Updates the layout context based on parent container type\n\t * @private\n\t */\n\tprivate updateLayoutContext(): void {\n\t\t// Use requestAnimationFrame to ensure DOM is fully rendered\n\t\trequestAnimationFrame(() => {\n\t\t\t// Check if parent is a flex container\n\t\t\tconst parent = this.parentElement\n\t\t\tif (parent) {\n\t\t\t\tconst parentStyles = getComputedStyle(parent)\n\t\t\t\tconst isFlexParent = parentStyles.display === 'flex' || parentStyles.display === 'inline-flex'\n\n\t\t\t\t// For debugging - remove in production\n\t\t\t\tconsole.debug('schmancy-scroll parent detection:', {\n\t\t\t\t\tparent: parent.tagName,\n\t\t\t\t\tdisplay: parentStyles.display,\n\t\t\t\t\tisFlexParent,\n\t\t\t\t})\n\n\t\t\t\t// Apply appropriate class based on parent layout\n\t\t\t\tif (isFlexParent) {\n\t\t\t\t\tthis.classList.remove('explicit-height')\n\t\t\t\t} else {\n\t\t\t\t\tthis.classList.add('explicit-height')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Default to explicit height if no parent\n\t\t\t\tthis.classList.add('explicit-height')\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * Called when properties change\n\t * @protected\n\t */\n\tprotected updated(changedProperties: Map<string | number | symbol, unknown>): void {\n\t\tsuper.updated(changedProperties)\n\t\t// Update styles if direction changes\n\t\tif (changedProperties.has('direction')) {\n\t\t\tthis.updateScrollingStyles()\n\t\t}\n\t\t// Always update layout context in case parent layout changed\n\t\tthis.updateLayoutContext()\n\t}\n\n\t/**\n\t * Called after the component's first update\n\t * Sets up the scroll event listener with debouncing\n\t * @protected\n\t */\n\tprotected firstUpdated(): void {\n\t\t// Set up scroll event listening with debounce\n\t\tfromEvent(this.scroller, 'scroll', {\n\t\t\tpassive: true,\n\t\t})\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(this.debounce),\n\t\t\t\ttakeUntil(this.disconnecting), // Unsubscribe when the element is destroyed\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\t// Always include the original required properties for backward compatibility\n\t\t\t\tconst scrollTop = this.scroller.scrollTop\n\t\t\t\tconst scrollHeight = this.scroller.scrollHeight\n\t\t\t\tconst clientHeight = this.scroller.clientHeight\n\n\t\t\t\t// Include horizontal scroll information as optional properties\n\t\t\t\tconst scrollLeft = this.scroller.scrollLeft\n\t\t\t\tconst scrollWidth = this.scroller.scrollWidth\n\t\t\t\tconst clientWidth = this.scroller.clientWidth\n\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('scroll', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t// Original required properties first\n\t\t\t\t\t\t\tscrollTop,\n\t\t\t\t\t\t\tscrollHeight,\n\t\t\t\t\t\t\tclientHeight,\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t// New optional properties last\n\t\t\t\t\t\t\tscrollLeft,\n\t\t\t\t\t\t\tscrollWidth,\n\t\t\t\t\t\t\tclientWidth,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}) as SchmancyScrollEvent,\n\t\t\t\t)\n\t\t\t})\n\n\t\t// Set up global command event listener\n\t\tfromEvent<SchmancyScrollCommandEvent>(window, '@schmancy:scrollTo')\n\t\t\t.pipe(\n\t\t\t\t// Only process events targeting this component by name\n\t\t\t\tfilter(e => this.name !== undefined && e.detail.name === this.name),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tif (e.detail.action === 'scrollTo' && typeof e.detail.top === 'number') {\n\t\t\t\t\tconst options: ScrollToOptions = {\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\ttop: e.detail.top, // Required for backward compatibility\n\t\t\t\t\t}\n\n\t\t\t\t\t// Add optional left position if provided\n\t\t\t\t\tif (typeof e.detail.left === 'number') {\n\t\t\t\t\t\toptions.left = e.detail.left\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.scrollTo(options)\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\t/**\n\t * Renders the component template\n\t * @returns {TemplateResult} The template to render\n\t * @protected\n\t */\n\tprotected render() {\n\t\t// Only render the slot, all styling is applied to the host\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <sch-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * Original documentation:\n * \n * SchmancyFlex exposes a flex container with all the Tailwind CSS 4 options:\n *\n * - **Display**: By default uses `flex` but can be set to inline using the `inline` property.\n * - **Flow**: Accepts 'row', 'row-reverse', 'col', 'col-reverse' as well as grid‐like dense variants:\n * - Dense variants (`row-dense`, `col-dense`) force wrapping.\n * - **Wrap**: 'wrap', 'nowrap', or 'wrap-reverse'\n * - **Align Items**: 'start', 'center', 'end', 'stretch', or 'baseline'\n * - **Justify Content**: 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Align Content** (for multi-line flex containers): 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Gap**: Supports Tailwind’s spacing scale (e.g. 'none', '0', '1', '2', …, '64')\n */\n@customElement('sch-flex')\nexport class SchmancyFlexV2 extends Layout {\n\tstatic styles = [\n\t\tLayout.styles,\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t`,\n\t]\n\t// If true, the container will use inline-flex instead of flex.\n\t@property({ type: Boolean, reflect: true })\n\tinline = false\n\n\t/**\n\t * Flow property that determines the flex direction.\n\t * Allowed values:\n\t * - Standard: 'row', 'row-reverse', 'col', 'col-reverse'\n\t * - Dense variants: 'row-dense', 'col-dense' (dense implies wrapping)\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' | 'row-dense' | 'col-dense' = 'row'\n\n\t/**\n\t * Flex-wrap options:\n\t * - 'wrap', 'nowrap', or 'wrap-reverse'\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items (vertical alignment of flex items):\n\t * - 'start', 'center', 'end', 'stretch', or 'baseline'\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\n\t/**\n\t * Justify-content (horizontal distribution):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' = 'start'\n\n\t/**\n\t * Align-content (spacing between rows when wrapping):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tcontent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\n\t/**\n\t * Gap between flex items.\n\t * Options (based on Tailwind CSS 4 spacing scale):\n\t * - 'none', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '16', '20', '24', '32', '40', '48', '56', or '64'\n\t */\n\t@property({ type: String, reflect: true })\n\tgap:\n\t\t| 'none'\n\t\t| '0'\n\t\t| '1'\n\t\t| '2'\n\t\t| '3'\n\t\t| '4'\n\t\t| '5'\n\t\t| '6'\n\t\t| '7'\n\t\t| '8'\n\t\t| '9'\n\t\t| '10'\n\t\t| '12'\n\t\t| '16'\n\t\t| '20'\n\t\t| '24'\n\t\t| '32'\n\t\t| '40'\n\t\t| '48'\n\t\t| '56'\n\t\t| '64' = 'none'\n\n\trender() {\n\t\t// Determine whether to use inline-flex or flex.\n\t\tconst baseDisplay = this.inline ? 'inline-flex' : 'flex'\n\n\t\t// Map the flow property to a flex-direction class.\n\t\t// (Dense variants use the same class as their standard counterparts.)\n\t\tlet directionClass = ''\n\t\tswitch (this.flow) {\n\t\t\tcase 'row':\n\t\t\tcase 'row-dense':\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t\t\tbreak\n\t\t\tcase 'row-reverse':\n\t\t\t\tdirectionClass = 'flex-row-reverse'\n\t\t\t\tbreak\n\t\t\tcase 'col':\n\t\t\tcase 'col-dense':\n\t\t\t\tdirectionClass = 'flex-col'\n\t\t\t\tbreak\n\t\t\tcase 'col-reverse':\n\t\t\t\tdirectionClass = 'flex-col-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t}\n\n\t\t// Dense variants force wrapping regardless of the wrap property.\n\t\tconst isDense = this.flow === 'row-dense' || this.flow === 'col-dense'\n\t\tconst effectiveWrap = isDense ? 'wrap' : this.wrap\n\n\t\tlet wrapClass = ''\n\t\tswitch (effectiveWrap) {\n\t\t\tcase 'wrap':\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t\t\tbreak\n\t\t\tcase 'nowrap':\n\t\t\t\twrapClass = 'flex-nowrap'\n\t\t\t\tbreak\n\t\t\tcase 'wrap-reverse':\n\t\t\t\twrapClass = 'flex-wrap-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t}\n\n\t\t// Map align-items.\n\t\tlet alignClass = ''\n\t\tswitch (this.align) {\n\t\t\tcase 'start':\n\t\t\t\talignClass = 'items-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\talignClass = 'items-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\talignClass = 'items-end'\n\t\t\t\tbreak\n\t\t\tcase 'stretch':\n\t\t\t\talignClass = 'items-stretch'\n\t\t\t\tbreak\n\t\t\tcase 'baseline':\n\t\t\t\talignClass = 'items-baseline'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\talignClass = 'items-stretch'\n\t\t}\n\n\t\t// Map justify-content.\n\t\tlet justifyClass = ''\n\t\tswitch (this.justify) {\n\t\t\tcase 'start':\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\tjustifyClass = 'justify-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\tjustifyClass = 'justify-end'\n\t\t\t\tbreak\n\t\t\tcase 'between':\n\t\t\t\tjustifyClass = 'justify-between'\n\t\t\t\tbreak\n\t\t\tcase 'around':\n\t\t\t\tjustifyClass = 'justify-around'\n\t\t\t\tbreak\n\t\t\tcase 'evenly':\n\t\t\t\tjustifyClass = 'justify-evenly'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t}\n\n\t\t// Map align-content (if provided).\n\t\tlet contentClass = ''\n\t\tif (this.content) {\n\t\t\tswitch (this.content) {\n\t\t\t\tcase 'start':\n\t\t\t\t\tcontentClass = 'content-start'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'center':\n\t\t\t\t\tcontentClass = 'content-center'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'end':\n\t\t\t\t\tcontentClass = 'content-end'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'between':\n\t\t\t\t\tcontentClass = 'content-between'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'around':\n\t\t\t\t\tcontentClass = 'content-around'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'evenly':\n\t\t\t\t\tcontentClass = 'content-evenly'\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Map gap value.\n\t\tconst gapClass = this.gap === 'none' ? 'gap-0' : `gap-${this.gap}`\n\n\t\t// Build the complete list of classes.\n\t\tconst classes = [baseDisplay, directionClass, wrapClass, alignClass, justifyClass, contentClass, gapClass]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')\n\n\t\treturn html`\n\t\t\t<section class=${classes}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sch-flex': SchmancyFlexV2\n\t}\n}\n"],"names":["Layout","TailwindElement","constructor","super","arguments","this","layout","center","display","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","styles","_a","__decorateClass","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","firstUpdated","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css","hide","direction","debounce","options","scroller","scrollTo","behavior","updateScrollingStyles","updateLayoutContext","setAttribute","requestAnimationFrame","parent","parentElement","parentStyles","getComputedStyle","classList","remove","add","changedProperties","updated","has","passive","e","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","dispatchEvent","CustomEvent","detail","bubbles","composed","name","action","render","Number","SchmancyFlexV2","inline","baseDisplay","directionClass","wrapClass","alignClass","justifyClass","contentClass","join"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flex-DakK9gco.cjs","sources":["../src/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts","../src/layout/v2/flex.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\n/**\n * @deprecated Use Tailwind CSS utility classes directly on HTML elements instead of this base class.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Use inline styles or Tailwind utility classes for layout properties\n * - Replace properties like padding, margin, width, etc. with their CSS equivalents\n * \n * @class Layout\n */\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout'\nimport style from './flex.scss?inline'\n\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * @element schmancy-flex\n */\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String, reflect: true }) flow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\t@property({ type: String, reflect: true }) wrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\t@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\t@property({ type: String, reflect: true }) justify: 'start' | 'center' | 'end' | 'stretch' | 'between' = 'start'\n\t@property({ type: String, reflect: true }) gap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\tconst classes = {\n\t\t\tflex: true,\n\t\t\t// Direction\n\t\t\t'flex-col': this.flow === 'row',\n\t\t\t'flex-col-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-row': this.flow === 'col',\n\t\t\t'flex-row-reverse': this.flow === 'col-reverse',\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t// Align\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'justify-baseline': this.align === 'baseline',\n\n\t\t\t// Justify\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-stretch': this.justify === 'stretch',\n\t\t\t'justify-between': this.justify === 'between',\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\tconst styles = {}\n\t\treturn html`\n\t\t\t<section class=${classMap(classes)} style=${styleMap(styles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout'\nimport style from './grid.scss?inline'\n\n/**\n * @deprecated Use Tailwind CSS grid classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-grid> with <div class=\"grid ...\">\n * - Use Tailwind's grid utilities: grid-cols-*, gap-*, items-*, justify-items-*, etc.\n * \n * @element schmancy-grid\n */\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { debounceTime, filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Custom scroll event interface for the SchmancyScroll component.\n * Contains detailed information about the scroll state.\n */\nexport interface SchmancyScrollEvent\n\textends CustomEvent<{\n\t\t/** Current scroll position from the top */\n\t\tscrollTop: number\n\t\t/** Total scrollable height of the content */\n\t\tscrollHeight: number\n\t\t/** Visible height of the container */\n\t\tclientHeight: number\n\t\t/** Original scroll event */\n\t\te: Event\n\t\t/** Current scroll position from the left (for horizontal scrolling) */\n\t\tscrollLeft?: number\n\t\t/** Total scrollable width of the content (for horizontal scrolling) */\n\t\tscrollWidth?: number\n\t\t/** Visible width of the container (for horizontal scrolling) */\n\t\tclientWidth?: number\n\t}> {}\n\n/**\n * Command event interface for controlling SchmancyScroll components\n */\nexport interface SchmancyScrollCommandEvent\n\textends CustomEvent<{\n\t\t/** Target component name */\n\t\tname: string\n\t\t/** Command action to perform */\n\t\taction: 'scrollTo'\n\t\t/** Scroll position for scrollTo action */\n\t\ttop: number\n\t\t/** Horizontal scroll position for scrollTo action (optional) */\n\t\tleft?: number\n\t}> {}\n\n// Augment the HTMLElementEventMap to include our custom events\ndeclare global {\n\tinterface HTMLElementEventMap {\n\t\tscroll: SchmancyScrollEvent\n\t\t'schmancy-scroll-command': SchmancyScrollCommandEvent\n\t}\n}\n\n/**\n * A custom scrollable container with enhanced features.\n *\n * @fires {SchmancyScrollEvent} scroll - Fired when scrolling occurs (with a configurable debounce)\n * @slot - Default slot for content to be scrolled\n * @csspart scroller - The inner scrollable div element\n *\n * @example\n * ```html\n * <schmancy-scroll hide name=\"main-content\">\n * <div>Scrollable content goes here</div>\n * </schmancy-scroll>\n * ```\n *\n * @example\n * ```html\n * <schmancy-scroll direction=\"horizontal\" hide name=\"image-carousel\">\n * <div class=\"flex\">\n * <img src=\"image1.jpg\" alt=\"Image 1\">\n * <img src=\"image2.jpg\" alt=\"Image 2\">\n * </div>\n * </schmancy-scroll>\n * ```\n */\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\t/* Flexible sizing for different layout contexts */\n\t\twidth: 100%;\n\t\tmin-height: 0; /* Allow flex shrinking */\n\t\tflex: 1; /* Grow in flex containers */\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tscroll-behavior: smooth;\n\t\toverscroll-behavior-x: contain;\n\t\toverscroll-behavior-y: auto;\n\t}\n\t/* Fallback for non-flex contexts */\n\t:host(.explicit-height) {\n\t\theight: 100%;\n\t\tflex: none;\n\t}\n\t:host([hide]) {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t:host([hide])::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the host element's scrollbars are hidden\n\t * in supported browsers using CSS.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\t/**\n\t * Optional name identifier for the component.\n\t * Used for targeting this specific component with global events.\n\t *\n\t * @attr name\n\t * @example <schmancy-scroll name=\"main-content\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic name?: string\n\n\t/**\n\t * Direction of scrolling: vertical, horizontal, or both.\n\t * - vertical: Only allows vertical scrolling\n\t * - horizontal: Only allows horizontal scrolling\n\t * - both: Allows both horizontal and vertical scrolling (default)\n\t *\n\t * @attr direction\n\t * @example <schmancy-scroll direction=\"horizontal\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic direction: 'vertical' | 'horizontal' | 'both' = 'both'\n\n\t/**\n\t * Reference to the scrollable element (the host element itself)\n\t * @public\n\t */\n\tget scroller(): HTMLElement {\n\t\treturn this\n\t}\n\n\t/**\n\t * Debounce time in milliseconds for the scroll event.\n\t * Higher values reduce the frequency of scroll events being dispatched.\n\t *\n\t * @attr debounce\n\t * @example <schmancy-scroll debounce=\"50\"></schmancy-scroll>\n\t */\n\t@property({ type: Number })\n\tpublic debounce = 10\n\n\t/**\n\t * Scrolls the container to the specified position\n\t * @param options - ScrollToOptions or a number representing the top position\n\t * @param top - For backward compatibility, if options is a number, this is treated as \"behavior\"\n\t */\n\tpublic override scrollTo(options?: ScrollToOptions | number, top?: number): void {\n\t\tif (!this.scroller) return\n\n\t\tif (typeof options === 'number') {\n\t\t\t// Legacy support for scrollTo(top, behavior)\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: options,\n\t\t\t\tbehavior: top ? 'smooth' : 'auto',\n\t\t\t})\n\t\t} else if (options) {\n\t\t\tthis.scroller.scrollTo(options)\n\t\t} else {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'auto',\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Scrolls the container horizontally to the specified position\n\t * @param left - The horizontal position to scroll to (in pixels)\n\t * @param behavior - The scroll behavior ('auto' or 'smooth')\n\t */\n\tpublic scrollToLeft(left: number, behavior: ScrollBehavior = 'auto'): void {\n\t\tif (this.scroller) {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\tleft,\n\t\t\t\tbehavior,\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Called when the component is connected to the DOM\n\t * Applies scrolling styles directly to the host element\n\t * @protected\n\t */\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.updateScrollingStyles()\n\t\tthis.updateLayoutContext()\n\t\t// Set the part attribute on the host element\n\t\tthis.setAttribute('part', 'scroller')\n\t}\n\n\t/**\n\t * Updates the overflow styles based on the direction property\n\t * @private\n\t */\n\tprivate updateScrollingStyles(): void {\n\t\t// Apply overflow styles based on direction\n\t\tif (this.direction === 'horizontal') {\n\t\t\tthis.style.setProperty('overflow-y', 'hidden')\n\t\t\tthis.style.setProperty('overflow-x', 'auto')\n\t\t} else if (this.direction === 'vertical') {\n\t\t\tthis.style.setProperty('overflow-y', 'auto')\n\t\t\tthis.style.setProperty('overflow-x', 'hidden')\n\t\t} else {\n\t\t\t// both\n\t\t\tthis.style.setProperty('overflow-y', 'auto')\n\t\t\tthis.style.setProperty('overflow-x', 'auto')\n\t\t}\n\t}\n\n\t/**\n\t * Updates the layout context based on parent container type\n\t * @private\n\t */\n\tprivate updateLayoutContext(): void {\n\t\t// Use requestAnimationFrame to ensure DOM is fully rendered\n\t\trequestAnimationFrame(() => {\n\t\t\t// Check if parent is a flex container\n\t\t\tconst parent = this.parentElement\n\t\t\tif (parent) {\n\t\t\t\tconst parentStyles = getComputedStyle(parent)\n\t\t\t\tconst isFlexParent = parentStyles.display === 'flex' || parentStyles.display === 'inline-flex'\n\n\t\t\t\t// For debugging - remove in production\n\t\t\t\tconsole.debug('schmancy-scroll parent detection:', {\n\t\t\t\t\tparent: parent.tagName,\n\t\t\t\t\tdisplay: parentStyles.display,\n\t\t\t\t\tisFlexParent,\n\t\t\t\t})\n\n\t\t\t\t// Apply appropriate class based on parent layout\n\t\t\t\tif (isFlexParent) {\n\t\t\t\t\tthis.classList.remove('explicit-height')\n\t\t\t\t} else {\n\t\t\t\t\tthis.classList.add('explicit-height')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Default to explicit height if no parent\n\t\t\t\tthis.classList.add('explicit-height')\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * Called when properties change\n\t * @protected\n\t */\n\tprotected updated(changedProperties: Map<string | number | symbol, unknown>): void {\n\t\tsuper.updated(changedProperties)\n\t\t// Update styles if direction changes\n\t\tif (changedProperties.has('direction')) {\n\t\t\tthis.updateScrollingStyles()\n\t\t}\n\t\t// Always update layout context in case parent layout changed\n\t\tthis.updateLayoutContext()\n\t}\n\n\t/**\n\t * Called after the component's first update\n\t * Sets up the scroll event listener with debouncing\n\t * @protected\n\t */\n\tprotected firstUpdated(): void {\n\t\t// Set up scroll event listening with debounce\n\t\tfromEvent(this.scroller, 'scroll', {\n\t\t\tpassive: true,\n\t\t})\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(this.debounce),\n\t\t\t\ttakeUntil(this.disconnecting), // Unsubscribe when the element is destroyed\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\t// Always include the original required properties for backward compatibility\n\t\t\t\tconst scrollTop = this.scroller.scrollTop\n\t\t\t\tconst scrollHeight = this.scroller.scrollHeight\n\t\t\t\tconst clientHeight = this.scroller.clientHeight\n\n\t\t\t\t// Include horizontal scroll information as optional properties\n\t\t\t\tconst scrollLeft = this.scroller.scrollLeft\n\t\t\t\tconst scrollWidth = this.scroller.scrollWidth\n\t\t\t\tconst clientWidth = this.scroller.clientWidth\n\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('scroll', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t// Original required properties first\n\t\t\t\t\t\t\tscrollTop,\n\t\t\t\t\t\t\tscrollHeight,\n\t\t\t\t\t\t\tclientHeight,\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t// New optional properties last\n\t\t\t\t\t\t\tscrollLeft,\n\t\t\t\t\t\t\tscrollWidth,\n\t\t\t\t\t\t\tclientWidth,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}) as SchmancyScrollEvent,\n\t\t\t\t)\n\t\t\t})\n\n\t\t// Set up global command event listener\n\t\tfromEvent<SchmancyScrollCommandEvent>(window, '@schmancy:scrollTo')\n\t\t\t.pipe(\n\t\t\t\t// Only process events targeting this component by name\n\t\t\t\tfilter(e => this.name !== undefined && e.detail.name === this.name),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tif (e.detail.action === 'scrollTo' && typeof e.detail.top === 'number') {\n\t\t\t\t\tconst options: ScrollToOptions = {\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\ttop: e.detail.top, // Required for backward compatibility\n\t\t\t\t\t}\n\n\t\t\t\t\t// Add optional left position if provided\n\t\t\t\t\tif (typeof e.detail.left === 'number') {\n\t\t\t\t\t\toptions.left = e.detail.left\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.scrollTo(options)\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\t/**\n\t * Renders the component template\n\t * @returns {TemplateResult} The template to render\n\t * @protected\n\t */\n\tprotected render() {\n\t\t// Only render the slot, all styling is applied to the host\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <sch-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * Original documentation:\n * \n * SchmancyFlex exposes a flex container with all the Tailwind CSS 4 options:\n *\n * - **Display**: By default uses `flex` but can be set to inline using the `inline` property.\n * - **Flow**: Accepts 'row', 'row-reverse', 'col', 'col-reverse' as well as grid‐like dense variants:\n * - Dense variants (`row-dense`, `col-dense`) force wrapping.\n * - **Wrap**: 'wrap', 'nowrap', or 'wrap-reverse'\n * - **Align Items**: 'start', 'center', 'end', 'stretch', or 'baseline'\n * - **Justify Content**: 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Align Content** (for multi-line flex containers): 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Gap**: Supports Tailwind’s spacing scale (e.g. 'none', '0', '1', '2', …, '64')\n */\n@customElement('sch-flex')\nexport class SchmancyFlexV2 extends Layout {\n\tstatic styles = [\n\t\tLayout.styles,\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t`,\n\t]\n\t// If true, the container will use inline-flex instead of flex.\n\t@property({ type: Boolean, reflect: true })\n\tinline = false\n\n\t/**\n\t * Flow property that determines the flex direction.\n\t * Allowed values:\n\t * - Standard: 'row', 'row-reverse', 'col', 'col-reverse'\n\t * - Dense variants: 'row-dense', 'col-dense' (dense implies wrapping)\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' | 'row-dense' | 'col-dense' = 'row'\n\n\t/**\n\t * Flex-wrap options:\n\t * - 'wrap', 'nowrap', or 'wrap-reverse'\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items (vertical alignment of flex items):\n\t * - 'start', 'center', 'end', 'stretch', or 'baseline'\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\n\t/**\n\t * Justify-content (horizontal distribution):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' = 'start'\n\n\t/**\n\t * Align-content (spacing between rows when wrapping):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tcontent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\n\t/**\n\t * Gap between flex items.\n\t * Options (based on Tailwind CSS 4 spacing scale):\n\t * - 'none', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '16', '20', '24', '32', '40', '48', '56', or '64'\n\t */\n\t@property({ type: String, reflect: true })\n\tgap:\n\t\t| 'none'\n\t\t| '0'\n\t\t| '1'\n\t\t| '2'\n\t\t| '3'\n\t\t| '4'\n\t\t| '5'\n\t\t| '6'\n\t\t| '7'\n\t\t| '8'\n\t\t| '9'\n\t\t| '10'\n\t\t| '12'\n\t\t| '16'\n\t\t| '20'\n\t\t| '24'\n\t\t| '32'\n\t\t| '40'\n\t\t| '48'\n\t\t| '56'\n\t\t| '64' = 'none'\n\n\trender() {\n\t\t// Determine whether to use inline-flex or flex.\n\t\tconst baseDisplay = this.inline ? 'inline-flex' : 'flex'\n\n\t\t// Map the flow property to a flex-direction class.\n\t\t// (Dense variants use the same class as their standard counterparts.)\n\t\tlet directionClass = ''\n\t\tswitch (this.flow) {\n\t\t\tcase 'row':\n\t\t\tcase 'row-dense':\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t\t\tbreak\n\t\t\tcase 'row-reverse':\n\t\t\t\tdirectionClass = 'flex-row-reverse'\n\t\t\t\tbreak\n\t\t\tcase 'col':\n\t\t\tcase 'col-dense':\n\t\t\t\tdirectionClass = 'flex-col'\n\t\t\t\tbreak\n\t\t\tcase 'col-reverse':\n\t\t\t\tdirectionClass = 'flex-col-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t}\n\n\t\t// Dense variants force wrapping regardless of the wrap property.\n\t\tconst isDense = this.flow === 'row-dense' || this.flow === 'col-dense'\n\t\tconst effectiveWrap = isDense ? 'wrap' : this.wrap\n\n\t\tlet wrapClass = ''\n\t\tswitch (effectiveWrap) {\n\t\t\tcase 'wrap':\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t\t\tbreak\n\t\t\tcase 'nowrap':\n\t\t\t\twrapClass = 'flex-nowrap'\n\t\t\t\tbreak\n\t\t\tcase 'wrap-reverse':\n\t\t\t\twrapClass = 'flex-wrap-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t}\n\n\t\t// Map align-items.\n\t\tlet alignClass = ''\n\t\tswitch (this.align) {\n\t\t\tcase 'start':\n\t\t\t\talignClass = 'items-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\talignClass = 'items-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\talignClass = 'items-end'\n\t\t\t\tbreak\n\t\t\tcase 'stretch':\n\t\t\t\talignClass = 'items-stretch'\n\t\t\t\tbreak\n\t\t\tcase 'baseline':\n\t\t\t\talignClass = 'items-baseline'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\talignClass = 'items-stretch'\n\t\t}\n\n\t\t// Map justify-content.\n\t\tlet justifyClass = ''\n\t\tswitch (this.justify) {\n\t\t\tcase 'start':\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\tjustifyClass = 'justify-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\tjustifyClass = 'justify-end'\n\t\t\t\tbreak\n\t\t\tcase 'between':\n\t\t\t\tjustifyClass = 'justify-between'\n\t\t\t\tbreak\n\t\t\tcase 'around':\n\t\t\t\tjustifyClass = 'justify-around'\n\t\t\t\tbreak\n\t\t\tcase 'evenly':\n\t\t\t\tjustifyClass = 'justify-evenly'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t}\n\n\t\t// Map align-content (if provided).\n\t\tlet contentClass = ''\n\t\tif (this.content) {\n\t\t\tswitch (this.content) {\n\t\t\t\tcase 'start':\n\t\t\t\t\tcontentClass = 'content-start'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'center':\n\t\t\t\t\tcontentClass = 'content-center'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'end':\n\t\t\t\t\tcontentClass = 'content-end'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'between':\n\t\t\t\t\tcontentClass = 'content-between'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'around':\n\t\t\t\t\tcontentClass = 'content-around'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'evenly':\n\t\t\t\t\tcontentClass = 'content-evenly'\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Map gap value.\n\t\tconst gapClass = this.gap === 'none' ? 'gap-0' : `gap-${this.gap}`\n\n\t\t// Build the complete list of classes.\n\t\tconst classes = [baseDisplay, directionClass, wrapClass, alignClass, justifyClass, contentClass, gapClass]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')\n\n\t\treturn html`\n\t\t\t<section class=${classes}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sch-flex': SchmancyFlexV2\n\t}\n}\n"],"names":["Layout","TailwindElement","constructor","super","arguments","this","layout","center","display","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","styles","_a","__decorateClass","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","firstUpdated","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css","hide","direction","debounce","options","scroller","scrollTo","behavior","updateScrollingStyles","updateLayoutContext","setAttribute","requestAnimationFrame","parent","parentElement","parentStyles","getComputedStyle","classList","remove","add","changedProperties","updated","has","passive","e","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","dispatchEvent","CustomEvent","detail","bubbles","composed","name","action","render","Number","SchmancyFlexV2","inline","baseDisplay","directionClass","wrapClass","alignClass","justifyClass","contentClass","join"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-D0e7hGXO.cjs","sources":["../../../node_modules/@lit-labs/virtualizer/layouts/shared/SizeCache.js","../../../node_modules/@lit-labs/virtualizer/layouts/shared/BaseLayout.js","../../../node_modules/@lit-labs/virtualizer/layouts/flow.js"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport class SizeCache {\n constructor(config) {\n this._map = new Map();\n this._roundAverageSize = false;\n this.totalSize = 0;\n if (config?.roundAverageSize === true) {\n this._roundAverageSize = true;\n }\n }\n set(index, value) {\n const prev = this._map.get(index) || 0;\n this._map.set(index, value);\n this.totalSize += value - prev;\n }\n get averageSize() {\n if (this._map.size > 0) {\n const average = this.totalSize / this._map.size;\n return this._roundAverageSize ? Math.round(average) : average;\n }\n return 0;\n }\n getSize(index) {\n return this._map.get(index);\n }\n clear() {\n this._map.clear();\n this.totalSize = 0;\n }\n}\n//# sourceMappingURL=SizeCache.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport function dim1(direction) {\n return direction === 'horizontal' ? 'width' : 'height';\n}\nexport function dim2(direction) {\n return direction === 'horizontal' ? 'height' : 'width';\n}\nexport function pos1(direction) {\n return direction === 'horizontal' ? 'left' : 'top';\n}\nexport function pos2(direction) {\n return direction === 'horizontal' ? 'top' : 'left';\n}\nexport class BaseLayout {\n _getDefaultConfig() {\n return {\n direction: 'vertical',\n };\n }\n constructor(hostSink, config) {\n /**\n * The last set viewport scroll position.\n */\n this._latestCoords = { left: 0, top: 0 };\n /**\n * Scrolling direction.\n */\n this._direction = null;\n /**\n * Dimensions of the viewport.\n */\n this._viewportSize = { width: 0, height: 0 };\n this.totalScrollSize = { width: 0, height: 0 };\n this.offsetWithinScroller = { left: 0, top: 0 };\n /**\n * Flag for debouncing asynchronous reflow requests.\n */\n this._pendingReflow = false;\n this._pendingLayoutUpdate = false;\n this._pin = null;\n /**\n * The index of the first item intersecting the viewport.\n */\n this._firstVisible = 0;\n /**\n * The index of the last item intersecting the viewport.\n */\n this._lastVisible = 0;\n /**\n * Pixel offset in the scroll direction of the first child.\n */\n this._physicalMin = 0;\n /**\n * Pixel offset in the scroll direction of the last child.\n */\n this._physicalMax = 0;\n /**\n * Index of the first child.\n */\n this._first = -1;\n /**\n * Index of the last child.\n */\n this._last = -1;\n /**\n * Length in the scrolling direction.\n */\n this._sizeDim = 'height';\n /**\n * Length in the non-scrolling direction.\n */\n this._secondarySizeDim = 'width';\n /**\n * Position in the scrolling direction.\n */\n this._positionDim = 'top';\n /**\n * Position in the non-scrolling direction.\n */\n this._secondaryPositionDim = 'left';\n /**\n * Current scroll offset in pixels.\n */\n this._scrollPosition = 0;\n /**\n * Difference between current scroll offset and scroll offset calculated due\n * to a reflow.\n */\n this._scrollError = 0;\n /**\n * Total number of items that could possibly be displayed. Used to help\n * calculate the scroll size.\n */\n this._items = [];\n /**\n * The total (estimated) length of all items in the scrolling direction.\n */\n this._scrollSize = 1;\n /**\n * Number of pixels beyond the viewport to still include\n * in the active range of items.\n */\n // TODO (graynorton): Probably want to make this something we calculate based\n // on viewport size, item size, other factors, possibly still with a dial of some kind\n this._overhang = 1000;\n this._hostSink = hostSink;\n // Delay setting config so that subclasses do setup work first\n Promise.resolve().then(() => (this.config = config || this._getDefaultConfig()));\n }\n set config(config) {\n Object.assign(this, Object.assign({}, this._getDefaultConfig(), config));\n }\n get config() {\n return {\n direction: this.direction,\n };\n }\n /**\n * Maximum index of children + 1, to help estimate total height of the scroll\n * space.\n */\n get items() {\n return this._items;\n }\n set items(items) {\n this._setItems(items);\n }\n _setItems(items) {\n if (items !== this._items) {\n this._items = items;\n this._scheduleReflow();\n }\n }\n /**\n * Primary scrolling direction.\n */\n get direction() {\n return this._direction;\n }\n set direction(dir) {\n // Force it to be either horizontal or vertical.\n dir = dir === 'horizontal' ? dir : 'vertical';\n if (dir !== this._direction) {\n this._direction = dir;\n this._sizeDim = dir === 'horizontal' ? 'width' : 'height';\n this._secondarySizeDim = dir === 'horizontal' ? 'height' : 'width';\n this._positionDim = dir === 'horizontal' ? 'left' : 'top';\n this._secondaryPositionDim = dir === 'horizontal' ? 'top' : 'left';\n this._triggerReflow();\n }\n }\n /**\n * Height and width of the viewport.\n */\n get viewportSize() {\n return this._viewportSize;\n }\n set viewportSize(dims) {\n const { _viewDim1, _viewDim2 } = this;\n Object.assign(this._viewportSize, dims);\n if (_viewDim2 !== this._viewDim2) {\n // this._viewDim2Changed();\n this._scheduleLayoutUpdate();\n }\n else if (_viewDim1 !== this._viewDim1) {\n this._checkThresholds();\n }\n }\n /**\n * Scroll offset of the viewport.\n */\n get viewportScroll() {\n return this._latestCoords;\n }\n set viewportScroll(coords) {\n Object.assign(this._latestCoords, coords);\n const oldPos = this._scrollPosition;\n this._scrollPosition = this._latestCoords[this._positionDim];\n const change = Math.abs(oldPos - this._scrollPosition);\n if (change >= 1) {\n this._checkThresholds();\n }\n }\n /**\n * Perform a reflow if one has been scheduled.\n */\n reflowIfNeeded(force = false) {\n if (force || this._pendingReflow) {\n this._pendingReflow = false;\n this._reflow();\n }\n }\n set pin(options) {\n this._pin = options;\n this._triggerReflow();\n }\n get pin() {\n if (this._pin !== null) {\n const { index, block } = this._pin;\n return {\n index: Math.max(0, Math.min(index, this.items.length - 1)),\n block,\n };\n }\n return null;\n }\n _clampScrollPosition(val) {\n return Math.max(-this.offsetWithinScroller[this._positionDim], Math.min(val, this.totalScrollSize[dim1(this.direction)] - this._viewDim1));\n }\n unpin() {\n if (this._pin !== null) {\n this._sendUnpinnedMessage();\n this._pin = null;\n }\n }\n _updateLayout() {\n // Override\n }\n // protected _viewDim2Changed(): void {\n // this._scheduleLayoutUpdate();\n // }\n /**\n * The height or width of the viewport, whichever corresponds to the scrolling direction.\n */\n get _viewDim1() {\n return this._viewportSize[this._sizeDim];\n }\n /**\n * The height or width of the viewport, whichever does NOT correspond to the scrolling direction.\n */\n get _viewDim2() {\n return this._viewportSize[this._secondarySizeDim];\n }\n _scheduleReflow() {\n this._pendingReflow = true;\n }\n _scheduleLayoutUpdate() {\n this._pendingLayoutUpdate = true;\n this._scheduleReflow();\n }\n // For triggering a reflow based on incoming changes to\n // the layout config.\n _triggerReflow() {\n this._scheduleLayoutUpdate();\n // TODO graynorton@: reflowIfNeeded() isn't really supposed\n // to be called internally. Address in larger cleanup\n // of virtualizer / layout interaction pattern.\n // this.reflowIfNeeded(true);\n Promise.resolve().then(() => this.reflowIfNeeded());\n }\n _reflow() {\n if (this._pendingLayoutUpdate) {\n this._updateLayout();\n this._pendingLayoutUpdate = false;\n }\n this._updateScrollSize();\n this._setPositionFromPin();\n this._getActiveItems();\n this._updateVisibleIndices();\n this._sendStateChangedMessage();\n }\n /**\n * If we are supposed to be pinned to a particular\n * item or set of coordinates, we set `_scrollPosition`\n * accordingly and adjust `_scrollError` as needed\n * so that the virtualizer can keep the scroll\n * position in the DOM in sync\n */\n _setPositionFromPin() {\n if (this.pin !== null) {\n const lastScrollPosition = this._scrollPosition;\n const { index, block } = this.pin;\n this._scrollPosition =\n this._calculateScrollIntoViewPosition({\n index,\n block: block || 'start',\n }) - this.offsetWithinScroller[this._positionDim];\n this._scrollError = lastScrollPosition - this._scrollPosition;\n }\n }\n /**\n * Calculate the coordinates to scroll to, given\n * a request to scroll to the element at a specific\n * index.\n *\n * Supports the same positioning options (`start`,\n * `center`, `end`, `nearest`) as the standard\n * `Element.scrollIntoView()` method, but currently\n * only considers the provided value in the `block`\n * dimension, since we don't yet have any layouts\n * that support virtualization in two dimensions.\n */\n _calculateScrollIntoViewPosition(options) {\n const { block } = options;\n const index = Math.min(this.items.length, Math.max(0, options.index));\n const itemStartPosition = this._getItemPosition(index)[this._positionDim];\n let scrollPosition = itemStartPosition;\n if (block !== 'start') {\n const itemSize = this._getItemSize(index)[this._sizeDim];\n if (block === 'center') {\n scrollPosition =\n itemStartPosition - 0.5 * this._viewDim1 + 0.5 * itemSize;\n }\n else {\n const itemEndPosition = itemStartPosition - this._viewDim1 + itemSize;\n if (block === 'end') {\n scrollPosition = itemEndPosition;\n }\n else {\n // block === 'nearest'\n const currentScrollPosition = this._scrollPosition;\n scrollPosition =\n Math.abs(currentScrollPosition - itemStartPosition) <\n Math.abs(currentScrollPosition - itemEndPosition)\n ? itemStartPosition\n : itemEndPosition;\n }\n }\n }\n scrollPosition += this.offsetWithinScroller[this._positionDim];\n return this._clampScrollPosition(scrollPosition);\n }\n getScrollIntoViewCoordinates(options) {\n return {\n [this._positionDim]: this._calculateScrollIntoViewPosition(options),\n };\n }\n _sendUnpinnedMessage() {\n this._hostSink({\n type: 'unpinned',\n });\n }\n _sendVisibilityChangedMessage() {\n this._hostSink({\n type: 'visibilityChanged',\n firstVisible: this._firstVisible,\n lastVisible: this._lastVisible,\n });\n }\n _sendStateChangedMessage() {\n const childPositions = new Map();\n if (this._first !== -1 && this._last !== -1) {\n for (let idx = this._first; idx <= this._last; idx++) {\n childPositions.set(idx, this._getItemPosition(idx));\n }\n }\n const message = {\n type: 'stateChanged',\n scrollSize: {\n [this._sizeDim]: this._scrollSize,\n [this._secondarySizeDim]: null,\n },\n range: {\n first: this._first,\n last: this._last,\n firstVisible: this._firstVisible,\n lastVisible: this._lastVisible,\n },\n childPositions,\n };\n if (this._scrollError) {\n message.scrollError = {\n [this._positionDim]: this._scrollError,\n [this._secondaryPositionDim]: 0,\n };\n this._scrollError = 0;\n }\n this._hostSink(message);\n }\n /**\n * Number of items to display.\n */\n get _num() {\n if (this._first === -1 || this._last === -1) {\n return 0;\n }\n return this._last - this._first + 1;\n }\n _checkThresholds() {\n if ((this._viewDim1 === 0 && this._num > 0) || this._pin !== null) {\n this._scheduleReflow();\n }\n else {\n const min = Math.max(0, this._scrollPosition - this._overhang);\n const max = Math.min(this._scrollSize, this._scrollPosition + this._viewDim1 + this._overhang);\n if (this._physicalMin > min || this._physicalMax < max) {\n this._scheduleReflow();\n }\n else {\n this._updateVisibleIndices({ emit: true });\n }\n }\n }\n /**\n * Find the indices of the first and last items to intersect the viewport.\n * Emit a visibleindiceschange event when either index changes.\n */\n _updateVisibleIndices(options) {\n if (this._first === -1 || this._last === -1)\n return;\n let firstVisible = this._first;\n while (firstVisible < this._last &&\n Math.round(this._getItemPosition(firstVisible)[this._positionDim] +\n this._getItemSize(firstVisible)[this._sizeDim]) <= Math.round(this._scrollPosition)) {\n firstVisible++;\n }\n let lastVisible = this._last;\n while (lastVisible > this._first &&\n Math.round(this._getItemPosition(lastVisible)[this._positionDim]) >=\n Math.round(this._scrollPosition + this._viewDim1)) {\n lastVisible--;\n }\n if (firstVisible !== this._firstVisible ||\n lastVisible !== this._lastVisible) {\n this._firstVisible = firstVisible;\n this._lastVisible = lastVisible;\n if (options && options.emit) {\n this._sendVisibilityChangedMessage();\n }\n }\n }\n}\n//# sourceMappingURL=BaseLayout.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { SizeCache } from './shared/SizeCache.js';\nimport { BaseLayout, dim1 } from './shared/BaseLayout.js';\nexport const flow = (config) => Object.assign({\n type: FlowLayout,\n}, config);\nfunction leadingMargin(direction) {\n return direction === 'horizontal' ? 'marginLeft' : 'marginTop';\n}\nfunction trailingMargin(direction) {\n return direction === 'horizontal' ? 'marginRight' : 'marginBottom';\n}\nfunction offset(direction) {\n return direction === 'horizontal' ? 'xOffset' : 'yOffset';\n}\nfunction collapseMargins(a, b) {\n const m = [a, b].sort();\n return m[1] <= 0 ? Math.min(...m) : m[0] >= 0 ? Math.max(...m) : m[0] + m[1];\n}\nclass MetricsCache {\n constructor() {\n this._childSizeCache = new SizeCache();\n this._marginSizeCache = new SizeCache();\n this._metricsCache = new Map();\n }\n update(metrics, direction) {\n const marginsToUpdate = new Set();\n Object.keys(metrics).forEach((key) => {\n const k = Number(key);\n this._metricsCache.set(k, metrics[k]);\n this._childSizeCache.set(k, metrics[k][dim1(direction)]);\n marginsToUpdate.add(k);\n marginsToUpdate.add(k + 1);\n });\n for (const k of marginsToUpdate) {\n const a = this._metricsCache.get(k)?.[leadingMargin(direction)] || 0;\n const b = this._metricsCache.get(k - 1)?.[trailingMargin(direction)] || 0;\n this._marginSizeCache.set(k, collapseMargins(a, b));\n }\n }\n get averageChildSize() {\n return this._childSizeCache.averageSize;\n }\n get totalChildSize() {\n return this._childSizeCache.totalSize;\n }\n get averageMarginSize() {\n return this._marginSizeCache.averageSize;\n }\n get totalMarginSize() {\n return this._marginSizeCache.totalSize;\n }\n getLeadingMarginValue(index, direction) {\n return this._metricsCache.get(index)?.[leadingMargin(direction)] || 0;\n }\n getChildSize(index) {\n return this._childSizeCache.getSize(index);\n }\n getMarginSize(index) {\n return this._marginSizeCache.getSize(index);\n }\n clear() {\n this._childSizeCache.clear();\n this._marginSizeCache.clear();\n this._metricsCache.clear();\n }\n}\nexport class FlowLayout extends BaseLayout {\n constructor() {\n super(...arguments);\n /**\n * Initial estimate of item size\n */\n this._itemSize = { width: 100, height: 100 };\n /**\n * Indices of children mapped to their (position and length) in the scrolling\n * direction. Used to keep track of children that are in range.\n */\n this._physicalItems = new Map();\n /**\n * Used in tandem with _physicalItems to track children in range across\n * reflows.\n */\n this._newPhysicalItems = new Map();\n /**\n * Width and height of children by their index.\n */\n this._metricsCache = new MetricsCache();\n /**\n * anchorIdx is the anchor around which we reflow. It is designed to allow\n * jumping to any point of the scroll size. We choose it once and stick with\n * it until stable. _first and _last are deduced around it.\n */\n this._anchorIdx = null;\n /**\n * Position in the scrolling direction of the anchor child.\n */\n this._anchorPos = null;\n /**\n * Whether all children in range were in range during the previous reflow.\n */\n this._stable = true;\n this._measureChildren = true;\n this._estimate = true;\n }\n // protected _defaultConfig: BaseLayoutConfig = Object.assign({}, super._defaultConfig, {\n // })\n // constructor(config: Layout1dConfig) {\n // super(config);\n // }\n get measureChildren() {\n return this._measureChildren;\n }\n /**\n * Determine the average size of all children represented in the sizes\n * argument.\n */\n updateItemSizes(sizes) {\n this._metricsCache.update(sizes, this.direction);\n // if (this._nMeasured) {\n // this._updateItemSize();\n this._scheduleReflow();\n // }\n }\n /**\n * Set the average item size based on the total length and number of children\n * in range.\n */\n // _updateItemSize() {\n // // Keep integer values.\n // this._itemSize[this._sizeDim] = this._metricsCache.averageChildSize;\n // }\n _getPhysicalItem(idx) {\n return this._newPhysicalItems.get(idx) ?? this._physicalItems.get(idx);\n }\n _getSize(idx) {\n const item = this._getPhysicalItem(idx);\n return item && this._metricsCache.getChildSize(idx);\n }\n _getAverageSize() {\n return this._metricsCache.averageChildSize || this._itemSize[this._sizeDim];\n }\n _estimatePosition(idx) {\n const c = this._metricsCache;\n if (this._first === -1 || this._last === -1) {\n return (c.averageMarginSize +\n idx * (c.averageMarginSize + this._getAverageSize()));\n }\n else {\n if (idx < this._first) {\n const delta = this._first - idx;\n const refItem = this._getPhysicalItem(this._first);\n return (refItem.pos -\n (c.getMarginSize(this._first - 1) || c.averageMarginSize) -\n (delta * c.averageChildSize + (delta - 1) * c.averageMarginSize));\n }\n else {\n const delta = idx - this._last;\n const refItem = this._getPhysicalItem(this._last);\n return (refItem.pos +\n (c.getChildSize(this._last) || c.averageChildSize) +\n (c.getMarginSize(this._last) || c.averageMarginSize) +\n delta * (c.averageChildSize + c.averageMarginSize));\n }\n }\n }\n /**\n * Returns the position in the scrolling direction of the item at idx.\n * Estimates it if the item at idx is not in the DOM.\n */\n _getPosition(idx) {\n const item = this._getPhysicalItem(idx);\n const { averageMarginSize } = this._metricsCache;\n return idx === 0\n ? this._metricsCache.getMarginSize(0) ?? averageMarginSize\n : item\n ? item.pos\n : this._estimatePosition(idx);\n }\n _calculateAnchor(lower, upper) {\n if (lower <= 0) {\n return 0;\n }\n if (upper > this._scrollSize - this._viewDim1) {\n return this.items.length - 1;\n }\n return Math.max(0, Math.min(this.items.length - 1, Math.floor((lower + upper) / 2 / this._delta)));\n }\n _getAnchor(lower, upper) {\n if (this._physicalItems.size === 0) {\n return this._calculateAnchor(lower, upper);\n }\n if (this._first < 0) {\n return this._calculateAnchor(lower, upper);\n }\n if (this._last < 0) {\n return this._calculateAnchor(lower, upper);\n }\n const firstItem = this._getPhysicalItem(this._first), lastItem = this._getPhysicalItem(this._last), firstMin = firstItem.pos, lastMin = lastItem.pos, lastMax = lastMin + this._metricsCache.getChildSize(this._last);\n if (lastMax < lower) {\n // Window is entirely past physical items, calculate new anchor\n return this._calculateAnchor(lower, upper);\n }\n if (firstMin > upper) {\n // Window is entirely before physical items, calculate new anchor\n return this._calculateAnchor(lower, upper);\n }\n // Window contains a physical item\n // Find one, starting with the one that was previously first visible\n let candidateIdx = this._firstVisible - 1;\n let cMax = -Infinity;\n while (cMax < lower) {\n const candidate = this._getPhysicalItem(++candidateIdx);\n cMax = candidate.pos + this._metricsCache.getChildSize(candidateIdx);\n }\n return candidateIdx;\n }\n /**\n * Updates _first and _last based on items that should be in the current\n * viewed range.\n */\n _getActiveItems() {\n if (this._viewDim1 === 0 || this.items.length === 0) {\n this._clearItems();\n }\n else {\n this._getItems();\n }\n }\n /**\n * Sets the range to empty.\n */\n _clearItems() {\n this._first = -1;\n this._last = -1;\n this._physicalMin = 0;\n this._physicalMax = 0;\n const items = this._newPhysicalItems;\n this._newPhysicalItems = this._physicalItems;\n this._newPhysicalItems.clear();\n this._physicalItems = items;\n this._stable = true;\n }\n /*\n * Updates _first and _last based on items that should be in the given range.\n */\n _getItems() {\n const items = this._newPhysicalItems;\n this._stable = true;\n let lower, upper;\n // The anchorIdx is the anchor around which we reflow. It is designed to\n // allow jumping to any point of the scroll size. We choose it once and\n // stick with it until stable. first and last are deduced around it.\n // If we have a pinned item, we anchor on it\n if (this.pin !== null) {\n const { index } = this.pin;\n this._anchorIdx = index;\n this._anchorPos = this._getPosition(index);\n }\n // Determine the lower and upper bounds of the region to be\n // rendered, relative to the viewport\n lower = this._scrollPosition - this._overhang; //leadingOverhang;\n upper = this._scrollPosition + this._viewDim1 + this._overhang; // trailingOverhang;\n if (upper < 0 || lower > this._scrollSize) {\n this._clearItems();\n return;\n }\n // If we are scrolling to a specific index or if we are doing another\n // pass to stabilize a previously started reflow, we will already\n // have an anchor. If not, establish an anchor now.\n if (this._anchorIdx === null || this._anchorPos === null) {\n this._anchorIdx = this._getAnchor(lower, upper);\n this._anchorPos = this._getPosition(this._anchorIdx);\n }\n let anchorSize = this._getSize(this._anchorIdx);\n if (anchorSize === undefined) {\n this._stable = false;\n anchorSize = this._getAverageSize();\n }\n const anchorLeadingMargin = this._metricsCache.getMarginSize(this._anchorIdx) ??\n this._metricsCache.averageMarginSize;\n const anchorTrailingMargin = this._metricsCache.getMarginSize(this._anchorIdx + 1) ??\n this._metricsCache.averageMarginSize;\n if (this._anchorIdx === 0) {\n this._anchorPos = anchorLeadingMargin;\n }\n if (this._anchorIdx === this.items.length - 1) {\n this._anchorPos = this._scrollSize - anchorTrailingMargin - anchorSize;\n }\n // Anchor might be outside bounds, so prefer correcting the error and keep\n // that anchorIdx.\n let anchorErr = 0;\n if (this._anchorPos + anchorSize + anchorTrailingMargin < lower) {\n anchorErr = lower - (this._anchorPos + anchorSize + anchorTrailingMargin);\n }\n if (this._anchorPos - anchorLeadingMargin > upper) {\n anchorErr = upper - (this._anchorPos - anchorLeadingMargin);\n }\n if (anchorErr) {\n this._scrollPosition -= anchorErr;\n lower -= anchorErr;\n upper -= anchorErr;\n this._scrollError += anchorErr;\n }\n items.set(this._anchorIdx, { pos: this._anchorPos, size: anchorSize });\n this._first = this._last = this._anchorIdx;\n this._physicalMin = this._anchorPos - anchorLeadingMargin;\n this._physicalMax = this._anchorPos + anchorSize + anchorTrailingMargin;\n while (this._physicalMin > lower && this._first > 0) {\n let size = this._getSize(--this._first);\n if (size === undefined) {\n this._stable = false;\n size = this._getAverageSize();\n }\n let margin = this._metricsCache.getMarginSize(this._first);\n if (margin === undefined) {\n this._stable = false;\n margin = this._metricsCache.averageMarginSize;\n }\n this._physicalMin -= size;\n const pos = this._physicalMin;\n items.set(this._first, { pos, size });\n this._physicalMin -= margin;\n if (this._stable === false && this._estimate === false) {\n break;\n }\n }\n while (this._physicalMax < upper && this._last < this.items.length - 1) {\n let size = this._getSize(++this._last);\n if (size === undefined) {\n this._stable = false;\n size = this._getAverageSize();\n }\n let margin = this._metricsCache.getMarginSize(this._last);\n if (margin === undefined) {\n this._stable = false;\n margin = this._metricsCache.averageMarginSize;\n }\n const pos = this._physicalMax;\n items.set(this._last, { pos, size });\n this._physicalMax += size + margin;\n if (!this._stable && !this._estimate) {\n break;\n }\n }\n // This handles the cases where we were relying on estimated sizes.\n const extentErr = this._calculateError();\n if (extentErr) {\n this._physicalMin -= extentErr;\n this._physicalMax -= extentErr;\n this._anchorPos -= extentErr;\n this._scrollPosition -= extentErr;\n items.forEach((item) => (item.pos -= extentErr));\n this._scrollError += extentErr;\n }\n if (this._stable) {\n this._newPhysicalItems = this._physicalItems;\n this._newPhysicalItems.clear();\n this._physicalItems = items;\n }\n }\n _calculateError() {\n if (this._first === 0) {\n return this._physicalMin;\n }\n else if (this._physicalMin <= 0) {\n return this._physicalMin - this._first * this._delta;\n }\n else if (this._last === this.items.length - 1) {\n return this._physicalMax - this._scrollSize;\n }\n else if (this._physicalMax >= this._scrollSize) {\n return (this._physicalMax -\n this._scrollSize +\n (this.items.length - 1 - this._last) * this._delta);\n }\n return 0;\n }\n _reflow() {\n const { _first, _last } = this;\n super._reflow();\n if ((this._first === -1 && this._last == -1) ||\n (this._first === _first && this._last === _last)) {\n this._resetReflowState();\n }\n }\n _resetReflowState() {\n this._anchorIdx = null;\n this._anchorPos = null;\n this._stable = true;\n }\n _updateScrollSize() {\n const { averageMarginSize } = this._metricsCache;\n this._scrollSize = Math.max(1, this.items.length * (averageMarginSize + this._getAverageSize()) +\n averageMarginSize);\n }\n /**\n * Returns the average size (precise or estimated) of an item in the scrolling direction,\n * including any surrounding space.\n */\n get _delta() {\n const { averageMarginSize } = this._metricsCache;\n return this._getAverageSize() + averageMarginSize;\n }\n /**\n * Returns the top and left positioning of the item at idx.\n */\n _getItemPosition(idx) {\n return {\n [this._positionDim]: this._getPosition(idx),\n [this._secondaryPositionDim]: 0,\n [offset(this.direction)]: -(this._metricsCache.getLeadingMarginValue(idx, this.direction) ??\n this._metricsCache.averageMarginSize),\n };\n }\n /**\n * Returns the height and width of the item at idx.\n */\n _getItemSize(idx) {\n return {\n [this._sizeDim]: this._getSize(idx) || this._getAverageSize(),\n [this._secondarySizeDim]: this._itemSize[this._secondarySizeDim],\n };\n }\n _viewDim2Changed() {\n this._metricsCache.clear();\n this._scheduleReflow();\n }\n}\n//# sourceMappingURL=flow.js.map"],"names":["SizeCache","config","this","_map","Map","_roundAverageSize","totalSize","roundAverageSize","index","value","prev","get","set","averageSize","size","average","Math","round","clear","dim1","direction","BaseLayout","_getDefaultConfig","hostSink","_latestCoords","left","top","_direction","_viewportSize","width","height","totalScrollSize","offsetWithinScroller","_pendingReflow","_pendingLayoutUpdate","_pin","_firstVisible","_lastVisible","_physicalMin","_physicalMax","_first","_last","_sizeDim","_secondarySizeDim","_positionDim","_secondaryPositionDim","_scrollPosition","_scrollError","_items","_scrollSize","_overhang","_hostSink","Promise","resolve","then","Object","assign","items","_setItems","_scheduleReflow","dir","_triggerReflow","viewportSize","dims","_viewDim1","_viewDim2","_scheduleLayoutUpdate","_checkThresholds","viewportScroll","coords","oldPos","abs","force","_reflow","options","pin","block","max","min","length","val","unpin","_sendUnpinnedMessage","_updateLayout","reflowIfNeeded","_updateScrollSize","_setPositionFromPin","_getActiveItems","_updateVisibleIndices","_sendStateChangedMessage","lastScrollPosition","_calculateScrollIntoViewPosition","itemStartPosition","_getItemPosition","scrollPosition","itemSize","_getItemSize","itemEndPosition","currentScrollPosition","_clampScrollPosition","type","_sendVisibilityChangedMessage","firstVisible","lastVisible","childPositions","idx","message","scrollSize","range","first","last","scrollError","_num","emit","leadingMargin","trailingMargin","offset","collapseMargins","a","b","m","sort","MetricsCache","constructor","_childSizeCache","_marginSizeCache","_metricsCache","metrics","marginsToUpdate","Set","keys","forEach","key","k","Number","add","averageChildSize","totalChildSize","averageMarginSize","totalMarginSize","getSize","super","arguments","_itemSize","_physicalItems","_newPhysicalItems","_anchorIdx","_anchorPos","_stable","_measureChildren","_estimate","measureChildren","sizes","update","_getPhysicalItem","getChildSize","_getAverageSize","c","delta","pos","getMarginSize","item","_estimatePosition","lower","upper","floor","_delta","_calculateAnchor","firstItem","lastItem","firstMin","candidateIdx","cMax","_clearItems","_getItems","_getPosition","_getAnchor","anchorSize","_getSize","anchorLeadingMargin","anchorTrailingMargin","anchorErr","margin","extentErr","_calculateError","_resetReflowState","getLeadingMarginValue","_viewDim2Changed"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"flow-D0e7hGXO.cjs","sources":["../node_modules/@lit-labs/virtualizer/layouts/shared/SizeCache.js","../node_modules/@lit-labs/virtualizer/layouts/shared/BaseLayout.js","../node_modules/@lit-labs/virtualizer/layouts/flow.js"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport class SizeCache {\n constructor(config) {\n this._map = new Map();\n this._roundAverageSize = false;\n this.totalSize = 0;\n if (config?.roundAverageSize === true) {\n this._roundAverageSize = true;\n }\n }\n set(index, value) {\n const prev = this._map.get(index) || 0;\n this._map.set(index, value);\n this.totalSize += value - prev;\n }\n get averageSize() {\n if (this._map.size > 0) {\n const average = this.totalSize / this._map.size;\n return this._roundAverageSize ? Math.round(average) : average;\n }\n return 0;\n }\n getSize(index) {\n return this._map.get(index);\n }\n clear() {\n this._map.clear();\n this.totalSize = 0;\n }\n}\n//# sourceMappingURL=SizeCache.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport function dim1(direction) {\n return direction === 'horizontal' ? 'width' : 'height';\n}\nexport function dim2(direction) {\n return direction === 'horizontal' ? 'height' : 'width';\n}\nexport function pos1(direction) {\n return direction === 'horizontal' ? 'left' : 'top';\n}\nexport function pos2(direction) {\n return direction === 'horizontal' ? 'top' : 'left';\n}\nexport class BaseLayout {\n _getDefaultConfig() {\n return {\n direction: 'vertical',\n };\n }\n constructor(hostSink, config) {\n /**\n * The last set viewport scroll position.\n */\n this._latestCoords = { left: 0, top: 0 };\n /**\n * Scrolling direction.\n */\n this._direction = null;\n /**\n * Dimensions of the viewport.\n */\n this._viewportSize = { width: 0, height: 0 };\n this.totalScrollSize = { width: 0, height: 0 };\n this.offsetWithinScroller = { left: 0, top: 0 };\n /**\n * Flag for debouncing asynchronous reflow requests.\n */\n this._pendingReflow = false;\n this._pendingLayoutUpdate = false;\n this._pin = null;\n /**\n * The index of the first item intersecting the viewport.\n */\n this._firstVisible = 0;\n /**\n * The index of the last item intersecting the viewport.\n */\n this._lastVisible = 0;\n /**\n * Pixel offset in the scroll direction of the first child.\n */\n this._physicalMin = 0;\n /**\n * Pixel offset in the scroll direction of the last child.\n */\n this._physicalMax = 0;\n /**\n * Index of the first child.\n */\n this._first = -1;\n /**\n * Index of the last child.\n */\n this._last = -1;\n /**\n * Length in the scrolling direction.\n */\n this._sizeDim = 'height';\n /**\n * Length in the non-scrolling direction.\n */\n this._secondarySizeDim = 'width';\n /**\n * Position in the scrolling direction.\n */\n this._positionDim = 'top';\n /**\n * Position in the non-scrolling direction.\n */\n this._secondaryPositionDim = 'left';\n /**\n * Current scroll offset in pixels.\n */\n this._scrollPosition = 0;\n /**\n * Difference between current scroll offset and scroll offset calculated due\n * to a reflow.\n */\n this._scrollError = 0;\n /**\n * Total number of items that could possibly be displayed. Used to help\n * calculate the scroll size.\n */\n this._items = [];\n /**\n * The total (estimated) length of all items in the scrolling direction.\n */\n this._scrollSize = 1;\n /**\n * Number of pixels beyond the viewport to still include\n * in the active range of items.\n */\n // TODO (graynorton): Probably want to make this something we calculate based\n // on viewport size, item size, other factors, possibly still with a dial of some kind\n this._overhang = 1000;\n this._hostSink = hostSink;\n // Delay setting config so that subclasses do setup work first\n Promise.resolve().then(() => (this.config = config || this._getDefaultConfig()));\n }\n set config(config) {\n Object.assign(this, Object.assign({}, this._getDefaultConfig(), config));\n }\n get config() {\n return {\n direction: this.direction,\n };\n }\n /**\n * Maximum index of children + 1, to help estimate total height of the scroll\n * space.\n */\n get items() {\n return this._items;\n }\n set items(items) {\n this._setItems(items);\n }\n _setItems(items) {\n if (items !== this._items) {\n this._items = items;\n this._scheduleReflow();\n }\n }\n /**\n * Primary scrolling direction.\n */\n get direction() {\n return this._direction;\n }\n set direction(dir) {\n // Force it to be either horizontal or vertical.\n dir = dir === 'horizontal' ? dir : 'vertical';\n if (dir !== this._direction) {\n this._direction = dir;\n this._sizeDim = dir === 'horizontal' ? 'width' : 'height';\n this._secondarySizeDim = dir === 'horizontal' ? 'height' : 'width';\n this._positionDim = dir === 'horizontal' ? 'left' : 'top';\n this._secondaryPositionDim = dir === 'horizontal' ? 'top' : 'left';\n this._triggerReflow();\n }\n }\n /**\n * Height and width of the viewport.\n */\n get viewportSize() {\n return this._viewportSize;\n }\n set viewportSize(dims) {\n const { _viewDim1, _viewDim2 } = this;\n Object.assign(this._viewportSize, dims);\n if (_viewDim2 !== this._viewDim2) {\n // this._viewDim2Changed();\n this._scheduleLayoutUpdate();\n }\n else if (_viewDim1 !== this._viewDim1) {\n this._checkThresholds();\n }\n }\n /**\n * Scroll offset of the viewport.\n */\n get viewportScroll() {\n return this._latestCoords;\n }\n set viewportScroll(coords) {\n Object.assign(this._latestCoords, coords);\n const oldPos = this._scrollPosition;\n this._scrollPosition = this._latestCoords[this._positionDim];\n const change = Math.abs(oldPos - this._scrollPosition);\n if (change >= 1) {\n this._checkThresholds();\n }\n }\n /**\n * Perform a reflow if one has been scheduled.\n */\n reflowIfNeeded(force = false) {\n if (force || this._pendingReflow) {\n this._pendingReflow = false;\n this._reflow();\n }\n }\n set pin(options) {\n this._pin = options;\n this._triggerReflow();\n }\n get pin() {\n if (this._pin !== null) {\n const { index, block } = this._pin;\n return {\n index: Math.max(0, Math.min(index, this.items.length - 1)),\n block,\n };\n }\n return null;\n }\n _clampScrollPosition(val) {\n return Math.max(-this.offsetWithinScroller[this._positionDim], Math.min(val, this.totalScrollSize[dim1(this.direction)] - this._viewDim1));\n }\n unpin() {\n if (this._pin !== null) {\n this._sendUnpinnedMessage();\n this._pin = null;\n }\n }\n _updateLayout() {\n // Override\n }\n // protected _viewDim2Changed(): void {\n // this._scheduleLayoutUpdate();\n // }\n /**\n * The height or width of the viewport, whichever corresponds to the scrolling direction.\n */\n get _viewDim1() {\n return this._viewportSize[this._sizeDim];\n }\n /**\n * The height or width of the viewport, whichever does NOT correspond to the scrolling direction.\n */\n get _viewDim2() {\n return this._viewportSize[this._secondarySizeDim];\n }\n _scheduleReflow() {\n this._pendingReflow = true;\n }\n _scheduleLayoutUpdate() {\n this._pendingLayoutUpdate = true;\n this._scheduleReflow();\n }\n // For triggering a reflow based on incoming changes to\n // the layout config.\n _triggerReflow() {\n this._scheduleLayoutUpdate();\n // TODO graynorton@: reflowIfNeeded() isn't really supposed\n // to be called internally. Address in larger cleanup\n // of virtualizer / layout interaction pattern.\n // this.reflowIfNeeded(true);\n Promise.resolve().then(() => this.reflowIfNeeded());\n }\n _reflow() {\n if (this._pendingLayoutUpdate) {\n this._updateLayout();\n this._pendingLayoutUpdate = false;\n }\n this._updateScrollSize();\n this._setPositionFromPin();\n this._getActiveItems();\n this._updateVisibleIndices();\n this._sendStateChangedMessage();\n }\n /**\n * If we are supposed to be pinned to a particular\n * item or set of coordinates, we set `_scrollPosition`\n * accordingly and adjust `_scrollError` as needed\n * so that the virtualizer can keep the scroll\n * position in the DOM in sync\n */\n _setPositionFromPin() {\n if (this.pin !== null) {\n const lastScrollPosition = this._scrollPosition;\n const { index, block } = this.pin;\n this._scrollPosition =\n this._calculateScrollIntoViewPosition({\n index,\n block: block || 'start',\n }) - this.offsetWithinScroller[this._positionDim];\n this._scrollError = lastScrollPosition - this._scrollPosition;\n }\n }\n /**\n * Calculate the coordinates to scroll to, given\n * a request to scroll to the element at a specific\n * index.\n *\n * Supports the same positioning options (`start`,\n * `center`, `end`, `nearest`) as the standard\n * `Element.scrollIntoView()` method, but currently\n * only considers the provided value in the `block`\n * dimension, since we don't yet have any layouts\n * that support virtualization in two dimensions.\n */\n _calculateScrollIntoViewPosition(options) {\n const { block } = options;\n const index = Math.min(this.items.length, Math.max(0, options.index));\n const itemStartPosition = this._getItemPosition(index)[this._positionDim];\n let scrollPosition = itemStartPosition;\n if (block !== 'start') {\n const itemSize = this._getItemSize(index)[this._sizeDim];\n if (block === 'center') {\n scrollPosition =\n itemStartPosition - 0.5 * this._viewDim1 + 0.5 * itemSize;\n }\n else {\n const itemEndPosition = itemStartPosition - this._viewDim1 + itemSize;\n if (block === 'end') {\n scrollPosition = itemEndPosition;\n }\n else {\n // block === 'nearest'\n const currentScrollPosition = this._scrollPosition;\n scrollPosition =\n Math.abs(currentScrollPosition - itemStartPosition) <\n Math.abs(currentScrollPosition - itemEndPosition)\n ? itemStartPosition\n : itemEndPosition;\n }\n }\n }\n scrollPosition += this.offsetWithinScroller[this._positionDim];\n return this._clampScrollPosition(scrollPosition);\n }\n getScrollIntoViewCoordinates(options) {\n return {\n [this._positionDim]: this._calculateScrollIntoViewPosition(options),\n };\n }\n _sendUnpinnedMessage() {\n this._hostSink({\n type: 'unpinned',\n });\n }\n _sendVisibilityChangedMessage() {\n this._hostSink({\n type: 'visibilityChanged',\n firstVisible: this._firstVisible,\n lastVisible: this._lastVisible,\n });\n }\n _sendStateChangedMessage() {\n const childPositions = new Map();\n if (this._first !== -1 && this._last !== -1) {\n for (let idx = this._first; idx <= this._last; idx++) {\n childPositions.set(idx, this._getItemPosition(idx));\n }\n }\n const message = {\n type: 'stateChanged',\n scrollSize: {\n [this._sizeDim]: this._scrollSize,\n [this._secondarySizeDim]: null,\n },\n range: {\n first: this._first,\n last: this._last,\n firstVisible: this._firstVisible,\n lastVisible: this._lastVisible,\n },\n childPositions,\n };\n if (this._scrollError) {\n message.scrollError = {\n [this._positionDim]: this._scrollError,\n [this._secondaryPositionDim]: 0,\n };\n this._scrollError = 0;\n }\n this._hostSink(message);\n }\n /**\n * Number of items to display.\n */\n get _num() {\n if (this._first === -1 || this._last === -1) {\n return 0;\n }\n return this._last - this._first + 1;\n }\n _checkThresholds() {\n if ((this._viewDim1 === 0 && this._num > 0) || this._pin !== null) {\n this._scheduleReflow();\n }\n else {\n const min = Math.max(0, this._scrollPosition - this._overhang);\n const max = Math.min(this._scrollSize, this._scrollPosition + this._viewDim1 + this._overhang);\n if (this._physicalMin > min || this._physicalMax < max) {\n this._scheduleReflow();\n }\n else {\n this._updateVisibleIndices({ emit: true });\n }\n }\n }\n /**\n * Find the indices of the first and last items to intersect the viewport.\n * Emit a visibleindiceschange event when either index changes.\n */\n _updateVisibleIndices(options) {\n if (this._first === -1 || this._last === -1)\n return;\n let firstVisible = this._first;\n while (firstVisible < this._last &&\n Math.round(this._getItemPosition(firstVisible)[this._positionDim] +\n this._getItemSize(firstVisible)[this._sizeDim]) <= Math.round(this._scrollPosition)) {\n firstVisible++;\n }\n let lastVisible = this._last;\n while (lastVisible > this._first &&\n Math.round(this._getItemPosition(lastVisible)[this._positionDim]) >=\n Math.round(this._scrollPosition + this._viewDim1)) {\n lastVisible--;\n }\n if (firstVisible !== this._firstVisible ||\n lastVisible !== this._lastVisible) {\n this._firstVisible = firstVisible;\n this._lastVisible = lastVisible;\n if (options && options.emit) {\n this._sendVisibilityChangedMessage();\n }\n }\n }\n}\n//# sourceMappingURL=BaseLayout.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { SizeCache } from './shared/SizeCache.js';\nimport { BaseLayout, dim1 } from './shared/BaseLayout.js';\nexport const flow = (config) => Object.assign({\n type: FlowLayout,\n}, config);\nfunction leadingMargin(direction) {\n return direction === 'horizontal' ? 'marginLeft' : 'marginTop';\n}\nfunction trailingMargin(direction) {\n return direction === 'horizontal' ? 'marginRight' : 'marginBottom';\n}\nfunction offset(direction) {\n return direction === 'horizontal' ? 'xOffset' : 'yOffset';\n}\nfunction collapseMargins(a, b) {\n const m = [a, b].sort();\n return m[1] <= 0 ? Math.min(...m) : m[0] >= 0 ? Math.max(...m) : m[0] + m[1];\n}\nclass MetricsCache {\n constructor() {\n this._childSizeCache = new SizeCache();\n this._marginSizeCache = new SizeCache();\n this._metricsCache = new Map();\n }\n update(metrics, direction) {\n const marginsToUpdate = new Set();\n Object.keys(metrics).forEach((key) => {\n const k = Number(key);\n this._metricsCache.set(k, metrics[k]);\n this._childSizeCache.set(k, metrics[k][dim1(direction)]);\n marginsToUpdate.add(k);\n marginsToUpdate.add(k + 1);\n });\n for (const k of marginsToUpdate) {\n const a = this._metricsCache.get(k)?.[leadingMargin(direction)] || 0;\n const b = this._metricsCache.get(k - 1)?.[trailingMargin(direction)] || 0;\n this._marginSizeCache.set(k, collapseMargins(a, b));\n }\n }\n get averageChildSize() {\n return this._childSizeCache.averageSize;\n }\n get totalChildSize() {\n return this._childSizeCache.totalSize;\n }\n get averageMarginSize() {\n return this._marginSizeCache.averageSize;\n }\n get totalMarginSize() {\n return this._marginSizeCache.totalSize;\n }\n getLeadingMarginValue(index, direction) {\n return this._metricsCache.get(index)?.[leadingMargin(direction)] || 0;\n }\n getChildSize(index) {\n return this._childSizeCache.getSize(index);\n }\n getMarginSize(index) {\n return this._marginSizeCache.getSize(index);\n }\n clear() {\n this._childSizeCache.clear();\n this._marginSizeCache.clear();\n this._metricsCache.clear();\n }\n}\nexport class FlowLayout extends BaseLayout {\n constructor() {\n super(...arguments);\n /**\n * Initial estimate of item size\n */\n this._itemSize = { width: 100, height: 100 };\n /**\n * Indices of children mapped to their (position and length) in the scrolling\n * direction. Used to keep track of children that are in range.\n */\n this._physicalItems = new Map();\n /**\n * Used in tandem with _physicalItems to track children in range across\n * reflows.\n */\n this._newPhysicalItems = new Map();\n /**\n * Width and height of children by their index.\n */\n this._metricsCache = new MetricsCache();\n /**\n * anchorIdx is the anchor around which we reflow. It is designed to allow\n * jumping to any point of the scroll size. We choose it once and stick with\n * it until stable. _first and _last are deduced around it.\n */\n this._anchorIdx = null;\n /**\n * Position in the scrolling direction of the anchor child.\n */\n this._anchorPos = null;\n /**\n * Whether all children in range were in range during the previous reflow.\n */\n this._stable = true;\n this._measureChildren = true;\n this._estimate = true;\n }\n // protected _defaultConfig: BaseLayoutConfig = Object.assign({}, super._defaultConfig, {\n // })\n // constructor(config: Layout1dConfig) {\n // super(config);\n // }\n get measureChildren() {\n return this._measureChildren;\n }\n /**\n * Determine the average size of all children represented in the sizes\n * argument.\n */\n updateItemSizes(sizes) {\n this._metricsCache.update(sizes, this.direction);\n // if (this._nMeasured) {\n // this._updateItemSize();\n this._scheduleReflow();\n // }\n }\n /**\n * Set the average item size based on the total length and number of children\n * in range.\n */\n // _updateItemSize() {\n // // Keep integer values.\n // this._itemSize[this._sizeDim] = this._metricsCache.averageChildSize;\n // }\n _getPhysicalItem(idx) {\n return this._newPhysicalItems.get(idx) ?? this._physicalItems.get(idx);\n }\n _getSize(idx) {\n const item = this._getPhysicalItem(idx);\n return item && this._metricsCache.getChildSize(idx);\n }\n _getAverageSize() {\n return this._metricsCache.averageChildSize || this._itemSize[this._sizeDim];\n }\n _estimatePosition(idx) {\n const c = this._metricsCache;\n if (this._first === -1 || this._last === -1) {\n return (c.averageMarginSize +\n idx * (c.averageMarginSize + this._getAverageSize()));\n }\n else {\n if (idx < this._first) {\n const delta = this._first - idx;\n const refItem = this._getPhysicalItem(this._first);\n return (refItem.pos -\n (c.getMarginSize(this._first - 1) || c.averageMarginSize) -\n (delta * c.averageChildSize + (delta - 1) * c.averageMarginSize));\n }\n else {\n const delta = idx - this._last;\n const refItem = this._getPhysicalItem(this._last);\n return (refItem.pos +\n (c.getChildSize(this._last) || c.averageChildSize) +\n (c.getMarginSize(this._last) || c.averageMarginSize) +\n delta * (c.averageChildSize + c.averageMarginSize));\n }\n }\n }\n /**\n * Returns the position in the scrolling direction of the item at idx.\n * Estimates it if the item at idx is not in the DOM.\n */\n _getPosition(idx) {\n const item = this._getPhysicalItem(idx);\n const { averageMarginSize } = this._metricsCache;\n return idx === 0\n ? this._metricsCache.getMarginSize(0) ?? averageMarginSize\n : item\n ? item.pos\n : this._estimatePosition(idx);\n }\n _calculateAnchor(lower, upper) {\n if (lower <= 0) {\n return 0;\n }\n if (upper > this._scrollSize - this._viewDim1) {\n return this.items.length - 1;\n }\n return Math.max(0, Math.min(this.items.length - 1, Math.floor((lower + upper) / 2 / this._delta)));\n }\n _getAnchor(lower, upper) {\n if (this._physicalItems.size === 0) {\n return this._calculateAnchor(lower, upper);\n }\n if (this._first < 0) {\n return this._calculateAnchor(lower, upper);\n }\n if (this._last < 0) {\n return this._calculateAnchor(lower, upper);\n }\n const firstItem = this._getPhysicalItem(this._first), lastItem = this._getPhysicalItem(this._last), firstMin = firstItem.pos, lastMin = lastItem.pos, lastMax = lastMin + this._metricsCache.getChildSize(this._last);\n if (lastMax < lower) {\n // Window is entirely past physical items, calculate new anchor\n return this._calculateAnchor(lower, upper);\n }\n if (firstMin > upper) {\n // Window is entirely before physical items, calculate new anchor\n return this._calculateAnchor(lower, upper);\n }\n // Window contains a physical item\n // Find one, starting with the one that was previously first visible\n let candidateIdx = this._firstVisible - 1;\n let cMax = -Infinity;\n while (cMax < lower) {\n const candidate = this._getPhysicalItem(++candidateIdx);\n cMax = candidate.pos + this._metricsCache.getChildSize(candidateIdx);\n }\n return candidateIdx;\n }\n /**\n * Updates _first and _last based on items that should be in the current\n * viewed range.\n */\n _getActiveItems() {\n if (this._viewDim1 === 0 || this.items.length === 0) {\n this._clearItems();\n }\n else {\n this._getItems();\n }\n }\n /**\n * Sets the range to empty.\n */\n _clearItems() {\n this._first = -1;\n this._last = -1;\n this._physicalMin = 0;\n this._physicalMax = 0;\n const items = this._newPhysicalItems;\n this._newPhysicalItems = this._physicalItems;\n this._newPhysicalItems.clear();\n this._physicalItems = items;\n this._stable = true;\n }\n /*\n * Updates _first and _last based on items that should be in the given range.\n */\n _getItems() {\n const items = this._newPhysicalItems;\n this._stable = true;\n let lower, upper;\n // The anchorIdx is the anchor around which we reflow. It is designed to\n // allow jumping to any point of the scroll size. We choose it once and\n // stick with it until stable. first and last are deduced around it.\n // If we have a pinned item, we anchor on it\n if (this.pin !== null) {\n const { index } = this.pin;\n this._anchorIdx = index;\n this._anchorPos = this._getPosition(index);\n }\n // Determine the lower and upper bounds of the region to be\n // rendered, relative to the viewport\n lower = this._scrollPosition - this._overhang; //leadingOverhang;\n upper = this._scrollPosition + this._viewDim1 + this._overhang; // trailingOverhang;\n if (upper < 0 || lower > this._scrollSize) {\n this._clearItems();\n return;\n }\n // If we are scrolling to a specific index or if we are doing another\n // pass to stabilize a previously started reflow, we will already\n // have an anchor. If not, establish an anchor now.\n if (this._anchorIdx === null || this._anchorPos === null) {\n this._anchorIdx = this._getAnchor(lower, upper);\n this._anchorPos = this._getPosition(this._anchorIdx);\n }\n let anchorSize = this._getSize(this._anchorIdx);\n if (anchorSize === undefined) {\n this._stable = false;\n anchorSize = this._getAverageSize();\n }\n const anchorLeadingMargin = this._metricsCache.getMarginSize(this._anchorIdx) ??\n this._metricsCache.averageMarginSize;\n const anchorTrailingMargin = this._metricsCache.getMarginSize(this._anchorIdx + 1) ??\n this._metricsCache.averageMarginSize;\n if (this._anchorIdx === 0) {\n this._anchorPos = anchorLeadingMargin;\n }\n if (this._anchorIdx === this.items.length - 1) {\n this._anchorPos = this._scrollSize - anchorTrailingMargin - anchorSize;\n }\n // Anchor might be outside bounds, so prefer correcting the error and keep\n // that anchorIdx.\n let anchorErr = 0;\n if (this._anchorPos + anchorSize + anchorTrailingMargin < lower) {\n anchorErr = lower - (this._anchorPos + anchorSize + anchorTrailingMargin);\n }\n if (this._anchorPos - anchorLeadingMargin > upper) {\n anchorErr = upper - (this._anchorPos - anchorLeadingMargin);\n }\n if (anchorErr) {\n this._scrollPosition -= anchorErr;\n lower -= anchorErr;\n upper -= anchorErr;\n this._scrollError += anchorErr;\n }\n items.set(this._anchorIdx, { pos: this._anchorPos, size: anchorSize });\n this._first = this._last = this._anchorIdx;\n this._physicalMin = this._anchorPos - anchorLeadingMargin;\n this._physicalMax = this._anchorPos + anchorSize + anchorTrailingMargin;\n while (this._physicalMin > lower && this._first > 0) {\n let size = this._getSize(--this._first);\n if (size === undefined) {\n this._stable = false;\n size = this._getAverageSize();\n }\n let margin = this._metricsCache.getMarginSize(this._first);\n if (margin === undefined) {\n this._stable = false;\n margin = this._metricsCache.averageMarginSize;\n }\n this._physicalMin -= size;\n const pos = this._physicalMin;\n items.set(this._first, { pos, size });\n this._physicalMin -= margin;\n if (this._stable === false && this._estimate === false) {\n break;\n }\n }\n while (this._physicalMax < upper && this._last < this.items.length - 1) {\n let size = this._getSize(++this._last);\n if (size === undefined) {\n this._stable = false;\n size = this._getAverageSize();\n }\n let margin = this._metricsCache.getMarginSize(this._last);\n if (margin === undefined) {\n this._stable = false;\n margin = this._metricsCache.averageMarginSize;\n }\n const pos = this._physicalMax;\n items.set(this._last, { pos, size });\n this._physicalMax += size + margin;\n if (!this._stable && !this._estimate) {\n break;\n }\n }\n // This handles the cases where we were relying on estimated sizes.\n const extentErr = this._calculateError();\n if (extentErr) {\n this._physicalMin -= extentErr;\n this._physicalMax -= extentErr;\n this._anchorPos -= extentErr;\n this._scrollPosition -= extentErr;\n items.forEach((item) => (item.pos -= extentErr));\n this._scrollError += extentErr;\n }\n if (this._stable) {\n this._newPhysicalItems = this._physicalItems;\n this._newPhysicalItems.clear();\n this._physicalItems = items;\n }\n }\n _calculateError() {\n if (this._first === 0) {\n return this._physicalMin;\n }\n else if (this._physicalMin <= 0) {\n return this._physicalMin - this._first * this._delta;\n }\n else if (this._last === this.items.length - 1) {\n return this._physicalMax - this._scrollSize;\n }\n else if (this._physicalMax >= this._scrollSize) {\n return (this._physicalMax -\n this._scrollSize +\n (this.items.length - 1 - this._last) * this._delta);\n }\n return 0;\n }\n _reflow() {\n const { _first, _last } = this;\n super._reflow();\n if ((this._first === -1 && this._last == -1) ||\n (this._first === _first && this._last === _last)) {\n this._resetReflowState();\n }\n }\n _resetReflowState() {\n this._anchorIdx = null;\n this._anchorPos = null;\n this._stable = true;\n }\n _updateScrollSize() {\n const { averageMarginSize } = this._metricsCache;\n this._scrollSize = Math.max(1, this.items.length * (averageMarginSize + this._getAverageSize()) +\n averageMarginSize);\n }\n /**\n * Returns the average size (precise or estimated) of an item in the scrolling direction,\n * including any surrounding space.\n */\n get _delta() {\n const { averageMarginSize } = this._metricsCache;\n return this._getAverageSize() + averageMarginSize;\n }\n /**\n * Returns the top and left positioning of the item at idx.\n */\n _getItemPosition(idx) {\n return {\n [this._positionDim]: this._getPosition(idx),\n [this._secondaryPositionDim]: 0,\n [offset(this.direction)]: -(this._metricsCache.getLeadingMarginValue(idx, this.direction) ??\n this._metricsCache.averageMarginSize),\n };\n }\n /**\n * Returns the height and width of the item at idx.\n */\n _getItemSize(idx) {\n return {\n [this._sizeDim]: this._getSize(idx) || this._getAverageSize(),\n [this._secondarySizeDim]: this._itemSize[this._secondarySizeDim],\n };\n }\n _viewDim2Changed() {\n this._metricsCache.clear();\n this._scheduleReflow();\n }\n}\n//# sourceMappingURL=flow.js.map"],"names":["SizeCache","config","this","_map","Map","_roundAverageSize","totalSize","roundAverageSize","index","value","prev","get","set","averageSize","size","average","Math","round","clear","dim1","direction","BaseLayout","_getDefaultConfig","hostSink","_latestCoords","left","top","_direction","_viewportSize","width","height","totalScrollSize","offsetWithinScroller","_pendingReflow","_pendingLayoutUpdate","_pin","_firstVisible","_lastVisible","_physicalMin","_physicalMax","_first","_last","_sizeDim","_secondarySizeDim","_positionDim","_secondaryPositionDim","_scrollPosition","_scrollError","_items","_scrollSize","_overhang","_hostSink","Promise","resolve","then","Object","assign","items","_setItems","_scheduleReflow","dir","_triggerReflow","viewportSize","dims","_viewDim1","_viewDim2","_scheduleLayoutUpdate","_checkThresholds","viewportScroll","coords","oldPos","abs","force","_reflow","options","pin","block","max","min","length","val","unpin","_sendUnpinnedMessage","_updateLayout","reflowIfNeeded","_updateScrollSize","_setPositionFromPin","_getActiveItems","_updateVisibleIndices","_sendStateChangedMessage","lastScrollPosition","_calculateScrollIntoViewPosition","itemStartPosition","_getItemPosition","scrollPosition","itemSize","_getItemSize","itemEndPosition","currentScrollPosition","_clampScrollPosition","type","_sendVisibilityChangedMessage","firstVisible","lastVisible","childPositions","idx","message","scrollSize","range","first","last","scrollError","_num","emit","leadingMargin","trailingMargin","offset","collapseMargins","a","b","m","sort","MetricsCache","constructor","_childSizeCache","_marginSizeCache","_metricsCache","metrics","marginsToUpdate","Set","keys","forEach","key","k","Number","add","averageChildSize","totalChildSize","averageMarginSize","totalMarginSize","getSize","super","arguments","_itemSize","_physicalItems","_newPhysicalItems","_anchorIdx","_anchorPos","_stable","_measureChildren","_estimate","measureChildren","sizes","update","_getPhysicalItem","getChildSize","_getAverageSize","c","delta","pos","getMarginSize","item","_estimatePosition","lower","upper","floor","_delta","_calculateAnchor","firstItem","lastItem","firstMin","candidateIdx","cMax","_clearItems","_getItems","_getPosition","_getAnchor","anchorSize","_getSize","anchorLeadingMargin","anchorTrailingMargin","anchorErr","margin","extentErr","_calculateError","_resetReflowState","getLeadingMarginValue","_viewDim2Changed"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|