├── .github ├── FUNDING.yml └── ISSUE_TEMPLATE │ ├── config.yml │ └── default-template.md ├── LICENSE ├── README.md ├── SamplesApplication.md ├── docs ├── api │ ├── WpfToolkit.Controls.GridDetailsView.html │ ├── WpfToolkit.Controls.GridView.html │ ├── WpfToolkit.Controls.IItemSizeProvider.html │ ├── WpfToolkit.Controls.ItemAlignment.html │ ├── WpfToolkit.Controls.SpacingMode.html │ ├── WpfToolkit.Controls.VirtualizingItemsControl.html │ ├── WpfToolkit.Controls.VirtualizingPanelBase.html │ ├── WpfToolkit.Controls.VirtualizingWrapPanel.html │ ├── WpfToolkit.Controls.VirtualizingWrapPanelWithItemExpansion.html │ ├── WpfToolkit.Controls.html │ ├── index.html │ ├── toc.html │ └── toc.json ├── docs │ ├── getting-started.html │ ├── toc.html │ └── toc.json ├── favicon.ico ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 ├── logo.svg ├── manifest.json ├── public │ ├── architecture-I3QFYML2-2T2ZUHXO.min.js │ ├── architecture-I3QFYML2-2T2ZUHXO.min.js.map │ ├── architectureDiagram-UYN6MBPD-WBU2OYNU.min.js │ ├── architectureDiagram-UYN6MBPD-WBU2OYNU.min.js.map │ ├── blockDiagram-9f4a6865-KQGFBXS7.min.js │ ├── blockDiagram-9f4a6865-KQGFBXS7.min.js.map │ ├── blockDiagram-ZHA2E4KO-IZKTV5IP.min.js │ ├── blockDiagram-ZHA2E4KO-IZKTV5IP.min.js.map │ ├── bootstrap-icons-BNVXHMH5.woff │ ├── bootstrap-icons-OCU552PF.woff │ ├── bootstrap-icons-UDRIHJCM.woff2 │ ├── bootstrap-icons-X6UQXWUS.woff2 │ ├── c4Diagram-6F5ED5ID-X53KYE5F.min.js │ ├── c4Diagram-6F5ED5ID-X53KYE5F.min.js.map │ ├── c4Diagram-817c8e44-SGFOBFRD.min.js │ ├── c4Diagram-817c8e44-SGFOBFRD.min.js.map │ ├── c4Diagram-ae766693-CZAYTAZR.min.js │ ├── c4Diagram-ae766693-CZAYTAZR.min.js.map │ ├── chunk-2YMHYP32.min.js │ ├── chunk-2YMHYP32.min.js.map │ ├── chunk-334IV3XH.min.js │ ├── chunk-334IV3XH.min.js.map │ ├── chunk-33FU46FA.min.js │ ├── chunk-33FU46FA.min.js.map │ ├── chunk-3RELVOUY.min.js │ ├── chunk-3RELVOUY.min.js.map │ ├── chunk-3Z74ZUXG.min.js │ ├── chunk-3Z74ZUXG.min.js.map │ ├── chunk-54U54PUP.min.js │ ├── chunk-54U54PUP.min.js.map │ ├── chunk-5FWMXAFW.min.js │ ├── chunk-5FWMXAFW.min.js.map │ ├── chunk-5IIW54K6.min.js │ ├── chunk-5IIW54K6.min.js.map │ ├── chunk-6YMKSKZH.min.js │ ├── chunk-6YMKSKZH.min.js.map │ ├── chunk-AUO2PXKS.min.js │ ├── chunk-AUO2PXKS.min.js.map │ ├── chunk-BD4P4Z7J.min.js │ ├── chunk-BD4P4Z7J.min.js.map │ ├── chunk-BIJFJY5F.min.js │ ├── chunk-BIJFJY5F.min.js.map │ ├── chunk-C7DS3QYJ.min.js │ ├── chunk-C7DS3QYJ.min.js.map │ ├── chunk-CA32PY7O.min.js │ ├── chunk-CA32PY7O.min.js.map │ ├── chunk-CK25GZVZ.min.js │ ├── chunk-CK25GZVZ.min.js.map │ ├── chunk-CLIYZZ5Y.min.js │ ├── chunk-CLIYZZ5Y.min.js.map │ ├── chunk-CM5D5KZN.min.js │ ├── chunk-CM5D5KZN.min.js.map │ ├── chunk-CXRPJJJE.min.js │ ├── chunk-CXRPJJJE.min.js.map │ ├── chunk-CXT7N4L6.min.js │ ├── chunk-CXT7N4L6.min.js.map │ ├── chunk-DALFUHAB.min.js │ ├── chunk-DALFUHAB.min.js.map │ ├── chunk-DTUU2GN4.min.js │ ├── chunk-DTUU2GN4.min.js.map │ ├── chunk-EDJWACL4.min.js │ ├── chunk-EDJWACL4.min.js.map │ ├── chunk-EKFGDCJ4.min.js │ ├── chunk-EKFGDCJ4.min.js.map │ ├── chunk-EKP7MBOP.min.js │ ├── chunk-EKP7MBOP.min.js.map │ ├── chunk-F7JJDB3C.min.js │ ├── chunk-F7JJDB3C.min.js.map │ ├── chunk-I4ZXTPQC.min.js │ ├── chunk-I4ZXTPQC.min.js.map │ ├── chunk-I64Z623A.min.js │ ├── chunk-I64Z623A.min.js.map │ ├── chunk-IJ4BRSPX.min.js │ ├── chunk-IJ4BRSPX.min.js.map │ ├── chunk-IQQ46AC6.min.js │ ├── chunk-IQQ46AC6.min.js.map │ ├── chunk-ISDTAGDN.min.js │ ├── chunk-ISDTAGDN.min.js.map │ ├── chunk-JL3VILNY.min.js │ ├── chunk-JL3VILNY.min.js.map │ ├── chunk-K2MRC2FE.min.js │ ├── chunk-K2MRC2FE.min.js.map │ ├── chunk-K4EHOM77.min.js │ ├── chunk-K4EHOM77.min.js.map │ ├── chunk-LUX5WYVM.min.js │ ├── chunk-LUX5WYVM.min.js.map │ ├── chunk-LXB37CFX.min.js │ ├── chunk-LXB37CFX.min.js.map │ ├── chunk-M7PQX5EB.min.js │ ├── chunk-M7PQX5EB.min.js.map │ ├── chunk-N4EFGQ5G.min.js │ ├── chunk-N4EFGQ5G.min.js.map │ ├── chunk-N4YULA37.min.js │ ├── chunk-N4YULA37.min.js.map │ ├── chunk-N6ME3NZU.min.js │ ├── chunk-N6ME3NZU.min.js.map │ ├── chunk-NRE4YRK7.min.js │ ├── chunk-NRE4YRK7.min.js.map │ ├── chunk-OSRY5VT3.min.js │ ├── chunk-OSRY5VT3.min.js.map │ ├── chunk-OZ2RCKQJ.min.js │ ├── chunk-OZ2RCKQJ.min.js.map │ ├── chunk-P42HNYSU.min.js │ ├── chunk-P42HNYSU.min.js.map │ ├── chunk-PDS7545E.min.js │ ├── chunk-PDS7545E.min.js.map │ ├── chunk-PYPO7LRM.min.js │ ├── chunk-PYPO7LRM.min.js.map │ ├── chunk-QRBMAIWT.min.js │ ├── chunk-QRBMAIWT.min.js.map │ ├── chunk-RNO6SWHZ.min.js │ ├── chunk-RNO6SWHZ.min.js.map │ ├── chunk-TLYS76Q7.min.js │ ├── chunk-TLYS76Q7.min.js.map │ ├── chunk-U3SD26FK.min.js │ ├── chunk-U3SD26FK.min.js.map │ ├── chunk-U4DUTLYF.min.js │ ├── chunk-U4DUTLYF.min.js.map │ ├── chunk-U66T5BMR.min.js │ ├── chunk-U66T5BMR.min.js.map │ ├── chunk-UEFJDIUO.min.js │ ├── chunk-UEFJDIUO.min.js.map │ ├── chunk-V55NTXQN.min.js │ ├── chunk-V55NTXQN.min.js.map │ ├── chunk-WMZJ2DJX.min.js │ ├── chunk-WMZJ2DJX.min.js.map │ ├── chunk-WXIN66R4.min.js │ ├── chunk-WXIN66R4.min.js.map │ ├── chunk-XUHMPXWX.min.js │ ├── chunk-XUHMPXWX.min.js.map │ ├── chunk-YAMJ4ASO.min.js │ ├── chunk-YAMJ4ASO.min.js.map │ ├── chunk-YEACHCAA.min.js │ ├── chunk-YEACHCAA.min.js.map │ ├── chunk-YICCS3KT.min.js │ ├── chunk-YICCS3KT.min.js.map │ ├── classDiagram-48ab76fb-2NS2GWUH.min.js │ ├── classDiagram-48ab76fb-2NS2GWUH.min.js.map │ ├── classDiagram-LNE6IOMH-VZ67B4ZP.min.js │ ├── classDiagram-LNE6IOMH-VZ67B4ZP.min.js.map │ ├── classDiagram-fb54d2a0-HROX7LLG.min.js │ ├── classDiagram-fb54d2a0-HROX7LLG.min.js.map │ ├── classDiagram-v2-8ecb0bfc-NYCPINMQ.min.js │ ├── classDiagram-v2-8ecb0bfc-NYCPINMQ.min.js.map │ ├── classDiagram-v2-MQ7JQ4JX-4JTAVB6L.min.js │ ├── classDiagram-v2-MQ7JQ4JX-4JTAVB6L.min.js.map │ ├── classDiagram-v2-a2b738ad-P3OHMUUZ.min.js │ ├── classDiagram-v2-a2b738ad-P3OHMUUZ.min.js.map │ ├── dagre-4EVJKHTY-MHPLGZHX.min.js │ ├── dagre-4EVJKHTY-MHPLGZHX.min.js.map │ ├── diagram-QW4FP2JN-UOF7FAFC.min.js │ ├── diagram-QW4FP2JN-UOF7FAFC.min.js.map │ ├── docfx.min.css │ ├── docfx.min.css.map │ ├── docfx.min.js │ ├── docfx.min.js.map │ ├── erDiagram-09d1c15f-DTEA6AXO.min.js │ ├── erDiagram-09d1c15f-DTEA6AXO.min.js.map │ ├── erDiagram-6RL3IURR-PEYW6AVI.min.js │ ├── erDiagram-6RL3IURR-PEYW6AVI.min.js.map │ ├── erDiagram-9cfc3649-NX6WFSGQ.min.js │ ├── erDiagram-9cfc3649-NX6WFSGQ.min.js.map │ ├── es-4I4X6RME.min.js │ ├── es-4I4X6RME.min.js.map │ ├── es-BVOT75G5.min.js │ ├── es-BVOT75G5.min.js.map │ ├── es-NKDSMAKG.min.js │ ├── es-NKDSMAKG.min.js.map │ ├── flowDiagram-61eb444c-W2MZ7QST.min.js │ ├── flowDiagram-61eb444c-W2MZ7QST.min.js.map │ ├── flowDiagram-7ASYPVHJ-DABBKNEC.min.js │ ├── flowDiagram-7ASYPVHJ-DABBKNEC.min.js.map │ ├── flowDiagram-b222e15a-KHGBC5KH.min.js │ ├── flowDiagram-b222e15a-KHGBC5KH.min.js.map │ ├── flowDiagram-v2-13329dc7-7HQDDRUE.min.js │ ├── flowDiagram-v2-13329dc7-7HQDDRUE.min.js.map │ ├── flowDiagram-v2-2f8f667a-WVVXSXHH.min.js │ ├── flowDiagram-v2-2f8f667a-WVVXSXHH.min.js.map │ ├── flowchart-elk-definition-ae0efee6-MAQF265M.min.js │ ├── flowchart-elk-definition-ae0efee6-MAQF265M.min.js.map │ ├── flowchart-elk-definition-e097735e-EIOOWBCS.min.js │ ├── flowchart-elk-definition-e097735e-EIOOWBCS.min.js.map │ ├── ganttDiagram-NTVNEXSI-JVQ2N4MZ.min.js │ ├── ganttDiagram-NTVNEXSI-JVQ2N4MZ.min.js.map │ ├── ganttDiagram-b62c793e-AG7E44IT.min.js │ ├── ganttDiagram-b62c793e-AG7E44IT.min.js.map │ ├── ganttDiagram-db6931fb-KM4XNDUI.min.js │ ├── ganttDiagram-db6931fb-KM4XNDUI.min.js.map │ ├── gitGraph-YCYPL57B-3XOJ53I6.min.js │ ├── gitGraph-YCYPL57B-3XOJ53I6.min.js.map │ ├── gitGraphDiagram-6b463803-XW36YSNI.min.js │ ├── gitGraphDiagram-6b463803-XW36YSNI.min.js.map │ ├── gitGraphDiagram-942e62fe-MKYST3PD.min.js │ ├── gitGraphDiagram-942e62fe-MKYST3PD.min.js.map │ ├── gitGraphDiagram-NRZ2UAAF-WVTRWY3E.min.js │ ├── gitGraphDiagram-NRZ2UAAF-WVTRWY3E.min.js.map │ ├── info-46DW6VJ7-RDUIJSMX.min.js │ ├── info-46DW6VJ7-RDUIJSMX.min.js.map │ ├── infoDiagram-94cd232f-QDJEABPW.min.js │ ├── infoDiagram-94cd232f-QDJEABPW.min.js.map │ ├── infoDiagram-A4XQUW5V-SKLVFWJI.min.js │ ├── infoDiagram-A4XQUW5V-SKLVFWJI.min.js.map │ ├── infoDiagram-a336098b-M3EGNS5K.min.js │ ├── infoDiagram-a336098b-M3EGNS5K.min.js.map │ ├── journeyDiagram-6625b456-5PROY5YP.min.js │ ├── journeyDiagram-6625b456-5PROY5YP.min.js.map │ ├── journeyDiagram-G5WM74LC-AHZ7GKR5.min.js │ ├── journeyDiagram-G5WM74LC-AHZ7GKR5.min.js.map │ ├── journeyDiagram-deae3313-2YUPEA7J.min.js │ ├── journeyDiagram-deae3313-2YUPEA7J.min.js.map │ ├── kanban-definition-QRCXZQQD-MKSHYOCX.min.js │ ├── kanban-definition-QRCXZQQD-MKSHYOCX.min.js.map │ ├── katex-F45OXAZ7.min.js │ ├── katex-F45OXAZ7.min.js.map │ ├── katex-ROPKEHCO.min.js │ ├── katex-ROPKEHCO.min.js.map │ ├── lunr.ar-A6ZT2INA.min.js │ ├── lunr.ar-A6ZT2INA.min.js.map │ ├── lunr.ar-E7GAKDHK.min.js │ ├── lunr.ar-E7GAKDHK.min.js.map │ ├── lunr.ar-JYYLL55L.min.js │ ├── lunr.ar-JYYLL55L.min.js.map │ ├── lunr.da-ABNGX3GR.min.js │ ├── lunr.da-ABNGX3GR.min.js.map │ ├── lunr.da-WWM276CR.min.js │ ├── lunr.da-WWM276CR.min.js.map │ ├── lunr.da-WZCDGCDT.min.js │ ├── lunr.da-WZCDGCDT.min.js.map │ ├── lunr.de-7XZMXZII.min.js │ ├── lunr.de-7XZMXZII.min.js.map │ ├── lunr.de-N7IL7F5Q.min.js │ ├── lunr.de-N7IL7F5Q.min.js.map │ ├── lunr.de-XXPRKDAY.min.js │ ├── lunr.de-XXPRKDAY.min.js.map │ ├── lunr.du-4P4FUVNV.min.js │ ├── lunr.du-4P4FUVNV.min.js.map │ ├── lunr.du-NO4L2LL3.min.js │ ├── lunr.du-NO4L2LL3.min.js.map │ ├── lunr.du-QL47PPFK.min.js │ ├── lunr.du-QL47PPFK.min.js.map │ ├── lunr.el-5ZSSJVMA.min.js │ ├── lunr.el-5ZSSJVMA.min.js.map │ ├── lunr.el-6EBCVLMJ.min.js │ ├── lunr.el-6EBCVLMJ.min.js.map │ ├── lunr.el-XMPY4SDR.min.js │ ├── lunr.el-XMPY4SDR.min.js.map │ ├── lunr.es-4YT3M4ID.min.js │ ├── lunr.es-4YT3M4ID.min.js.map │ ├── lunr.es-QJ3NV5ZH.min.js │ ├── lunr.es-QJ3NV5ZH.min.js.map │ ├── lunr.es-ZH6Q76E6.min.js │ ├── lunr.es-ZH6Q76E6.min.js.map │ ├── lunr.fi-OGLGHFAM.min.js │ ├── lunr.fi-OGLGHFAM.min.js.map │ ├── lunr.fi-S7WJSBCP.min.js │ ├── lunr.fi-S7WJSBCP.min.js.map │ ├── lunr.fi-TLAOR23U.min.js │ ├── lunr.fi-TLAOR23U.min.js.map │ ├── lunr.fr-6WMI3F4I.min.js │ ├── lunr.fr-6WMI3F4I.min.js.map │ ├── lunr.fr-G4S422VA.min.js │ ├── lunr.fr-G4S422VA.min.js.map │ ├── lunr.fr-H2QNBELV.min.js │ ├── lunr.fr-H2QNBELV.min.js.map │ ├── lunr.he-EZUSRANM.min.js │ ├── lunr.he-EZUSRANM.min.js.map │ ├── lunr.he-J62KVQ3T.min.js │ ├── lunr.he-J62KVQ3T.min.js.map │ ├── lunr.he-TTLAK4MN.min.js │ ├── lunr.he-TTLAK4MN.min.js.map │ ├── lunr.hi-GKOIC2XP.min.js │ ├── lunr.hi-GKOIC2XP.min.js.map │ ├── lunr.hi-PWWMAGLU.min.js │ ├── lunr.hi-PWWMAGLU.min.js.map │ ├── lunr.hi-VEBDFZQ2.min.js │ ├── lunr.hi-VEBDFZQ2.min.js.map │ ├── lunr.hu-DLG2DSVM.min.js │ ├── lunr.hu-DLG2DSVM.min.js.map │ ├── lunr.hu-XPANPY4P.min.js │ ├── lunr.hu-XPANPY4P.min.js.map │ ├── lunr.hu-ZCNH23T6.min.js │ ├── lunr.hu-ZCNH23T6.min.js.map │ ├── lunr.hy-E2P7YR63.min.js │ ├── lunr.hy-E2P7YR63.min.js.map │ ├── lunr.hy-FFQJAR7M.min.js │ ├── lunr.hy-FFQJAR7M.min.js.map │ ├── lunr.hy-XFQCAWFO.min.js │ ├── lunr.hy-XFQCAWFO.min.js.map │ ├── lunr.it-43SEBRLN.min.js │ ├── lunr.it-43SEBRLN.min.js.map │ ├── lunr.it-RN72ONT7.min.js │ ├── lunr.it-RN72ONT7.min.js.map │ ├── lunr.it-VQNLJLPR.min.js │ ├── lunr.it-VQNLJLPR.min.js.map │ ├── lunr.ja-6645DQV5.min.js │ ├── lunr.ja-6645DQV5.min.js.map │ ├── lunr.ja-J6QHZSR2.min.js │ ├── lunr.ja-J6QHZSR2.min.js.map │ ├── lunr.ja-RG3AQVTE.min.js │ ├── lunr.ja-RG3AQVTE.min.js.map │ ├── lunr.jp-2KRE2L63.min.js │ ├── lunr.jp-2KRE2L63.min.js.map │ ├── lunr.jp-M45D3XJE.min.js │ ├── lunr.jp-M45D3XJE.min.js.map │ ├── lunr.jp-P5CLAZPO.min.js │ ├── lunr.jp-P5CLAZPO.min.js.map │ ├── lunr.kn-5Z3IOBMD.min.js │ ├── lunr.kn-5Z3IOBMD.min.js.map │ ├── lunr.kn-ASLXFRTC.min.js │ ├── lunr.kn-ASLXFRTC.min.js.map │ ├── lunr.kn-EGFANKI2.min.js │ ├── lunr.kn-EGFANKI2.min.js.map │ ├── lunr.ko-64QAI4XT.min.js │ ├── lunr.ko-64QAI4XT.min.js.map │ ├── lunr.ko-RHF2BDE4.min.js │ ├── lunr.ko-RHF2BDE4.min.js.map │ ├── lunr.ko-XMG7MEQU.min.js │ ├── lunr.ko-XMG7MEQU.min.js.map │ ├── lunr.nl-2BITG354.min.js │ ├── lunr.nl-2BITG354.min.js.map │ ├── lunr.nl-JVT7LKKG.min.js │ ├── lunr.nl-JVT7LKKG.min.js.map │ ├── lunr.nl-XJLTQY4R.min.js │ ├── lunr.nl-XJLTQY4R.min.js.map │ ├── lunr.no-E5T5VKQC.min.js │ ├── lunr.no-E5T5VKQC.min.js.map │ ├── lunr.no-SUO4TTOY.min.js │ ├── lunr.no-SUO4TTOY.min.js.map │ ├── lunr.no-WPLSHWFO.min.js │ ├── lunr.no-WPLSHWFO.min.js.map │ ├── lunr.pt-EAA2HV6I.min.js │ ├── lunr.pt-EAA2HV6I.min.js.map │ ├── lunr.pt-KEDPJIZQ.min.js │ ├── lunr.pt-KEDPJIZQ.min.js.map │ ├── lunr.pt-V2XEBELC.min.js │ ├── lunr.pt-V2XEBELC.min.js.map │ ├── lunr.ro-O76266FJ.min.js │ ├── lunr.ro-O76266FJ.min.js.map │ ├── lunr.ro-U2ICUNNF.min.js │ ├── lunr.ro-U2ICUNNF.min.js.map │ ├── lunr.ro-WWA7JY55.min.js │ ├── lunr.ro-WWA7JY55.min.js.map │ ├── lunr.ru-5AQBX5R2.min.js │ ├── lunr.ru-5AQBX5R2.min.js.map │ ├── lunr.ru-G56UDXYH.min.js │ ├── lunr.ru-G56UDXYH.min.js.map │ ├── lunr.ru-NQVTAHVP.min.js │ ├── lunr.ru-NQVTAHVP.min.js.map │ ├── lunr.sa-LD5PRAIS.min.js │ ├── lunr.sa-LD5PRAIS.min.js.map │ ├── lunr.sa-M7TYHLRJ.min.js │ ├── lunr.sa-M7TYHLRJ.min.js.map │ ├── lunr.sa-R4RRHON7.min.js │ ├── lunr.sa-R4RRHON7.min.js.map │ ├── lunr.sv-7VRY4UDB.min.js │ ├── lunr.sv-7VRY4UDB.min.js.map │ ├── lunr.sv-GCGNSHUK.min.js │ ├── lunr.sv-GCGNSHUK.min.js.map │ ├── lunr.sv-K3GSGWC2.min.js │ ├── lunr.sv-K3GSGWC2.min.js.map │ ├── lunr.ta-AKIPBQLC.min.js │ ├── lunr.ta-AKIPBQLC.min.js.map │ ├── lunr.ta-KO56CLDU.min.js │ ├── lunr.ta-KO56CLDU.min.js.map │ ├── lunr.ta-OWB7AURB.min.js │ ├── lunr.ta-OWB7AURB.min.js.map │ ├── lunr.te-2RZIMFIT.min.js │ ├── lunr.te-2RZIMFIT.min.js.map │ ├── lunr.te-JGGL3BFP.min.js │ ├── lunr.te-JGGL3BFP.min.js.map │ ├── lunr.te-OBAK5FVS.min.js │ ├── lunr.te-OBAK5FVS.min.js.map │ ├── lunr.th-LSQ6T65I.min.js │ ├── lunr.th-LSQ6T65I.min.js.map │ ├── lunr.th-O4JBL3IY.min.js │ ├── lunr.th-O4JBL3IY.min.js.map │ ├── lunr.th-RUK2AEUT.min.js │ ├── lunr.th-RUK2AEUT.min.js.map │ ├── lunr.tr-2MGZGM7A.min.js │ ├── lunr.tr-2MGZGM7A.min.js.map │ ├── lunr.tr-T3KKXR52.min.js │ ├── lunr.tr-T3KKXR52.min.js.map │ ├── lunr.tr-WXUV733C.min.js │ ├── lunr.tr-WXUV733C.min.js.map │ ├── lunr.vi-3U4A337N.min.js │ ├── lunr.vi-3U4A337N.min.js.map │ ├── lunr.vi-QNO46JPR.min.js │ ├── lunr.vi-QNO46JPR.min.js.map │ ├── lunr.vi-S3VOAA5A.min.js │ ├── lunr.vi-S3VOAA5A.min.js.map │ ├── main.css │ ├── main.js │ ├── mermaid.core-QWHI4VJR.min.js │ ├── mermaid.core-QWHI4VJR.min.js.map │ ├── mermaid.core-SEZKZMNB.min.js │ ├── mermaid.core-SEZKZMNB.min.js.map │ ├── mermaid.core-TOXYJXQE.min.js │ ├── mermaid.core-TOXYJXQE.min.js.map │ ├── mindmap-definition-307c710a-X5KDYKIG.min.js │ ├── mindmap-definition-307c710a-X5KDYKIG.min.js.map │ ├── mindmap-definition-617cf8dd-4PM2AKSZ.min.js │ ├── mindmap-definition-617cf8dd-4PM2AKSZ.min.js.map │ ├── mindmap-definition-GWI6TPTV-XCX7U2FR.min.js │ ├── mindmap-definition-GWI6TPTV-XCX7U2FR.min.js.map │ ├── packet-W2GHVCYJ-ZZMTAWKW.min.js │ ├── packet-W2GHVCYJ-ZZMTAWKW.min.js.map │ ├── pie-BEWT4RHE-VFWRUT6J.min.js │ ├── pie-BEWT4RHE-VFWRUT6J.min.js.map │ ├── pieDiagram-YF2LJOPJ-ITGVNBO2.min.js │ ├── pieDiagram-YF2LJOPJ-ITGVNBO2.min.js.map │ ├── pieDiagram-a5166659-EQCDURPM.min.js │ ├── pieDiagram-a5166659-EQCDURPM.min.js.map │ ├── pieDiagram-bb1d19e5-S5GML3CT.min.js │ ├── pieDiagram-bb1d19e5-S5GML3CT.min.js.map │ ├── quadrantDiagram-6c355bbc-H5XRRV3H.min.js │ ├── quadrantDiagram-6c355bbc-H5XRRV3H.min.js.map │ ├── quadrantDiagram-OS5C2QUG-BN35C5UH.min.js │ ├── quadrantDiagram-OS5C2QUG-BN35C5UH.min.js.map │ ├── quadrantDiagram-c759a472-M63GQYLB.min.js │ ├── quadrantDiagram-c759a472-M63GQYLB.min.js.map │ ├── requirementDiagram-4038b16c-35KSP34O.min.js │ ├── requirementDiagram-4038b16c-35KSP34O.min.js.map │ ├── requirementDiagram-87253d64-XJI5VOSH.min.js │ ├── requirementDiagram-87253d64-XJI5VOSH.min.js.map │ ├── requirementDiagram-MIRIMTAZ-CXICLXCG.min.js │ ├── requirementDiagram-MIRIMTAZ-CXICLXCG.min.js.map │ ├── sankeyDiagram-6db3d513-UAUVVQE6.min.js │ ├── sankeyDiagram-6db3d513-UAUVVQE6.min.js.map │ ├── sankeyDiagram-707fac0f-3GVBJS6H.min.js │ ├── sankeyDiagram-707fac0f-3GVBJS6H.min.js.map │ ├── sankeyDiagram-Y46BX6SQ-LTJNBPUP.min.js │ ├── sankeyDiagram-Y46BX6SQ-LTJNBPUP.min.js.map │ ├── search-worker.min.js │ ├── search-worker.min.js.map │ ├── sequenceDiagram-465a088a-72KISVBJ.min.js │ ├── sequenceDiagram-465a088a-72KISVBJ.min.js.map │ ├── sequenceDiagram-6894f283-AJU5ZNMQ.min.js │ ├── sequenceDiagram-6894f283-AJU5ZNMQ.min.js.map │ ├── sequenceDiagram-G6AWOVSC-UJVWCU2P.min.js │ ├── sequenceDiagram-G6AWOVSC-UJVWCU2P.min.js.map │ ├── stateDiagram-5dee940d-56243UMQ.min.js │ ├── stateDiagram-5dee940d-56243UMQ.min.js.map │ ├── stateDiagram-MAYHULR4-UPNPJ5ZA.min.js │ ├── stateDiagram-MAYHULR4-UPNPJ5ZA.min.js.map │ ├── stateDiagram-b620d43f-6XMSQQAT.min.js │ ├── stateDiagram-b620d43f-6XMSQQAT.min.js.map │ ├── stateDiagram-v2-1992cada-ZUI7IUPQ.min.js │ ├── stateDiagram-v2-1992cada-ZUI7IUPQ.min.js.map │ ├── stateDiagram-v2-2671c3d1-GBFY3N5Z.min.js │ ├── stateDiagram-v2-2671c3d1-GBFY3N5Z.min.js.map │ ├── stateDiagram-v2-4JROLMXI-COTI64PW.min.js │ ├── stateDiagram-v2-4JROLMXI-COTI64PW.min.js.map │ ├── tex-svg-full-3JRN7JHV.min.js │ ├── tex-svg-full-3JRN7JHV.min.js.map │ ├── tex-svg-full-JPZ3Q247.min.js │ ├── tex-svg-full-JPZ3Q247.min.js.map │ ├── tex-svg-full-SL33OL2J.min.js │ ├── tex-svg-full-SL33OL2J.min.js.map │ ├── timeline-definition-732a2638-NYHTUS3Z.min.js │ ├── timeline-definition-732a2638-NYHTUS3Z.min.js.map │ ├── timeline-definition-U7ZMHBDA-I7GF7M6N.min.js │ ├── timeline-definition-U7ZMHBDA-I7GF7M6N.min.js.map │ ├── timeline-definition-bf702344-YJZ3MVX7.min.js │ ├── timeline-definition-bf702344-YJZ3MVX7.min.js.map │ ├── xychartDiagram-6QU3TZC5-MQVPM64I.min.js │ ├── xychartDiagram-6QU3TZC5-MQVPM64I.min.js.map │ ├── xychartDiagram-f11f50a6-N45Z7OOP.min.js │ ├── xychartDiagram-f11f50a6-N45Z7OOP.min.js.map │ ├── xychartDiagram-f746c04c-RVX2Y5TN.min.js │ └── xychartDiagram-f746c04c-RVX2Y5TN.min.js.map ├── styles │ ├── docfx.css │ ├── docfx.js │ ├── docfx.vendor.css │ ├── docfx.vendor.js │ ├── lunr.js │ ├── lunr.min.js │ ├── main.css │ ├── main.js │ └── search-worker.js ├── toc.html ├── toc.json └── xrefmap.yml └── src ├── .editorconfig ├── .gitignore ├── VirtualizingWrapPanel.sln ├── VirtualizingWrapPanel ├── AssemblyInfo.cs ├── GridDetailsView.xaml ├── GridDetailsView.xaml.cs ├── GridView.cs ├── IItemSizeProvider.cs ├── ItemAlignment.cs ├── ItemContainerManager.cs ├── PolyfillExtensions.cs ├── ScrollDirection.cs ├── SpacingMode.cs ├── VirtualizingItemsControl.cs ├── VirtualizingPanelBase.cs ├── VirtualizingWrapPanel.cs ├── VirtualizingWrapPanel.csproj ├── VirtualizingWrapPanelWithItemExpansion.cs ├── docfx │ ├── api │ │ ├── .gitignore │ │ ├── .manifest │ │ └── index.md │ ├── build.ps1 │ ├── custom │ │ └── public │ │ │ └── main.css │ ├── docfx.json │ ├── docs │ │ ├── getting-started.md │ │ └── toc.yml │ ├── filter.yml │ └── toc.yml ├── index.md ├── nuget │ └── README.md └── pack.ps1 ├── VirtualizingWrapPanelSamples ├── App.config ├── App.xaml ├── App.xaml.cs ├── BoolToVisibilityConverter.cs ├── ColorToBrushConverter.cs ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── MainWindowModel.cs ├── Properties │ └── PublishProfiles │ │ └── Win-x64.pubxml ├── TestItem.cs ├── TestItemSizeProvider.cs └── VirtualizingWrapPanelSamples.csproj ├── VirtualizingWrapPanelSamplesFW ├── App.config ├── App.xaml ├── App.xaml.cs ├── Properties │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings └── VirtualizingWrapPanelSamplesFW.csproj └── VirtualizingWrapPanelTest ├── Mocks ├── LazyTestItem.cs └── TestItem.cs ├── TestItemSizeProvider.cs ├── TestUtil.cs ├── Tests ├── AllowDifferentSizedItemsTest.cs ├── BasisTest.cs ├── CacheTest.cs ├── GroupingTest.cs ├── RegressionTest.cs ├── ResizeTest.cs └── SpacingModeTest.cs └── VirtualizingWrapPanelTest.csproj /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: sbaeumlisberger 2 | custom: paypal.me/sbaeumlisberger 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/default-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Issue Template 3 | about: Template for creating an issue. 4 | title: '' 5 | labels: '' 6 | assignees: 'sbaeumlisberger' 7 | 8 | --- 9 | 10 | **Describe your issue** 11 | A clear and concise description of your issue. If you believe it is a bug, please provide the steps to reproduce (code snippets or a sample project are helpful). 12 | 13 | **Version Info** 14 | Package Version: [e.g. 1.5.2] 15 | .NET Version: [e.g. .NET Framework 4.7.2] 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 S. Bäumlisberger 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Nuget](https://img.shields.io/nuget/v/VirtualizingWrapPanel)](https://www.nuget.org/packages/VirtualizingWrapPanel) 2 | [GitHub](https://github.com/sbaeumlisberger/VirtualizingWrapPanel/blob/master/LICENSE) 3 | 4 | ## VirtualizingWrapPanel 5 | 6 | Feature-rich implementation of a [VirtualizingWrapPanel](https://sbaeumlisberger.github.io/VirtualizingWrapPanel/api/WpfToolkit.Controls.VirtualizingWrapPanel.html) control for WPF running .NET Framework 4.6.2+ or .NET 6.0+. The additional [GridView](https://sbaeumlisberger.github.io/VirtualizingWrapPanel/api/WpfToolkit.Controls.GridView.html) controls provides a easy to use out-of-the-box experience. 7 | 8 | ### Features 9 | * Horizontal and vertical orientation 10 | * Container recycling and high performance 11 | * Grouping / hierarchical virtualization 12 | * Configurable spacing behaviour and item alignment 13 | * Caching based on pages, items or pixels 14 | * Displaying different sized items 15 | 16 | ### Resources 17 | * [Getting started](src/VirtualizingWrapPanel/docfx/docs/getting-started.md) 18 | * [Sample Application](SamplesApplication.md) 19 | * [API Documentation](https://sbaeumlisberger.github.io/VirtualizingWrapPanel/api/WpfToolkit.Controls.html) 20 | 21 | ### Contribution 22 | Feel free to open an issue if you have a problem or suggestion. Pull requests are also accepted, but please make sure you open an issue first so that it can be discussed. 23 | To to support the future development of the project you can become a [sponsor](https://github.com/sponsors/sbaeumlisberger) or make a donation via [PayPal](https://www.paypal.com/paypalme/sbaeumlisberger). 24 | -------------------------------------------------------------------------------- /SamplesApplication.md: -------------------------------------------------------------------------------- 1 | ## Samples Application 2 | 3 | Here you can download the latest executable: 4 | * [Windows 64 Bit](https://github.com/sbaeumlisberger/VirtualizingWrapPanel/releases/download/v2.2.1/VirtualizingWrapPanelSamples.exe) 5 | 6 | Alternatively, you can clone the repository and build the project in the folder `src/VirtualizingWrapPanelSamples`. 7 | 8 | If you just want to have a look at the code, follow this [link](https://github.com/sbaeumlisberger/VirtualizingWrapPanel/tree/master/src/VirtualizingWrapPanelSamples). 9 | -------------------------------------------------------------------------------- /docs/api/toc.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 | 7 | 8 | 9 |
10 |
11 |
12 |
13 | 14 | 50 |
51 |
52 |
53 |
54 | -------------------------------------------------------------------------------- /docs/api/toc.json: -------------------------------------------------------------------------------- 1 | 2 | {"items":[{"name":"WpfToolkit.Controls","href":"WpfToolkit.Controls.html","topicHref":"WpfToolkit.Controls.html","topicUid":"WpfToolkit.Controls","type":"Namespace","items":[{"name":"GridDetailsView","href":"WpfToolkit.Controls.GridDetailsView.html","topicHref":"WpfToolkit.Controls.GridDetailsView.html","topicUid":"WpfToolkit.Controls.GridDetailsView","type":"Class"},{"name":"GridView","href":"WpfToolkit.Controls.GridView.html","topicHref":"WpfToolkit.Controls.GridView.html","topicUid":"WpfToolkit.Controls.GridView","type":"Class"},{"name":"IItemSizeProvider","href":"WpfToolkit.Controls.IItemSizeProvider.html","topicHref":"WpfToolkit.Controls.IItemSizeProvider.html","topicUid":"WpfToolkit.Controls.IItemSizeProvider","type":"Interface"},{"name":"ItemAlignment","href":"WpfToolkit.Controls.ItemAlignment.html","topicHref":"WpfToolkit.Controls.ItemAlignment.html","topicUid":"WpfToolkit.Controls.ItemAlignment","type":"Enum"},{"name":"SpacingMode","href":"WpfToolkit.Controls.SpacingMode.html","topicHref":"WpfToolkit.Controls.SpacingMode.html","topicUid":"WpfToolkit.Controls.SpacingMode","type":"Enum"},{"name":"VirtualizingItemsControl","href":"WpfToolkit.Controls.VirtualizingItemsControl.html","topicHref":"WpfToolkit.Controls.VirtualizingItemsControl.html","topicUid":"WpfToolkit.Controls.VirtualizingItemsControl","type":"Class"},{"name":"VirtualizingPanelBase","href":"WpfToolkit.Controls.VirtualizingPanelBase.html","topicHref":"WpfToolkit.Controls.VirtualizingPanelBase.html","topicUid":"WpfToolkit.Controls.VirtualizingPanelBase","type":"Class"},{"name":"VirtualizingWrapPanel","href":"WpfToolkit.Controls.VirtualizingWrapPanel.html","topicHref":"WpfToolkit.Controls.VirtualizingWrapPanel.html","topicUid":"WpfToolkit.Controls.VirtualizingWrapPanel","type":"Class"},{"name":"VirtualizingWrapPanelWithItemExpansion","href":"WpfToolkit.Controls.VirtualizingWrapPanelWithItemExpansion.html","topicHref":"WpfToolkit.Controls.VirtualizingWrapPanelWithItemExpansion.html","topicUid":"WpfToolkit.Controls.VirtualizingWrapPanelWithItemExpansion","type":"Class"}]}],"memberLayout":"SamePage","pdf":false} 3 | -------------------------------------------------------------------------------- /docs/docs/toc.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 | 7 | 8 | 9 |
10 |
11 |
12 |
13 | 14 | 19 |
20 |
21 |
22 |
23 | -------------------------------------------------------------------------------- /docs/docs/toc.json: -------------------------------------------------------------------------------- 1 | 2 | {"items":[{"name":"Getting Started","href":"getting-started.html","topicHref":"getting-started.html"}],"pdf":false} 3 | -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sbaeumlisberger/VirtualizingWrapPanel/c1db1c4818dc0948b6d806019c0748a20b8d18d3/docs/favicon.ico -------------------------------------------------------------------------------- /docs/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sbaeumlisberger/VirtualizingWrapPanel/c1db1c4818dc0948b6d806019c0748a20b8d18d3/docs/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /docs/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sbaeumlisberger/VirtualizingWrapPanel/c1db1c4818dc0948b6d806019c0748a20b8d18d3/docs/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /docs/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sbaeumlisberger/VirtualizingWrapPanel/c1db1c4818dc0948b6d806019c0748a20b8d18d3/docs/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /docs/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sbaeumlisberger/VirtualizingWrapPanel/c1db1c4818dc0948b6d806019c0748a20b8d18d3/docs/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /docs/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by Docfx 9 | 10 | 12 | 15 | 21 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/public/architecture-I3QFYML2-2T2ZUHXO.min.js: -------------------------------------------------------------------------------- 1 | import{a as e,b as r}from"./chunk-IJ4BRSPX.min.js";import"./chunk-BIJFJY5F.min.js";import"./chunk-U4DUTLYF.min.js";import"./chunk-IQQ46AC6.min.js";import"./chunk-CXRPJJJE.min.js";import"./chunk-OSRY5VT3.min.js";export{e as ArchitectureModule,r as createArchitectureServices}; 2 | //# sourceMappingURL=architecture-I3QFYML2-2T2ZUHXO.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/architecture-I3QFYML2-2T2ZUHXO.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/bootstrap-icons-BNVXHMH5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sbaeumlisberger/VirtualizingWrapPanel/c1db1c4818dc0948b6d806019c0748a20b8d18d3/docs/public/bootstrap-icons-BNVXHMH5.woff -------------------------------------------------------------------------------- /docs/public/bootstrap-icons-OCU552PF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sbaeumlisberger/VirtualizingWrapPanel/c1db1c4818dc0948b6d806019c0748a20b8d18d3/docs/public/bootstrap-icons-OCU552PF.woff -------------------------------------------------------------------------------- /docs/public/bootstrap-icons-UDRIHJCM.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sbaeumlisberger/VirtualizingWrapPanel/c1db1c4818dc0948b6d806019c0748a20b8d18d3/docs/public/bootstrap-icons-UDRIHJCM.woff2 -------------------------------------------------------------------------------- /docs/public/bootstrap-icons-X6UQXWUS.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sbaeumlisberger/VirtualizingWrapPanel/c1db1c4818dc0948b6d806019c0748a20b8d18d3/docs/public/bootstrap-icons-X6UQXWUS.woff2 -------------------------------------------------------------------------------- /docs/public/chunk-334IV3XH.min.js: -------------------------------------------------------------------------------- 1 | import{b as k}from"./chunk-P42HNYSU.min.js";var v=k((h,j)=>{(function(e,n){typeof define=="function"&&define.amd?define(n):typeof h=="object"?j.exports=n():n()(e.lunr)})(h,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var n=e.version[0]=="2";e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),n?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var F=new e.TinySegmenter;e.ja.tokenizer=function(s){var t,i,f,o,a,d,g,p,r,c;if(!arguments.length||s==null||s==null)return[];if(Array.isArray(s))return s.map(function(m){return n?new e.Token(m.toLowerCase()):m.toLowerCase()});for(i=s.toString().toLowerCase().replace(/^\s+/,""),t=i.length-1;t>=0;t--)if(/\S/.test(i.charAt(t))){i=i.substring(0,t+1);break}for(a=[],f=i.length,r=0,p=0;r<=f;r++)if(d=i.charAt(r),g=r-p,d.match(/\s/)||r==f){if(g>0)for(o=F.segment(i.slice(p,r)).filter(function(m){return!!m}),c=p,t=0;tnew m,"TokenBuilder"),ValueConverter:e(()=>new s,"ValueConverter")}};function I(c=i){let r=o(a(c),u),n=o(t({shared:r}),d,v);return r.ServiceRegistry.register(n),{shared:r,Info:n}}e(I,"createInfoServices");export{v as a,I as b}; 2 | //# sourceMappingURL=chunk-33FU46FA.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-33FU46FA.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-4YFB5VUC.mjs"], 4 | "sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n InfoGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-Y27MQZ3U.mjs\";\n\n// src/language/info/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/info/tokenBuilder.ts\nvar InfoTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"InfoTokenBuilder\");\n }\n constructor() {\n super([\"info\", \"showInfo\"]);\n }\n};\n\n// src/language/info/module.ts\nvar InfoModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new InfoTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createInfoServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Info = inject(\n createDefaultCoreModule({ shared }),\n InfoGeneratedModule,\n InfoModule\n );\n shared.ServiceRegistry.register(Info);\n return { shared, Info };\n}\n__name(createInfoServices, \"createInfoServices\");\n\nexport {\n InfoModule,\n createInfoServices\n};\n"], 5 | "mappings": "2GAiBA,IAAIA,EAAmB,cAAcC,CAA4B,CAC/D,MAAO,CACLC,EAAO,KAAM,kBAAkB,CACjC,CACA,aAAc,CACZ,MAAM,CAAC,OAAQ,UAAU,CAAC,CAC5B,CACF,EAGIC,EAAa,CACf,OAAQ,CACN,aAA8BD,EAAO,IAAM,IAAIF,EAAoB,cAAc,EACjF,eAAgCE,EAAO,IAAM,IAAIE,EAAwB,gBAAgB,CAC3F,CACF,EACA,SAASC,EAAmBC,EAAUC,EAAiB,CACrD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAOH,EACXI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAX,CACF,EACA,OAAAK,EAAO,gBAAgB,SAASI,CAAI,EAC7B,CAAE,OAAAJ,EAAQ,KAAAI,CAAK,CACxB,CACAV,EAAOG,EAAoB,oBAAoB", 6 | "names": ["InfoTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "InfoModule", "CommonValueConverter", "createInfoServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Info", "createDefaultCoreModule", "InfoGeneratedModule"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-5IIW54K6.min.js: -------------------------------------------------------------------------------- 1 | import{Z as s,h as n,ia as e}from"./chunk-U3SD26FK.min.js";var a=n(t=>{let{securityLevel:c}=s(),o=e("body");if(c==="sandbox"){let m=e(`#i${t}`).node()?.contentDocument??document;o=e(m.body)}return o.select(`#${t}`)},"selectSvgElement");export{a}; 2 | //# sourceMappingURL=chunk-5IIW54K6.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-5IIW54K6.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-EJ4ZWXGL.mjs"], 4 | "sourcesContent": ["import {\n __name,\n getConfig2 as getConfig\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/rendering-util/selectSvgElement.ts\nimport { select } from \"d3\";\nvar selectSvgElement = /* @__PURE__ */ __name((id) => {\n const { securityLevel } = getConfig();\n let root = select(\"body\");\n if (securityLevel === \"sandbox\") {\n const sandboxElement = select(`#i${id}`);\n const doc = sandboxElement.node()?.contentDocument ?? document;\n root = select(doc.body);\n }\n const svg = root.select(`#${id}`);\n return svg;\n}, \"selectSvgElement\");\n\nexport {\n selectSvgElement\n};\n"], 5 | "mappings": "2DAOA,IAAIA,EAAmCC,EAAQC,GAAO,CACpD,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAU,EAChCC,EAAOC,EAAO,MAAM,EACxB,GAAIH,IAAkB,UAAW,CAE/B,IAAMI,EADiBD,EAAO,KAAKJ,CAAE,EAAE,EACZ,KAAK,GAAG,iBAAmB,SACtDG,EAAOC,EAAOC,EAAI,IAAI,CACxB,CAEA,OADYF,EAAK,OAAO,IAAIH,CAAE,EAAE,CAElC,EAAG,kBAAkB", 6 | "names": ["selectSvgElement", "__name", "id", "securityLevel", "getConfig2", "root", "select_default", "doc"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-C7DS3QYJ.min.js: -------------------------------------------------------------------------------- 1 | import{a as c}from"./chunk-CM5D5KZN.min.js";import{G as o,h as n}from"./chunk-U3SD26FK.min.js";import{d as x}from"./chunk-OSRY5VT3.min.js";var l=x(c(),1),d=n((a,t)=>{let r=a.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.name&&r.attr("name",t.name),t.rx&&r.attr("rx",t.rx),t.ry&&r.attr("ry",t.ry),t.attrs!==void 0)for(let e in t.attrs)r.attr(e,t.attrs[e]);return t.class&&r.attr("class",t.class),r},"drawRect"),g=n((a,t)=>{let r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};d(a,r).lower()},"drawBackgroundRect"),h=n((a,t)=>{let r=t.text.replace(o," "),e=a.append("text");e.attr("x",t.x),e.attr("y",t.y),e.attr("class","legend"),e.style("text-anchor",t.anchor),t.class&&e.attr("class",t.class);let s=e.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(r),e},"drawText"),y=n((a,t,r,e)=>{let s=a.append("image");s.attr("x",t),s.attr("y",r);let i=(0,l.sanitizeUrl)(e);s.attr("xlink:href",i)},"drawImage"),p=n((a,t,r,e)=>{let s=a.append("use");s.attr("x",t),s.attr("y",r);let i=(0,l.sanitizeUrl)(e);s.attr("xlink:href",`#${i}`)},"drawEmbeddedImage"),f=n(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),w=n(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj");export{d as a,g as b,h as c,y as d,p as e,f,w as g}; 2 | //# sourceMappingURL=chunk-C7DS3QYJ.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-CLIYZZ5Y.min.js: -------------------------------------------------------------------------------- 1 | import{h as x}from"./chunk-U3SD26FK.min.js";var c={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4};function d(n,r){if(n===void 0||r===void 0)return{angle:0,deltaX:0,deltaY:0};n=t(n),r=t(r);let[s,e]=[n.x,n.y],[a,i]=[r.x,r.y],o=a-s,y=i-e;return{angle:Math.atan(y/o),deltaX:o,deltaY:y}}x(d,"calculateDeltaAndAngle");var t=x(n=>Array.isArray(n)?{x:n[0],y:n[1]}:n,"pointTransformer"),T=x(n=>({x:x(function(r,s,e){let a=0,i=t(e[0]).x=0?1:-1)}else if(s===e.length-1&&Object.hasOwn(c,n.arrowTypeEnd)){let{angle:l,deltaX:g}=d(e[e.length-1],e[e.length-2]);a=c[n.arrowTypeEnd]*Math.cos(l)*(g>=0?1:-1)}let o=Math.abs(t(r).x-t(e[e.length-1]).x),y=Math.abs(t(r).y-t(e[e.length-1]).y),f=Math.abs(t(r).x-t(e[0]).x),w=Math.abs(t(r).y-t(e[0]).y),h=c[n.arrowTypeStart],u=c[n.arrowTypeEnd],p=1;if(o0&&y0&&w=0?1:-1)}else if(s===e.length-1&&Object.hasOwn(c,n.arrowTypeEnd)){let{angle:l,deltaY:g}=d(e[e.length-1],e[e.length-2]);a=c[n.arrowTypeEnd]*Math.abs(Math.sin(l))*(g>=0?1:-1)}let o=Math.abs(t(r).y-t(e[e.length-1]).y),y=Math.abs(t(r).x-t(e[e.length-1]).x),f=Math.abs(t(r).y-t(e[0]).y),w=Math.abs(t(r).x-t(e[0]).x),h=c[n.arrowTypeStart],u=c[n.arrowTypeEnd],p=1;if(o0&&y0&&w{"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.BLANK_URL=e.relativeFirstCharacters=e.whitespaceEscapeCharsRegex=e.urlSchemeRegex=e.ctrlCharactersRegex=e.htmlCtrlEntityRegex=e.htmlEntitiesRegex=e.invalidProtocolRegex=void 0;e.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;e.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;e.htmlCtrlEntityRegex=/&(newline|tab);/gi;e.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;e.urlSchemeRegex=/^.+(:|:)/gim;e.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;e.relativeFirstCharacters=[".","/"];e.BLANK_URL="about:blank"});var p=m(s=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0});s.sanitizeUrl=void 0;var t=R();function d(r){return t.relativeFirstCharacters.indexOf(r[0])>-1}function v(r){var c=r.replace(t.ctrlCharactersRegex,"");return c.replace(t.htmlEntitiesRegex,function(a,i){return String.fromCharCode(i)})}function x(r){return URL.canParse(r)}function g(r){try{return decodeURIComponent(r)}catch{return r}}function C(r){if(!r)return t.BLANK_URL;var c,a=g(r.trim());do a=v(a).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),a=g(a),c=a.match(t.ctrlCharactersRegex)||a.match(t.htmlEntitiesRegex)||a.match(t.htmlCtrlEntityRegex)||a.match(t.whitespaceEscapeCharsRegex);while(c&&c.length>0);var i=a;if(!i)return t.BLANK_URL;if(d(i))return i;var h=i.trimStart(),u=h.match(t.urlSchemeRegex);if(!u)return i;var n=u[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(n))return t.BLANK_URL;var o=h.replace(/\\/g,"/");if(n==="mailto:"||n.includes("://"))return o;if(n==="http:"||n==="https:"){if(!x(o))return t.BLANK_URL;var l=new URL(o);return l.protocol=l.protocol.toLowerCase(),l.hostname=l.hostname.toLowerCase(),l.toString()}return o}s.sanitizeUrl=C});export{p as a}; 2 | //# sourceMappingURL=chunk-CM5D5KZN.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-DTUU2GN4.min.js: -------------------------------------------------------------------------------- 1 | import{a as k}from"./chunk-OSRY5VT3.min.js";var v=k((h,j)=>{(function(e,n){typeof define=="function"&&define.amd?define(n):typeof h=="object"?j.exports=n():n()(e.lunr)})(h,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var n=e.version[0]=="2";e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),n?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var F=new e.TinySegmenter;e.ja.tokenizer=function(s){var t,i,f,o,a,d,g,p,r,c;if(!arguments.length||s==null||s==null)return[];if(Array.isArray(s))return s.map(function(m){return n?new e.Token(m.toLowerCase()):m.toLowerCase()});for(i=s.toString().toLowerCase().replace(/^\s+/,""),t=i.length-1;t>=0;t--)if(/\S/.test(i.charAt(t))){i=i.substring(0,t+1);break}for(a=[],f=i.length,r=0,p=0;r<=f;r++)if(d=i.charAt(r),g=r-p,d.match(/\s/)||r==f){if(g>0)for(o=F.segment(i.slice(p,r)).filter(function(m){return!!m}),c=p,t=0;t{let r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.rx!==void 0&&r.attr("rx",t.rx),t.ry!==void 0&&r.attr("ry",t.ry),t.attrs!==void 0)for(let e in t.attrs)r.attr(e,t.attrs[e]);return t.class!==void 0&&r.attr("class",t.class),r},h=(s,t)=>{let r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(s,r).lower()},y=(s,t)=>{let r=t.text.replace(o," "),e=s.append("text");e.attr("x",t.x),e.attr("y",t.y),e.attr("class","legend"),e.style("text-anchor",t.anchor),t.class!==void 0&&e.attr("class",t.class);let n=e.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(r),e},p=(s,t,r,e)=>{let n=s.append("image");n.attr("x",t),n.attr("y",r);let a=(0,i.sanitizeUrl)(e);n.attr("xlink:href",a)},g=(s,t,r,e)=>{let n=s.append("use");n.attr("x",t),n.attr("y",r);let a=(0,i.sanitizeUrl)(e);n.attr("xlink:href",`#${a}`)},m=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),f=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});export{x as a,h as b,y as c,p as d,g as e,m as f,f as g}; 2 | //# sourceMappingURL=chunk-F7JJDB3C.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-I4ZXTPQC.min.js: -------------------------------------------------------------------------------- 1 | import{h as t}from"./chunk-U3SD26FK.min.js";var s=class{constructor(i){this.init=i,this.records=this.init()}static{t(this,"ImperativeState")}reset(){this.records=this.init()}};export{s as a}; 2 | //# sourceMappingURL=chunk-I4ZXTPQC.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-I4ZXTPQC.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-KFBOBJHC.mjs"], 4 | "sourcesContent": ["import {\n __name\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/utils/imperativeState.ts\nvar ImperativeState = class {\n /**\n * @param init - Function that creates the default state.\n */\n constructor(init) {\n this.init = init;\n this.records = this.init();\n }\n static {\n __name(this, \"ImperativeState\");\n }\n reset() {\n this.records = this.init();\n }\n};\n\nexport {\n ImperativeState\n};\n"], 5 | "mappings": "4CAKA,IAAIA,EAAkB,KAAM,CAI1B,YAAYC,EAAM,CAChB,KAAK,KAAOA,EACZ,KAAK,QAAU,KAAK,KAAK,CAC3B,CACA,MAAO,CACLC,EAAO,KAAM,iBAAiB,CAChC,CACA,OAAQ,CACN,KAAK,QAAU,KAAK,KAAK,CAC3B,CACF", 6 | "names": ["ImperativeState", "init", "__name"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-IJ4BRSPX.min.js: -------------------------------------------------------------------------------- 1 | import{a as i,b as u,c as a,d as n,e as m,f as r,g as o,k as s,m as l,o as d}from"./chunk-BIJFJY5F.min.js";var h=class extends d{static{r(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},A=class extends l{static{r(this,"ArchitectureValueConverter")}runCustomConverter(t,e,c){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE")return e.replace(/[[\]]/g,"").trim()}},C={parser:{TokenBuilder:r(()=>new h,"TokenBuilder"),ValueConverter:r(()=>new A,"ValueConverter")}};function v(t=n){let e=a(u(t),o),c=a(i({shared:e}),s,C);return e.ServiceRegistry.register(c),{shared:e,Architecture:c}}r(v,"createArchitectureServices");export{C as a,v as b}; 2 | //# sourceMappingURL=chunk-IJ4BRSPX.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-IJ4BRSPX.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-FF7BQXOH.mjs"], 4 | "sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n ArchitectureGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-Y27MQZ3U.mjs\";\n\n// src/language/architecture/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/architecture/tokenBuilder.ts\nvar ArchitectureTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"ArchitectureTokenBuilder\");\n }\n constructor() {\n super([\"architecture\"]);\n }\n};\n\n// src/language/architecture/valueConverter.ts\nvar ArchitectureValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"ArchitectureValueConverter\");\n }\n runCustomConverter(rule, input, _cstNode) {\n if (rule.name === \"ARCH_ICON\") {\n return input.replace(/[()]/g, \"\").trim();\n } else if (rule.name === \"ARCH_TEXT_ICON\") {\n return input.replace(/[\"()]/g, \"\");\n } else if (rule.name === \"ARCH_TITLE\") {\n return input.replace(/[[\\]]/g, \"\").trim();\n }\n return void 0;\n }\n};\n\n// src/language/architecture/module.ts\nvar ArchitectureModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new ArchitectureTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new ArchitectureValueConverter(), \"ValueConverter\")\n }\n};\nfunction createArchitectureServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Architecture = inject(\n createDefaultCoreModule({ shared }),\n ArchitectureGeneratedModule,\n ArchitectureModule\n );\n shared.ServiceRegistry.register(Architecture);\n return { shared, Architecture };\n}\n__name(createArchitectureServices, \"createArchitectureServices\");\n\nexport {\n ArchitectureModule,\n createArchitectureServices\n};\n"], 5 | "mappings": "2GAiBA,IAAIA,EAA2B,cAAcC,CAA4B,CACvE,MAAO,CACLC,EAAO,KAAM,0BAA0B,CACzC,CACA,aAAc,CACZ,MAAM,CAAC,cAAc,CAAC,CACxB,CACF,EAGIC,EAA6B,cAAcC,CAA8B,CAC3E,MAAO,CACLF,EAAO,KAAM,4BAA4B,CAC3C,CACA,mBAAmBG,EAAMC,EAAOC,EAAU,CACxC,GAAIF,EAAK,OAAS,YAChB,OAAOC,EAAM,QAAQ,QAAS,EAAE,EAAE,KAAK,EAClC,GAAID,EAAK,OAAS,iBACvB,OAAOC,EAAM,QAAQ,SAAU,EAAE,EAC5B,GAAID,EAAK,OAAS,aACvB,OAAOC,EAAM,QAAQ,SAAU,EAAE,EAAE,KAAK,CAG5C,CACF,EAGIE,EAAqB,CACvB,OAAQ,CACN,aAA8BN,EAAO,IAAM,IAAIF,EAA4B,cAAc,EACzF,eAAgCE,EAAO,IAAM,IAAIC,EAA8B,gBAAgB,CACjG,CACF,EACA,SAASM,EAA2BC,EAAUC,EAAiB,CAC7D,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAeH,EACnBI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAV,CACF,EACA,OAAAI,EAAO,gBAAgB,SAASI,CAAY,EACrC,CAAE,OAAAJ,EAAQ,aAAAI,CAAa,CAChC,CACAd,EAAOO,EAA4B,4BAA4B", 6 | "names": ["ArchitectureTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "ArchitectureValueConverter", "AbstractMermaidValueConverter", "rule", "input", "_cstNode", "ArchitectureModule", "createArchitectureServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Architecture", "createDefaultCoreModule", "ArchitectureGeneratedModule"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-IQQ46AC6.min.js: -------------------------------------------------------------------------------- 1 | import{B as d,D as v,G as P,a as e,c as u,f as i,g as a,i as m,t as w,v as f,y as b,z as j}from"./chunk-CXRPJJJE.min.js";var A=w(Object.keys,Object),S=A;var C=Object.prototype,V=C.hasOwnProperty;function D(r){if(!f(r))return S(r);var t=[];for(var o in Object(r))V.call(r,o)&&o!="constructor"&&t.push(o);return t}var T=D;var K=a(e,"DataView"),n=K;var N=a(e,"Promise"),s=N;var W=a(e,"Set"),c=W;var B=a(e,"WeakMap"),g=B;var O="[object Map]",z="[object Object]",M="[object Promise]",h="[object Set]",x="[object WeakMap]",k="[object DataView]",E=i(n),G=i(m),L=i(s),q=i(c),F=i(g),p=u;(n&&p(new n(new ArrayBuffer(1)))!=k||m&&p(new m)!=O||s&&p(s.resolve())!=M||c&&p(new c)!=h||g&&p(new g)!=x)&&(p=function(r){var t=u(r),o=t==z?r.constructor:void 0,y=o?i(o):"";if(y)switch(y){case E:return k;case G:return O;case L:return M;case q:return h;case F:return x}return t});var l=p;var H="[object Map]",I="[object Set]",J=Object.prototype,Q=J.hasOwnProperty;function R(r){if(r==null)return!0;if(d(r)&&(j(r)||typeof r=="string"||typeof r.splice=="function"||v(r)||P(r)||b(r)))return!r.length;var t=l(r);if(t==H||t==I)return!r.size;if(f(r))return!T(r).length;for(var o in r)if(Q.call(r,o))return!1;return!0}var kr=R;export{T as a,c as b,l as c,kr as d}; 2 | //# sourceMappingURL=chunk-IQQ46AC6.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-ISDTAGDN.min.js: -------------------------------------------------------------------------------- 1 | import{O as x,h as r,ia as a,j as h}from"./chunk-U3SD26FK.min.js";var b=r((t,e)=>{let o;return e==="sandbox"&&(o=a("#i"+t)),(e==="sandbox"?a(o.nodes()[0].contentDocument.body):a("body")).select(`[id="${t}"]`)},"getDiagramElement"),B=r((t,e,o,n)=>{t.attr("class",o);let{width:i,height:s,x:m,y:d}=g(t,e);x(t,s,i,n);let c=w(m,d,i,s,e);t.attr("viewBox",c),h.debug(`viewBox configured: ${c} with padding: ${e}`)},"setupViewPortForSVG"),g=r((t,e)=>{let o=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:o.width+e*2,height:o.height+e*2,x:o.x,y:o.y}},"calculateDimensionsWithPadding"),w=r((t,e,o,n,i)=>`${t-i} ${e-i} ${o} ${n}`,"createViewBox");export{b as a,B as b}; 2 | //# sourceMappingURL=chunk-ISDTAGDN.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-ISDTAGDN.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-5HRBRIJM.mjs"], 4 | "sourcesContent": ["import {\n __name,\n configureSvgSize,\n log\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/rendering-util/insertElementsForSize.js\nimport { select } from \"d3\";\nvar getDiagramElement = /* @__PURE__ */ __name((id, securityLevel) => {\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const svg = root.select(`[id=\"${id}\"]`);\n return svg;\n}, \"getDiagramElement\");\n\n// src/rendering-util/setupViewPortForSVG.ts\nvar setupViewPortForSVG = /* @__PURE__ */ __name((svg, padding, cssDiagram, useMaxWidth) => {\n svg.attr(\"class\", cssDiagram);\n const { width, height, x, y } = calculateDimensionsWithPadding(svg, padding);\n configureSvgSize(svg, height, width, useMaxWidth);\n const viewBox = createViewBox(x, y, width, height, padding);\n svg.attr(\"viewBox\", viewBox);\n log.debug(`viewBox configured: ${viewBox} with padding: ${padding}`);\n}, \"setupViewPortForSVG\");\nvar calculateDimensionsWithPadding = /* @__PURE__ */ __name((svg, padding) => {\n const bounds = svg.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 };\n return {\n width: bounds.width + padding * 2,\n height: bounds.height + padding * 2,\n x: bounds.x,\n y: bounds.y\n };\n}, \"calculateDimensionsWithPadding\");\nvar createViewBox = /* @__PURE__ */ __name((x, y, width, height, padding) => {\n return `${x - padding} ${y - padding} ${width} ${height}`;\n}, \"createViewBox\");\n\nexport {\n getDiagramElement,\n setupViewPortForSVG\n};\n"], 5 | "mappings": "kEAQA,IAAIA,EAAoCC,EAAO,CAACC,EAAIC,IAAkB,CACpE,IAAIC,EACJ,OAAID,IAAkB,YACpBC,EAAiBC,EAAO,KAAOH,CAAE,IAEtBC,IAAkB,UAAYE,EAAOD,EAAe,MAAM,EAAE,CAAC,EAAE,gBAAgB,IAAI,EAAIC,EAAO,MAAM,GAChG,OAAO,QAAQH,CAAE,IAAI,CAExC,EAAG,mBAAmB,EAGlBI,EAAsCL,EAAO,CAACM,EAAKC,EAASC,EAAYC,IAAgB,CAC1FH,EAAI,KAAK,QAASE,CAAU,EAC5B,GAAM,CAAE,MAAAE,EAAO,OAAAC,EAAQ,EAAAC,EAAG,EAAAC,CAAE,EAAIC,EAA+BR,EAAKC,CAAO,EAC3EQ,EAAiBT,EAAKK,EAAQD,EAAOD,CAAW,EAChD,IAAMO,EAAUC,EAAcL,EAAGC,EAAGH,EAAOC,EAAQJ,CAAO,EAC1DD,EAAI,KAAK,UAAWU,CAAO,EAC3BE,EAAI,MAAM,uBAAuBF,CAAO,kBAAkBT,CAAO,EAAE,CACrE,EAAG,qBAAqB,EACpBO,EAAiDd,EAAO,CAACM,EAAKC,IAAY,CAC5E,IAAMY,EAASb,EAAI,KAAK,GAAG,QAAQ,GAAK,CAAE,MAAO,EAAG,OAAQ,EAAG,EAAG,EAAG,EAAG,CAAE,EAC1E,MAAO,CACL,MAAOa,EAAO,MAAQZ,EAAU,EAChC,OAAQY,EAAO,OAASZ,EAAU,EAClC,EAAGY,EAAO,EACV,EAAGA,EAAO,CACZ,CACF,EAAG,gCAAgC,EAC/BF,EAAgCjB,EAAO,CAACY,EAAGC,EAAGH,EAAOC,EAAQJ,IACxD,GAAGK,EAAIL,CAAO,IAAIM,EAAIN,CAAO,IAAIG,CAAK,IAAIC,CAAM,GACtD,eAAe", 6 | "names": ["getDiagramElement", "__name", "id", "securityLevel", "sandboxElement", "select_default", "setupViewPortForSVG", "svg", "padding", "cssDiagram", "useMaxWidth", "width", "height", "x", "y", "calculateDimensionsWithPadding", "configureSvgSize", "viewBox", "createViewBox", "log", "bounds"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-JL3VILNY.min.js: -------------------------------------------------------------------------------- 1 | import{b as u,c as y,d as f,e as h}from"./chunk-TLYS76Q7.min.js";import{b as g,e as m,h as d}from"./chunk-N6ME3NZU.min.js";import{c as l}from"./chunk-PYPO7LRM.min.js";import{D as n,N as s,h as o,j as a}from"./chunk-U3SD26FK.min.js";var p={common:s,getConfig:n,insertCluster:m,insertEdge:f,insertEdgeLabel:u,insertMarkers:h,insertNode:d,interpolateToCurve:l,labelHelper:g,log:a,positionEdgeLabel:y},t={},L=o(r=>{for(let e of r)t[e.name]=e},"registerLayoutLoaders"),w=o(()=>{L([{name:"dagre",loader:o(async()=>await import("./dagre-4EVJKHTY-MHPLGZHX.min.js"),"loader")}])},"registerDefaultLayoutLoaders");w();var R=o(async(r,e)=>{if(!(r.layoutAlgorithm in t))throw new Error(`Unknown layout algorithm: ${r.layoutAlgorithm}`);let i=t[r.layoutAlgorithm];return(await i.loader()).render(r,e,p,{algorithm:i.algorithm})},"render"),_=o((r="",{fallback:e="dagre"}={})=>{if(r in t)return r;if(e in t)return a.warn(`Layout algorithm ${r} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${r} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm");export{L as a,R as b,_ as c}; 2 | //# sourceMappingURL=chunk-JL3VILNY.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-JL3VILNY.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-BO7VGL7K.mjs"], 4 | "sourcesContent": ["import {\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-66SQ7PYY.mjs\";\nimport {\n insertCluster,\n insertNode,\n labelHelper\n} from \"./chunk-7NZE2EM7.mjs\";\nimport {\n interpolateToCurve\n} from \"./chunk-7DKRZKHE.mjs\";\nimport {\n __name,\n common_default,\n getConfig,\n log\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/internals.ts\nvar internalHelpers = {\n common: common_default,\n getConfig,\n insertCluster,\n insertEdge,\n insertEdgeLabel,\n insertMarkers: markers_default,\n insertNode,\n interpolateToCurve,\n labelHelper,\n log,\n positionEdgeLabel\n};\n\n// src/rendering-util/render.ts\nvar layoutAlgorithms = {};\nvar registerLayoutLoaders = /* @__PURE__ */ __name((loaders) => {\n for (const loader of loaders) {\n layoutAlgorithms[loader.name] = loader;\n }\n}, \"registerLayoutLoaders\");\nvar registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {\n registerLayoutLoaders([\n {\n name: \"dagre\",\n loader: /* @__PURE__ */ __name(async () => await import(\"./dagre-4EVJKHTY.mjs\"), \"loader\")\n }\n ]);\n}, \"registerDefaultLayoutLoaders\");\nregisterDefaultLayoutLoaders();\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n if (!(data4Layout.layoutAlgorithm in layoutAlgorithms)) {\n throw new Error(`Unknown layout algorithm: ${data4Layout.layoutAlgorithm}`);\n }\n const layoutDefinition = layoutAlgorithms[data4Layout.layoutAlgorithm];\n const layoutRenderer = await layoutDefinition.loader();\n return layoutRenderer.render(data4Layout, svg, internalHelpers, {\n algorithm: layoutDefinition.algorithm\n });\n}, \"render\");\nvar getRegisteredLayoutAlgorithm = /* @__PURE__ */ __name((algorithm = \"\", { fallback = \"dagre\" } = {}) => {\n if (algorithm in layoutAlgorithms) {\n return algorithm;\n }\n if (fallback in layoutAlgorithms) {\n log.warn(`Layout algorithm ${algorithm} is not registered. Using ${fallback} as fallback.`);\n return fallback;\n }\n throw new Error(`Both layout algorithms ${algorithm} and ${fallback} are not registered.`);\n}, \"getRegisteredLayoutAlgorithm\");\n\nexport {\n registerLayoutLoaders,\n render,\n getRegisteredLayoutAlgorithm\n};\n"], 5 | "mappings": "wOAsBA,IAAIA,EAAkB,CACpB,OAAQC,EACR,UAAAC,EACA,cAAAC,EACA,WAAAC,EACA,gBAAAC,EACA,cAAeC,EACf,WAAAC,EACA,mBAAAC,EACA,YAAAC,EACA,IAAAC,EACA,kBAAAC,CACF,EAGIC,EAAmB,CAAC,EACpBC,EAAwCC,EAAQC,GAAY,CAC9D,QAAWC,KAAUD,EACnBH,EAAiBI,EAAO,IAAI,EAAIA,CAEpC,EAAG,uBAAuB,EACtBC,EAA+CH,EAAO,IAAM,CAC9DD,EAAsB,CACpB,CACE,KAAM,QACN,OAAwBC,EAAO,SAAY,KAAM,QAAO,kCAAsB,EAAG,QAAQ,CAC3F,CACF,CAAC,CACH,EAAG,8BAA8B,EACjCG,EAA6B,EAC7B,IAAIC,EAAyBJ,EAAO,MAAOK,EAAaC,IAAQ,CAC9D,GAAI,EAAED,EAAY,mBAAmBP,GACnC,MAAM,IAAI,MAAM,6BAA6BO,EAAY,eAAe,EAAE,EAE5E,IAAME,EAAmBT,EAAiBO,EAAY,eAAe,EAErE,OADuB,MAAME,EAAiB,OAAO,GAC/B,OAAOF,EAAaC,EAAKpB,EAAiB,CAC9D,UAAWqB,EAAiB,SAC9B,CAAC,CACH,EAAG,QAAQ,EACPC,EAA+CR,EAAO,CAACS,EAAY,GAAI,CAAE,SAAAC,EAAW,OAAQ,EAAI,CAAC,IAAM,CACzG,GAAID,KAAaX,EACf,OAAOW,EAET,GAAIC,KAAYZ,EACd,OAAAF,EAAI,KAAK,oBAAoBa,CAAS,6BAA6BC,CAAQ,eAAe,EACnFA,EAET,MAAM,IAAI,MAAM,0BAA0BD,CAAS,QAAQC,CAAQ,sBAAsB,CAC3F,EAAG,8BAA8B", 6 | "names": ["internalHelpers", "common_default", "getConfig", "insertCluster", "insertEdge", "insertEdgeLabel", "markers_default", "insertNode", "interpolateToCurve", "labelHelper", "log", "positionEdgeLabel", "layoutAlgorithms", "registerLayoutLoaders", "__name", "loaders", "loader", "registerDefaultLayoutLoaders", "render", "data4Layout", "svg", "layoutDefinition", "getRegisteredLayoutAlgorithm", "algorithm", "fallback"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-M7PQX5EB.min.js: -------------------------------------------------------------------------------- 1 | import{Ha as o,c}from"./chunk-YEACHCAA.min.js";import{d as l}from"./chunk-XUHMPXWX.min.js";var i=l(c(),1);var x=(s,t)=>{let r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.name&&r.attr("name",t.name),t.rx!==void 0&&r.attr("rx",t.rx),t.ry!==void 0&&r.attr("ry",t.ry),t.attrs!==void 0)for(let e in t.attrs)r.attr(e,t.attrs[e]);return t.class!==void 0&&r.attr("class",t.class),r},h=(s,t)=>{let r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(s,r).lower()},y=(s,t)=>{let r=t.text.replace(o," "),e=s.append("text");e.attr("x",t.x),e.attr("y",t.y),e.attr("class","legend"),e.style("text-anchor",t.anchor),t.class!==void 0&&e.attr("class",t.class);let n=e.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(r),e},m=(s,t,r,e)=>{let n=s.append("image");n.attr("x",t),n.attr("y",r);let a=(0,i.sanitizeUrl)(e);n.attr("xlink:href",a)},p=(s,t,r,e)=>{let n=s.append("use");n.attr("x",t),n.attr("y",r);let a=(0,i.sanitizeUrl)(e);n.attr("xlink:href",`#${a}`)},g=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),f=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});export{x as a,h as b,y as c,m as d,p as e,g as f,f as g}; 2 | //# sourceMappingURL=chunk-M7PQX5EB.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-NRE4YRK7.min.js: -------------------------------------------------------------------------------- 1 | import{b as k}from"./chunk-XUHMPXWX.min.js";var v=k((h,j)=>{(function(e,n){typeof define=="function"&&define.amd?define(n):typeof h=="object"?j.exports=n():n()(e.lunr)})(h,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var n=e.version[0]=="2";e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),n?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var F=new e.TinySegmenter;e.ja.tokenizer=function(s){var t,i,f,o,a,d,g,p,r,c;if(!arguments.length||s==null||s==null)return[];if(Array.isArray(s))return s.map(function(m){return n?new e.Token(m.toLowerCase()):m.toLowerCase()});for(i=s.toString().toLowerCase().replace(/^\s+/,""),t=i.length-1;t>=0;t--)if(/\S/.test(i.charAt(t))){i=i.substring(0,t+1);break}for(a=[],f=i.length,r=0,p=0;r<=f;r++)if(d=i.charAt(r),g=r-p,d.match(/\s/)||r==f){if(g>0)for(o=F.segment(i.slice(p,r)).filter(function(m){return!!m}),c=p,t=0;t()=>(a||b((a={exports:{}}).exports,a),a.exports),n=(b,a)=>{for(var c in a)f(b,c,{get:a[c],enumerable:!0})},e=(b,a,c,g)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of j(a))!l.call(b,d)&&d!==c&&f(b,d,{get:()=>a[d],enumerable:!(g=i(a,d))||g.enumerable});return b},o=(b,a,c)=>(e(b,a,"default"),c&&e(c,a,"default")),p=(b,a,c)=>(c=b!=null?h(k(b)):{},e(a||!b||!b.__esModule?f(c,"default",{value:b,enumerable:!0}):c,b));export{m as a,n as b,o as c,p as d}; 2 | //# sourceMappingURL=chunk-OSRY5VT3.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-OSRY5VT3.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-OZ2RCKQJ.min.js: -------------------------------------------------------------------------------- 1 | import{a as o,b as c,c as t,d as n,e as k,f as e,g as i,i as u,n as d,o as l}from"./chunk-BIJFJY5F.min.js";var m=class extends l{static{e(this,"PacketTokenBuilder")}constructor(){super(["packet-beta"])}},v={parser:{TokenBuilder:e(()=>new m,"TokenBuilder"),ValueConverter:e(()=>new d,"ValueConverter")}};function p(s=n){let r=t(c(s),i),a=t(o({shared:r}),u,v);return r.ServiceRegistry.register(a),{shared:r,Packet:a}}e(p,"createPacketServices");export{v as a,p as b}; 2 | //# sourceMappingURL=chunk-OZ2RCKQJ.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-OZ2RCKQJ.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-EQFLFMNE.mjs"], 4 | "sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n MermaidGeneratedSharedModule,\n PacketGeneratedModule,\n __name\n} from \"./chunk-Y27MQZ3U.mjs\";\n\n// src/language/packet/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/packet/tokenBuilder.ts\nvar PacketTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"PacketTokenBuilder\");\n }\n constructor() {\n super([\"packet-beta\"]);\n }\n};\n\n// src/language/packet/module.ts\nvar PacketModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new PacketTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createPacketServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Packet = inject(\n createDefaultCoreModule({ shared }),\n PacketGeneratedModule,\n PacketModule\n );\n shared.ServiceRegistry.register(Packet);\n return { shared, Packet };\n}\n__name(createPacketServices, \"createPacketServices\");\n\nexport {\n PacketModule,\n createPacketServices\n};\n"], 5 | "mappings": "2GAiBA,IAAIA,EAAqB,cAAcC,CAA4B,CACjE,MAAO,CACLC,EAAO,KAAM,oBAAoB,CACnC,CACA,aAAc,CACZ,MAAM,CAAC,aAAa,CAAC,CACvB,CACF,EAGIC,EAAe,CACjB,OAAQ,CACN,aAA8BD,EAAO,IAAM,IAAIF,EAAsB,cAAc,EACnF,eAAgCE,EAAO,IAAM,IAAIE,EAAwB,gBAAgB,CAC3F,CACF,EACA,SAASC,EAAqBC,EAAUC,EAAiB,CACvD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAASH,EACbI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAX,CACF,EACA,OAAAK,EAAO,gBAAgB,SAASI,CAAM,EAC/B,CAAE,OAAAJ,EAAQ,OAAAI,CAAO,CAC1B,CACAV,EAAOG,EAAsB,sBAAsB", 6 | "names": ["PacketTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "PacketModule", "CommonValueConverter", "createPacketServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Packet", "createDefaultCoreModule", "PacketGeneratedModule"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-P42HNYSU.min.js: -------------------------------------------------------------------------------- 1 | var g=Object.create;var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),o=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0})},l=(a,b,c,f)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&e(a,d,{get:()=>b[d],enumerable:!(f=h(b,d))||f.enumerable});return a};var p=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c,p as d}; 2 | //# sourceMappingURL=chunk-P42HNYSU.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-P42HNYSU.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-PDS7545E.min.js: -------------------------------------------------------------------------------- 1 | import{a as o,b as n,c as a,d as s,e as m,f as e,g as u,j as d,m as c,o as l}from"./chunk-BIJFJY5F.min.js";var v=class extends l{static{e(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},C=class extends c{static{e(this,"PieValueConverter")}runCustomConverter(t,r,i){if(t.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},P={parser:{TokenBuilder:e(()=>new v,"TokenBuilder"),ValueConverter:e(()=>new C,"ValueConverter")}};function p(t=s){let r=a(n(t),u),i=a(o({shared:r}),d,P);return r.ServiceRegistry.register(i),{shared:r,Pie:i}}e(p,"createPieServices");export{P as a,p as b}; 2 | //# sourceMappingURL=chunk-PDS7545E.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-PDS7545E.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-BI6EQKOQ.mjs"], 4 | "sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n MermaidGeneratedSharedModule,\n PieGeneratedModule,\n __name\n} from \"./chunk-Y27MQZ3U.mjs\";\n\n// src/language/pie/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/pie/tokenBuilder.ts\nvar PieTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"PieTokenBuilder\");\n }\n constructor() {\n super([\"pie\", \"showData\"]);\n }\n};\n\n// src/language/pie/valueConverter.ts\nvar PieValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"PieValueConverter\");\n }\n runCustomConverter(rule, input, _cstNode) {\n if (rule.name !== \"PIE_SECTION_LABEL\") {\n return void 0;\n }\n return input.replace(/\"/g, \"\").trim();\n }\n};\n\n// src/language/pie/module.ts\nvar PieModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new PieTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new PieValueConverter(), \"ValueConverter\")\n }\n};\nfunction createPieServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Pie = inject(\n createDefaultCoreModule({ shared }),\n PieGeneratedModule,\n PieModule\n );\n shared.ServiceRegistry.register(Pie);\n return { shared, Pie };\n}\n__name(createPieServices, \"createPieServices\");\n\nexport {\n PieModule,\n createPieServices\n};\n"], 5 | "mappings": "2GAiBA,IAAIA,EAAkB,cAAcC,CAA4B,CAC9D,MAAO,CACLC,EAAO,KAAM,iBAAiB,CAChC,CACA,aAAc,CACZ,MAAM,CAAC,MAAO,UAAU,CAAC,CAC3B,CACF,EAGIC,EAAoB,cAAcC,CAA8B,CAClE,MAAO,CACLF,EAAO,KAAM,mBAAmB,CAClC,CACA,mBAAmBG,EAAMC,EAAOC,EAAU,CACxC,GAAIF,EAAK,OAAS,oBAGlB,OAAOC,EAAM,QAAQ,KAAM,EAAE,EAAE,KAAK,CACtC,CACF,EAGIE,EAAY,CACd,OAAQ,CACN,aAA8BN,EAAO,IAAM,IAAIF,EAAmB,cAAc,EAChF,eAAgCE,EAAO,IAAM,IAAIC,EAAqB,gBAAgB,CACxF,CACF,EACA,SAASM,EAAkBC,EAAUC,EAAiB,CACpD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAMH,EACVI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAV,CACF,EACA,OAAAI,EAAO,gBAAgB,SAASI,CAAG,EAC5B,CAAE,OAAAJ,EAAQ,IAAAI,CAAI,CACvB,CACAd,EAAOO,EAAmB,mBAAmB", 6 | "names": ["PieTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "PieValueConverter", "AbstractMermaidValueConverter", "rule", "input", "_cstNode", "PieModule", "createPieServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Pie", "createDefaultCoreModule", "PieGeneratedModule"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-UEFJDIUO.min.js: -------------------------------------------------------------------------------- 1 | import{a as i,b as o,c as t,d as n,e as c,f as e,g as u,l as d,n as l,o as s}from"./chunk-BIJFJY5F.min.js";var p=class extends s{static{e(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},h={parser:{TokenBuilder:e(()=>new p,"TokenBuilder"),ValueConverter:e(()=>new l,"ValueConverter")}};function m(G=n){let r=t(o(G),u),a=t(i({shared:r}),d,h);return r.ServiceRegistry.register(a),{shared:r,GitGraph:a}}e(m,"createGitGraphServices");export{h as a,m as b}; 2 | //# sourceMappingURL=chunk-UEFJDIUO.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-UEFJDIUO.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-NCMFTTUW.mjs"], 4 | "sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n GitGraphGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-Y27MQZ3U.mjs\";\n\n// src/language/gitGraph/module.ts\nimport {\n inject,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n EmptyFileSystem\n} from \"langium\";\n\n// src/language/gitGraph/tokenBuilder.ts\nvar GitGraphTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"GitGraphTokenBuilder\");\n }\n constructor() {\n super([\"gitGraph\"]);\n }\n};\n\n// src/language/gitGraph/module.ts\nvar GitGraphModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new GitGraphTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createGitGraphServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const GitGraph = inject(\n createDefaultCoreModule({ shared }),\n GitGraphGeneratedModule,\n GitGraphModule\n );\n shared.ServiceRegistry.register(GitGraph);\n return { shared, GitGraph };\n}\n__name(createGitGraphServices, \"createGitGraphServices\");\n\nexport {\n GitGraphModule,\n createGitGraphServices\n};\n"], 5 | "mappings": "2GAiBA,IAAIA,EAAuB,cAAcC,CAA4B,CACnE,MAAO,CACLC,EAAO,KAAM,sBAAsB,CACrC,CACA,aAAc,CACZ,MAAM,CAAC,UAAU,CAAC,CACpB,CACF,EAGIC,EAAiB,CACnB,OAAQ,CACN,aAA8BD,EAAO,IAAM,IAAIF,EAAwB,cAAc,EACrF,eAAgCE,EAAO,IAAM,IAAIE,EAAwB,gBAAgB,CAC3F,CACF,EACA,SAASC,EAAuBC,EAAUC,EAAiB,CACzD,IAAMC,EAASC,EACbC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAWH,EACfI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAX,CACF,EACA,OAAAK,EAAO,gBAAgB,SAASI,CAAQ,EACjC,CAAE,OAAAJ,EAAQ,SAAAI,CAAS,CAC5B,CACAV,EAAOG,EAAwB,wBAAwB", 6 | "names": ["GitGraphTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "GitGraphModule", "CommonValueConverter", "createGitGraphServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "GitGraph", "createDefaultCoreModule", "GitGraphGeneratedModule"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-V55NTXQN.min.js: -------------------------------------------------------------------------------- 1 | import{h as i}from"./chunk-U3SD26FK.min.js";var o=i(({flowchart:t})=>{let r=t?.subGraphTitleMargin?.top??0,a=t?.subGraphTitleMargin?.bottom??0,e=r+a;return{subGraphTitleTopMargin:r,subGraphTitleBottomMargin:a,subGraphTitleTotalMargin:e}},"getSubGraphTitleMargins");export{o as a}; 2 | //# sourceMappingURL=chunk-V55NTXQN.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-V55NTXQN.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-3X56UNUX.mjs"], 4 | "sourcesContent": ["import {\n __name\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/utils/subGraphTitleMargins.ts\nvar getSubGraphTitleMargins = /* @__PURE__ */ __name(({\n flowchart\n}) => {\n const subGraphTitleTopMargin = flowchart?.subGraphTitleMargin?.top ?? 0;\n const subGraphTitleBottomMargin = flowchart?.subGraphTitleMargin?.bottom ?? 0;\n const subGraphTitleTotalMargin = subGraphTitleTopMargin + subGraphTitleBottomMargin;\n return {\n subGraphTitleTopMargin,\n subGraphTitleBottomMargin,\n subGraphTitleTotalMargin\n };\n}, \"getSubGraphTitleMargins\");\n\nexport {\n getSubGraphTitleMargins\n};\n"], 5 | "mappings": "4CAKA,IAAIA,EAA0CC,EAAO,CAAC,CACpD,UAAAC,CACF,IAAM,CACJ,IAAMC,EAAyBD,GAAW,qBAAqB,KAAO,EAChEE,EAA4BF,GAAW,qBAAqB,QAAU,EACtEG,EAA2BF,EAAyBC,EAC1D,MAAO,CACL,uBAAAD,EACA,0BAAAC,EACA,yBAAAC,CACF,CACF,EAAG,yBAAyB", 6 | "names": ["getSubGraphTitleMargins", "__name", "flowchart", "subGraphTitleTopMargin", "subGraphTitleBottomMargin", "subGraphTitleTotalMargin"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-WXIN66R4.min.js: -------------------------------------------------------------------------------- 1 | import{f as t}from"./chunk-BIJFJY5F.min.js";var a={},o={info:t(async()=>{let{createInfoServices:e}=await import("./info-46DW6VJ7-RDUIJSMX.min.js"),r=e().Info.parser.LangiumParser;a.info=r},"info"),packet:t(async()=>{let{createPacketServices:e}=await import("./packet-W2GHVCYJ-ZZMTAWKW.min.js"),r=e().Packet.parser.LangiumParser;a.packet=r},"packet"),pie:t(async()=>{let{createPieServices:e}=await import("./pie-BEWT4RHE-VFWRUT6J.min.js"),r=e().Pie.parser.LangiumParser;a.pie=r},"pie"),architecture:t(async()=>{let{createArchitectureServices:e}=await import("./architecture-I3QFYML2-2T2ZUHXO.min.js"),r=e().Architecture.parser.LangiumParser;a.architecture=r},"architecture"),gitGraph:t(async()=>{let{createGitGraphServices:e}=await import("./gitGraph-YCYPL57B-3XOJ53I6.min.js"),r=e().GitGraph.parser.LangiumParser;a.gitGraph=r},"gitGraph")};async function n(e,r){let i=o[e];if(!i)throw new Error(`Unknown diagram type: ${e}`);a[e]||await i();let s=a[e].parse(r);if(s.lexerErrors.length>0||s.parserErrors.length>0)throw new p(s);return s.value}t(n,"parse");var p=class extends Error{constructor(e){let r=e.lexerErrors.map(c=>c.message).join(` 2 | `),i=e.parserErrors.map(c=>c.message).join(` 3 | `);super(`Parsing failed: ${r} ${i}`),this.result=e}static{t(this,"MermaidParseError")}};export{n as a}; 4 | //# sourceMappingURL=chunk-WXIN66R4.min.js.map 5 | -------------------------------------------------------------------------------- /docs/public/chunk-XUHMPXWX.min.js: -------------------------------------------------------------------------------- 1 | var g=Object.create;var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),o=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0})},l=(a,b,c,f)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&e(a,d,{get:()=>b[d],enumerable:!(f=h(b,d))||f.enumerable});return a};var p=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c,p as d}; 2 | //# sourceMappingURL=chunk-XUHMPXWX.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-XUHMPXWX.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/classDiagram-LNE6IOMH-VZ67B4ZP.min.js: -------------------------------------------------------------------------------- 1 | import{a as e,b as a,c as i,d as s}from"./chunk-54U54PUP.min.js";import"./chunk-ISDTAGDN.min.js";import"./chunk-JL3VILNY.min.js";import"./chunk-TLYS76Q7.min.js";import"./chunk-CLIYZZ5Y.min.js";import"./chunk-N6ME3NZU.min.js";import"./chunk-V55NTXQN.min.js";import"./chunk-BD4P4Z7J.min.js";import"./chunk-AUO2PXKS.min.js";import"./chunk-PYPO7LRM.min.js";import"./chunk-CM5D5KZN.min.js";import{h as t}from"./chunk-U3SD26FK.min.js";import"./chunk-CXRPJJJE.min.js";import"./chunk-OSRY5VT3.min.js";var g={parser:e,db:a,renderer:s,styles:i,init:t(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute,a.clear()},"init")};export{g as diagram}; 2 | //# sourceMappingURL=classDiagram-LNE6IOMH-VZ67B4ZP.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/classDiagram-LNE6IOMH-VZ67B4ZP.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-LNE6IOMH.mjs"], 4 | "sourcesContent": ["import {\n classDb_default,\n classDiagram_default,\n classRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-T2TOU4HS.mjs\";\nimport \"./chunk-5HRBRIJM.mjs\";\nimport \"./chunk-BO7VGL7K.mjs\";\nimport \"./chunk-66SQ7PYY.mjs\";\nimport \"./chunk-7NZE2EM7.mjs\";\nimport \"./chunk-OPO4IU42.mjs\";\nimport \"./chunk-3JNJP5BE.mjs\";\nimport \"./chunk-3X56UNUX.mjs\";\nimport \"./chunk-6JOS74DS.mjs\";\nimport \"./chunk-7DKRZKHE.mjs\";\nimport {\n __name\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/diagrams/class/classDiagram.ts\nvar diagram = {\n parser: classDiagram_default,\n db: classDb_default,\n renderer: classRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n classDb_default.clear();\n }, \"init\")\n};\nexport {\n diagram\n};\n"], 5 | "mappings": "6eAoBA,IAAIA,EAAU,CACZ,OAAQC,EACR,GAAIC,EACJ,SAAUC,EACV,OAAQC,EACR,KAAsBC,EAAQC,GAAQ,CAC/BA,EAAI,QACPA,EAAI,MAAQ,CAAC,GAEfA,EAAI,MAAM,oBAAsBA,EAAI,oBACpCJ,EAAgB,MAAM,CACxB,EAAG,MAAM,CACX", 6 | "names": ["diagram", "classDiagram_default", "classDb_default", "classRenderer_v3_unified_default", "styles_default", "__name", "cnf"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/classDiagram-v2-MQ7JQ4JX-4JTAVB6L.min.js: -------------------------------------------------------------------------------- 1 | import{a as e,b as a,c as i,d as s}from"./chunk-54U54PUP.min.js";import"./chunk-ISDTAGDN.min.js";import"./chunk-JL3VILNY.min.js";import"./chunk-TLYS76Q7.min.js";import"./chunk-CLIYZZ5Y.min.js";import"./chunk-N6ME3NZU.min.js";import"./chunk-V55NTXQN.min.js";import"./chunk-BD4P4Z7J.min.js";import"./chunk-AUO2PXKS.min.js";import"./chunk-PYPO7LRM.min.js";import"./chunk-CM5D5KZN.min.js";import{h as t}from"./chunk-U3SD26FK.min.js";import"./chunk-CXRPJJJE.min.js";import"./chunk-OSRY5VT3.min.js";var g={parser:e,db:a,renderer:s,styles:i,init:t(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute,a.clear()},"init")};export{g as diagram}; 2 | //# sourceMappingURL=classDiagram-v2-MQ7JQ4JX-4JTAVB6L.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/classDiagram-v2-MQ7JQ4JX-4JTAVB6L.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-MQ7JQ4JX.mjs"], 4 | "sourcesContent": ["import {\n classDb_default,\n classDiagram_default,\n classRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-T2TOU4HS.mjs\";\nimport \"./chunk-5HRBRIJM.mjs\";\nimport \"./chunk-BO7VGL7K.mjs\";\nimport \"./chunk-66SQ7PYY.mjs\";\nimport \"./chunk-7NZE2EM7.mjs\";\nimport \"./chunk-OPO4IU42.mjs\";\nimport \"./chunk-3JNJP5BE.mjs\";\nimport \"./chunk-3X56UNUX.mjs\";\nimport \"./chunk-6JOS74DS.mjs\";\nimport \"./chunk-7DKRZKHE.mjs\";\nimport {\n __name\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/diagrams/class/classDiagram-v2.ts\nvar diagram = {\n parser: classDiagram_default,\n db: classDb_default,\n renderer: classRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n classDb_default.clear();\n }, \"init\")\n};\nexport {\n diagram\n};\n"], 5 | "mappings": "6eAoBA,IAAIA,EAAU,CACZ,OAAQC,EACR,GAAIC,EACJ,SAAUC,EACV,OAAQC,EACR,KAAsBC,EAAQC,GAAQ,CAC/BA,EAAI,QACPA,EAAI,MAAQ,CAAC,GAEfA,EAAI,MAAM,oBAAsBA,EAAI,oBACpCJ,EAAgB,MAAM,CACxB,EAAG,MAAM,CACX", 6 | "names": ["diagram", "classDiagram_default", "classDb_default", "classRenderer_v3_unified_default", "styles_default", "__name", "cnf"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/diagram-QW4FP2JN-UOF7FAFC.min.js: -------------------------------------------------------------------------------- 1 | import{a as T}from"./chunk-5IIW54K6.min.js";import{a as D}from"./chunk-EKP7MBOP.min.js";import{a as A}from"./chunk-WXIN66R4.min.js";import"./chunk-33FU46FA.min.js";import"./chunk-OZ2RCKQJ.min.js";import"./chunk-PDS7545E.min.js";import"./chunk-IJ4BRSPX.min.js";import"./chunk-UEFJDIUO.min.js";import"./chunk-BIJFJY5F.min.js";import"./chunk-U4DUTLYF.min.js";import"./chunk-IQQ46AC6.min.js";import{l as v}from"./chunk-PYPO7LRM.min.js";import"./chunk-CM5D5KZN.min.js";import{D as $,O as y,S as w,T as B,U as S,V as F,W as z,X as P,Y as W,h as n,j as m,v as C}from"./chunk-U3SD26FK.min.js";import"./chunk-CXRPJJJE.min.js";import"./chunk-OSRY5VT3.min.js";var E={packet:[]},x=structuredClone(E),L=C.packet,Y=n(()=>{let t=v({...L,...$().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),I=n(()=>x.packet,"getPacket"),M=n(t=>{t.length>0&&x.packet.push(t)},"pushWord"),O=n(()=>{w(),x=structuredClone(E)},"clear"),h={pushWord:M,getPacket:I,getConfig:Y,clear:O,setAccTitle:B,getAccTitle:S,setDiagramTitle:P,getDiagramTitle:W,getAccDescription:z,setAccDescription:F},G=1e4,H=n(t=>{D(t,h);let e=-1,o=[],i=1,{bitsPerRow:s}=h.getConfig();for(let{start:a,end:r,label:p}of t.blocks){if(r&&r{if(t.end===void 0&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*o?[t,void 0]:[{start:t.start,end:e*o-1,label:t.label},{start:e*o,end:t.end,label:t.label}]},"getNextFittingBlock"),R={parse:n(async t=>{let e=await A("packet",t);m.debug(e),H(e)},"parse")},U=n((t,e,o,i)=>{let s=i.db,a=s.getConfig(),{rowHeight:r,paddingY:p,bitWidth:b,bitsPerRow:c}=a,u=s.getPacket(),l=s.getDiagramTitle(),g=r+p,d=g*(u.length+1)-(l?0:r),k=b*c+2,f=T(e);f.attr("viewbox",`0 0 ${k} ${d}`),y(f,d,k,a.useMaxWidth);for(let[_,N]of u.entries())X(f,N,_,a);f.append("text").text(l).attr("x",k/2).attr("y",d-g/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),X=n((t,e,o,{rowHeight:i,paddingX:s,paddingY:a,bitWidth:r,bitsPerRow:p,showBits:b})=>{let c=t.append("g"),u=o*(i+a)+a;for(let l of e){let g=l.start%p*r+1,d=(l.end-l.start+1)*r-s;if(c.append("rect").attr("x",g).attr("y",u).attr("width",d).attr("height",i).attr("class","packetBlock"),c.append("text").attr("x",g+d/2).attr("y",u+i/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(l.label),!b)continue;let k=l.end===l.start,f=u-2;c.append("text").attr("x",g+(k?d/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(l.start),k||c.append("text").attr("x",g+d).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(l.end)}},"drawWord"),j={draw:U},q={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},J=n(({packet:t}={})=>{let e=v(q,t);return` 2 | .packetByte { 3 | font-size: ${e.byteFontSize}; 4 | } 5 | .packetByte.start { 6 | fill: ${e.startByteColor}; 7 | } 8 | .packetByte.end { 9 | fill: ${e.endByteColor}; 10 | } 11 | .packetLabel { 12 | fill: ${e.labelColor}; 13 | font-size: ${e.labelFontSize}; 14 | } 15 | .packetTitle { 16 | fill: ${e.titleColor}; 17 | font-size: ${e.titleFontSize}; 18 | } 19 | .packetBlock { 20 | stroke: ${e.blockStrokeColor}; 21 | stroke-width: ${e.blockStrokeWidth}; 22 | fill: ${e.blockFillColor}; 23 | } 24 | `},"styles"),at={parser:R,db:h,renderer:j,styles:J};export{at as diagram}; 25 | //# sourceMappingURL=diagram-QW4FP2JN-UOF7FAFC.min.js.map 26 | -------------------------------------------------------------------------------- /docs/public/flowDiagram-v2-13329dc7-7HQDDRUE.min.js: -------------------------------------------------------------------------------- 1 | import{g as i,h as p}from"./chunk-LUX5WYVM.min.js";import"./chunk-5FWMXAFW.min.js";import{a as m,b as o}from"./chunk-CA32PY7O.min.js";import"./chunk-N4EFGQ5G.min.js";import"./chunk-LXB37CFX.min.js";import"./chunk-RNO6SWHZ.min.js";import"./chunk-K2MRC2FE.min.js";import{J as l,b as a,c as s,ob as e}from"./chunk-YEACHCAA.min.js";import{d as t}from"./chunk-XUHMPXWX.min.js";var g=t(a(),1),n=t(s(),1),c=t(l(),1);var y={parser:m,db:o,renderer:i,styles:p,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,e({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),i.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{y as diagram}; 2 | //# sourceMappingURL=flowDiagram-v2-13329dc7-7HQDDRUE.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/flowDiagram-v2-13329dc7-7HQDDRUE.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/flowDiagram-v2-13329dc7.js"], 4 | "sourcesContent": ["import { p as parser, f as flowDb } from \"./flowDb-c1833063.js\";\nimport { f as flowRendererV2, a as flowStyles } from \"./styles-483fbfea.js\";\nimport { p as setConfig } from \"./mermaid-6dc72991.js\";\nimport \"d3\";\nimport \"dagre-d3-es/src/graphlib/index.js\";\nimport \"./index-01f381cb.js\";\nimport \"dagre-d3-es/src/dagre/index.js\";\nimport \"dagre-d3-es/src/graphlib/json.js\";\nimport \"./edges-066a5561.js\";\nimport \"./createText-ca0c5216.js\";\nimport \"mdast-util-from-markdown\";\nimport \"ts-dedent\";\nimport \"dagre-d3-es/src/dagre-js/label/add-html-label.js\";\nimport \"khroma\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nconst diagram = {\n parser,\n db: flowDb,\n renderer: flowRendererV2,\n styles: flowStyles,\n init: (cnf) => {\n if (!cnf.flowchart) {\n cnf.flowchart = {};\n }\n cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n setConfig({ flowchart: { arrowMarkerAbsolute: cnf.arrowMarkerAbsolute } });\n flowRendererV2.setConf(cnf.flowchart);\n flowDb.clear();\n flowDb.setGen(\"gen-2\");\n }\n};\nexport {\n diagram\n};\n"], 5 | "mappings": "oXAcA,IAAAA,EAAO,SACPC,EAAO,SACPC,EAAO,SAKP,IAAMC,EAAU,CACd,OAAAC,EACA,GAAIC,EACJ,SAAUC,EACV,OAAQC,EACR,KAAOC,GAAQ,CACRA,EAAI,YACPA,EAAI,UAAY,CAAC,GAEnBA,EAAI,UAAU,oBAAsBA,EAAI,oBACxCC,EAAU,CAAE,UAAW,CAAE,oBAAqBD,EAAI,mBAAoB,CAAE,CAAC,EACzEF,EAAe,QAAQE,EAAI,SAAS,EACpCH,EAAO,MAAM,EACbA,EAAO,OAAO,OAAO,CACvB,CACF", 6 | "names": ["import_dayjs", "import_sanitize_url", "import_dompurify", "diagram", "parser$1", "flowDb", "flowRendererV2", "flowStyles", "cnf", "setConfig"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/flowDiagram-v2-2f8f667a-WVVXSXHH.min.js: -------------------------------------------------------------------------------- 1 | import{g as i,h as p}from"./chunk-U66T5BMR.min.js";import"./chunk-YAMJ4ASO.min.js";import{a as m,b as o}from"./chunk-I64Z623A.min.js";import"./chunk-3RELVOUY.min.js";import"./chunk-DALFUHAB.min.js";import"./chunk-EKFGDCJ4.min.js";import{J as l,b as a,c as s,kb as e}from"./chunk-YICCS3KT.min.js";import{d as t}from"./chunk-P42HNYSU.min.js";var g=t(a(),1),n=t(s(),1),c=t(l(),1);var y={parser:m,db:o,renderer:i,styles:p,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,e({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),i.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{y as diagram}; 2 | //# sourceMappingURL=flowDiagram-v2-2f8f667a-WVVXSXHH.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/flowDiagram-v2-2f8f667a-WVVXSXHH.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/flowDiagram-v2-2f8f667a.js"], 4 | "sourcesContent": ["import { p as parser, f as flowDb } from \"./flowDb-170db09d.js\";\nimport { f as flowRendererV2, a as flowStyles } from \"./styles-b966c4ae.js\";\nimport { p as setConfig } from \"./mermaid-934d9bea.js\";\nimport \"d3\";\nimport \"dagre-d3-es/src/graphlib/index.js\";\nimport \"./index-67a42d7d.js\";\nimport \"dagre-d3-es/src/dagre/index.js\";\nimport \"dagre-d3-es/src/graphlib/json.js\";\nimport \"./edges-80f1ebb6.js\";\nimport \"./createText-aebacdfe.js\";\nimport \"mdast-util-from-markdown\";\nimport \"ts-dedent\";\nimport \"dagre-d3-es/src/dagre-js/label/add-html-label.js\";\nimport \"khroma\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nconst diagram = {\n parser,\n db: flowDb,\n renderer: flowRendererV2,\n styles: flowStyles,\n init: (cnf) => {\n if (!cnf.flowchart) {\n cnf.flowchart = {};\n }\n cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n setConfig({ flowchart: { arrowMarkerAbsolute: cnf.arrowMarkerAbsolute } });\n flowRendererV2.setConf(cnf.flowchart);\n flowDb.clear();\n flowDb.setGen(\"gen-2\");\n }\n};\nexport {\n diagram\n};\n"], 5 | "mappings": "oVAcA,IAAAA,EAAO,SACPC,EAAO,SACPC,EAAO,SAKP,IAAMC,EAAU,CACd,OAAAC,EACA,GAAIC,EACJ,SAAUC,EACV,OAAQC,EACR,KAAOC,GAAQ,CACRA,EAAI,YACPA,EAAI,UAAY,CAAC,GAEnBA,EAAI,UAAU,oBAAsBA,EAAI,oBACxCC,EAAU,CAAE,UAAW,CAAE,oBAAqBD,EAAI,mBAAoB,CAAE,CAAC,EACzEF,EAAe,QAAQE,EAAI,SAAS,EACpCH,EAAO,MAAM,EACbA,EAAO,OAAO,OAAO,CACvB,CACF", 6 | "names": ["import_dayjs", "import_sanitize_url", "import_dompurify", "diagram", "parser$1", "flowDb", "flowRendererV2", "flowStyles", "cnf", "setConfig"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/gitGraph-YCYPL57B-3XOJ53I6.min.js: -------------------------------------------------------------------------------- 1 | import{a as r,b as e}from"./chunk-UEFJDIUO.min.js";import"./chunk-BIJFJY5F.min.js";import"./chunk-U4DUTLYF.min.js";import"./chunk-IQQ46AC6.min.js";import"./chunk-CXRPJJJE.min.js";import"./chunk-OSRY5VT3.min.js";export{r as GitGraphModule,e as createGitGraphServices}; 2 | //# sourceMappingURL=gitGraph-YCYPL57B-3XOJ53I6.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/gitGraph-YCYPL57B-3XOJ53I6.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/info-46DW6VJ7-RDUIJSMX.min.js: -------------------------------------------------------------------------------- 1 | import{a as o,b as e}from"./chunk-33FU46FA.min.js";import"./chunk-BIJFJY5F.min.js";import"./chunk-U4DUTLYF.min.js";import"./chunk-IQQ46AC6.min.js";import"./chunk-CXRPJJJE.min.js";import"./chunk-OSRY5VT3.min.js";export{o as InfoModule,e as createInfoServices}; 2 | //# sourceMappingURL=info-46DW6VJ7-RDUIJSMX.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/info-46DW6VJ7-RDUIJSMX.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/infoDiagram-A4XQUW5V-SKLVFWJI.min.js: -------------------------------------------------------------------------------- 1 | import{a as s}from"./chunk-EDJWACL4.min.js";import{a as i}from"./chunk-5IIW54K6.min.js";import{a as g}from"./chunk-WXIN66R4.min.js";import"./chunk-33FU46FA.min.js";import"./chunk-OZ2RCKQJ.min.js";import"./chunk-PDS7545E.min.js";import"./chunk-IJ4BRSPX.min.js";import"./chunk-UEFJDIUO.min.js";import"./chunk-BIJFJY5F.min.js";import"./chunk-U4DUTLYF.min.js";import"./chunk-IQQ46AC6.min.js";import{O as n,h as r,j as a}from"./chunk-U3SD26FK.min.js";import"./chunk-CXRPJJJE.min.js";import"./chunk-OSRY5VT3.min.js";var v={parse:r(async e=>{let t=await g("info",e);a.debug(t)},"parse")},d={version:s},m=r(()=>d.version,"getVersion"),c={getVersion:m},f=r((e,t,p)=>{a.debug(`rendering info diagram 2 | `+e);let o=i(t);n(o,100,400,!0),o.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${p}`)},"draw"),l={draw:f},y={parser:v,db:c,renderer:l};export{y as diagram}; 3 | //# sourceMappingURL=infoDiagram-A4XQUW5V-SKLVFWJI.min.js.map 4 | -------------------------------------------------------------------------------- /docs/public/infoDiagram-A4XQUW5V-SKLVFWJI.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-A4XQUW5V.mjs"], 4 | "sourcesContent": ["import {\n version\n} from \"./chunk-K6PMAZHR.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-EJ4ZWXGL.mjs\";\nimport {\n __name,\n configureSvgSize,\n log\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/diagrams/info/infoParser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"info\", input);\n log.debug(ast);\n }, \"parse\")\n};\n\n// src/diagrams/info/infoDb.ts\nvar DEFAULT_INFO_DB = { version };\nvar getVersion = /* @__PURE__ */ __name(() => DEFAULT_INFO_DB.version, \"getVersion\");\nvar db = {\n getVersion\n};\n\n// src/diagrams/info/infoRenderer.ts\nvar draw = /* @__PURE__ */ __name((text, id, version2) => {\n log.debug(\"rendering info diagram\\n\" + text);\n const svg = selectSvgElement(id);\n configureSvgSize(svg, 100, 400, true);\n const group = svg.append(\"g\");\n group.append(\"text\").attr(\"x\", 100).attr(\"y\", 40).attr(\"class\", \"version\").attr(\"font-size\", 32).style(\"text-anchor\", \"middle\").text(`v${version2}`);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/info/infoDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer\n};\nexport {\n diagram\n};\n"], 5 | "mappings": "8fAcA,IAAIA,EAAS,CACX,MAAuBC,EAAO,MAAOC,GAAU,CAC7C,IAAMC,EAAM,MAAMC,EAAM,OAAQF,CAAK,EACrCG,EAAI,MAAMF,CAAG,CACf,EAAG,OAAO,CACZ,EAGIG,EAAkB,CAAE,QAAAC,CAAQ,EAC5BC,EAA6BP,EAAO,IAAMK,EAAgB,QAAS,YAAY,EAC/EG,EAAK,CACP,WAAAD,CACF,EAGIE,EAAuBT,EAAO,CAACU,EAAMC,EAAIC,IAAa,CACxDR,EAAI,MAAM;AAAA,EAA6BM,CAAI,EAC3C,IAAMG,EAAMC,EAAiBH,CAAE,EAC/BI,EAAiBF,EAAK,IAAK,IAAK,EAAI,EACtBA,EAAI,OAAO,GAAG,EACtB,OAAO,MAAM,EAAE,KAAK,IAAK,GAAG,EAAE,KAAK,IAAK,EAAE,EAAE,KAAK,QAAS,SAAS,EAAE,KAAK,YAAa,EAAE,EAAE,MAAM,cAAe,QAAQ,EAAE,KAAK,IAAID,CAAQ,EAAE,CACrJ,EAAG,MAAM,EACLI,EAAW,CAAE,KAAAP,CAAK,EAGlBQ,EAAU,CACZ,OAAAlB,EACA,GAAAS,EACA,SAAAQ,CACF", 6 | "names": ["parser", "__name", "input", "ast", "parse", "log", "DEFAULT_INFO_DB", "version", "getVersion", "db", "draw", "text", "id", "version2", "svg", "selectSvgElement", "configureSvgSize", "renderer", "diagram"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.hy-E2P7YR63.min.js: -------------------------------------------------------------------------------- 1 | import{b as o}from"./chunk-XUHMPXWX.min.js";var s=o((i,r)=>{(function(e,t){typeof define=="function"&&define.amd?define(t):typeof i=="object"?r.exports=t():t()(e.lunr)})(i,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hy=function(){this.pipeline.reset(),this.pipeline.add(e.hy.trimmer,e.hy.stopWordFilter)},e.hy.wordCharacters="[A-Za-z\u0530-\u058F\uFB00-\uFB4F]",e.hy.trimmer=e.trimmerSupport.generateTrimmer(e.hy.wordCharacters),e.Pipeline.registerFunction(e.hy.trimmer,"trimmer-hy"),e.hy.stopWordFilter=e.generateStopWordFilter("\u0564\u0578\u0582 \u0587 \u0565\u0584 \u0567\u056B\u0580 \u0567\u056B\u0584 \u0570\u0565\u057F\u0578 \u0576\u0561\u0587 \u0576\u0580\u0561\u0576\u0584 \u0578\u0580\u0568 \u057E\u0580\u0561 \u0567 \u0578\u0580 \u057A\u056B\u057F\u056B \u0565\u0576 \u0561\u0575\u057D \u0574\u0565\u057B \u0576 \u056B\u0580 \u0578\u0582 \u056B \u0561\u0575\u0564 \u0578\u0580\u0578\u0576\u0584 \u0561\u0575\u0576 \u056F\u0561\u0574 \u0567\u0580 \u0574\u056B \u0565\u057D \u0570\u0561\u0574\u0561\u0580 \u0561\u0575\u056C \u056B\u057D\u056F \u0567\u056B\u0576 \u0565\u0576\u0584 \u0570\u0565\u057F \u056B\u0576 \u0569 \u0567\u056B\u0576\u0584 \u0574\u0565\u0576\u0584 \u0576\u0580\u0561 \u0576\u0561 \u0564\u0578\u0582\u0584 \u0565\u0574 \u0567\u056B \u0568\u057D\u057F \u0578\u0580\u057A\u0565\u057D \u0578\u0582\u0574".split(" ")),e.Pipeline.registerFunction(e.hy.stopWordFilter,"stopWordFilter-hy"),e.hy.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(n){return n}):t}}(),e.Pipeline.registerFunction(e.hy.stemmer,"stemmer-hy")}})});export default s(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.hy.js: 5 | (*! 6 | * Lunr languages, `Armenian` language 7 | * https://github.com/turbobit/lunr-languages 8 | * 9 | * Copyright 2021, Manikandan Venkatasubban 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.hy-E2P7YR63.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.hy-FFQJAR7M.min.js: -------------------------------------------------------------------------------- 1 | import{a as o}from"./chunk-OSRY5VT3.min.js";var s=o((i,r)=>{(function(e,t){typeof define=="function"&&define.amd?define(t):typeof i=="object"?r.exports=t():t()(e.lunr)})(i,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hy=function(){this.pipeline.reset(),this.pipeline.add(e.hy.trimmer,e.hy.stopWordFilter)},e.hy.wordCharacters="[A-Za-z\u0530-\u058F\uFB00-\uFB4F]",e.hy.trimmer=e.trimmerSupport.generateTrimmer(e.hy.wordCharacters),e.Pipeline.registerFunction(e.hy.trimmer,"trimmer-hy"),e.hy.stopWordFilter=e.generateStopWordFilter("\u0564\u0578\u0582 \u0587 \u0565\u0584 \u0567\u056B\u0580 \u0567\u056B\u0584 \u0570\u0565\u057F\u0578 \u0576\u0561\u0587 \u0576\u0580\u0561\u0576\u0584 \u0578\u0580\u0568 \u057E\u0580\u0561 \u0567 \u0578\u0580 \u057A\u056B\u057F\u056B \u0565\u0576 \u0561\u0575\u057D \u0574\u0565\u057B \u0576 \u056B\u0580 \u0578\u0582 \u056B \u0561\u0575\u0564 \u0578\u0580\u0578\u0576\u0584 \u0561\u0575\u0576 \u056F\u0561\u0574 \u0567\u0580 \u0574\u056B \u0565\u057D \u0570\u0561\u0574\u0561\u0580 \u0561\u0575\u056C \u056B\u057D\u056F \u0567\u056B\u0576 \u0565\u0576\u0584 \u0570\u0565\u057F \u056B\u0576 \u0569 \u0567\u056B\u0576\u0584 \u0574\u0565\u0576\u0584 \u0576\u0580\u0561 \u0576\u0561 \u0564\u0578\u0582\u0584 \u0565\u0574 \u0567\u056B \u0568\u057D\u057F \u0578\u0580\u057A\u0565\u057D \u0578\u0582\u0574".split(" ")),e.Pipeline.registerFunction(e.hy.stopWordFilter,"stopWordFilter-hy"),e.hy.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(n){return n}):t}}(),e.Pipeline.registerFunction(e.hy.stemmer,"stemmer-hy")}})});export default s(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.hy.js: 5 | (*! 6 | * Lunr languages, `Armenian` language 7 | * https://github.com/turbobit/lunr-languages 8 | * 9 | * Copyright 2021, Manikandan Venkatasubban 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.hy-FFQJAR7M.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.hy-XFQCAWFO.min.js: -------------------------------------------------------------------------------- 1 | import{b as o}from"./chunk-P42HNYSU.min.js";var s=o((i,r)=>{(function(e,t){typeof define=="function"&&define.amd?define(t):typeof i=="object"?r.exports=t():t()(e.lunr)})(i,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hy=function(){this.pipeline.reset(),this.pipeline.add(e.hy.trimmer,e.hy.stopWordFilter)},e.hy.wordCharacters="[A-Za-z\u0530-\u058F\uFB00-\uFB4F]",e.hy.trimmer=e.trimmerSupport.generateTrimmer(e.hy.wordCharacters),e.Pipeline.registerFunction(e.hy.trimmer,"trimmer-hy"),e.hy.stopWordFilter=e.generateStopWordFilter("\u0564\u0578\u0582 \u0587 \u0565\u0584 \u0567\u056B\u0580 \u0567\u056B\u0584 \u0570\u0565\u057F\u0578 \u0576\u0561\u0587 \u0576\u0580\u0561\u0576\u0584 \u0578\u0580\u0568 \u057E\u0580\u0561 \u0567 \u0578\u0580 \u057A\u056B\u057F\u056B \u0565\u0576 \u0561\u0575\u057D \u0574\u0565\u057B \u0576 \u056B\u0580 \u0578\u0582 \u056B \u0561\u0575\u0564 \u0578\u0580\u0578\u0576\u0584 \u0561\u0575\u0576 \u056F\u0561\u0574 \u0567\u0580 \u0574\u056B \u0565\u057D \u0570\u0561\u0574\u0561\u0580 \u0561\u0575\u056C \u056B\u057D\u056F \u0567\u056B\u0576 \u0565\u0576\u0584 \u0570\u0565\u057F \u056B\u0576 \u0569 \u0567\u056B\u0576\u0584 \u0574\u0565\u0576\u0584 \u0576\u0580\u0561 \u0576\u0561 \u0564\u0578\u0582\u0584 \u0565\u0574 \u0567\u056B \u0568\u057D\u057F \u0578\u0580\u057A\u0565\u057D \u0578\u0582\u0574".split(" ")),e.Pipeline.registerFunction(e.hy.stopWordFilter,"stopWordFilter-hy"),e.hy.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(n){return n}):t}}(),e.Pipeline.registerFunction(e.hy.stemmer,"stemmer-hy")}})});export default s(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.hy.js: 5 | (*! 6 | * Lunr languages, `Armenian` language 7 | * https://github.com/turbobit/lunr-languages 8 | * 9 | * Copyright 2021, Manikandan Venkatasubban 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.hy-XFQCAWFO.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.ja-6645DQV5.min.js: -------------------------------------------------------------------------------- 1 | import{a}from"./chunk-334IV3XH.min.js";import"./chunk-P42HNYSU.min.js";export default a(); 2 | //# sourceMappingURL=lunr.ja-6645DQV5.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/lunr.ja-6645DQV5.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.ja-J6QHZSR2.min.js: -------------------------------------------------------------------------------- 1 | import{a}from"./chunk-DTUU2GN4.min.js";import"./chunk-OSRY5VT3.min.js";export default a(); 2 | //# sourceMappingURL=lunr.ja-J6QHZSR2.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/lunr.ja-J6QHZSR2.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.ja-RG3AQVTE.min.js: -------------------------------------------------------------------------------- 1 | import{a}from"./chunk-NRE4YRK7.min.js";import"./chunk-XUHMPXWX.min.js";export default a(); 2 | //# sourceMappingURL=lunr.ja-RG3AQVTE.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/lunr.ja-RG3AQVTE.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.jp-2KRE2L63.min.js: -------------------------------------------------------------------------------- 1 | import{a as i}from"./chunk-334IV3XH.min.js";import{b as r}from"./chunk-P42HNYSU.min.js";var o=r((p,e)=>{e.exports=i()});export default o(); 2 | //# sourceMappingURL=lunr.jp-2KRE2L63.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/lunr.jp-2KRE2L63.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.jp.js"], 4 | "sourcesContent": ["// jp is the country code, while ja is the language code\n// a new lunr.ja.js has been created, but in order to\n// keep the backward compatibility, we'll leave the lunr.jp.js\n// here for a while, and just make it use the new lunr.ja.js\nmodule.exports = require('./lunr.ja');"], 5 | "mappings": "wFAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,CAIAA,EAAO,QAAU", 6 | "names": ["require_lunr_jp", "__commonJSMin", "exports", "module"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.jp-M45D3XJE.min.js: -------------------------------------------------------------------------------- 1 | import{a as i}from"./chunk-DTUU2GN4.min.js";import{a as r}from"./chunk-OSRY5VT3.min.js";var o=r((p,e)=>{e.exports=i()});export default o(); 2 | //# sourceMappingURL=lunr.jp-M45D3XJE.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/lunr.jp-M45D3XJE.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.jp.js"], 4 | "sourcesContent": ["// jp is the country code, while ja is the language code\n// a new lunr.ja.js has been created, but in order to\n// keep the backward compatibility, we'll leave the lunr.jp.js\n// here for a while, and just make it use the new lunr.ja.js\nmodule.exports = require('./lunr.ja');"], 5 | "mappings": "wFAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,CAIAA,EAAO,QAAU", 6 | "names": ["require_lunr_jp", "__commonJSMin", "exports", "module"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.jp-P5CLAZPO.min.js: -------------------------------------------------------------------------------- 1 | import{a as i}from"./chunk-NRE4YRK7.min.js";import{b as r}from"./chunk-XUHMPXWX.min.js";var o=r((p,e)=>{e.exports=i()});export default o(); 2 | //# sourceMappingURL=lunr.jp-P5CLAZPO.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/lunr.jp-P5CLAZPO.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.jp.js"], 4 | "sourcesContent": ["// jp is the country code, while ja is the language code\n// a new lunr.ja.js has been created, but in order to\n// keep the backward compatibility, we'll leave the lunr.jp.js\n// here for a while, and just make it use the new lunr.ja.js\nmodule.exports = require('./lunr.ja');"], 5 | "mappings": "wFAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,CAIAA,EAAO,QAAU", 6 | "names": ["require_lunr_jp", "__commonJSMin", "exports", "module"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.ta-AKIPBQLC.min.js: -------------------------------------------------------------------------------- 1 | import{b as s}from"./chunk-P42HNYSU.min.js";var o=s((n,a)=>{(function(e,r){typeof define=="function"&&define.amd?define(r):typeof n=="object"?a.exports=r():r()(e.lunr)})(n,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ta=function(){this.pipeline.reset(),this.pipeline.add(e.ta.trimmer,e.ta.stopWordFilter,e.ta.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ta.stemmer))},e.ta.wordCharacters="\u0B80-\u0B89\u0B8A-\u0B8F\u0B90-\u0B99\u0B9A-\u0B9F\u0BA0-\u0BA9\u0BAA-\u0BAF\u0BB0-\u0BB9\u0BBA-\u0BBF\u0BC0-\u0BC9\u0BCA-\u0BCF\u0BD0-\u0BD9\u0BDA-\u0BDF\u0BE0-\u0BE9\u0BEA-\u0BEF\u0BF0-\u0BF9\u0BFA-\u0BFFa-zA-Z\uFF41-\uFF5A\uFF21-\uFF3A0-9\uFF10-\uFF19",e.ta.trimmer=e.trimmerSupport.generateTrimmer(e.ta.wordCharacters),e.Pipeline.registerFunction(e.ta.trimmer,"trimmer-ta"),e.ta.stopWordFilter=e.generateStopWordFilter("\u0B85\u0B99\u0BCD\u0B95\u0BC1 \u0B85\u0B99\u0BCD\u0B95\u0BC7 \u0B85\u0BA4\u0BC1 \u0B85\u0BA4\u0BC8 \u0B85\u0BA8\u0BCD\u0BA4 \u0B85\u0BB5\u0BB0\u0BCD \u0B85\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B85\u0BB5\u0BB3\u0BCD \u0B85\u0BB5\u0BA9\u0BCD \u0B85\u0BB5\u0BC8 \u0B86\u0B95 \u0B86\u0B95\u0BB5\u0BC7 \u0B86\u0B95\u0BC8\u0BAF\u0BBE\u0BB2\u0BCD \u0B86\u0BA4\u0BB2\u0BBE\u0BB2\u0BCD \u0B86\u0BA4\u0BB2\u0BBF\u0BA9\u0BBE\u0BB2\u0BCD \u0B86\u0BA9\u0BBE\u0BB2\u0BC1\u0BAE\u0BCD \u0B86\u0BA9\u0BBE\u0BB2\u0BCD \u0B87\u0B99\u0BCD\u0B95\u0BC1 \u0B87\u0B99\u0BCD\u0B95\u0BC7 \u0B87\u0BA4\u0BC1 \u0B87\u0BA4\u0BC8 \u0B87\u0BA8\u0BCD\u0BA4 \u0B87\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0B87\u0BB5\u0BB0\u0BCD \u0B87\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B87\u0BB5\u0BB3\u0BCD \u0B87\u0BB5\u0BA9\u0BCD \u0B87\u0BB5\u0BC8 \u0B87\u0BB5\u0BCD\u0BB5\u0BB3\u0BB5\u0BC1 \u0B89\u0BA9\u0B95\u0BCD\u0B95\u0BC1 \u0B89\u0BA9\u0BA4\u0BC1 \u0B89\u0BA9\u0BCD \u0B89\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0B8E\u0B99\u0BCD\u0B95\u0BC1 \u0B8E\u0B99\u0BCD\u0B95\u0BC7 \u0B8E\u0BA4\u0BC1 \u0B8E\u0BA4\u0BC8 \u0B8E\u0BA8\u0BCD\u0BA4 \u0B8E\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0B8E\u0BB5\u0BB0\u0BCD \u0B8E\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B8E\u0BB5\u0BB3\u0BCD \u0B8E\u0BB5\u0BA9\u0BCD \u0B8E\u0BB5\u0BC8 \u0B8E\u0BB5\u0BCD\u0BB5\u0BB3\u0BB5\u0BC1 \u0B8E\u0BA9\u0B95\u0BCD\u0B95\u0BC1 \u0B8E\u0BA9\u0BA4\u0BC1 \u0B8E\u0BA9\u0BB5\u0BC7 \u0B8E\u0BA9\u0BCD \u0B8E\u0BA9\u0BCD\u0BA9 \u0B8E\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0B8F\u0BA4\u0BC1 \u0B8F\u0BA9\u0BCD \u0BA4\u0BA9\u0BA4\u0BC1 \u0BA4\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0BA4\u0BBE\u0BA9\u0BC7 \u0BA4\u0BBE\u0BA9\u0BCD \u0BA8\u0BBE\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA8\u0BBE\u0BAE\u0BCD \u0BA8\u0BBE\u0BA9\u0BCD \u0BA8\u0BC0 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD".split(" ")),e.ta.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(i){return i}):t}}();var r=e.wordcut;r.init(),e.ta.tokenizer=function(t){if(!arguments.length||t==null||t==null)return[];if(Array.isArray(t))return t.map(function(u){return isLunr2?new e.Token(u.toLowerCase()):u.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.ta.stemmer,"stemmer-ta"),e.Pipeline.registerFunction(e.ta.stopWordFilter,"stopWordFilter-ta")}})});export default o(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.ta.js: 5 | (*! 6 | * Lunr languages, `Tamil` language 7 | * https://github.com/tvmani/lunr-languages 8 | * 9 | * Copyright 2021, Manikandan Venkatasubban 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.ta-AKIPBQLC.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.ta-KO56CLDU.min.js: -------------------------------------------------------------------------------- 1 | import{b as s}from"./chunk-XUHMPXWX.min.js";var o=s((n,a)=>{(function(e,r){typeof define=="function"&&define.amd?define(r):typeof n=="object"?a.exports=r():r()(e.lunr)})(n,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ta=function(){this.pipeline.reset(),this.pipeline.add(e.ta.trimmer,e.ta.stopWordFilter,e.ta.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ta.stemmer))},e.ta.wordCharacters="\u0B80-\u0B89\u0B8A-\u0B8F\u0B90-\u0B99\u0B9A-\u0B9F\u0BA0-\u0BA9\u0BAA-\u0BAF\u0BB0-\u0BB9\u0BBA-\u0BBF\u0BC0-\u0BC9\u0BCA-\u0BCF\u0BD0-\u0BD9\u0BDA-\u0BDF\u0BE0-\u0BE9\u0BEA-\u0BEF\u0BF0-\u0BF9\u0BFA-\u0BFFa-zA-Z\uFF41-\uFF5A\uFF21-\uFF3A0-9\uFF10-\uFF19",e.ta.trimmer=e.trimmerSupport.generateTrimmer(e.ta.wordCharacters),e.Pipeline.registerFunction(e.ta.trimmer,"trimmer-ta"),e.ta.stopWordFilter=e.generateStopWordFilter("\u0B85\u0B99\u0BCD\u0B95\u0BC1 \u0B85\u0B99\u0BCD\u0B95\u0BC7 \u0B85\u0BA4\u0BC1 \u0B85\u0BA4\u0BC8 \u0B85\u0BA8\u0BCD\u0BA4 \u0B85\u0BB5\u0BB0\u0BCD \u0B85\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B85\u0BB5\u0BB3\u0BCD \u0B85\u0BB5\u0BA9\u0BCD \u0B85\u0BB5\u0BC8 \u0B86\u0B95 \u0B86\u0B95\u0BB5\u0BC7 \u0B86\u0B95\u0BC8\u0BAF\u0BBE\u0BB2\u0BCD \u0B86\u0BA4\u0BB2\u0BBE\u0BB2\u0BCD \u0B86\u0BA4\u0BB2\u0BBF\u0BA9\u0BBE\u0BB2\u0BCD \u0B86\u0BA9\u0BBE\u0BB2\u0BC1\u0BAE\u0BCD \u0B86\u0BA9\u0BBE\u0BB2\u0BCD \u0B87\u0B99\u0BCD\u0B95\u0BC1 \u0B87\u0B99\u0BCD\u0B95\u0BC7 \u0B87\u0BA4\u0BC1 \u0B87\u0BA4\u0BC8 \u0B87\u0BA8\u0BCD\u0BA4 \u0B87\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0B87\u0BB5\u0BB0\u0BCD \u0B87\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B87\u0BB5\u0BB3\u0BCD \u0B87\u0BB5\u0BA9\u0BCD \u0B87\u0BB5\u0BC8 \u0B87\u0BB5\u0BCD\u0BB5\u0BB3\u0BB5\u0BC1 \u0B89\u0BA9\u0B95\u0BCD\u0B95\u0BC1 \u0B89\u0BA9\u0BA4\u0BC1 \u0B89\u0BA9\u0BCD \u0B89\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0B8E\u0B99\u0BCD\u0B95\u0BC1 \u0B8E\u0B99\u0BCD\u0B95\u0BC7 \u0B8E\u0BA4\u0BC1 \u0B8E\u0BA4\u0BC8 \u0B8E\u0BA8\u0BCD\u0BA4 \u0B8E\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0B8E\u0BB5\u0BB0\u0BCD \u0B8E\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B8E\u0BB5\u0BB3\u0BCD \u0B8E\u0BB5\u0BA9\u0BCD \u0B8E\u0BB5\u0BC8 \u0B8E\u0BB5\u0BCD\u0BB5\u0BB3\u0BB5\u0BC1 \u0B8E\u0BA9\u0B95\u0BCD\u0B95\u0BC1 \u0B8E\u0BA9\u0BA4\u0BC1 \u0B8E\u0BA9\u0BB5\u0BC7 \u0B8E\u0BA9\u0BCD \u0B8E\u0BA9\u0BCD\u0BA9 \u0B8E\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0B8F\u0BA4\u0BC1 \u0B8F\u0BA9\u0BCD \u0BA4\u0BA9\u0BA4\u0BC1 \u0BA4\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0BA4\u0BBE\u0BA9\u0BC7 \u0BA4\u0BBE\u0BA9\u0BCD \u0BA8\u0BBE\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA8\u0BBE\u0BAE\u0BCD \u0BA8\u0BBE\u0BA9\u0BCD \u0BA8\u0BC0 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD".split(" ")),e.ta.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(i){return i}):t}}();var r=e.wordcut;r.init(),e.ta.tokenizer=function(t){if(!arguments.length||t==null||t==null)return[];if(Array.isArray(t))return t.map(function(u){return isLunr2?new e.Token(u.toLowerCase()):u.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.ta.stemmer,"stemmer-ta"),e.Pipeline.registerFunction(e.ta.stopWordFilter,"stopWordFilter-ta")}})});export default o(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.ta.js: 5 | (*! 6 | * Lunr languages, `Tamil` language 7 | * https://github.com/tvmani/lunr-languages 8 | * 9 | * Copyright 2021, Manikandan Venkatasubban 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.ta-KO56CLDU.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.ta-OWB7AURB.min.js: -------------------------------------------------------------------------------- 1 | import{a as s}from"./chunk-OSRY5VT3.min.js";var o=s((n,a)=>{(function(e,r){typeof define=="function"&&define.amd?define(r):typeof n=="object"?a.exports=r():r()(e.lunr)})(n,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ta=function(){this.pipeline.reset(),this.pipeline.add(e.ta.trimmer,e.ta.stopWordFilter,e.ta.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ta.stemmer))},e.ta.wordCharacters="\u0B80-\u0B89\u0B8A-\u0B8F\u0B90-\u0B99\u0B9A-\u0B9F\u0BA0-\u0BA9\u0BAA-\u0BAF\u0BB0-\u0BB9\u0BBA-\u0BBF\u0BC0-\u0BC9\u0BCA-\u0BCF\u0BD0-\u0BD9\u0BDA-\u0BDF\u0BE0-\u0BE9\u0BEA-\u0BEF\u0BF0-\u0BF9\u0BFA-\u0BFFa-zA-Z\uFF41-\uFF5A\uFF21-\uFF3A0-9\uFF10-\uFF19",e.ta.trimmer=e.trimmerSupport.generateTrimmer(e.ta.wordCharacters),e.Pipeline.registerFunction(e.ta.trimmer,"trimmer-ta"),e.ta.stopWordFilter=e.generateStopWordFilter("\u0B85\u0B99\u0BCD\u0B95\u0BC1 \u0B85\u0B99\u0BCD\u0B95\u0BC7 \u0B85\u0BA4\u0BC1 \u0B85\u0BA4\u0BC8 \u0B85\u0BA8\u0BCD\u0BA4 \u0B85\u0BB5\u0BB0\u0BCD \u0B85\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B85\u0BB5\u0BB3\u0BCD \u0B85\u0BB5\u0BA9\u0BCD \u0B85\u0BB5\u0BC8 \u0B86\u0B95 \u0B86\u0B95\u0BB5\u0BC7 \u0B86\u0B95\u0BC8\u0BAF\u0BBE\u0BB2\u0BCD \u0B86\u0BA4\u0BB2\u0BBE\u0BB2\u0BCD \u0B86\u0BA4\u0BB2\u0BBF\u0BA9\u0BBE\u0BB2\u0BCD \u0B86\u0BA9\u0BBE\u0BB2\u0BC1\u0BAE\u0BCD \u0B86\u0BA9\u0BBE\u0BB2\u0BCD \u0B87\u0B99\u0BCD\u0B95\u0BC1 \u0B87\u0B99\u0BCD\u0B95\u0BC7 \u0B87\u0BA4\u0BC1 \u0B87\u0BA4\u0BC8 \u0B87\u0BA8\u0BCD\u0BA4 \u0B87\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0B87\u0BB5\u0BB0\u0BCD \u0B87\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B87\u0BB5\u0BB3\u0BCD \u0B87\u0BB5\u0BA9\u0BCD \u0B87\u0BB5\u0BC8 \u0B87\u0BB5\u0BCD\u0BB5\u0BB3\u0BB5\u0BC1 \u0B89\u0BA9\u0B95\u0BCD\u0B95\u0BC1 \u0B89\u0BA9\u0BA4\u0BC1 \u0B89\u0BA9\u0BCD \u0B89\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0B8E\u0B99\u0BCD\u0B95\u0BC1 \u0B8E\u0B99\u0BCD\u0B95\u0BC7 \u0B8E\u0BA4\u0BC1 \u0B8E\u0BA4\u0BC8 \u0B8E\u0BA8\u0BCD\u0BA4 \u0B8E\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0B8E\u0BB5\u0BB0\u0BCD \u0B8E\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B8E\u0BB5\u0BB3\u0BCD \u0B8E\u0BB5\u0BA9\u0BCD \u0B8E\u0BB5\u0BC8 \u0B8E\u0BB5\u0BCD\u0BB5\u0BB3\u0BB5\u0BC1 \u0B8E\u0BA9\u0B95\u0BCD\u0B95\u0BC1 \u0B8E\u0BA9\u0BA4\u0BC1 \u0B8E\u0BA9\u0BB5\u0BC7 \u0B8E\u0BA9\u0BCD \u0B8E\u0BA9\u0BCD\u0BA9 \u0B8E\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0B8F\u0BA4\u0BC1 \u0B8F\u0BA9\u0BCD \u0BA4\u0BA9\u0BA4\u0BC1 \u0BA4\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0BA4\u0BBE\u0BA9\u0BC7 \u0BA4\u0BBE\u0BA9\u0BCD \u0BA8\u0BBE\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA8\u0BBE\u0BAE\u0BCD \u0BA8\u0BBE\u0BA9\u0BCD \u0BA8\u0BC0 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD".split(" ")),e.ta.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(i){return i}):t}}();var r=e.wordcut;r.init(),e.ta.tokenizer=function(t){if(!arguments.length||t==null||t==null)return[];if(Array.isArray(t))return t.map(function(u){return isLunr2?new e.Token(u.toLowerCase()):u.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.ta.stemmer,"stemmer-ta"),e.Pipeline.registerFunction(e.ta.stopWordFilter,"stopWordFilter-ta")}})});export default o(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.ta.js: 5 | (*! 6 | * Lunr languages, `Tamil` language 7 | * https://github.com/tvmani/lunr-languages 8 | * 9 | * Copyright 2021, Manikandan Venkatasubban 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.ta-OWB7AURB.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.te-2RZIMFIT.min.js: -------------------------------------------------------------------------------- 1 | import{b as o}from"./chunk-XUHMPXWX.min.js";var p=o((n,u)=>{(function(e,r){typeof define=="function"&&define.amd?define(r):typeof n=="object"?u.exports=r():r()(e.lunr)})(n,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.te=function(){this.pipeline.reset(),this.pipeline.add(e.te.trimmer,e.te.stopWordFilter,e.te.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.te.stemmer))},e.te.wordCharacters="\u0C00-\u0C04\u0C05-\u0C14\u0C15-\u0C39\u0C3E-\u0C4C\u0C55-\u0C56\u0C58-\u0C5A\u0C60-\u0C61\u0C62-\u0C63\u0C66-\u0C6F\u0C78-\u0C7F\u0C3C\u0C3D\u0C4D\u0C5D\u0C77\u0C64\u0C65",e.te.trimmer=e.trimmerSupport.generateTrimmer(e.te.wordCharacters),e.Pipeline.registerFunction(e.te.trimmer,"trimmer-te"),e.te.stopWordFilter=e.generateStopWordFilter("\u0C05\u0C02\u0C26\u0C30\u0C42 \u0C05\u0C02\u0C26\u0C41\u0C2C\u0C3E\u0C1F\u0C41\u0C32\u0C4B \u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F \u0C05\u0C21\u0C17\u0C21\u0C02 \u0C05\u0C21\u0C4D\u0C21\u0C02\u0C17\u0C3E \u0C05\u0C28\u0C41\u0C17\u0C41\u0C23\u0C02\u0C17\u0C3E \u0C05\u0C28\u0C41\u0C2E\u0C24\u0C3F\u0C02\u0C1A\u0C41 \u0C05\u0C28\u0C41\u0C2E\u0C24\u0C3F\u0C38\u0C4D\u0C24\u0C41\u0C02\u0C26\u0C3F \u0C05\u0C2F\u0C3F\u0C24\u0C47 \u0C07\u0C2A\u0C4D\u0C2A\u0C1F\u0C3F\u0C15\u0C47 \u0C09\u0C28\u0C4D\u0C28\u0C3E\u0C30\u0C41 \u0C0E\u0C15\u0C4D\u0C15\u0C21\u0C48\u0C28\u0C3E \u0C0E\u0C2A\u0C4D\u0C2A\u0C41\u0C21\u0C41 \u0C0E\u0C35\u0C30\u0C48\u0C28\u0C3E \u0C0E\u0C35\u0C30\u0C4B \u0C0F \u0C0F\u0C26\u0C48\u0C28\u0C3E \u0C0F\u0C2E\u0C48\u0C28\u0C2A\u0C4D\u0C2A\u0C1F\u0C3F\u0C15\u0C3F \u0C12\u0C15 \u0C12\u0C15\u0C30\u0C41 \u0C15\u0C28\u0C3F\u0C2A\u0C3F\u0C38\u0C4D\u0C24\u0C3E\u0C2F\u0C3F \u0C15\u0C3E\u0C26\u0C41 \u0C15\u0C42\u0C21\u0C3E \u0C17\u0C3E \u0C17\u0C41\u0C30\u0C3F\u0C02\u0C1A\u0C3F \u0C1A\u0C41\u0C1F\u0C4D\u0C1F\u0C42 \u0C1A\u0C47\u0C2F\u0C17\u0C32\u0C3F\u0C17\u0C3F\u0C02\u0C26\u0C3F \u0C24\u0C17\u0C3F\u0C28 \u0C24\u0C30\u0C4D\u0C35\u0C3E\u0C24 \u0C26\u0C3E\u0C26\u0C3E\u0C2A\u0C41 \u0C26\u0C42\u0C30\u0C02\u0C17\u0C3E \u0C28\u0C3F\u0C1C\u0C02\u0C17\u0C3E \u0C2A\u0C48 \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C2A\u0C4D\u0C30\u0C15\u0C4D\u0C15\u0C28 \u0C2E\u0C27\u0C4D\u0C2F \u0C2E\u0C30\u0C3F\u0C2F\u0C41 \u0C2E\u0C30\u0C4A\u0C15 \u0C2E\u0C33\u0C4D\u0C33\u0C40 \u0C2E\u0C3E\u0C24\u0C4D\u0C30\u0C2E\u0C47 \u0C2E\u0C46\u0C1A\u0C4D\u0C1A\u0C41\u0C15\u0C4B \u0C35\u0C26\u0C4D\u0C26 \u0C35\u0C46\u0C02\u0C1F \u0C35\u0C47\u0C30\u0C41\u0C17\u0C3E \u0C35\u0C4D\u0C2F\u0C24\u0C3F\u0C30\u0C47\u0C15\u0C02\u0C17\u0C3E \u0C38\u0C02\u0C2C\u0C02\u0C27\u0C02".split(" ")),e.te.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(i){return i}):t}}();var r=e.wordcut;r.init(),e.te.tokenizer=function(t){if(!arguments.length||t==null||t==null)return[];if(Array.isArray(t))return t.map(function(s){return isLunr2?new e.Token(s.toLowerCase()):s.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.te.stemmer,"stemmer-te"),e.Pipeline.registerFunction(e.te.stopWordFilter,"stopWordFilter-te")}})});export default p(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.te.js: 5 | (*! 6 | * Lunr languages, `Hindi` language 7 | * https://github.com/MiKr13/lunr-languages 8 | * 9 | * Copyright 2023, India 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.te-2RZIMFIT.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.te-JGGL3BFP.min.js: -------------------------------------------------------------------------------- 1 | import{a as o}from"./chunk-OSRY5VT3.min.js";var p=o((n,u)=>{(function(e,r){typeof define=="function"&&define.amd?define(r):typeof n=="object"?u.exports=r():r()(e.lunr)})(n,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.te=function(){this.pipeline.reset(),this.pipeline.add(e.te.trimmer,e.te.stopWordFilter,e.te.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.te.stemmer))},e.te.wordCharacters="\u0C00-\u0C04\u0C05-\u0C14\u0C15-\u0C39\u0C3E-\u0C4C\u0C55-\u0C56\u0C58-\u0C5A\u0C60-\u0C61\u0C62-\u0C63\u0C66-\u0C6F\u0C78-\u0C7F\u0C3C\u0C3D\u0C4D\u0C5D\u0C77\u0C64\u0C65",e.te.trimmer=e.trimmerSupport.generateTrimmer(e.te.wordCharacters),e.Pipeline.registerFunction(e.te.trimmer,"trimmer-te"),e.te.stopWordFilter=e.generateStopWordFilter("\u0C05\u0C02\u0C26\u0C30\u0C42 \u0C05\u0C02\u0C26\u0C41\u0C2C\u0C3E\u0C1F\u0C41\u0C32\u0C4B \u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F \u0C05\u0C21\u0C17\u0C21\u0C02 \u0C05\u0C21\u0C4D\u0C21\u0C02\u0C17\u0C3E \u0C05\u0C28\u0C41\u0C17\u0C41\u0C23\u0C02\u0C17\u0C3E \u0C05\u0C28\u0C41\u0C2E\u0C24\u0C3F\u0C02\u0C1A\u0C41 \u0C05\u0C28\u0C41\u0C2E\u0C24\u0C3F\u0C38\u0C4D\u0C24\u0C41\u0C02\u0C26\u0C3F \u0C05\u0C2F\u0C3F\u0C24\u0C47 \u0C07\u0C2A\u0C4D\u0C2A\u0C1F\u0C3F\u0C15\u0C47 \u0C09\u0C28\u0C4D\u0C28\u0C3E\u0C30\u0C41 \u0C0E\u0C15\u0C4D\u0C15\u0C21\u0C48\u0C28\u0C3E \u0C0E\u0C2A\u0C4D\u0C2A\u0C41\u0C21\u0C41 \u0C0E\u0C35\u0C30\u0C48\u0C28\u0C3E \u0C0E\u0C35\u0C30\u0C4B \u0C0F \u0C0F\u0C26\u0C48\u0C28\u0C3E \u0C0F\u0C2E\u0C48\u0C28\u0C2A\u0C4D\u0C2A\u0C1F\u0C3F\u0C15\u0C3F \u0C12\u0C15 \u0C12\u0C15\u0C30\u0C41 \u0C15\u0C28\u0C3F\u0C2A\u0C3F\u0C38\u0C4D\u0C24\u0C3E\u0C2F\u0C3F \u0C15\u0C3E\u0C26\u0C41 \u0C15\u0C42\u0C21\u0C3E \u0C17\u0C3E \u0C17\u0C41\u0C30\u0C3F\u0C02\u0C1A\u0C3F \u0C1A\u0C41\u0C1F\u0C4D\u0C1F\u0C42 \u0C1A\u0C47\u0C2F\u0C17\u0C32\u0C3F\u0C17\u0C3F\u0C02\u0C26\u0C3F \u0C24\u0C17\u0C3F\u0C28 \u0C24\u0C30\u0C4D\u0C35\u0C3E\u0C24 \u0C26\u0C3E\u0C26\u0C3E\u0C2A\u0C41 \u0C26\u0C42\u0C30\u0C02\u0C17\u0C3E \u0C28\u0C3F\u0C1C\u0C02\u0C17\u0C3E \u0C2A\u0C48 \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C2A\u0C4D\u0C30\u0C15\u0C4D\u0C15\u0C28 \u0C2E\u0C27\u0C4D\u0C2F \u0C2E\u0C30\u0C3F\u0C2F\u0C41 \u0C2E\u0C30\u0C4A\u0C15 \u0C2E\u0C33\u0C4D\u0C33\u0C40 \u0C2E\u0C3E\u0C24\u0C4D\u0C30\u0C2E\u0C47 \u0C2E\u0C46\u0C1A\u0C4D\u0C1A\u0C41\u0C15\u0C4B \u0C35\u0C26\u0C4D\u0C26 \u0C35\u0C46\u0C02\u0C1F \u0C35\u0C47\u0C30\u0C41\u0C17\u0C3E \u0C35\u0C4D\u0C2F\u0C24\u0C3F\u0C30\u0C47\u0C15\u0C02\u0C17\u0C3E \u0C38\u0C02\u0C2C\u0C02\u0C27\u0C02".split(" ")),e.te.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(i){return i}):t}}();var r=e.wordcut;r.init(),e.te.tokenizer=function(t){if(!arguments.length||t==null||t==null)return[];if(Array.isArray(t))return t.map(function(s){return isLunr2?new e.Token(s.toLowerCase()):s.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.te.stemmer,"stemmer-te"),e.Pipeline.registerFunction(e.te.stopWordFilter,"stopWordFilter-te")}})});export default p(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.te.js: 5 | (*! 6 | * Lunr languages, `Hindi` language 7 | * https://github.com/MiKr13/lunr-languages 8 | * 9 | * Copyright 2023, India 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.te-JGGL3BFP.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.te-OBAK5FVS.min.js: -------------------------------------------------------------------------------- 1 | import{b as o}from"./chunk-P42HNYSU.min.js";var p=o((n,u)=>{(function(e,r){typeof define=="function"&&define.amd?define(r):typeof n=="object"?u.exports=r():r()(e.lunr)})(n,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.te=function(){this.pipeline.reset(),this.pipeline.add(e.te.trimmer,e.te.stopWordFilter,e.te.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.te.stemmer))},e.te.wordCharacters="\u0C00-\u0C04\u0C05-\u0C14\u0C15-\u0C39\u0C3E-\u0C4C\u0C55-\u0C56\u0C58-\u0C5A\u0C60-\u0C61\u0C62-\u0C63\u0C66-\u0C6F\u0C78-\u0C7F\u0C3C\u0C3D\u0C4D\u0C5D\u0C77\u0C64\u0C65",e.te.trimmer=e.trimmerSupport.generateTrimmer(e.te.wordCharacters),e.Pipeline.registerFunction(e.te.trimmer,"trimmer-te"),e.te.stopWordFilter=e.generateStopWordFilter("\u0C05\u0C02\u0C26\u0C30\u0C42 \u0C05\u0C02\u0C26\u0C41\u0C2C\u0C3E\u0C1F\u0C41\u0C32\u0C4B \u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F \u0C05\u0C21\u0C17\u0C21\u0C02 \u0C05\u0C21\u0C4D\u0C21\u0C02\u0C17\u0C3E \u0C05\u0C28\u0C41\u0C17\u0C41\u0C23\u0C02\u0C17\u0C3E \u0C05\u0C28\u0C41\u0C2E\u0C24\u0C3F\u0C02\u0C1A\u0C41 \u0C05\u0C28\u0C41\u0C2E\u0C24\u0C3F\u0C38\u0C4D\u0C24\u0C41\u0C02\u0C26\u0C3F \u0C05\u0C2F\u0C3F\u0C24\u0C47 \u0C07\u0C2A\u0C4D\u0C2A\u0C1F\u0C3F\u0C15\u0C47 \u0C09\u0C28\u0C4D\u0C28\u0C3E\u0C30\u0C41 \u0C0E\u0C15\u0C4D\u0C15\u0C21\u0C48\u0C28\u0C3E \u0C0E\u0C2A\u0C4D\u0C2A\u0C41\u0C21\u0C41 \u0C0E\u0C35\u0C30\u0C48\u0C28\u0C3E \u0C0E\u0C35\u0C30\u0C4B \u0C0F \u0C0F\u0C26\u0C48\u0C28\u0C3E \u0C0F\u0C2E\u0C48\u0C28\u0C2A\u0C4D\u0C2A\u0C1F\u0C3F\u0C15\u0C3F \u0C12\u0C15 \u0C12\u0C15\u0C30\u0C41 \u0C15\u0C28\u0C3F\u0C2A\u0C3F\u0C38\u0C4D\u0C24\u0C3E\u0C2F\u0C3F \u0C15\u0C3E\u0C26\u0C41 \u0C15\u0C42\u0C21\u0C3E \u0C17\u0C3E \u0C17\u0C41\u0C30\u0C3F\u0C02\u0C1A\u0C3F \u0C1A\u0C41\u0C1F\u0C4D\u0C1F\u0C42 \u0C1A\u0C47\u0C2F\u0C17\u0C32\u0C3F\u0C17\u0C3F\u0C02\u0C26\u0C3F \u0C24\u0C17\u0C3F\u0C28 \u0C24\u0C30\u0C4D\u0C35\u0C3E\u0C24 \u0C26\u0C3E\u0C26\u0C3E\u0C2A\u0C41 \u0C26\u0C42\u0C30\u0C02\u0C17\u0C3E \u0C28\u0C3F\u0C1C\u0C02\u0C17\u0C3E \u0C2A\u0C48 \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C2A\u0C4D\u0C30\u0C15\u0C4D\u0C15\u0C28 \u0C2E\u0C27\u0C4D\u0C2F \u0C2E\u0C30\u0C3F\u0C2F\u0C41 \u0C2E\u0C30\u0C4A\u0C15 \u0C2E\u0C33\u0C4D\u0C33\u0C40 \u0C2E\u0C3E\u0C24\u0C4D\u0C30\u0C2E\u0C47 \u0C2E\u0C46\u0C1A\u0C4D\u0C1A\u0C41\u0C15\u0C4B \u0C35\u0C26\u0C4D\u0C26 \u0C35\u0C46\u0C02\u0C1F \u0C35\u0C47\u0C30\u0C41\u0C17\u0C3E \u0C35\u0C4D\u0C2F\u0C24\u0C3F\u0C30\u0C47\u0C15\u0C02\u0C17\u0C3E \u0C38\u0C02\u0C2C\u0C02\u0C27\u0C02".split(" ")),e.te.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(i){return i}):t}}();var r=e.wordcut;r.init(),e.te.tokenizer=function(t){if(!arguments.length||t==null||t==null)return[];if(Array.isArray(t))return t.map(function(s){return isLunr2?new e.Token(s.toLowerCase()):s.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.te.stemmer,"stemmer-te"),e.Pipeline.registerFunction(e.te.stopWordFilter,"stopWordFilter-te")}})});export default p(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.te.js: 5 | (*! 6 | * Lunr languages, `Hindi` language 7 | * https://github.com/MiKr13/lunr-languages 8 | * 9 | * Copyright 2023, India 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.te-OBAK5FVS.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.th-LSQ6T65I.min.js: -------------------------------------------------------------------------------- 1 | import{b as h}from"./chunk-P42HNYSU.min.js";var p=h((r,o)=>{(function(e,t){typeof define=="function"&&define.amd?define(t):typeof r=="object"?o.exports=t():t()(e.lunr)})(r,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var t=e.version[0]=="2";e.th=function(){this.pipeline.reset(),this.pipeline.add(e.th.trimmer),t?this.tokenizer=e.th.tokenizer:(e.tokenizer&&(e.tokenizer=e.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.th.tokenizer))},e.th.wordCharacters="[\u0E00-\u0E7F]",e.th.trimmer=e.trimmerSupport.generateTrimmer(e.th.wordCharacters),e.Pipeline.registerFunction(e.th.trimmer,"trimmer-th");var n=e.wordcut;n.init(),e.th.tokenizer=function(i){if(!arguments.length||i==null||i==null)return[];if(Array.isArray(i))return i.map(function(s){return t?new e.Token(s):s});var f=i.toString().replace(/^\s+/,"");return n.cut(f).split("|")}}})});export default p(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.th.js: 5 | (*! 6 | * Lunr languages, `Thai` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2017, Keerati Thiwanruk 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.th-LSQ6T65I.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.th-LSQ6T65I.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.th.js"], 4 | "sourcesContent": ["/*!\n * Lunr languages, `Thai` language\n * https://github.com/MihaiValentin/lunr-languages\n *\n * Copyright 2017, Keerati Thiwanruk\n * http://www.mozilla.org/MPL/\n */\n/*!\n * based on\n * Snowball JavaScript Library v0.3\n * http://code.google.com/p/urim/\n * http://snowball.tartarus.org/\n *\n * Copyright 2010, Oleg Mazko\n * http://www.mozilla.org/MPL/\n */\n\n/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like environments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n factory()(root.lunr);\n }\n}(this, function() {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return function(lunr) {\n /* throw error if lunr is not yet included */\n if ('undefined' === typeof lunr) {\n throw new Error('Lunr is not present. Please include / require Lunr before this script.');\n }\n\n /* throw error if lunr stemmer support is not yet included */\n if ('undefined' === typeof lunr.stemmerSupport) {\n throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');\n }\n\n /*\n Thai tokenization is the same to Japanense, which does not take into account spaces.\n So, it uses the same logic to assign tokenization function due to different Lunr versions.\n */\n var isLunr2 = lunr.version[0] == \"2\";\n\n /* register specific locale function */\n lunr.th = function() {\n this.pipeline.reset();\n this.pipeline.add(\n /*lunr.th.stopWordFilter,*/\n lunr.th.trimmer\n );\n\n if (isLunr2) { // for lunr version 2.0.0\n this.tokenizer = lunr.th.tokenizer;\n } else {\n if (lunr.tokenizer) { // for lunr version 0.6.0\n lunr.tokenizer = lunr.th.tokenizer;\n }\n if (this.tokenizerFn) { // for lunr version 0.7.0 -> 1.0.0\n this.tokenizerFn = lunr.th.tokenizer;\n }\n }\n };\n\n /* lunr trimmer function */\n lunr.th.wordCharacters = \"[\\u0e00-\\u0e7f]\";\n lunr.th.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.th.wordCharacters);\n lunr.Pipeline.registerFunction(lunr.th.trimmer, 'trimmer-th');\n\n var segmenter = lunr.wordcut;\n segmenter.init();\n lunr.th.tokenizer = function(obj) {\n //console.log(obj);\n if (!arguments.length || obj == null || obj == undefined) return []\n if (Array.isArray(obj)) return obj.map(function(t) {\n return isLunr2 ? new lunr.Token(t) : t\n })\n\n var str = obj.toString().replace(/^\\s+/, '');\n return segmenter.cut(str).split('|');\n }\n };\n}))"], 5 | "mappings": "4CAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,EAsBC,SAASC,EAAMC,EAAS,CACnB,OAAO,QAAW,YAAc,OAAO,IAEzC,OAAOA,CAAO,EACL,OAAOH,GAAY,SAM5BC,EAAO,QAAUE,EAAQ,EAGzBA,EAAQ,EAAED,EAAK,IAAI,CAEvB,GAAEF,EAAM,UAAW,CAMjB,OAAO,SAASI,EAAM,CAEpB,GAAoB,OAAOA,EAAvB,IACF,MAAM,IAAI,MAAM,wEAAwE,EAI1F,GAAoB,OAAOA,EAAK,eAA5B,IACF,MAAM,IAAI,MAAM,wGAAwG,EAO1H,IAAIC,EAAUD,EAAK,QAAQ,CAAC,GAAK,IAGjCA,EAAK,GAAK,UAAW,CACnB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,IAEZA,EAAK,GAAG,OACV,EAEIC,EACF,KAAK,UAAYD,EAAK,GAAG,WAErBA,EAAK,YACPA,EAAK,UAAYA,EAAK,GAAG,WAEvB,KAAK,cACP,KAAK,YAAcA,EAAK,GAAG,WAGjC,EAGAA,EAAK,GAAG,eAAiB,kBACzBA,EAAK,GAAG,QAAUA,EAAK,eAAe,gBAAgBA,EAAK,GAAG,cAAc,EAC5EA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAE5D,IAAIE,EAAYF,EAAK,QACrBE,EAAU,KAAK,EACfF,EAAK,GAAG,UAAY,SAASG,EAAK,CAEhC,GAAI,CAAC,UAAU,QAAUA,GAAO,MAAQA,GAAO,KAAW,MAAO,CAAC,EAClE,GAAI,MAAM,QAAQA,CAAG,EAAG,OAAOA,EAAI,IAAI,SAASC,EAAG,CACjD,OAAOH,EAAU,IAAID,EAAK,MAAMI,CAAC,EAAIA,CACvC,CAAC,EAED,IAAIC,EAAMF,EAAI,SAAS,EAAE,QAAQ,OAAQ,EAAE,EAC3C,OAAOD,EAAU,IAAIG,CAAG,EAAE,MAAM,GAAG,CACrC,CACF,CACF,CAAC", 6 | "names": ["require_lunr_th", "__commonJSMin", "exports", "module", "root", "factory", "lunr", "isLunr2", "segmenter", "obj", "t", "str"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.th-O4JBL3IY.min.js: -------------------------------------------------------------------------------- 1 | import{a as h}from"./chunk-OSRY5VT3.min.js";var p=h((r,o)=>{(function(e,t){typeof define=="function"&&define.amd?define(t):typeof r=="object"?o.exports=t():t()(e.lunr)})(r,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var t=e.version[0]=="2";e.th=function(){this.pipeline.reset(),this.pipeline.add(e.th.trimmer),t?this.tokenizer=e.th.tokenizer:(e.tokenizer&&(e.tokenizer=e.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.th.tokenizer))},e.th.wordCharacters="[\u0E00-\u0E7F]",e.th.trimmer=e.trimmerSupport.generateTrimmer(e.th.wordCharacters),e.Pipeline.registerFunction(e.th.trimmer,"trimmer-th");var n=e.wordcut;n.init(),e.th.tokenizer=function(i){if(!arguments.length||i==null||i==null)return[];if(Array.isArray(i))return i.map(function(s){return t?new e.Token(s):s});var f=i.toString().replace(/^\s+/,"");return n.cut(f).split("|")}}})});export default p(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.th.js: 5 | (*! 6 | * Lunr languages, `Thai` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2017, Keerati Thiwanruk 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.th-O4JBL3IY.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.th-O4JBL3IY.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.th.js"], 4 | "sourcesContent": ["/*!\n * Lunr languages, `Thai` language\n * https://github.com/MihaiValentin/lunr-languages\n *\n * Copyright 2017, Keerati Thiwanruk\n * http://www.mozilla.org/MPL/\n */\n/*!\n * based on\n * Snowball JavaScript Library v0.3\n * http://code.google.com/p/urim/\n * http://snowball.tartarus.org/\n *\n * Copyright 2010, Oleg Mazko\n * http://www.mozilla.org/MPL/\n */\n\n/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like environments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n factory()(root.lunr);\n }\n}(this, function() {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return function(lunr) {\n /* throw error if lunr is not yet included */\n if ('undefined' === typeof lunr) {\n throw new Error('Lunr is not present. Please include / require Lunr before this script.');\n }\n\n /* throw error if lunr stemmer support is not yet included */\n if ('undefined' === typeof lunr.stemmerSupport) {\n throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');\n }\n\n /*\n Thai tokenization is the same to Japanense, which does not take into account spaces.\n So, it uses the same logic to assign tokenization function due to different Lunr versions.\n */\n var isLunr2 = lunr.version[0] == \"2\";\n\n /* register specific locale function */\n lunr.th = function() {\n this.pipeline.reset();\n this.pipeline.add(\n /*lunr.th.stopWordFilter,*/\n lunr.th.trimmer\n );\n\n if (isLunr2) { // for lunr version 2.0.0\n this.tokenizer = lunr.th.tokenizer;\n } else {\n if (lunr.tokenizer) { // for lunr version 0.6.0\n lunr.tokenizer = lunr.th.tokenizer;\n }\n if (this.tokenizerFn) { // for lunr version 0.7.0 -> 1.0.0\n this.tokenizerFn = lunr.th.tokenizer;\n }\n }\n };\n\n /* lunr trimmer function */\n lunr.th.wordCharacters = \"[\\u0e00-\\u0e7f]\";\n lunr.th.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.th.wordCharacters);\n lunr.Pipeline.registerFunction(lunr.th.trimmer, 'trimmer-th');\n\n var segmenter = lunr.wordcut;\n segmenter.init();\n lunr.th.tokenizer = function(obj) {\n //console.log(obj);\n if (!arguments.length || obj == null || obj == undefined) return []\n if (Array.isArray(obj)) return obj.map(function(t) {\n return isLunr2 ? new lunr.Token(t) : t\n })\n\n var str = obj.toString().replace(/^\\s+/, '');\n return segmenter.cut(str).split('|');\n }\n };\n}))"], 5 | "mappings": "4CAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,EAsBC,SAASC,EAAMC,EAAS,CACnB,OAAO,QAAW,YAAc,OAAO,IAEzC,OAAOA,CAAO,EACL,OAAOH,GAAY,SAM5BC,EAAO,QAAUE,EAAQ,EAGzBA,EAAQ,EAAED,EAAK,IAAI,CAEvB,GAAEF,EAAM,UAAW,CAMjB,OAAO,SAASI,EAAM,CAEpB,GAAoB,OAAOA,EAAvB,IACF,MAAM,IAAI,MAAM,wEAAwE,EAI1F,GAAoB,OAAOA,EAAK,eAA5B,IACF,MAAM,IAAI,MAAM,wGAAwG,EAO1H,IAAIC,EAAUD,EAAK,QAAQ,CAAC,GAAK,IAGjCA,EAAK,GAAK,UAAW,CACnB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,IAEZA,EAAK,GAAG,OACV,EAEIC,EACF,KAAK,UAAYD,EAAK,GAAG,WAErBA,EAAK,YACPA,EAAK,UAAYA,EAAK,GAAG,WAEvB,KAAK,cACP,KAAK,YAAcA,EAAK,GAAG,WAGjC,EAGAA,EAAK,GAAG,eAAiB,kBACzBA,EAAK,GAAG,QAAUA,EAAK,eAAe,gBAAgBA,EAAK,GAAG,cAAc,EAC5EA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAE5D,IAAIE,EAAYF,EAAK,QACrBE,EAAU,KAAK,EACfF,EAAK,GAAG,UAAY,SAASG,EAAK,CAEhC,GAAI,CAAC,UAAU,QAAUA,GAAO,MAAQA,GAAO,KAAW,MAAO,CAAC,EAClE,GAAI,MAAM,QAAQA,CAAG,EAAG,OAAOA,EAAI,IAAI,SAASC,EAAG,CACjD,OAAOH,EAAU,IAAID,EAAK,MAAMI,CAAC,EAAIA,CACvC,CAAC,EAED,IAAIC,EAAMF,EAAI,SAAS,EAAE,QAAQ,OAAQ,EAAE,EAC3C,OAAOD,EAAU,IAAIG,CAAG,EAAE,MAAM,GAAG,CACrC,CACF,CACF,CAAC", 6 | "names": ["require_lunr_th", "__commonJSMin", "exports", "module", "root", "factory", "lunr", "isLunr2", "segmenter", "obj", "t", "str"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.th-RUK2AEUT.min.js: -------------------------------------------------------------------------------- 1 | import{b as h}from"./chunk-XUHMPXWX.min.js";var p=h((r,o)=>{(function(e,t){typeof define=="function"&&define.amd?define(t):typeof r=="object"?o.exports=t():t()(e.lunr)})(r,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var t=e.version[0]=="2";e.th=function(){this.pipeline.reset(),this.pipeline.add(e.th.trimmer),t?this.tokenizer=e.th.tokenizer:(e.tokenizer&&(e.tokenizer=e.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.th.tokenizer))},e.th.wordCharacters="[\u0E00-\u0E7F]",e.th.trimmer=e.trimmerSupport.generateTrimmer(e.th.wordCharacters),e.Pipeline.registerFunction(e.th.trimmer,"trimmer-th");var n=e.wordcut;n.init(),e.th.tokenizer=function(i){if(!arguments.length||i==null||i==null)return[];if(Array.isArray(i))return i.map(function(s){return t?new e.Token(s):s});var f=i.toString().replace(/^\s+/,"");return n.cut(f).split("|")}}})});export default p(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.th.js: 5 | (*! 6 | * Lunr languages, `Thai` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2017, Keerati Thiwanruk 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.th-RUK2AEUT.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.th-RUK2AEUT.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.th.js"], 4 | "sourcesContent": ["/*!\n * Lunr languages, `Thai` language\n * https://github.com/MihaiValentin/lunr-languages\n *\n * Copyright 2017, Keerati Thiwanruk\n * http://www.mozilla.org/MPL/\n */\n/*!\n * based on\n * Snowball JavaScript Library v0.3\n * http://code.google.com/p/urim/\n * http://snowball.tartarus.org/\n *\n * Copyright 2010, Oleg Mazko\n * http://www.mozilla.org/MPL/\n */\n\n/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like environments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n factory()(root.lunr);\n }\n}(this, function() {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return function(lunr) {\n /* throw error if lunr is not yet included */\n if ('undefined' === typeof lunr) {\n throw new Error('Lunr is not present. Please include / require Lunr before this script.');\n }\n\n /* throw error if lunr stemmer support is not yet included */\n if ('undefined' === typeof lunr.stemmerSupport) {\n throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');\n }\n\n /*\n Thai tokenization is the same to Japanense, which does not take into account spaces.\n So, it uses the same logic to assign tokenization function due to different Lunr versions.\n */\n var isLunr2 = lunr.version[0] == \"2\";\n\n /* register specific locale function */\n lunr.th = function() {\n this.pipeline.reset();\n this.pipeline.add(\n /*lunr.th.stopWordFilter,*/\n lunr.th.trimmer\n );\n\n if (isLunr2) { // for lunr version 2.0.0\n this.tokenizer = lunr.th.tokenizer;\n } else {\n if (lunr.tokenizer) { // for lunr version 0.6.0\n lunr.tokenizer = lunr.th.tokenizer;\n }\n if (this.tokenizerFn) { // for lunr version 0.7.0 -> 1.0.0\n this.tokenizerFn = lunr.th.tokenizer;\n }\n }\n };\n\n /* lunr trimmer function */\n lunr.th.wordCharacters = \"[\\u0e00-\\u0e7f]\";\n lunr.th.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.th.wordCharacters);\n lunr.Pipeline.registerFunction(lunr.th.trimmer, 'trimmer-th');\n\n var segmenter = lunr.wordcut;\n segmenter.init();\n lunr.th.tokenizer = function(obj) {\n //console.log(obj);\n if (!arguments.length || obj == null || obj == undefined) return []\n if (Array.isArray(obj)) return obj.map(function(t) {\n return isLunr2 ? new lunr.Token(t) : t\n })\n\n var str = obj.toString().replace(/^\\s+/, '');\n return segmenter.cut(str).split('|');\n }\n };\n}))"], 5 | "mappings": "4CAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,EAsBC,SAASC,EAAMC,EAAS,CACnB,OAAO,QAAW,YAAc,OAAO,IAEzC,OAAOA,CAAO,EACL,OAAOH,GAAY,SAM5BC,EAAO,QAAUE,EAAQ,EAGzBA,EAAQ,EAAED,EAAK,IAAI,CAEvB,GAAEF,EAAM,UAAW,CAMjB,OAAO,SAASI,EAAM,CAEpB,GAAoB,OAAOA,EAAvB,IACF,MAAM,IAAI,MAAM,wEAAwE,EAI1F,GAAoB,OAAOA,EAAK,eAA5B,IACF,MAAM,IAAI,MAAM,wGAAwG,EAO1H,IAAIC,EAAUD,EAAK,QAAQ,CAAC,GAAK,IAGjCA,EAAK,GAAK,UAAW,CACnB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,IAEZA,EAAK,GAAG,OACV,EAEIC,EACF,KAAK,UAAYD,EAAK,GAAG,WAErBA,EAAK,YACPA,EAAK,UAAYA,EAAK,GAAG,WAEvB,KAAK,cACP,KAAK,YAAcA,EAAK,GAAG,WAGjC,EAGAA,EAAK,GAAG,eAAiB,kBACzBA,EAAK,GAAG,QAAUA,EAAK,eAAe,gBAAgBA,EAAK,GAAG,cAAc,EAC5EA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAE5D,IAAIE,EAAYF,EAAK,QACrBE,EAAU,KAAK,EACfF,EAAK,GAAG,UAAY,SAASG,EAAK,CAEhC,GAAI,CAAC,UAAU,QAAUA,GAAO,MAAQA,GAAO,KAAW,MAAO,CAAC,EAClE,GAAI,MAAM,QAAQA,CAAG,EAAG,OAAOA,EAAI,IAAI,SAASC,EAAG,CACjD,OAAOH,EAAU,IAAID,EAAK,MAAMI,CAAC,EAAIA,CACvC,CAAC,EAED,IAAIC,EAAMF,EAAI,SAAS,EAAE,QAAQ,OAAQ,EAAE,EAC3C,OAAOD,EAAU,IAAIG,CAAG,EAAE,MAAM,GAAG,CACrC,CACF,CACF,CAAC", 6 | "names": ["require_lunr_th", "__commonJSMin", "exports", "module", "root", "factory", "lunr", "isLunr2", "segmenter", "obj", "t", "str"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.vi-3U4A337N.min.js: -------------------------------------------------------------------------------- 1 | import{a as u}from"./chunk-OSRY5VT3.min.js";var o=u((t,r)=>{(function(e,i){typeof define=="function"&&define.amd?define(i):typeof t=="object"?r.exports=i():i()(e.lunr)})(t,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-z\u0300\u0350\u0301\u0351\u0309\u0323\u0303\u0343\xC2\xE2\xCA\xEA\xD4\xF4\u0102-\u0103\u0110-\u0111\u01A0-\u01A1\u01AF-\u01B0]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("l\xE0 c\xE1i nh\u01B0ng m\xE0".split(" "))}})});export default o(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.vi.js: 5 | (*! 6 | * Lunr languages, `Vietnamese` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2017, Keerati Thiwanruk 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.vi-3U4A337N.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.vi-3U4A337N.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.vi.js"], 4 | "sourcesContent": ["/*!\n * Lunr languages, `Vietnamese` language\n * https://github.com/MihaiValentin/lunr-languages\n *\n * Copyright 2017, Keerati Thiwanruk\n * http://www.mozilla.org/MPL/\n */\n/*!\n * based on\n * Snowball JavaScript Library v0.3\n * http://code.google.com/p/urim/\n * http://snowball.tartarus.org/\n *\n * Copyright 2010, Oleg Mazko\n * http://www.mozilla.org/MPL/\n */\n\n/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like environments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n factory()(root.lunr);\n }\n}(this, function() {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return function(lunr) {\n /* throw error if lunr is not yet included */\n if ('undefined' === typeof lunr) {\n throw new Error('Lunr is not present. Please include / require Lunr before this script.');\n }\n\n /* throw error if lunr stemmer support is not yet included */\n if ('undefined' === typeof lunr.stemmerSupport) {\n throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');\n }\n\n /* register specific locale function */\n lunr.vi = function() {\n this.pipeline.reset();\n this.pipeline.add(\n lunr.vi.stopWordFilter,\n lunr.vi.trimmer\n );\n };\n\n /* lunr trimmer function */\n lunr.vi.wordCharacters = \"[\" +\n \"A-Za-z\" +\n \"\\u0300\\u0350\" + // d\u1EA5u huy\u1EC1n\n \"\\u0301\\u0351\" + // d\u1EA5u s\u1EAFc\n \"\\u0309\" + // d\u1EA5u h\u1ECFi\n \"\\u0323\" + // d\u1EA5u n\u1EB7ng\n \"\\u0303\\u0343\" + // d\u1EA5u ng\u00E3\n \"\\u00C2\\u00E2\" + // \u00C2\n \"\\u00CA\\u00EA\" + // \u00CA\n \"\\u00D4\\u00F4\" + // \u00D4\n \"\\u0102-\\u0103\" + // \u0102\n \"\\u0110-\\u0111\" + // \u0110\n \"\\u01A0-\\u01A1\" + // \u01A0\n \"\\u01AF-\\u01B0\" + // \u01AF\n \"]\";\n lunr.vi.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.vi.wordCharacters);\n lunr.Pipeline.registerFunction(lunr.vi.trimmer, 'trimmer-vi');\n lunr.vi.stopWordFilter = lunr.generateStopWordFilter('l\u00E0 c\u00E1i nh\u01B0ng m\u00E0'.split(' '));\n };\n}))"], 5 | "mappings": "4CAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,EAsBC,SAASC,EAAMC,EAAS,CACnB,OAAO,QAAW,YAAc,OAAO,IAEzC,OAAOA,CAAO,EACL,OAAOH,GAAY,SAM5BC,EAAO,QAAUE,EAAQ,EAGzBA,EAAQ,EAAED,EAAK,IAAI,CAEvB,GAAEF,EAAM,UAAW,CAMjB,OAAO,SAASI,EAAM,CAEpB,GAAoB,OAAOA,EAAvB,IACF,MAAM,IAAI,MAAM,wEAAwE,EAI1F,GAAoB,OAAOA,EAAK,eAA5B,IACF,MAAM,IAAI,MAAM,wGAAwG,EAI1HA,EAAK,GAAK,UAAW,CACnB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,IACZA,EAAK,GAAG,eACRA,EAAK,GAAG,OACV,CACF,EAGAA,EAAK,GAAG,eAAiB,uIAezBA,EAAK,GAAG,QAAUA,EAAK,eAAe,gBAAgBA,EAAK,GAAG,cAAc,EAC5EA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAC5DA,EAAK,GAAG,eAAiBA,EAAK,uBAAuB,gCAAkB,MAAM,GAAG,CAAC,CACnF,CACF,CAAC", 6 | "names": ["require_lunr_vi", "__commonJSMin", "exports", "module", "root", "factory", "lunr"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.vi-QNO46JPR.min.js: -------------------------------------------------------------------------------- 1 | import{b as u}from"./chunk-XUHMPXWX.min.js";var o=u((t,r)=>{(function(e,i){typeof define=="function"&&define.amd?define(i):typeof t=="object"?r.exports=i():i()(e.lunr)})(t,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-z\u0300\u0350\u0301\u0351\u0309\u0323\u0303\u0343\xC2\xE2\xCA\xEA\xD4\xF4\u0102-\u0103\u0110-\u0111\u01A0-\u01A1\u01AF-\u01B0]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("l\xE0 c\xE1i nh\u01B0ng m\xE0".split(" "))}})});export default o(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.vi.js: 5 | (*! 6 | * Lunr languages, `Vietnamese` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2017, Keerati Thiwanruk 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.vi-QNO46JPR.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.vi-QNO46JPR.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.vi.js"], 4 | "sourcesContent": ["/*!\n * Lunr languages, `Vietnamese` language\n * https://github.com/MihaiValentin/lunr-languages\n *\n * Copyright 2017, Keerati Thiwanruk\n * http://www.mozilla.org/MPL/\n */\n/*!\n * based on\n * Snowball JavaScript Library v0.3\n * http://code.google.com/p/urim/\n * http://snowball.tartarus.org/\n *\n * Copyright 2010, Oleg Mazko\n * http://www.mozilla.org/MPL/\n */\n\n/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like environments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n factory()(root.lunr);\n }\n}(this, function() {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return function(lunr) {\n /* throw error if lunr is not yet included */\n if ('undefined' === typeof lunr) {\n throw new Error('Lunr is not present. Please include / require Lunr before this script.');\n }\n\n /* throw error if lunr stemmer support is not yet included */\n if ('undefined' === typeof lunr.stemmerSupport) {\n throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');\n }\n\n /* register specific locale function */\n lunr.vi = function() {\n this.pipeline.reset();\n this.pipeline.add(\n lunr.vi.stopWordFilter,\n lunr.vi.trimmer\n );\n };\n\n /* lunr trimmer function */\n lunr.vi.wordCharacters = \"[\" +\n \"A-Za-z\" +\n \"\\u0300\\u0350\" + // d\u1EA5u huy\u1EC1n\n \"\\u0301\\u0351\" + // d\u1EA5u s\u1EAFc\n \"\\u0309\" + // d\u1EA5u h\u1ECFi\n \"\\u0323\" + // d\u1EA5u n\u1EB7ng\n \"\\u0303\\u0343\" + // d\u1EA5u ng\u00E3\n \"\\u00C2\\u00E2\" + // \u00C2\n \"\\u00CA\\u00EA\" + // \u00CA\n \"\\u00D4\\u00F4\" + // \u00D4\n \"\\u0102-\\u0103\" + // \u0102\n \"\\u0110-\\u0111\" + // \u0110\n \"\\u01A0-\\u01A1\" + // \u01A0\n \"\\u01AF-\\u01B0\" + // \u01AF\n \"]\";\n lunr.vi.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.vi.wordCharacters);\n lunr.Pipeline.registerFunction(lunr.vi.trimmer, 'trimmer-vi');\n lunr.vi.stopWordFilter = lunr.generateStopWordFilter('l\u00E0 c\u00E1i nh\u01B0ng m\u00E0'.split(' '));\n };\n}))"], 5 | "mappings": "4CAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,EAsBC,SAASC,EAAMC,EAAS,CACnB,OAAO,QAAW,YAAc,OAAO,IAEzC,OAAOA,CAAO,EACL,OAAOH,GAAY,SAM5BC,EAAO,QAAUE,EAAQ,EAGzBA,EAAQ,EAAED,EAAK,IAAI,CAEvB,GAAEF,EAAM,UAAW,CAMjB,OAAO,SAASI,EAAM,CAEpB,GAAoB,OAAOA,EAAvB,IACF,MAAM,IAAI,MAAM,wEAAwE,EAI1F,GAAoB,OAAOA,EAAK,eAA5B,IACF,MAAM,IAAI,MAAM,wGAAwG,EAI1HA,EAAK,GAAK,UAAW,CACnB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,IACZA,EAAK,GAAG,eACRA,EAAK,GAAG,OACV,CACF,EAGAA,EAAK,GAAG,eAAiB,uIAezBA,EAAK,GAAG,QAAUA,EAAK,eAAe,gBAAgBA,EAAK,GAAG,cAAc,EAC5EA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAC5DA,EAAK,GAAG,eAAiBA,EAAK,uBAAuB,gCAAkB,MAAM,GAAG,CAAC,CACnF,CACF,CAAC", 6 | "names": ["require_lunr_vi", "__commonJSMin", "exports", "module", "root", "factory", "lunr"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.vi-S3VOAA5A.min.js: -------------------------------------------------------------------------------- 1 | import{b as u}from"./chunk-P42HNYSU.min.js";var o=u((t,r)=>{(function(e,i){typeof define=="function"&&define.amd?define(i):typeof t=="object"?r.exports=i():i()(e.lunr)})(t,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-z\u0300\u0350\u0301\u0351\u0309\u0323\u0303\u0343\xC2\xE2\xCA\xEA\xD4\xF4\u0102-\u0103\u0110-\u0111\u01A0-\u01A1\u01AF-\u01B0]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("l\xE0 c\xE1i nh\u01B0ng m\xE0".split(" "))}})});export default o(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.vi.js: 5 | (*! 6 | * Lunr languages, `Vietnamese` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2017, Keerati Thiwanruk 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.vi-S3VOAA5A.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.vi-S3VOAA5A.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.vi.js"], 4 | "sourcesContent": ["/*!\n * Lunr languages, `Vietnamese` language\n * https://github.com/MihaiValentin/lunr-languages\n *\n * Copyright 2017, Keerati Thiwanruk\n * http://www.mozilla.org/MPL/\n */\n/*!\n * based on\n * Snowball JavaScript Library v0.3\n * http://code.google.com/p/urim/\n * http://snowball.tartarus.org/\n *\n * Copyright 2010, Oleg Mazko\n * http://www.mozilla.org/MPL/\n */\n\n/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like environments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n factory()(root.lunr);\n }\n}(this, function() {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return function(lunr) {\n /* throw error if lunr is not yet included */\n if ('undefined' === typeof lunr) {\n throw new Error('Lunr is not present. Please include / require Lunr before this script.');\n }\n\n /* throw error if lunr stemmer support is not yet included */\n if ('undefined' === typeof lunr.stemmerSupport) {\n throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');\n }\n\n /* register specific locale function */\n lunr.vi = function() {\n this.pipeline.reset();\n this.pipeline.add(\n lunr.vi.stopWordFilter,\n lunr.vi.trimmer\n );\n };\n\n /* lunr trimmer function */\n lunr.vi.wordCharacters = \"[\" +\n \"A-Za-z\" +\n \"\\u0300\\u0350\" + // d\u1EA5u huy\u1EC1n\n \"\\u0301\\u0351\" + // d\u1EA5u s\u1EAFc\n \"\\u0309\" + // d\u1EA5u h\u1ECFi\n \"\\u0323\" + // d\u1EA5u n\u1EB7ng\n \"\\u0303\\u0343\" + // d\u1EA5u ng\u00E3\n \"\\u00C2\\u00E2\" + // \u00C2\n \"\\u00CA\\u00EA\" + // \u00CA\n \"\\u00D4\\u00F4\" + // \u00D4\n \"\\u0102-\\u0103\" + // \u0102\n \"\\u0110-\\u0111\" + // \u0110\n \"\\u01A0-\\u01A1\" + // \u01A0\n \"\\u01AF-\\u01B0\" + // \u01AF\n \"]\";\n lunr.vi.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.vi.wordCharacters);\n lunr.Pipeline.registerFunction(lunr.vi.trimmer, 'trimmer-vi');\n lunr.vi.stopWordFilter = lunr.generateStopWordFilter('l\u00E0 c\u00E1i nh\u01B0ng m\u00E0'.split(' '));\n };\n}))"], 5 | "mappings": "4CAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,EAsBC,SAASC,EAAMC,EAAS,CACnB,OAAO,QAAW,YAAc,OAAO,IAEzC,OAAOA,CAAO,EACL,OAAOH,GAAY,SAM5BC,EAAO,QAAUE,EAAQ,EAGzBA,EAAQ,EAAED,EAAK,IAAI,CAEvB,GAAEF,EAAM,UAAW,CAMjB,OAAO,SAASI,EAAM,CAEpB,GAAoB,OAAOA,EAAvB,IACF,MAAM,IAAI,MAAM,wEAAwE,EAI1F,GAAoB,OAAOA,EAAK,eAA5B,IACF,MAAM,IAAI,MAAM,wGAAwG,EAI1HA,EAAK,GAAK,UAAW,CACnB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,IACZA,EAAK,GAAG,eACRA,EAAK,GAAG,OACV,CACF,EAGAA,EAAK,GAAG,eAAiB,uIAezBA,EAAK,GAAG,QAAUA,EAAK,eAAe,gBAAgBA,EAAK,GAAG,cAAc,EAC5EA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAC5DA,EAAK,GAAG,eAAiBA,EAAK,uBAAuB,gCAAkB,MAAM,GAAG,CAAC,CACnF,CACF,CAAC", 6 | "names": ["require_lunr_vi", "__commonJSMin", "exports", "module", "root", "factory", "lunr"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/main.css: -------------------------------------------------------------------------------- 1 | .typelist.inheritedMembers { 2 | display: none; 3 | } 4 | -------------------------------------------------------------------------------- /docs/public/main.js: -------------------------------------------------------------------------------- 1 | export default {} 2 | -------------------------------------------------------------------------------- /docs/public/mermaid.core-SEZKZMNB.min.js: -------------------------------------------------------------------------------- 1 | import{J as m,b as r,c as t,sb as p}from"./chunk-YEACHCAA.min.js";import{d as o}from"./chunk-XUHMPXWX.min.js";var e=o(r(),1),f=o(t(),1);var l=o(m(),1);export{p as default}; 2 | //# sourceMappingURL=mermaid.core-SEZKZMNB.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/mermaid.core-SEZKZMNB.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/mermaid.core.mjs"], 4 | "sourcesContent": ["import \"ts-dedent\";\nimport { N } from \"./mermaid-6dc72991.js\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"d3\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nexport {\n N as default\n};\n"], 5 | "mappings": "8GAEA,IAAAA,EAAO,SACPC,EAAO,SAEP,IAAAC,EAAO", 6 | "names": ["import_dayjs", "import_sanitize_url", "import_dompurify"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/mermaid.core-TOXYJXQE.min.js: -------------------------------------------------------------------------------- 1 | import{J as m,b as r,c as t,qb as p}from"./chunk-YICCS3KT.min.js";import{d as o}from"./chunk-P42HNYSU.min.js";var e=o(r(),1),f=o(t(),1);var l=o(m(),1);export{p as default}; 2 | //# sourceMappingURL=mermaid.core-TOXYJXQE.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/mermaid.core-TOXYJXQE.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/mermaid.core.mjs"], 4 | "sourcesContent": ["import \"ts-dedent\";\nimport { L } from \"./mermaid-934d9bea.js\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"d3\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nexport {\n L as default\n};\n"], 5 | "mappings": "8GAEA,IAAAA,EAAO,SACPC,EAAO,SAEP,IAAAC,EAAO", 6 | "names": ["import_dayjs", "import_sanitize_url", "import_dompurify"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/packet-W2GHVCYJ-ZZMTAWKW.min.js: -------------------------------------------------------------------------------- 1 | import{a as e,b as r}from"./chunk-OZ2RCKQJ.min.js";import"./chunk-BIJFJY5F.min.js";import"./chunk-U4DUTLYF.min.js";import"./chunk-IQQ46AC6.min.js";import"./chunk-CXRPJJJE.min.js";import"./chunk-OSRY5VT3.min.js";export{e as PacketModule,r as createPacketServices}; 2 | //# sourceMappingURL=packet-W2GHVCYJ-ZZMTAWKW.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/packet-W2GHVCYJ-ZZMTAWKW.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/pie-BEWT4RHE-VFWRUT6J.min.js: -------------------------------------------------------------------------------- 1 | import{a as e,b as r}from"./chunk-PDS7545E.min.js";import"./chunk-BIJFJY5F.min.js";import"./chunk-U4DUTLYF.min.js";import"./chunk-IQQ46AC6.min.js";import"./chunk-CXRPJJJE.min.js";import"./chunk-OSRY5VT3.min.js";export{e as PieModule,r as createPieServices}; 2 | //# sourceMappingURL=pie-BEWT4RHE-VFWRUT6J.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/pie-BEWT4RHE-VFWRUT6J.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/pieDiagram-YF2LJOPJ-ITGVNBO2.min.js: -------------------------------------------------------------------------------- 1 | import{a as j}from"./chunk-5IIW54K6.min.js";import{a as q}from"./chunk-EKP7MBOP.min.js";import{a as H}from"./chunk-WXIN66R4.min.js";import"./chunk-33FU46FA.min.js";import"./chunk-OZ2RCKQJ.min.js";import"./chunk-PDS7545E.min.js";import"./chunk-IJ4BRSPX.min.js";import"./chunk-UEFJDIUO.min.js";import"./chunk-BIJFJY5F.min.js";import"./chunk-U4DUTLYF.min.js";import"./chunk-IQQ46AC6.min.js";import{k as V,l as Z}from"./chunk-PYPO7LRM.min.js";import"./chunk-CM5D5KZN.min.js";import{Da as D,Ga as U,O as G,S as O,T as W,U as M,V as P,W as R,X as I,Y as L,Z as N,h as i,j as m,ka as B,v as F}from"./chunk-U3SD26FK.min.js";import"./chunk-CXRPJJJE.min.js";import"./chunk-OSRY5VT3.min.js";var J=F.pie,w={sections:new Map,showData:!1,config:J},h=w.sections,y=w.showData,oe=structuredClone(J),ne=i(()=>structuredClone(oe),"getConfig"),se=i(()=>{h=new Map,y=w.showData,O()},"clear"),le=i(({label:e,value:t})=>{h.has(e)||(h.set(e,t),m.debug(`added new section: ${e}, with value: ${t}`))},"addSection"),ce=i(()=>h,"getSections"),de=i(e=>{y=e},"setShowData"),pe=i(()=>y,"getShowData"),K={getConfig:ne,clear:se,setDiagramTitle:I,getDiagramTitle:L,setAccTitle:W,getAccTitle:M,setAccDescription:P,getAccDescription:R,addSection:le,getSections:ce,setShowData:de,getShowData:pe},ge=i((e,t)=>{q(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),fe={parse:i(async e=>{let t=await H("pie",e);m.debug(t),ge(t,K)},"parse")},ue=i(e=>` 2 | .pieCircle{ 3 | stroke: ${e.pieStrokeColor}; 4 | stroke-width : ${e.pieStrokeWidth}; 5 | opacity : ${e.pieOpacity}; 6 | } 7 | .pieOuterCircle{ 8 | stroke: ${e.pieOuterStrokeColor}; 9 | stroke-width: ${e.pieOuterStrokeWidth}; 10 | fill: none; 11 | } 12 | .pieTitleText { 13 | text-anchor: middle; 14 | font-size: ${e.pieTitleTextSize}; 15 | fill: ${e.pieTitleTextColor}; 16 | font-family: ${e.fontFamily}; 17 | } 18 | .slice { 19 | font-family: ${e.fontFamily}; 20 | fill: ${e.pieSectionTextColor}; 21 | font-size:${e.pieSectionTextSize}; 22 | // fill: white; 23 | } 24 | .legend text { 25 | fill: ${e.pieLegendTextColor}; 26 | font-family: ${e.fontFamily}; 27 | font-size: ${e.pieLegendTextSize}; 28 | } 29 | `,"getStyles"),me=ue,he=i(e=>{let t=[...e.entries()].map(o=>({label:o[0],value:o[1]})).sort((o,s)=>s.value-o.value);return U().value(o=>o.value)(t)},"createPieArcs"),Se=i((e,t,Q,o)=>{m.debug(`rendering pie chart 30 | `+e);let s=o.db,T=N(),$=Z(s.getConfig(),T.pie),A=40,n=18,p=4,l=450,S=l,v=j(t),c=v.append("g");c.attr("transform","translate("+S/2+","+l/2+")");let{themeVariables:a}=T,[_]=V(a.pieOuterStrokeWidth);_??=2;let E=$.textPosition,g=Math.min(S,l)/2-A,X=D().innerRadius(0).outerRadius(g),Y=D().innerRadius(g*E).outerRadius(g*E);c.append("circle").attr("cx",0).attr("cy",0).attr("r",g+_/2).attr("class","pieOuterCircle");let b=s.getSections(),x=he(b),ee=[a.pie1,a.pie2,a.pie3,a.pie4,a.pie5,a.pie6,a.pie7,a.pie8,a.pie9,a.pie10,a.pie11,a.pie12],d=B(ee);c.selectAll("mySlices").data(x).enter().append("path").attr("d",X).attr("fill",r=>d(r.data.label)).attr("class","pieCircle");let k=0;b.forEach(r=>{k+=r}),c.selectAll("mySlices").data(x).enter().append("text").text(r=>(r.data.value/k*100).toFixed(0)+"%").attr("transform",r=>"translate("+Y.centroid(r)+")").style("text-anchor","middle").attr("class","slice"),c.append("text").text(s.getDiagramTitle()).attr("x",0).attr("y",-(l-50)/2).attr("class","pieTitleText");let C=c.selectAll(".legend").data(d.domain()).enter().append("g").attr("class","legend").attr("transform",(r,f)=>{let u=n+p,ae=u*d.domain().length/2,re=12*n,ie=f*u-ae;return"translate("+re+","+ie+")"});C.append("rect").attr("width",n).attr("height",n).style("fill",d).style("stroke",d),C.data(x).append("text").attr("x",n+p).attr("y",n-p).text(r=>{let{label:f,value:u}=r.data;return s.getShowData()?`${f} [${u}]`:f});let te=Math.max(...C.selectAll("text").nodes().map(r=>r?.getBoundingClientRect().width??0)),z=S+A+n+p+te;v.attr("viewBox",`0 0 ${z} ${l}`),G(v,l,z,$.useMaxWidth)},"draw"),ve={draw:Se},$e={parser:fe,db:K,renderer:ve,styles:me};export{$e as diagram}; 31 | //# sourceMappingURL=pieDiagram-YF2LJOPJ-ITGVNBO2.min.js.map 32 | -------------------------------------------------------------------------------- /docs/public/stateDiagram-v2-4JROLMXI-COTI64PW.min.js: -------------------------------------------------------------------------------- 1 | import{a,b as i,c as r,d as o}from"./chunk-6YMKSKZH.min.js";import"./chunk-ISDTAGDN.min.js";import"./chunk-JL3VILNY.min.js";import"./chunk-TLYS76Q7.min.js";import"./chunk-CLIYZZ5Y.min.js";import"./chunk-N6ME3NZU.min.js";import"./chunk-V55NTXQN.min.js";import"./chunk-BD4P4Z7J.min.js";import"./chunk-AUO2PXKS.min.js";import"./chunk-PYPO7LRM.min.js";import"./chunk-CM5D5KZN.min.js";import{h as e}from"./chunk-U3SD26FK.min.js";import"./chunk-CXRPJJJE.min.js";import"./chunk-OSRY5VT3.min.js";var k={parser:a,db:r,renderer:i,styles:o,init:e(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,r.clear()},"init")};export{k as diagram}; 2 | //# sourceMappingURL=stateDiagram-v2-4JROLMXI-COTI64PW.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/stateDiagram-v2-4JROLMXI-COTI64PW.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-4JROLMXI.mjs"], 4 | "sourcesContent": ["import {\n stateDb_default,\n stateDiagram_default,\n stateRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-7U56Z5CX.mjs\";\nimport \"./chunk-5HRBRIJM.mjs\";\nimport \"./chunk-BO7VGL7K.mjs\";\nimport \"./chunk-66SQ7PYY.mjs\";\nimport \"./chunk-7NZE2EM7.mjs\";\nimport \"./chunk-OPO4IU42.mjs\";\nimport \"./chunk-3JNJP5BE.mjs\";\nimport \"./chunk-3X56UNUX.mjs\";\nimport \"./chunk-6JOS74DS.mjs\";\nimport \"./chunk-7DKRZKHE.mjs\";\nimport {\n __name\n} from \"./chunk-6DBFFHIP.mjs\";\n\n// src/diagrams/state/stateDiagram-v2.ts\nvar diagram = {\n parser: stateDiagram_default,\n db: stateDb_default,\n renderer: stateRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n stateDb_default.clear();\n }, \"init\")\n};\nexport {\n diagram\n};\n"], 5 | "mappings": "weAoBA,IAAIA,EAAU,CACZ,OAAQC,EACR,GAAIC,EACJ,SAAUC,EACV,OAAQC,EACR,KAAsBC,EAAQC,GAAQ,CAC/BA,EAAI,QACPA,EAAI,MAAQ,CAAC,GAEfA,EAAI,MAAM,oBAAsBA,EAAI,oBACpCJ,EAAgB,MAAM,CACxB,EAAG,MAAM,CACX", 6 | "names": ["diagram", "stateDiagram_default", "stateDb_default", "stateRenderer_v3_unified_default", "styles_default", "__name", "cnf"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/styles/main.css: -------------------------------------------------------------------------------- 1 | .inheritance .level6::before, 2 | .inheritance .level7::before, 3 | .inheritance .level8::before, 4 | .inheritance .level9::before, 5 | .inheritance .level10::before, 6 | .inheritance .level11::before, 7 | .inheritance .level12::before, 8 | .inheritance .level13::before, 9 | .inheritance .level14::before, 10 | .inheritance .level15::before { 11 | content: '↳'; 12 | margin-right: 5px; 13 | } 14 | 15 | .inheritance .level6 { 16 | margin-left: 6em; 17 | } 18 | 19 | .inheritance .level7 { 20 | margin-left: 7em; 21 | } 22 | 23 | .inheritance .level8 { 24 | margin-left: 8em; 25 | } 26 | 27 | .inheritance .level9 { 28 | margin-left: 9em; 29 | } 30 | 31 | .inheritance .level10 { 32 | margin-left: 10em; 33 | } 34 | 35 | .inheritance .level11 { 36 | margin-left: 11em; 37 | } 38 | 39 | .inheritance .level12 { 40 | margin-left: 12em; 41 | } 42 | 43 | .inheritance .level13 { 44 | margin-left: 13em; 45 | } 46 | 47 | .inheritance .level14 { 48 | margin-left: 14em; 49 | } 50 | 51 | .inheritance .level15 { 52 | margin-left: 15em; 53 | } 54 | 55 | .implements, [classs="implements"] { 56 | display: none; 57 | } 58 | 59 | .inheritedMembers { 60 | display: none; 61 | } 62 | 63 | .note { 64 | background: aliceblue; 65 | padding: 8px; 66 | } 67 | 68 | p.note:before { 69 | content: "Note: "; 70 | font-weight: bold; 71 | } 72 | 73 | section .note { 74 | display: none; 75 | } -------------------------------------------------------------------------------- /docs/styles/main.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information. 2 | -------------------------------------------------------------------------------- /docs/styles/search-worker.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | importScripts('lunr.min.js'); 3 | 4 | var lunrIndex; 5 | 6 | var stopWords = null; 7 | var searchData = {}; 8 | 9 | lunr.tokenizer.separator = /[\s\-\.]+/; 10 | 11 | var stopWordsRequest = new XMLHttpRequest(); 12 | stopWordsRequest.open('GET', '../search-stopwords.json'); 13 | stopWordsRequest.onload = function () { 14 | if (this.status != 200) { 15 | return; 16 | } 17 | stopWords = JSON.parse(this.responseText); 18 | buildIndex(); 19 | } 20 | stopWordsRequest.send(); 21 | 22 | var searchDataRequest = new XMLHttpRequest(); 23 | 24 | searchDataRequest.open('GET', '../index.json'); 25 | searchDataRequest.onload = function () { 26 | if (this.status != 200) { 27 | return; 28 | } 29 | searchData = JSON.parse(this.responseText); 30 | 31 | buildIndex(); 32 | 33 | postMessage({ e: 'index-ready' }); 34 | } 35 | searchDataRequest.send(); 36 | 37 | onmessage = function (oEvent) { 38 | var q = oEvent.data.q; 39 | var hits = lunrIndex.search(q); 40 | var results = []; 41 | hits.forEach(function (hit) { 42 | var item = searchData[hit.ref]; 43 | results.push({ 'href': item.href, 'title': item.title, 'keywords': item.keywords }); 44 | }); 45 | postMessage({ e: 'query-ready', q: q, d: results }); 46 | } 47 | 48 | function buildIndex() { 49 | if (stopWords !== null && !isEmpty(searchData)) { 50 | lunrIndex = lunr(function () { 51 | this.pipeline.remove(lunr.stopWordFilter); 52 | this.ref('href'); 53 | this.field('title', { boost: 50 }); 54 | this.field('keywords', { boost: 20 }); 55 | 56 | for (var prop in searchData) { 57 | if (searchData.hasOwnProperty(prop)) { 58 | this.add(searchData[prop]); 59 | } 60 | } 61 | 62 | var docfxStopWordFilter = lunr.generateStopWordFilter(stopWords); 63 | lunr.Pipeline.registerFunction(docfxStopWordFilter, 'docfxStopWordFilter'); 64 | this.pipeline.add(docfxStopWordFilter); 65 | this.searchPipeline.add(docfxStopWordFilter); 66 | }); 67 | } 68 | } 69 | 70 | function isEmpty(obj) { 71 | if(!obj) return true; 72 | 73 | for (var prop in obj) { 74 | if (obj.hasOwnProperty(prop)) 75 | return false; 76 | } 77 | 78 | return true; 79 | } 80 | })(); 81 | -------------------------------------------------------------------------------- /docs/toc.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 | 7 | 8 | 9 |
10 |
11 |
12 |
13 | 14 | 22 |
23 |
24 |
25 |
26 | -------------------------------------------------------------------------------- /docs/toc.json: -------------------------------------------------------------------------------- 1 | 2 | {"items":[{"name":"Documentation","href":"docs/getting-started.html","tocHref":"docs/toc.html","topicHref":"docs/getting-started.html"},{"name":"API","href":"api/WpfToolkit.Controls.html","tocHref":"api/toc.html","topicHref":"api/WpfToolkit.Controls.html","topicUid":"WpfToolkit.Controls"}],"pdf":false} 3 | -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | .vs/ 2 | packages/ 3 | obj/ 4 | bin/ 5 | 6 | *.user 7 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.3.32922.545 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VirtualizingWrapPanelSamples", "VirtualizingWrapPanelSamples\VirtualizingWrapPanelSamples.csproj", "{F3E7F4E3-787B-4CAD-A184-196C8B169268}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VirtualizingWrapPanel", "VirtualizingWrapPanel\VirtualizingWrapPanel.csproj", "{E9F2BA01-2E07-4B5A-BA8C-AD26AAEEB8B5}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VirtualizingWrapPanelSamplesFW", "VirtualizingWrapPanelSamplesFW\VirtualizingWrapPanelSamplesFW.csproj", "{DD3AA1D2-10F2-48CA-A0E2-E03C03FD2A21}" 11 | EndProject 12 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{7D90FE24-28B2-4292-A1D7-EED79638ACA5}" 13 | ProjectSection(SolutionItems) = preProject 14 | .editorconfig = .editorconfig 15 | EndProjectSection 16 | EndProject 17 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VirtualizingWrapPanelTest", "VirtualizingWrapPanelTest\VirtualizingWrapPanelTest.csproj", "{AA7642F6-10AD-4F5D-89F4-CAD620FDF420}" 18 | EndProject 19 | Global 20 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 21 | Debug|Any CPU = Debug|Any CPU 22 | Release|Any CPU = Release|Any CPU 23 | EndGlobalSection 24 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 25 | {F3E7F4E3-787B-4CAD-A184-196C8B169268}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 26 | {F3E7F4E3-787B-4CAD-A184-196C8B169268}.Debug|Any CPU.Build.0 = Debug|Any CPU 27 | {F3E7F4E3-787B-4CAD-A184-196C8B169268}.Release|Any CPU.ActiveCfg = Release|Any CPU 28 | {F3E7F4E3-787B-4CAD-A184-196C8B169268}.Release|Any CPU.Build.0 = Release|Any CPU 29 | {E9F2BA01-2E07-4B5A-BA8C-AD26AAEEB8B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 30 | {E9F2BA01-2E07-4B5A-BA8C-AD26AAEEB8B5}.Debug|Any CPU.Build.0 = Debug|Any CPU 31 | {E9F2BA01-2E07-4B5A-BA8C-AD26AAEEB8B5}.Release|Any CPU.ActiveCfg = Release|Any CPU 32 | {E9F2BA01-2E07-4B5A-BA8C-AD26AAEEB8B5}.Release|Any CPU.Build.0 = Release|Any CPU 33 | {DD3AA1D2-10F2-48CA-A0E2-E03C03FD2A21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 34 | {DD3AA1D2-10F2-48CA-A0E2-E03C03FD2A21}.Debug|Any CPU.Build.0 = Debug|Any CPU 35 | {DD3AA1D2-10F2-48CA-A0E2-E03C03FD2A21}.Release|Any CPU.ActiveCfg = Release|Any CPU 36 | {DD3AA1D2-10F2-48CA-A0E2-E03C03FD2A21}.Release|Any CPU.Build.0 = Release|Any CPU 37 | {AA7642F6-10AD-4F5D-89F4-CAD620FDF420}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 38 | {AA7642F6-10AD-4F5D-89F4-CAD620FDF420}.Debug|Any CPU.Build.0 = Debug|Any CPU 39 | {AA7642F6-10AD-4F5D-89F4-CAD620FDF420}.Release|Any CPU.ActiveCfg = Release|Any CPU 40 | {AA7642F6-10AD-4F5D-89F4-CAD620FDF420}.Release|Any CPU.Build.0 = Release|Any CPU 41 | EndGlobalSection 42 | GlobalSection(SolutionProperties) = preSolution 43 | HideSolutionNode = FALSE 44 | EndGlobalSection 45 | GlobalSection(ExtensibilityGlobals) = postSolution 46 | SolutionGuid = {75DC64A9-2D54-4E67-AB70-A5D79CC3C1C6} 47 | EndGlobalSection 48 | EndGlobal 49 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using System.Runtime.InteropServices; 3 | 4 | // In SDK-style projects such as this one, several assembly attributes that were historically 5 | // defined in this file are now automatically added during build and populated with 6 | // values defined in project properties. For details of which attributes are included 7 | // and how to customise this process see: https://aka.ms/assembly-info-properties 8 | 9 | 10 | // Setting ComVisible to false makes the types in this assembly not visible to COM 11 | // components. If you need to access a type in this assembly from COM, set the ComVisible 12 | // attribute to true on that type. 13 | 14 | [assembly: ComVisible(false)] 15 | 16 | // The following GUID is for the ID of the typelib if this project is exposed to COM. 17 | 18 | [assembly: Guid("f3c2fea6-c9db-4f44-81e8-adcb2f93ab19")] 19 | 20 | 21 | [assembly: InternalsVisibleTo("VirtualizingWrapPanelTest")] 22 | [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] // Moq 23 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/GridDetailsView.xaml: -------------------------------------------------------------------------------- 1 |  11 | 12 | 13 | 18 | 19 | 20 | 21 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/IItemSizeProvider.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace WpfToolkit.Controls; 4 | 5 | /// 6 | /// Provides the size of items displayed in an VirtualizingPanel. 7 | /// 8 | public interface IItemSizeProvider 9 | { 10 | /// 11 | /// Gets the size for the specified item. 12 | /// 13 | Size GetSizeForItem(object item); 14 | } 15 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/ItemAlignment.cs: -------------------------------------------------------------------------------- 1 | namespace WpfToolkit.Controls; 2 | 3 | /// 4 | /// Specifies how items are aligned on the cross axis of a . 5 | /// 6 | public enum ItemAlignment 7 | { 8 | /// 9 | /// The items are placed at the start of the cross axis. 10 | /// 11 | Start, 12 | /// 13 | /// The items are centered om the cross-axis. 14 | /// 15 | Center, 16 | /// 17 | /// The items are placed at the end of the cross axis. 18 | /// 19 | End, 20 | /// 21 | /// The items are stretched to fill the cross axis. 22 | /// 23 | Stretch 24 | } 25 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/PolyfillExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WpfToolkit.Controls; 4 | 5 | internal static class PolyfillExtensions 6 | { 7 | 8 | #if NETFRAMEWORK 9 | 10 | public static void Deconstruct( 11 | this KeyValuePair target, 12 | out TKey key, 13 | out TValue value) 14 | { 15 | key = target.Key; 16 | value = target.Value; 17 | } 18 | 19 | #endif 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/ScrollDirection.cs: -------------------------------------------------------------------------------- 1 | namespace WpfToolkit.Controls 2 | { 3 | public enum ScrollDirection 4 | { 5 | Vertical, 6 | Horizontal 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/SpacingMode.cs: -------------------------------------------------------------------------------- 1 | namespace WpfToolkit.Controls 2 | { 3 | /// 4 | /// Specifies how remaining space is distributed. 5 | /// 6 | public enum SpacingMode 7 | { 8 | /// 9 | /// Spacing is disabled and all items will be arranged as closely as possible. 10 | /// 11 | None, 12 | /// 13 | /// The remaining space is evenly distributed between the items on a layout row, as well as the start and end of each row. 14 | /// 15 | Uniform, 16 | /// 17 | /// The remaining space is evenly distributed between the items on a layout row, excluding the start and end of each row. 18 | /// 19 | BetweenItemsOnly, 20 | /// 21 | /// The remaining space is evenly distributed between start and end of each row. 22 | /// 23 | StartAndEndOnly 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/VirtualizingItemsControl.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Controls; 3 | using System.Windows.Markup; 4 | 5 | namespace WpfToolkit.Controls 6 | { 7 | /// 8 | /// A ItemsControl supporting virtualization. 9 | /// 10 | public class VirtualizingItemsControl : ItemsControl 11 | { 12 | public VirtualizingItemsControl() 13 | { 14 | ItemsPanel = new ItemsPanelTemplate(new FrameworkElementFactory(typeof(VirtualizingStackPanel))); 15 | 16 | string template = @" 17 | 18 | 24 | 27 | 29 | 30 | 31 | "; 32 | Template = (ControlTemplate)XamlReader.Parse(template); 33 | 34 | ScrollViewer.SetCanContentScroll(this, true); 35 | 36 | ScrollViewer.SetVerticalScrollBarVisibility(this, ScrollBarVisibility.Auto); 37 | ScrollViewer.SetHorizontalScrollBarVisibility(this, ScrollBarVisibility.Auto); 38 | 39 | VirtualizingPanel.SetCacheLengthUnit(this, VirtualizationCacheLengthUnit.Page); 40 | VirtualizingPanel.SetCacheLength(this, new VirtualizationCacheLength(1)); 41 | 42 | VirtualizingPanel.SetIsVirtualizingWhenGrouping(this, true); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/VirtualizingWrapPanel.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net462;net6.0-windows 5 | true 6 | 13.0 7 | enable 8 | 9 | 10 | 11 | VirtualizingWrapPanel 12 | 2.2.1 13 | sbaeumlisberger 14 | sbaeumlisberger 15 | Feature-rich implementation of a VirtualizingWrapPanel for WPF. 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | VirtualizingWrapPanel 26 | 27 | git 28 | https://github.com/sbaeumlisberger/VirtualizingWrapPanel 29 | 30 | https://github.com/sbaeumlisberger/VirtualizingWrapPanel 31 | 32 | MIT 33 | 34 | VirtualizingWrapPanel, VirtualizingPanel, WrapPanel, GridView, Virtualization, WPF, XAML, .NET 35 | 36 | README.md 37 | 38 | 39 | - #85 Fix InvalidOperationException when running on .NET Framework 40 | 41 | 42 | WpfToolkit.Controls 43 | 44 | 45 | 46 | true 47 | snupkg 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/docfx/api/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | ############### 3 | # temp file # 4 | ############### 5 | *.yml 6 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/docfx/api/index.md: -------------------------------------------------------------------------------- 1 | 2 | # VirtualizingWrapPanel API 3 | 4 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/docfx/build.ps1: -------------------------------------------------------------------------------- 1 | # dotnet tool install -g docfx 2 | 3 | docfx docfx.json --serve -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/docfx/custom/public/main.css: -------------------------------------------------------------------------------- 1 | .typelist.inheritedMembers { 2 | display: none; 3 | } 4 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/docfx/docfx.json: -------------------------------------------------------------------------------- 1 | { 2 | "metadata": [ 3 | { 4 | "src": [ 5 | { 6 | "src": "../", 7 | "files": [ 8 | "**/*.csproj" 9 | ] 10 | } 11 | ], 12 | "filter": "filter.yml", 13 | "dest": "api" 14 | } 15 | ], 16 | "build": { 17 | "content": [ 18 | { 19 | "files": [ 20 | "**/*.{md,yml}" 21 | ], 22 | "exclude": [ 23 | "_site/**" 24 | ] 25 | } 26 | ], 27 | "resource": [ 28 | { 29 | "files": [ 30 | "images/**" 31 | ] 32 | } 33 | ], 34 | "output": "../../../docs", 35 | "template": [ 36 | "default", 37 | "modern", 38 | "custom" 39 | ], 40 | "globalMetadata": { 41 | "_appName": "VirtualizingWrapPanel", 42 | "_appTitle": "VirtualizingWrapPanel", 43 | "_enableSearch": false, 44 | "pdf": false 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/docfx/docs/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Getting Started 2 | href: getting-started.md -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/docfx/filter.yml: -------------------------------------------------------------------------------- 1 | apiRules: 2 | - exclude: 3 | hasAttribute: 4 | uid: System.ObsoleteAttribute 5 | - exclude: 6 | uidRegex: ^WpfToolkit\.Controls\.ScrollDirection 7 | type: Enum 8 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/docfx/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Documentation 2 | href: docs/ 3 | - name: API 4 | href: api/ -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | _layout: landing 3 | --- 4 | 5 | # This is the **HOMEPAGE**. 6 | 7 | Refer to [Markdown](http://daringfireball.net/projects/markdown/) for how to write markdown files. 8 | 9 | ## Quick Start Notes: 10 | 11 | 1. Add images to the *images* folder if the file is referencing an image. -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/nuget/README.md: -------------------------------------------------------------------------------- 1 | Feature-rich implementation of a [VirtualizingWrapPanel](https://sbaeumlisberger.github.io/VirtualizingWrapPanel/api/WpfToolkit.Controls.VirtualizingWrapPanel.html) control for WPF. The additional [GridView](https://sbaeumlisberger.github.io/VirtualizingWrapPanel/api/WpfToolkit.Controls.GridView.html) controls provides a easy to use out-of-the-box experience. 2 | 3 | ### Features 4 | * Horizontal and vertical orientation 5 | * Container recycling and high performance 6 | * Grouping / hierarchical virtualization 7 | * Configurable spacing behaviour and item alignment 8 | * Caching based on pages, items or pixels 9 | * Displaying different sized items 10 | 11 | ### Resources 12 | * [Getting started](https://sbaeumlisberger.github.io/VirtualizingWrapPanel/docs/getting-started.html) 13 | * [Sample Application](https://github.com/sbaeumlisberger/VirtualizingWrapPanel/tree/master/SamplesApplication.md) 14 | * [API Documentation](https://sbaeumlisberger.github.io/VirtualizingWrapPanel/api/WpfToolkit.Controls.html) -------------------------------------------------------------------------------- /src/VirtualizingWrapPanel/pack.ps1: -------------------------------------------------------------------------------- 1 | $gitStatus = git status --porcelain 2 | 3 | if ($gitStatus) { 4 | Write-Host "There are uncommitted changes in the repository. Please commit or stash them before running this script." 5 | exit 1 6 | } 7 | 8 | $currentBranch = git rev-parse --abbrev-ref HEAD 9 | 10 | if ($currentBranch -ne "master") { 11 | Write-Host "You are not on the master branch. Please switch to the master branch before running this script." 12 | exit 1 13 | } 14 | 15 | git fetch 16 | 17 | $gitStatus = git status 18 | 19 | if ($gitStatus -match "Your branch is ahead") { 20 | Write-Host "There are local commits that have not been pushed to the remote." 21 | exit 1 22 | } 23 | 24 | dotnet pack /p:ContinuousIntegrationBuild=true -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamples/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamples/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 12 | 13 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamples/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.Windows; 4 | using System.Windows.Controls; 5 | using System.Windows.Threading; 6 | 7 | namespace VirtualizingWrapPanelSamples 8 | { 9 | public partial class App : Application 10 | { 11 | public App() 12 | { 13 | InitializeComponent(); 14 | DispatcherUnhandledException += App_DispatcherUnhandledException; 15 | } 16 | 17 | private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) 18 | { 19 | Trace.WriteLine(e.Exception); 20 | 21 | if (e.Exception is InvalidOperationException) 22 | { 23 | e.Handled = true; 24 | var mainWindowModel = ((MainWindow)MainWindow).model; 25 | mainWindowModel.VirtualizationMode = 26 | mainWindowModel.VirtualizationMode == VirtualizationMode.Standard 27 | ? VirtualizationMode.Recycling 28 | : VirtualizationMode.Standard; 29 | MessageBox.Show(e.Exception.Message); 30 | } 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamples/BoolToVisibilityConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Windows; 4 | using System.Windows.Data; 5 | 6 | namespace VirtualizingWrapPanelSamples 7 | { 8 | class BoolToVisibilityConverter : IValueConverter 9 | { 10 | 11 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 12 | { 13 | return (bool)value ? Visibility.Visible : Visibility.Collapsed; 14 | } 15 | 16 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 17 | { 18 | throw new NotImplementedException(); 19 | } 20 | 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamples/ColorToBrushConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Windows.Data; 4 | using System.Windows.Media; 5 | 6 | namespace VirtualizingWrapPanelSamples 7 | { 8 | class ColorToBrushConverter : IValueConverter 9 | { 10 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 11 | { 12 | return new SolidColorBrush((Color)value); 13 | } 14 | 15 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 16 | { 17 | return ((SolidColorBrush)value).Color; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamples/Properties/PublishProfiles/Win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | Any CPU 10 | net6.0-windows 11 | bin\Release\net6.0-windows\publish\x64\ 12 | win-x64 13 | true 14 | True 15 | True 16 | True 17 | embedded 18 | 19 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamples/TestItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | using System.Threading.Tasks; 4 | using System.Windows; 5 | using System.Windows.Media; 6 | 7 | namespace VirtualizingWrapPanelSamples 8 | { 9 | public class TestItem : INotifyPropertyChanged 10 | { 11 | private static readonly int MinWidth = 100; 12 | private static readonly int MaxWidth = 200; 13 | private static readonly int MinHeight = 80; 14 | private static readonly int MaxHeight = 160; 15 | 16 | public event PropertyChangedEventHandler? PropertyChanged; 17 | 18 | public string Group { get; } 19 | 20 | public int Number { get; } 21 | 22 | public Color Background { get; } 23 | 24 | public Size SizeLazy 25 | { 26 | get 27 | { 28 | if (sizeLazy == Size.Empty) 29 | { 30 | Task.Delay(1000).ContinueWith((_) => 31 | { 32 | sizeLazy = Size; 33 | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(SizeLazy))); 34 | }); 35 | return new Size(MinWidth, MinHeight); 36 | } 37 | return sizeLazy; 38 | } 39 | } 40 | 41 | public DateTime CurrentDateTime => DateTime.Now; 42 | 43 | public Size Size { get; } 44 | 45 | private static Random random = new Random(); 46 | 47 | private Size sizeLazy = Size.Empty; 48 | 49 | public TestItem(string group, int number) 50 | { 51 | Group = group; 52 | Number = number; 53 | byte[] randomBytes = new byte[3]; 54 | random.NextBytes(randomBytes); 55 | Background = Color.FromRgb(randomBytes[0], randomBytes[1], randomBytes[2]); 56 | var width = random.Next(MinWidth, MaxWidth); 57 | var height = random.Next(MinHeight, MaxHeight); 58 | Size = new Size(width, height); 59 | } 60 | 61 | public void Reset() 62 | { 63 | sizeLazy = Size.Empty; 64 | } 65 | 66 | override public string ToString() 67 | { 68 | return $"TestItem({Number})"; 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamples/TestItemSizeProvider.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using WpfToolkit.Controls; 3 | 4 | namespace VirtualizingWrapPanelSamples 5 | { 6 | internal class TestItemSizeProvider : IItemSizeProvider 7 | { 8 | public Size GetSizeForItem(object item) 9 | { 10 | var testItem = (TestItem)item; 11 | return new Size(testItem.Size.Width + 10, testItem.Size.Height + 4); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamples/VirtualizingWrapPanelSamples.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | WinExe 5 | net6.0-windows 6 | true 7 | enable 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamplesFW/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamplesFW/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamplesFW/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace VirtualizingWrapPanelSamplesFW 4 | { 5 | /// 6 | /// Interaction logic for App.xaml 7 | /// 8 | public partial class App : Application 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamplesFW/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VirtualizingWrapPanelSamplesFW.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VirtualizingWrapPanelSamplesFW.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamplesFW/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace VirtualizingWrapPanelSamplesFW.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.4.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamplesFW/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelSamplesFW/VirtualizingWrapPanelSamplesFW.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | WinExe 4 | net472 5 | 8.0 6 | true 7 | enable 8 | 9 | 10 | 11 | 12 | BoolToVisibilityConverter.cs 13 | 14 | 15 | ColorToBrushConverter.cs 16 | 17 | 18 | MainWindow.xaml.cs 19 | 20 | 21 | MainWindowModel.cs 22 | 23 | 24 | TestItem.cs 25 | 26 | 27 | TestItemSizeProvider.cs 28 | 29 | 30 | 31 | 32 | 33 | 34 | SettingsSingleFileGenerator 35 | Settings.Designer.cs 36 | 37 | 38 | 39 | 40 | 41 | MainWindow.xaml 42 | MSBuild:Compile 43 | Designer 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelTest/Mocks/LazyTestItem.cs: -------------------------------------------------------------------------------- 1 | namespace VirtualizingWrapPanelTest.Mocks; 2 | 3 | internal class LazyTestItem : TestItem 4 | { 5 | public double FirstTimeWidth { get; } 6 | 7 | public double FirstTimeHeight { get; } 8 | 9 | public LazyTestItem() 10 | { 11 | var random = new Random(); 12 | FirstTimeWidth = Math.Round(Width * 0.5); 13 | FirstTimeHeight = Math.Round(Height * 0.5); 14 | } 15 | } 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelTest/Mocks/TestItem.cs: -------------------------------------------------------------------------------- 1 | namespace VirtualizingWrapPanelTest.Mocks; 2 | 3 | internal class TestItem 4 | { 5 | 6 | public double Width { get; } 7 | 8 | public double Height { get; } 9 | 10 | public string ID { get; set; } = Guid.NewGuid().ToString(); 11 | 12 | public TestItem(double width, double height) 13 | { 14 | Width = width; 15 | Height = height; 16 | } 17 | 18 | public TestItem() 19 | { 20 | var random = new Random(); 21 | Width = random.Next(100, 201); 22 | Height = random.Next(100, 201); 23 | } 24 | 25 | public override bool Equals(object? obj) 26 | { 27 | return obj is TestItem other && Equals(ID, other.ID); 28 | } 29 | 30 | public override int GetHashCode() 31 | { 32 | return ID.GetHashCode(); 33 | } 34 | } 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelTest/TestItemSizeProvider.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using WpfToolkit.Controls; 3 | 4 | namespace VirtualizingWrapPanelTest; 5 | 6 | internal class TestItemSizeProvider : IItemSizeProvider 7 | { 8 | public Size GetSizeForItem(object item) 9 | { 10 | var testItem = (TestItem)item; 11 | return new Size(testItem.Width, testItem.Height); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelTest/Tests/CacheTest.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Controls; 2 | using WpfToolkit.Controls; 3 | using Xunit; 4 | using Assert = Xunit.Assert; 5 | 6 | namespace VirtualizingWrapPanelTest.Tests; 7 | 8 | public class CacheTest 9 | { 10 | private VirtualizingWrapPanel vwp = TestUtil.CreateVirtualizingWrapPanel(500, 400); 11 | 12 | [UITheory] 13 | [InlineData(0, 20)] 14 | [InlineData(500, 20)] 15 | [InlineData(550, 25)] // row partial visible 16 | public void NoCache(double offset, int expectedChildCount) 17 | { 18 | VirtualizingPanel.SetCacheLength(vwp.ItemsControl, new VirtualizationCacheLength(0)); 19 | vwp.SetVerticalOffset(offset); 20 | 21 | vwp.UpdateLayout(); 22 | 23 | Assert.Equal(expectedChildCount, vwp.Children.Count); 24 | } 25 | 26 | [UITheory] 27 | [InlineData(0, 60)] 28 | [InlineData(1000, 100)] 29 | [InlineData(1050, 105)] // row partial visible 30 | public void CacheUnitPage(double offset, int expectedChildCount) 31 | { 32 | VirtualizingPanel.SetCacheLength(vwp.ItemsControl, new VirtualizationCacheLength(2)); 33 | vwp.SetVerticalOffset(offset); 34 | 35 | vwp.UpdateLayout(); 36 | 37 | Assert.Equal(expectedChildCount, vwp.Children.Count); 38 | } 39 | 40 | [UITheory] 41 | [InlineData(0, 22)] 42 | [InlineData(500, 24)] 43 | [InlineData(550, 29)] // row partial visible 44 | public void CacheUnitItem(double offset, int expectedChildCount) 45 | { 46 | VirtualizingPanel.SetCacheLength(vwp.ItemsControl, new VirtualizationCacheLength(2)); 47 | VirtualizingPanel.SetCacheLengthUnit(vwp.ItemsControl, VirtualizationCacheLengthUnit.Item); 48 | vwp.SetVerticalOffset(offset); 49 | 50 | vwp.UpdateLayout(); 51 | 52 | Assert.Equal(expectedChildCount, vwp.Children.Count); 53 | } 54 | 55 | [UIFact] 56 | public void CacheUnitItem_DifferentLengths() 57 | { 58 | VirtualizingPanel.SetCacheLength(vwp.ItemsControl, new VirtualizationCacheLength(1, 2)); 59 | VirtualizingPanel.SetCacheLengthUnit(vwp.ItemsControl, VirtualizationCacheLengthUnit.Item); 60 | vwp.SetVerticalOffset(500); 61 | 62 | vwp.UpdateLayout(); 63 | 64 | Assert.Equal(23, vwp.Children.Count); 65 | } 66 | 67 | [UITheory] 68 | [InlineData(0, 150, 30)] 69 | [InlineData(50, 150, 30)] 70 | [InlineData(51, 150, 35)] 71 | [InlineData(50, 200, 35)] 72 | [InlineData(500, 150, 40)] 73 | [InlineData(500, 200, 40)] 74 | public void CacheUnitPixel(double offset, int cacheSize, int expectedChildCount) 75 | { 76 | VirtualizingPanel.SetCacheLength(vwp.ItemsControl, new VirtualizationCacheLength(cacheSize)); 77 | VirtualizingPanel.SetCacheLengthUnit(vwp.ItemsControl, VirtualizationCacheLengthUnit.Pixel); 78 | vwp.SetVerticalOffset(offset); 79 | 80 | vwp.UpdateLayout(); 81 | 82 | Assert.Equal(expectedChildCount, vwp.Children.Count); 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelTest/Tests/RegressionTest.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Data; 2 | using WpfToolkit.Controls; 3 | using Xunit; 4 | 5 | namespace VirtualizingWrapPanelTest.Tests; 6 | 7 | public class RegressionTest 8 | { 9 | 10 | [UIFact] 11 | public void RemoveVirtualizingWrapPanelFromItemsControlAndRemoveItem() 12 | { 13 | var items = TestUtil.GenerateItems(1000); 14 | var collectionView = CollectionViewSource.GetDefaultView(items); 15 | var itemsControl = TestUtil.CreateListBox(500, 400, collectionView); 16 | var vwp = TestUtil.GetVisualChild(itemsControl)!; 17 | vwp.UpdateLayout(); 18 | TestUtil.AssertItemRealized(vwp, "Item 1"); 19 | 20 | itemsControl.ItemsPanel = null; 21 | items.RemoveAt(0); 22 | vwp.UpdateLayout(); 23 | 24 | // If no exception is thrown, the test passes. 25 | } 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelTest/Tests/ResizeTest.cs: -------------------------------------------------------------------------------- 1 | using WpfToolkit.Controls; 2 | using Xunit; 3 | using Assert = Xunit.Assert; 4 | 5 | namespace VirtualizingWrapPanelTest.Tests; 6 | 7 | public class ResizeTest 8 | { 9 | private VirtualizingWrapPanel vwp = TestUtil.CreateVirtualizingWrapPanel(500, 400); 10 | 11 | [UIFact] 12 | public void IncreaseWidth() 13 | { 14 | vwp.ItemsControl.Width = 600; 15 | vwp.UpdateLayout(); 16 | 17 | Assert.Equal(600, vwp.ExtentWidth); 18 | Assert.Equal(16_700, vwp.ExtentHeight); 19 | 20 | Assert.Equal(48, vwp.Children.Count); 21 | TestUtil.AssertItem(vwp, "Item 6", 500, 0); 22 | } 23 | 24 | [UIFact] 25 | public void IncreaseHeight() 26 | { 27 | vwp.ItemsControl.Height = 500; 28 | vwp.UpdateLayout(); 29 | 30 | Assert.Equal(500, vwp.ExtentWidth); 31 | Assert.Equal(20_000, vwp.ExtentHeight); 32 | 33 | Assert.Equal(50, vwp.Children.Count); 34 | TestUtil.AssertItem(vwp, "Item 6", 0, 100); 35 | } 36 | 37 | [UIFact] 38 | public void IncreaseWidthAndHeight() 39 | { 40 | vwp.ItemsControl.Width = 600; 41 | vwp.ItemsControl.Height = 500; 42 | vwp.UpdateLayout(); 43 | 44 | Assert.Equal(600, vwp.ExtentWidth); 45 | Assert.Equal(16_700, vwp.ExtentHeight); 46 | 47 | Assert.Equal(60, vwp.Children.Count); 48 | TestUtil.AssertItem(vwp, "Item 6", 500, 0); 49 | } 50 | 51 | [UIFact] 52 | public void DecreaseWidth() 53 | { 54 | vwp.ItemsControl.Width = 400; 55 | vwp.UpdateLayout(); 56 | 57 | Assert.Equal(400, vwp.ExtentWidth); 58 | Assert.Equal(25_000, vwp.ExtentHeight); 59 | 60 | Assert.Equal(32, vwp.Children.Count); 61 | TestUtil.AssertItem(vwp, "Item 6", 100, 100); 62 | } 63 | 64 | [UIFact] 65 | public void DecreaseHeight() 66 | { 67 | vwp.ItemsControl.Height = 300; 68 | vwp.UpdateLayout(); 69 | 70 | Assert.Equal(500, vwp.ExtentWidth); 71 | Assert.Equal(20_000, vwp.ExtentHeight); 72 | 73 | Assert.Equal(30, vwp.Children.Count); 74 | TestUtil.AssertItem(vwp, "Item 6", 0, 100); 75 | } 76 | 77 | [UIFact] 78 | public void DecreaseWidthAndHeight() 79 | { 80 | vwp.ItemsControl.Width = 400; 81 | vwp.ItemsControl.Height = 300; 82 | vwp.UpdateLayout(); 83 | 84 | Assert.Equal(400, vwp.ExtentWidth); 85 | Assert.Equal(25_000, vwp.ExtentHeight); 86 | 87 | Assert.Equal(24, vwp.Children.Count); 88 | TestUtil.AssertItem(vwp, "Item 6", 100, 100); 89 | } 90 | 91 | } 92 | -------------------------------------------------------------------------------- /src/VirtualizingWrapPanelTest/VirtualizingWrapPanelTest.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net8.0-windows 5 | enable 6 | enable 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | all 15 | runtime; build; native; contentfiles; analyzers; buildtransitive 16 | 17 | 18 | 19 | all 20 | runtime; build; native; contentfiles; analyzers; buildtransitive 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | --------------------------------------------------------------------------------