@next-bricks/nav 1.8.1 → 1.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +7 -7
- package/dist/chunks/0.672708c3.js +2 -0
- package/dist/chunks/0.672708c3.js.map +1 -0
- package/dist/chunks/{4049.afe85543.js → 1024.f54216c7.js} +2 -2
- package/dist/chunks/{4049.afe85543.js.map → 1024.f54216c7.js.map} +1 -1
- package/dist/chunks/1372.53841e75.js +2 -0
- package/dist/chunks/{8498.474de95e.js.map → 1372.53841e75.js.map} +1 -1
- package/dist/chunks/1488.928cd7ae.js +3 -0
- package/dist/chunks/1488.928cd7ae.js.map +1 -0
- package/dist/chunks/1564.42c39150.js +2 -0
- package/dist/chunks/{2754.e97c99b6.js.map → 1564.42c39150.js.map} +1 -1
- package/dist/chunks/1772.a4803002.js +2 -0
- package/dist/chunks/1772.a4803002.js.map +1 -0
- package/dist/chunks/{2024.ddc88ed1.js → 1776.77e351ae.js} +2 -2
- package/dist/chunks/{2024.ddc88ed1.js.map → 1776.77e351ae.js.map} +1 -1
- package/dist/chunks/{5151.7fd4320c.js → 1832.bb0df88b.js} +2 -2
- package/dist/chunks/1832.bb0df88b.js.map +1 -0
- package/dist/chunks/{8316.5124d566.js → 2356.9bb299b7.js} +3 -2
- package/dist/chunks/2356.9bb299b7.js.map +1 -0
- package/dist/chunks/{6660.20f07bce.js → 242.0f87c6f6.js} +2 -2
- package/dist/chunks/242.0f87c6f6.js.map +1 -0
- package/dist/chunks/2496.bbe2123d.js +2 -0
- package/dist/chunks/{4791.e0079511.js.map → 2496.bbe2123d.js.map} +1 -1
- package/dist/chunks/272.535f0ce2.js +3 -0
- package/dist/chunks/272.535f0ce2.js.map +1 -0
- package/dist/chunks/{3458.068e1227.js → 2976.264aaa64.js} +2 -2
- package/dist/chunks/2976.264aaa64.js.map +1 -0
- package/dist/chunks/3322.223ab55c.js +2 -0
- package/dist/chunks/3322.223ab55c.js.map +1 -0
- package/dist/chunks/{7672.bc344de7.js → 3680.dbcd97a3.js} +2 -2
- package/dist/chunks/{5725.fd273797.js.map → 3680.dbcd97a3.js.map} +1 -1
- package/dist/chunks/3752.dffc02ad.js +2 -0
- package/dist/chunks/{6653.2517488a.js.map → 3752.dffc02ad.js.map} +1 -1
- package/dist/chunks/3968.1ba4274b.js +2 -0
- package/dist/chunks/3968.1ba4274b.js.map +1 -0
- package/dist/chunks/{4275.2769378a.js → 4524.25336d1d.js} +2 -2
- package/dist/chunks/{4275.2769378a.js.map → 4524.25336d1d.js.map} +1 -1
- package/dist/chunks/4847.ae51ac0f.js +2 -0
- package/dist/chunks/4847.ae51ac0f.js.map +1 -0
- package/dist/chunks/5140.21c0f1c6.js +3 -0
- package/dist/chunks/5140.21c0f1c6.js.map +1 -0
- package/dist/chunks/{8691.3256ba57.js → 5356.7b5a985b.js} +2 -2
- package/dist/chunks/5356.7b5a985b.js.map +1 -0
- package/dist/chunks/{2784.f1276a06.js → 5668.16eae7fc.js} +3 -2
- package/dist/chunks/5668.16eae7fc.js.map +1 -0
- package/dist/chunks/{3645.1e83ce3f.js → 6024.f8f9cde3.js} +3 -3
- package/dist/chunks/{3645.1e83ce3f.js.map → 6024.f8f9cde3.js.map} +1 -1
- package/dist/chunks/{5725.fd273797.js → 6064.5dba2870.js} +2 -2
- package/dist/chunks/{7672.bc344de7.js.map → 6064.5dba2870.js.map} +1 -1
- package/dist/chunks/6192.c9f2ea1e.js +2 -0
- package/dist/chunks/6192.c9f2ea1e.js.map +1 -0
- package/dist/chunks/6228.ef760a8d.js +2 -0
- package/dist/chunks/6228.ef760a8d.js.map +1 -0
- package/dist/chunks/6352.1037ce3c.js +2 -0
- package/dist/chunks/6352.1037ce3c.js.map +1 -0
- package/dist/chunks/{7110.ab1880c8.js → 6408.068cc1e5.js} +2 -2
- package/dist/chunks/6408.068cc1e5.js.map +1 -0
- package/dist/chunks/6736.9c4445a6.js +3 -0
- package/dist/chunks/{8008.cfc9964b.js.map → 6736.9c4445a6.js.map} +1 -1
- package/dist/chunks/6784.1f1de73c.js +2 -0
- package/dist/chunks/6784.1f1de73c.js.map +1 -0
- package/dist/chunks/7228.7f69d79c.js +2 -0
- package/dist/chunks/7228.7f69d79c.js.map +1 -0
- package/dist/chunks/{4752.6990d30d.js → 7324.6b0bd416.js} +3 -3
- package/dist/chunks/7324.6b0bd416.js.map +1 -0
- package/dist/chunks/7476.9def3e63.js +2 -0
- package/dist/chunks/7476.9def3e63.js.map +1 -0
- package/dist/chunks/760.03d53f41.js +3 -0
- package/dist/chunks/760.03d53f41.js.map +1 -0
- package/dist/chunks/7632.16006d43.js +3 -0
- package/dist/chunks/7632.16006d43.js.map +1 -0
- package/dist/chunks/{5381.ebb9994d.js → 7861.193cbeb3.js} +2 -2
- package/dist/chunks/{6660.20f07bce.js.map → 7861.193cbeb3.js.map} +1 -1
- package/dist/chunks/{6635.0db0281d.js → 7928.129f1f64.js} +3 -3
- package/dist/chunks/{6635.0db0281d.js.map → 7928.129f1f64.js.map} +1 -1
- package/dist/chunks/8060.2c05d36b.js +2 -0
- package/dist/chunks/8060.2c05d36b.js.map +1 -0
- package/dist/chunks/820.ec85386f.js +2 -0
- package/dist/chunks/820.ec85386f.js.map +1 -0
- package/dist/chunks/8380.60849d8c.js +2 -0
- package/dist/chunks/8380.60849d8c.js.map +1 -0
- package/dist/chunks/8404.3593dec9.js +2 -0
- package/dist/chunks/{5850.a380741a.js.map → 8404.3593dec9.js.map} +1 -1
- package/dist/chunks/8440.2c62ce0b.js +2 -0
- package/dist/chunks/{6205.4d1b40e8.js.map → 8440.2c62ce0b.js.map} +1 -1
- package/dist/chunks/856.e313ef07.js +2 -0
- package/dist/chunks/856.e313ef07.js.map +1 -0
- package/dist/chunks/{6473.8b04b2c8.js → 8644.844926e9.js} +2 -2
- package/dist/chunks/{6473.8b04b2c8.js.map → 8644.844926e9.js.map} +1 -1
- package/dist/chunks/{4031.a39f8b7d.js → 8648.96be5271.js} +2 -2
- package/dist/chunks/{4031.a39f8b7d.js.map → 8648.96be5271.js.map} +1 -1
- package/dist/chunks/872.cc00f707.js +2 -0
- package/dist/chunks/872.cc00f707.js.map +1 -0
- package/dist/chunks/8732.06dcd80d.js +2 -0
- package/dist/chunks/8732.06dcd80d.js.map +1 -0
- package/dist/chunks/9290.0c6b3769.js +2 -0
- package/dist/chunks/{3097.01ea8961.js.map → 9290.0c6b3769.js.map} +1 -1
- package/dist/chunks/easyops-navbar-alerts.1937add2.js +2 -0
- package/dist/chunks/easyops-navbar-alerts.1937add2.js.map +1 -0
- package/dist/chunks/eo-app-bar-wrapper.33f9cc21.js +3 -0
- package/dist/chunks/eo-app-bar-wrapper.33f9cc21.js.map +1 -0
- package/dist/chunks/eo-directory-tree-internal-node.84ca95ed.js +2 -0
- package/dist/chunks/eo-directory-tree-internal-node.84ca95ed.js.map +1 -0
- package/dist/chunks/eo-directory-tree-leaf.8d28c3dc.js +2 -0
- package/dist/chunks/eo-directory-tree-leaf.8d28c3dc.js.map +1 -0
- package/dist/chunks/eo-directory-tree.cbc56211.js +2 -0
- package/dist/chunks/eo-directory-tree.cbc56211.js.map +1 -0
- package/dist/chunks/eo-directory.6e379380.js +3 -0
- package/dist/chunks/eo-directory.6e379380.js.map +1 -0
- package/dist/chunks/eo-frame-breadcrumb.a5fc9aaf.js +2 -0
- package/dist/chunks/eo-frame-breadcrumb.a5fc9aaf.js.map +1 -0
- package/dist/chunks/eo-launchpad-button-v2.6a0a710a.js +2 -0
- package/dist/chunks/eo-launchpad-button-v2.6a0a710a.js.map +1 -0
- package/dist/chunks/eo-launchpad-button.b8742de1.js +2 -0
- package/dist/chunks/eo-launchpad-button.b8742de1.js.map +1 -0
- package/dist/chunks/eo-launchpad-quick-access.f53e0878.js +3 -0
- package/dist/chunks/eo-launchpad-quick-access.f53e0878.js.map +1 -0
- package/dist/chunks/eo-launchpad-recent-visits.566fd07e.js +3 -0
- package/dist/chunks/eo-launchpad-recent-visits.566fd07e.js.map +1 -0
- package/dist/chunks/eo-nav-menu.b0aa7fc7.js +2 -0
- package/dist/chunks/eo-nav-menu.b0aa7fc7.js.map +1 -0
- package/dist/chunks/eo-search-launchpad.f37a01ed.js +2 -0
- package/dist/chunks/eo-search-launchpad.f37a01ed.js.map +1 -0
- package/dist/chunks/eo-sidebar-menu-group.21aefb8f.js +3 -0
- package/dist/chunks/eo-sidebar-menu-group.21aefb8f.js.map +1 -0
- package/dist/chunks/eo-sidebar-menu-item.9e623170.js +2 -0
- package/dist/chunks/eo-sidebar-menu-item.9e623170.js.map +1 -0
- package/dist/chunks/eo-sidebar-menu-submenu.a471f436.js +3 -0
- package/dist/chunks/eo-sidebar-menu-submenu.a471f436.js.map +1 -0
- package/dist/chunks/eo-sidebar-menu.b65e1327.js +2 -0
- package/dist/chunks/eo-sidebar-menu.b65e1327.js.map +1 -0
- package/dist/chunks/eo-sidebar-sub-menu.a366a9cb.js +3 -0
- package/dist/chunks/eo-sidebar-sub-menu.a366a9cb.js.map +1 -0
- package/dist/chunks/eo-sidebar.7dfb8f2c.js +3 -0
- package/dist/chunks/eo-sidebar.7dfb8f2c.js.map +1 -0
- package/dist/chunks/launchpad-config.d79612f6.js +3 -0
- package/dist/chunks/launchpad-config.d79612f6.js.map +1 -0
- package/dist/chunks/main.47bc12a6.js +2 -0
- package/dist/chunks/main.47bc12a6.js.map +1 -0
- package/dist/chunks/nav-logo.6f02674c.js +2 -0
- package/dist/chunks/nav-logo.6f02674c.js.map +1 -0
- package/dist/index.727f8f55.js +2 -0
- package/dist/index.727f8f55.js.map +1 -0
- package/dist/manifest.json +10 -10
- package/dist-types/launchpad-button-v2/wrapped-bricks.d.ts +1 -10
- package/package.json +4 -4
- package/dist/chunks/1303.3d18dc1f.js +0 -2
- package/dist/chunks/1303.3d18dc1f.js.map +0 -1
- package/dist/chunks/1646.77553d12.js +0 -2
- package/dist/chunks/1646.77553d12.js.map +0 -1
- package/dist/chunks/1777.ed356823.js +0 -3
- package/dist/chunks/1777.ed356823.js.map +0 -1
- package/dist/chunks/1874.b69e31f2.js +0 -2
- package/dist/chunks/1874.b69e31f2.js.map +0 -1
- package/dist/chunks/2108.7bbec257.js +0 -2
- package/dist/chunks/2108.7bbec257.js.map +0 -1
- package/dist/chunks/2754.e97c99b6.js +0 -2
- package/dist/chunks/3097.01ea8961.js +0 -2
- package/dist/chunks/3458.068e1227.js.map +0 -1
- package/dist/chunks/4504.43f9bc64.js +0 -2
- package/dist/chunks/4504.43f9bc64.js.map +0 -1
- package/dist/chunks/4752.6990d30d.js.map +0 -1
- package/dist/chunks/4791.e0079511.js +0 -2
- package/dist/chunks/5151.7fd4320c.js.map +0 -1
- package/dist/chunks/5381.ebb9994d.js.map +0 -1
- package/dist/chunks/5628.235df3e7.js +0 -2
- package/dist/chunks/5628.235df3e7.js.map +0 -1
- package/dist/chunks/5636.ddc8f5a9.js +0 -2
- package/dist/chunks/5636.ddc8f5a9.js.map +0 -1
- package/dist/chunks/5850.a380741a.js +0 -2
- package/dist/chunks/6176.af19f99d.js +0 -2
- package/dist/chunks/6176.af19f99d.js.map +0 -1
- package/dist/chunks/6205.4d1b40e8.js +0 -2
- package/dist/chunks/6264.00d98962.js +0 -3
- package/dist/chunks/6264.00d98962.js.map +0 -1
- package/dist/chunks/6482.be3f3ec8.js +0 -2
- package/dist/chunks/6482.be3f3ec8.js.map +0 -1
- package/dist/chunks/6653.2517488a.js +0 -2
- package/dist/chunks/7067.c9943271.js +0 -2
- package/dist/chunks/7067.c9943271.js.map +0 -1
- package/dist/chunks/7110.ab1880c8.js.map +0 -1
- package/dist/chunks/7164.f71bebbf.js +0 -2
- package/dist/chunks/7164.f71bebbf.js.map +0 -1
- package/dist/chunks/7632.fff7e9f1.js +0 -2
- package/dist/chunks/7632.fff7e9f1.js.map +0 -1
- package/dist/chunks/7746.bc012355.js +0 -2
- package/dist/chunks/7746.bc012355.js.map +0 -1
- package/dist/chunks/7846.6bd82b2b.js +0 -3
- package/dist/chunks/7846.6bd82b2b.js.map +0 -1
- package/dist/chunks/7915.4ed2483c.js +0 -2
- package/dist/chunks/7915.4ed2483c.js.map +0 -1
- package/dist/chunks/7955.d87f5edc.js +0 -3
- package/dist/chunks/7955.d87f5edc.js.map +0 -1
- package/dist/chunks/8008.cfc9964b.js +0 -3
- package/dist/chunks/8498.474de95e.js +0 -2
- package/dist/chunks/8691.3256ba57.js.map +0 -1
- package/dist/chunks/9407.835ea347.js +0 -2
- package/dist/chunks/9407.835ea347.js.map +0 -1
- package/dist/chunks/9431.29d63767.js +0 -2
- package/dist/chunks/9431.29d63767.js.map +0 -1
- package/dist/chunks/9549.5c342e5a.js +0 -2
- package/dist/chunks/9549.5c342e5a.js.map +0 -1
- package/dist/chunks/9819.46098445.js +0 -3
- package/dist/chunks/9819.46098445.js.map +0 -1
- package/dist/chunks/easyops-navbar-alerts.c31484c3.js +0 -2
- package/dist/chunks/easyops-navbar-alerts.c31484c3.js.map +0 -1
- package/dist/chunks/eo-app-bar-wrapper.8f9dc72d.js +0 -3
- package/dist/chunks/eo-app-bar-wrapper.8f9dc72d.js.map +0 -1
- package/dist/chunks/eo-directory-tree-internal-node.75902858.js +0 -2
- package/dist/chunks/eo-directory-tree-internal-node.75902858.js.map +0 -1
- package/dist/chunks/eo-directory-tree-leaf.7b1c43a5.js +0 -2
- package/dist/chunks/eo-directory-tree-leaf.7b1c43a5.js.map +0 -1
- package/dist/chunks/eo-directory-tree.8f7c8196.js +0 -2
- package/dist/chunks/eo-directory-tree.8f7c8196.js.map +0 -1
- package/dist/chunks/eo-directory.2eb0385d.js +0 -3
- package/dist/chunks/eo-directory.2eb0385d.js.map +0 -1
- package/dist/chunks/eo-frame-breadcrumb.8bfebd47.js +0 -2
- package/dist/chunks/eo-frame-breadcrumb.8bfebd47.js.map +0 -1
- package/dist/chunks/eo-launchpad-button-v2.afd75664.js +0 -2
- package/dist/chunks/eo-launchpad-button-v2.afd75664.js.map +0 -1
- package/dist/chunks/eo-launchpad-button.625f256d.js +0 -2
- package/dist/chunks/eo-launchpad-button.625f256d.js.map +0 -1
- package/dist/chunks/eo-launchpad-quick-access.ebd5546b.js +0 -3
- package/dist/chunks/eo-launchpad-quick-access.ebd5546b.js.map +0 -1
- package/dist/chunks/eo-launchpad-recent-visits.a0cb9bf0.js +0 -3
- package/dist/chunks/eo-launchpad-recent-visits.a0cb9bf0.js.map +0 -1
- package/dist/chunks/eo-nav-menu.16adb96a.js +0 -2
- package/dist/chunks/eo-nav-menu.16adb96a.js.map +0 -1
- package/dist/chunks/eo-search-launchpad.7efd85d9.js +0 -2
- package/dist/chunks/eo-search-launchpad.7efd85d9.js.map +0 -1
- package/dist/chunks/eo-sidebar-menu-group.cd81f3e5.js +0 -3
- package/dist/chunks/eo-sidebar-menu-group.cd81f3e5.js.map +0 -1
- package/dist/chunks/eo-sidebar-menu-item.f151ee3c.js +0 -2
- package/dist/chunks/eo-sidebar-menu-item.f151ee3c.js.map +0 -1
- package/dist/chunks/eo-sidebar-menu-submenu.08f9daef.js +0 -3
- package/dist/chunks/eo-sidebar-menu-submenu.08f9daef.js.map +0 -1
- package/dist/chunks/eo-sidebar-menu.dabad1e9.js +0 -2
- package/dist/chunks/eo-sidebar-menu.dabad1e9.js.map +0 -1
- package/dist/chunks/eo-sidebar-sub-menu.9ba1f12e.js +0 -3
- package/dist/chunks/eo-sidebar-sub-menu.9ba1f12e.js.map +0 -1
- package/dist/chunks/eo-sidebar.2f6ece40.js +0 -3
- package/dist/chunks/eo-sidebar.2f6ece40.js.map +0 -1
- package/dist/chunks/launchpad-config.b2ac8386.js +0 -3
- package/dist/chunks/launchpad-config.b2ac8386.js.map +0 -1
- package/dist/chunks/main.a289261f.js +0 -2
- package/dist/chunks/main.a289261f.js.map +0 -1
- package/dist/chunks/nav-logo.1be3b0ff.js +0 -2
- package/dist/chunks/nav-logo.1be3b0ff.js.map +0 -1
- package/dist/index.d462d4ca.js +0 -2
- package/dist/index.d462d4ca.js.map +0 -1
- /package/dist/chunks/{7846.6bd82b2b.js.LICENSE.txt → 1488.928cd7ae.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{8316.5124d566.js.LICENSE.txt → 2356.9bb299b7.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9819.46098445.js.LICENSE.txt → 272.535f0ce2.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{1777.ed356823.js.LICENSE.txt → 5140.21c0f1c6.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{2784.f1276a06.js.LICENSE.txt → 5668.16eae7fc.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{3645.1e83ce3f.js.LICENSE.txt → 6024.f8f9cde3.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{8008.cfc9964b.js.LICENSE.txt → 6736.9c4445a6.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{4752.6990d30d.js.LICENSE.txt → 7324.6b0bd416.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{6264.00d98962.js.LICENSE.txt → 760.03d53f41.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{7955.d87f5edc.js.LICENSE.txt → 7632.16006d43.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{6635.0db0281d.js.LICENSE.txt → 7928.129f1f64.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-app-bar-wrapper.8f9dc72d.js.LICENSE.txt → eo-app-bar-wrapper.33f9cc21.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-directory.2eb0385d.js.LICENSE.txt → eo-directory.6e379380.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-launchpad-quick-access.ebd5546b.js.LICENSE.txt → eo-launchpad-quick-access.f53e0878.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-launchpad-recent-visits.a0cb9bf0.js.LICENSE.txt → eo-launchpad-recent-visits.566fd07e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar-menu-group.cd81f3e5.js.LICENSE.txt → eo-sidebar-menu-group.21aefb8f.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar-menu-submenu.08f9daef.js.LICENSE.txt → eo-sidebar-menu-submenu.a471f436.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar-sub-menu.9ba1f12e.js.LICENSE.txt → eo-sidebar-sub-menu.a366a9cb.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-sidebar.2f6ece40.js.LICENSE.txt → eo-sidebar.7dfb8f2c.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{launchpad-config.b2ac8386.js.LICENSE.txt → launchpad-config.d79612f6.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/6482.be3f3ec8.js","mappings":"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","sources":["webpack:///./src/launchpad/SearchBar/SearchBar.module.css?483e","webpack:///./src/launchpad/common/wrapBrick.tsx","webpack:///./src/launchpad/SearchBar/SearchBar.tsx","webpack:///./src/launchpad/DesktopCell/DesktopCell.module.css?0d52","webpack:///./src/launchpad/DesktopApp/DesktopApp.module.css?89de","webpack:///./src/launchpad/utils/getImageUrl.tsx","webpack:///./src/launchpad/DesktopApp/DesktopApp.tsx","webpack:///./src/launchpad/DesktopDirContext.ts","webpack:///./src/launchpad/DesktopDir/DesktopDir.module.css?ef5b","webpack:///./src/launchpad/DesktopDir/DesktopDir.tsx","webpack:///./src/launchpad/DesktopCustom/DesktopCustom.module.css?b0be","webpack:///./src/launchpad/DesktopCustom/DesktopCustom.tsx","webpack:///./src/launchpad/LaunchpadService.ts","webpack:///./src/launchpad/DesktopCell/DesktopCell.tsx","webpack:///./src/launchpad/LaunchpadSettingsContext.ts","webpack:///./src/launchpad/Desktop/Desktop.module.css?26dc","webpack:///./src/launchpad/Desktop/Desktop.tsx","webpack:///./src/launchpad/DesktopSlider/DesktopSlider.module.css?8883","webpack:///./src/launchpad/MyDesktop/MyDesktop.module.css?82d4","webpack:///./src/launchpad/FavoriteDesktopCell/FavoriteDesktopCell.module.css?3e83","webpack:///./src/launchpad/FavoriteDesktopCell/FavoriteDesktopCell.tsx","webpack:///./src/launchpad/site-map/SiteMap.module.css?cc0f","webpack:///./src/launchpad/site-map/SiteMap.tsx","webpack:///./src/launchpad/MyDesktop/MyDesktop.tsx","webpack:///./src/launchpad/DesktopSlider/desktopCursor.ts","webpack:///./src/launchpad/DesktopSlider/DesktopSlider.tsx","webpack:///./src/launchpad/DesktopDirContent/DesktopDirContent.module.css?8ba4","webpack:///./src/launchpad/DesktopDirContent/DesktopDirContent.tsx","webpack:///./src/launchpad/Launchpad/Launchpad.module.css?c690","webpack:///./src/launchpad/Launchpad/Launchpad.tsx","webpack:///./src/launchpad/LaunchpadWrapper/LaunchpadWrapper.module.css?ec6f","webpack:///./src/launchpad/LaunchpadWrapper/LaunchpadWrapper.tsx","webpack:///./src/launchpad/LaunchpadPortal/LaunchpadPortal.tsx","webpack:///./src/launchpad/LaunchpadButton/LaunchpadButton.tsx","webpack:///./src/launchpad/i18n.ts","webpack:///./src/images/launchpad.svg","webpack:///./src/launchpad/LaunchpadButton/LaunchpadButton.shadow.css","webpack:///./src/launchpad/Desktop/Desktop.module.css","webpack:///./src/launchpad/DesktopApp/DesktopApp.module.css","webpack:///./src/launchpad/DesktopCell/DesktopCell.module.css","webpack:///./src/launchpad/DesktopCustom/DesktopCustom.module.css","webpack:///./src/launchpad/DesktopDir/DesktopDir.module.css","webpack:///./src/launchpad/DesktopDirContent/DesktopDirContent.module.css","webpack:///./src/launchpad/DesktopSlider/DesktopSlider.module.css","webpack:///./src/launchpad/FavoriteDesktopCell/FavoriteDesktopCell.module.css","webpack:///./src/launchpad/Launchpad/Launchpad.module.css","webpack:///./src/launchpad/LaunchpadWrapper/LaunchpadWrapper.module.css","webpack:///./src/launchpad/MyDesktop/MyDesktop.module.css","webpack:///./src/launchpad/SearchBar/SearchBar.module.css","webpack:///./src/launchpad/site-map/SiteMap.module.css"],"sourcesContent":["\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./SearchBar.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./SearchBar.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"eo-icon\"\n);\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./SearchBar.module.css\";\nimport { WrappedGeneralIcon } from \"../common/wrapBrick.js\";\nimport { K, NS } from \"../i18n.js\";\nimport { useTranslation } from \"@next-core/i18n/react\";\nexport interface SearchBarProps {\n onChange: (value: string) => void;\n}\n\nexport function SearchBar(props: SearchBarProps): React.ReactElement {\n const { t } = useTranslation(NS);\n const [focus, setFocus] = React.useState(false);\n\n const searchInputRef = React.useCallback((element: HTMLInputElement) => {\n if (element) {\n // Wait for portal mounted first.\n Promise.resolve().then(() => {\n try {\n element.focus();\n } catch (e) {\n // Do nothing.\n }\n });\n }\n }, []);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n props.onChange(e.target.value);\n };\n\n const handleClick = (e: React.MouseEvent): void => {\n e.stopPropagation();\n };\n\n const handleKeyDown = (e: React.KeyboardEvent): void => {\n const key =\n e.key ||\n /* istanbul ignore next: compatibility */ e.keyCode ||\n /* istanbul ignore next: compatibility */ e.which;\n if (\n [\n \"Tab\",\n \"Enter\",\n \"ArrowLeft\",\n \"ArrowUp\",\n \"ArrowRight\",\n \"ArrowDown\",\n 9,\n 13,\n 37,\n 38,\n 39,\n 40,\n ].includes(key)\n ) {\n e.preventDefault();\n }\n };\n\n const handleFocus = (): void => {\n setFocus(true);\n };\n\n const handleBlur = (): void => {\n setFocus(false);\n };\n\n return (\n <div\n className={classNames(styles.searchBar, {\n [styles.focus]: focus,\n })}\n >\n <div\n className={styles.inputContainer}\n role=\"inputContainer\"\n onClick={handleClick}\n >\n <span\n className={classNames(styles.inputAffixWrapper, {\n [styles.inputAffixWrapperFocused]: focus,\n })}\n >\n <span className={styles.antInputPrefix}>\n <WrappedGeneralIcon icon=\"search\" lib=\"antd\" theme=\"outlined\" />\n </span>\n <input\n role=\"input\"\n className={styles.input}\n placeholder={t(K.SEARCH_BY_NAME_KEYWORD) as string}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n ref={searchInputRef}\n />\n </span>\n </div>\n </div>\n );\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopCell.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopCell.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopApp.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopApp.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { MicroApp } from \"@next-core/types\";\n\nexport function getImageUrl(app: MicroApp, defaultAppIcon: string): string {\n return app.icons && app.icons.large\n ? /^(?:https?|data):|^\\//.test(app.icons.large)\n ? app.icons.large\n : `${\n window.STANDALONE_MICRO_APPS\n ? // 如果是独立打包模式\n app.standaloneMode\n ? // 如果是独立打包模式下的standalone app, 则使用 PUBLIC_ROOT 再去掉末尾的 '-/'\n // 例如: sa-static/my-app/versions/1.1.1/webroot/-/micro-apps/my-app/large.png (没设置cdn)\n // 例如: https://cdn-air.uwintech.cn/next/sa-static/my-app/versions/1.1.1/webroot/-/micro-apps/my-app/large.png (设置了cdn)\n `${window.PUBLIC_ROOT?.replace(/-\\/$/, \"\")}${app.id}/versions/${\n app.currentVersion\n }/webroot/-/micro-apps/${app.id}/${app.icons.large}`\n : // 如果是独立打包模式下的普通app,则使用PUBLIC_CDN + 默认前缀micro-apps\n `${window.PUBLIC_CDN || \"\"}micro-apps/${app.id}/${\n app.icons.large\n }`\n : // 非独立打包应用使用旧模式进行设置\n `${window.PUBLIC_ROOT || \"\"}micro-apps/${app.id}/${\n app.icons.large\n }`\n }`\n : defaultAppIcon;\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { MicroApp } from \"@next-core/types\";\nimport styles from \"./DesktopApp.module.css\";\nimport defaultAppIcon from \"../../images/default-app-icon.png\";\nimport { getImageUrl } from \"../utils/getImageUrl.js\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\ninterface DesktopAppProps {\n app: MicroApp;\n isFavorite?: boolean;\n showAddIcon?: boolean;\n onAddClick?: () => void;\n onClick?: () => void;\n size?: string;\n}\n\nexport function DesktopApp({\n app,\n onAddClick,\n onClick,\n isFavorite,\n showAddIcon,\n size,\n}: DesktopAppProps): React.ReactElement {\n const installing = app.installStatus === \"running\";\n\n const handleAppClick = (e: React.MouseEvent): void => {\n e.stopPropagation();\n if (installing) {\n e.preventDefault();\n }\n onClick?.();\n };\n\n const handleAddIconClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n onAddClick?.();\n };\n\n return (\n <>\n <WrappedLink\n className={classNames(\n styles.appLink,\n styles[size as string],\n app.iconBackground === \"circle\" ? styles.circle : styles.square,\n {\n [styles.installing]: installing,\n }\n )}\n url={app.homepage}\n onClick={handleAppClick}\n >\n <img\n className={styles.appIcon}\n src={getImageUrl(app, defaultAppIcon)}\n />\n\n {showAddIcon && isFavorite && (\n <WrappedGeneralIcon\n className={classNames(\n styles.addIcon,\n app.iconBackground === \"circle\"\n ? styles.circleIcon\n : styles.squareIcon\n )}\n icon=\"plus\"\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleAddIconClick}\n />\n )}\n </WrappedLink>\n <span className={styles.appName}>\n {installing && (\n <WrappedGeneralIcon\n style={{ paddingRight: 5 }}\n icon=\"loading-3-quarters\"\n lib=\"antd\"\n theme=\"outlined\"\n />\n )}\n {app.localeName}\n </span>\n </>\n );\n}\n","import React from \"react\";\nimport { NormalizedDesktopDir } from \"./interfaces.js\";\n\nexport interface DirWithCoordinates {\n dir: NormalizedDesktopDir;\n coordinates: {\n x: number;\n y: number;\n };\n activeIndex: number;\n}\n\nexport interface ContextOfDesktopDir {\n desktopDir?: DirWithCoordinates;\n setDesktopDir?: React.Dispatch<DirWithCoordinates | undefined>;\n}\n\nexport const DesktopDirContext = React.createContext<ContextOfDesktopDir>({});\n\nexport const useDesktopDirContext = (): ContextOfDesktopDir =>\n React.useContext(DesktopDirContext);\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopDir.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopDir.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport { useDesktopDirContext } from \"../DesktopDirContext.js\";\nimport styles from \"./DesktopDir.module.css\";\nimport defaultAppIcon from \"../../images/default-app-icon.png\";\nimport { NormalizedDesktopDir } from \"../interfaces.js\";\nimport { getImageUrl } from \"../utils/getImageUrl.js\";\nimport { MicroApp } from \"@next-core/types\";\n\nexport function DesktopDir(props: NormalizedDesktopDir): React.ReactElement {\n const { setDesktopDir } = useDesktopDirContext();\n const handleDirClick = (e: React.MouseEvent): void => {\n e.stopPropagation();\n // 记录鼠标点击的位置,在文件夹展开时以此为原点做动画。\n setDesktopDir?.({\n dir: {\n name: props.name,\n items: props.items,\n },\n coordinates: {\n x: e.clientX,\n y: e.clientY,\n },\n activeIndex: -1,\n });\n };\n\n return (\n <>\n <a\n className={classNames(styles.dirLink, {\n [styles[props.size as string]]: !!props.size,\n })}\n onClick={handleDirClick}\n role=\"button\"\n >\n {props.items\n .slice(0, 4)\n .map((item) =>\n item.type === \"app\" ? (\n <img\n className={styles.appIcon}\n key={item.id}\n src={getImageUrl(item.app as MicroApp, defaultAppIcon)}\n />\n ) : (\n <img\n className={styles.appIcon}\n key={item.id}\n src={defaultAppIcon}\n />\n )\n )}\n </a>\n <span className={styles.dirName}>{props.name}</span>\n </>\n );\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopCustom.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopCustom.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./DesktopCustom.module.css\";\nimport defaultAppIcon from \"../../images/default-app-icon.png\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\ninterface DesktopCustomProps {\n name: string;\n url: string;\n isFavorite?: boolean;\n showAddIcon?: boolean;\n onAddClick: () => void;\n onClick?: () => void;\n size?: string;\n responsive?: boolean;\n}\n\nexport function DesktopCustom({\n name,\n url,\n showAddIcon,\n isFavorite,\n onClick,\n onAddClick,\n size,\n responsive = true,\n}: DesktopCustomProps): React.ReactElement {\n const handleItemClick = (e: React.MouseEvent): void => {\n e.stopPropagation();\n onClick?.();\n };\n\n const handleAddIconClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n onAddClick?.();\n };\n return (\n <>\n <WrappedLink\n className={classNames(\n styles.appLink,\n styles.circle,\n styles[size as string],\n {\n [styles.responsive]: responsive,\n }\n )}\n href={url}\n target=\"_blank\"\n onClick={handleItemClick}\n >\n <img className={styles.appIcon} src={defaultAppIcon} />\n {showAddIcon && isFavorite && (\n <WrappedGeneralIcon\n className={classNames(styles.addIcon, styles.circleIcon)}\n icon=\"plus-circle-filled\"\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleAddIconClick}\n />\n )}\n </WrappedLink>\n <span className={styles.appName}>{name}</span>\n </>\n );\n}\n","import { JsonStorage } from \"@next-shared/general/JsonStorage\";\nimport { MicroApp, Storyboard } from \"@next-core/types\";\nimport {\n LaunchpadApi_ListCollectionResponseItem,\n LaunchpadApi_listCollection,\n LaunchpadApi_CreateCollectionRequestBody,\n LaunchpadApi_createCollection,\n LaunchpadApi_deleteCollection,\n} from \"@next-api-sdk/user-service-sdk\";\nimport { LaunchpadApi_getLaunchpadInfo } from \"@next-api-sdk/micro-app-standalone-sdk\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport { pick } from \"lodash\";\nimport { i18n } from \"@next-core/i18n\";\nimport { LaunchpadSettings } from \"./LaunchpadSettingsContext.js\";\nimport {\n DesktopData,\n DesktopItemApp,\n DesktopItemCustom,\n SiteMapItem,\n} from \"./interfaces.js\";\nimport { DeferredService } from \"../shared/DeferredService.js\";\n\ninterface LaunchpadBaseInfo {\n settings: LaunchpadSettings;\n microApps: MicroApp[];\n desktops: DesktopData[];\n siteSort: SiteMapItem[];\n}\n\nexport class LaunchpadService {\n readonly storageKey = `launchpad-recently-visited:${(\n auth.getAuth() as Record<string, string>\n )?.org}`;\n private storage: JsonStorage;\n private favoriteList: LaunchpadApi_ListCollectionResponseItem[] = [];\n private filteredFavoriteList: LaunchpadApi_ListCollectionResponseItem[] = [];\n private microApps: MicroApp[] = [];\n private customList: DesktopItemCustom[] = [];\n private maxVisitorLength = 7;\n private baseInfo: LaunchpadBaseInfo = {\n settings: {\n columns: 7,\n rows: 4,\n },\n microApps: [],\n desktops: [],\n siteSort: [],\n };\n public loaded = false;\n public favoritesLoaded = false;\n\n private readonly deferredLaunchpadInfo: DeferredService;\n private readonly deferredFavorites: DeferredService;\n\n constructor() {\n this.storage = new JsonStorage(localStorage);\n this.deferredLaunchpadInfo = new DeferredService(this.doFetchLaunchpadInfo);\n this.deferredFavorites = new DeferredService(this.doFetchFavorites);\n\n this.init();\n }\n\n init(): void {\n const runtime = getRuntime();\n this.baseInfo = {\n desktops: runtime.getDesktops() as DesktopData[],\n microApps: [runtime.getCurrentApp() as MicroApp],\n settings: runtime.getLaunchpadSettings(),\n siteSort: runtime.getLaunchpadSiteMap() as SiteMapItem[],\n };\n\n this.initValue();\n }\n\n private initValue(): void {\n this.customList = this.baseInfo.desktops\n .map((desktop) => desktop.items.filter((i) => i.type === \"custom\"))\n .flat() as DesktopItemCustom[];\n\n const microApps = this.baseInfo.microApps\n // 兼容较老版本接口未返回 `status` 的情况。\n .filter(\n (item) =>\n item &&\n (!item.status ||\n item.status === \"enabled\" ||\n item.status === \"developing\")\n );\n\n this.setMicroApps(microApps);\n }\n\n setMaxVisitorLength(value: number) {\n this.maxVisitorLength = value;\n }\n\n preFetchFavorites(): void {\n this.deferredFavorites.schedulePrefetch();\n }\n\n async fetchFavoriteList(\n eager?: boolean\n ): Promise<LaunchpadApi_ListCollectionResponseItem[]> {\n await this.deferredFavorites.fetch(eager);\n return this.favoriteList;\n }\n\n private doFetchFavorites = async (): Promise<void> => {\n const result = (\n await LaunchpadApi_listCollection(\n { page: 1, pageSize: 25 },\n {\n interceptorParams: { ignoreLoadingBar: true },\n noAbortOnRouteChange: true,\n }\n )\n ).list;\n this.setFavorites(result);\n this.favoritesLoaded = true;\n };\n\n preFetchLaunchpadInfo(): void {\n if (window.STANDALONE_MICRO_APPS) {\n this.deferredLaunchpadInfo.schedulePrefetch();\n }\n }\n\n fetchLaunchpadInfo(): Promise<unknown> {\n return this.deferredLaunchpadInfo.fetch();\n }\n\n private doFetchLaunchpadInfo = async (): Promise<void> => {\n const launchpadInfo = await LaunchpadApi_getLaunchpadInfo(\n {},\n {\n interceptorParams: { ignoreLoadingBar: true },\n noAbortOnRouteChange: true,\n }\n );\n\n for (const storyboard of launchpadInfo.storyboards as Storyboard[]) {\n const app = storyboard.app as unknown as MicroApp;\n if (app) {\n if (app.locales) {\n // Prefix to avoid conflict between brick package's i18n namespace.\n const ns = `$tmp-${app.id}`;\n // Support any languages in `app.locales`.\n Object.entries(app.locales).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, ns, resources);\n });\n // Use `app.name` as the fallback `app.localeName`.\n app.localeName = i18n.getFixedT(null, ns)(\"name\", app.name) as string;\n // Remove the temporary i18n resource bundles.\n Object.keys(app.locales).forEach((lang) => {\n i18n.removeResourceBundle(lang, ns);\n });\n } else {\n app.localeName = app.name;\n }\n }\n }\n\n this.baseInfo = {\n ...launchpadInfo,\n settings: (launchpadInfo.settings as Record<string, unknown>)\n .launchpad as LaunchpadSettings,\n microApps: (launchpadInfo.storyboards as Storyboard[])\n .map((storyboard) => storyboard.app)\n .filter(Boolean) as unknown as MicroApp[],\n } as unknown as LaunchpadBaseInfo;\n this.initValue();\n this.loaded = true;\n };\n\n getBaseInfo(): LaunchpadBaseInfo {\n return this.baseInfo;\n }\n\n getFavoritesLength(): number {\n return this.favoriteList.length;\n }\n\n typeAdaptor(type: string): string {\n if (type === \"customItem\") {\n return \"custom\";\n }\n\n if (type === \"microApp\") {\n return \"app\";\n }\n\n return type;\n }\n\n setFavorites(list: LaunchpadApi_ListCollectionResponseItem[]): void {\n this.filteredFavoriteList =\n list?.filter(\n (v) =>\n v.launchpadCollection?.type === \"microApp\" ||\n (v.launchpadCollection as any).type === \"customItem\"\n ) ?? [];\n\n this.favoriteList = list;\n }\n\n setMicroApps(microApps: MicroApp[]) {\n this.microApps = microApps;\n this.syncValidRecentlyVisitor();\n }\n\n syncValidRecentlyVisitor() {\n if (window.STANDALONE_MICRO_APPS) {\n // standalone模式时,刷新页面不会请求launchpad数据,拿不全microApps和customList,所以 syncValidRecentlyVisitor 直接返回\n return;\n }\n const visitors = this.getAllVisitors();\n const result = visitors.filter((v) => {\n if (v.type === \"app\") {\n return this.microApps.some((app) => app.id === v.id);\n } else {\n return this.customList.some((f) => f.type === v.type && f.id === v.id);\n }\n });\n\n this.setAllVisitors(result);\n }\n\n async setAsFavorite(params: LaunchpadApi_CreateCollectionRequestBody) {\n await LaunchpadApi_createCollection(params, {\n interceptorParams: { ignoreLoadingBar: true },\n });\n }\n\n async deleteFavorite(id: string | number) {\n await LaunchpadApi_deleteCollection(id, {\n interceptorParams: { ignoreLoadingBar: true },\n });\n }\n\n isFavorite(item: DesktopItemApp | DesktopItemCustom) {\n if (item.type === \"app\") {\n return this.filteredFavoriteList.some(\n (f) =>\n this.typeAdaptor((f.launchpadCollection as any).type) === \"app\" &&\n f.microAppId === item.id\n );\n }\n\n return this.filteredFavoriteList.some(\n (f) =>\n this.typeAdaptor((f.launchpadCollection as any).type) === \"custom\" &&\n (f as any).customItemId === item.id\n );\n }\n\n getItem(\n type: \"app\" | \"custom\",\n id: string\n ): DesktopItemApp | DesktopItemCustom {\n return (this.storage.getItem(this.storageKey) || []).find(\n (v: DesktopItemApp | DesktopItemCustom) => v.id === id && v.type === type\n );\n }\n\n getItemIndex(type: \"app\" | \"custom\", id: string): number {\n return (this.storage.getItem(this.storageKey) || []).findIndex(\n (v: DesktopItemApp | DesktopItemCustom) => v.id === id && v.type === type\n );\n }\n\n hasItem(type: \"app\" | \"custom\", id: string): boolean {\n return (this.storage.getItem(this.storageKey) || []).some(\n (v: DesktopItemApp | DesktopItemCustom) => v.id === id && v.type === type\n );\n }\n\n getAllVisitors(): (DesktopItemApp | DesktopItemCustom)[] {\n return this.storage.getItem(this.storageKey) || [];\n }\n\n setItem(\n type: \"app\" | \"custom\",\n item: DesktopItemApp | DesktopItemCustom\n ): void {\n const visitors = this.getAllVisitors();\n\n if (!this.hasItem(type, item.id)) {\n visitors.unshift(item);\n } else {\n const index = this.getItemIndex(type, item.id);\n visitors.splice(index, 1);\n visitors.unshift(item);\n }\n\n // 默认只保存一行\n if (visitors.length > this.maxVisitorLength) {\n visitors.pop();\n }\n this.setAllVisitors(visitors);\n }\n\n setAllVisitors(visitors: (DesktopItemApp | DesktopItemCustom)[]) {\n this.storage.setItem(this.storageKey, visitors);\n }\n\n pushVisitor(\n type: \"app\" | \"custom\",\n item: MicroApp | DesktopItemCustom\n ): void {\n if (type === \"app\") {\n const app = item as MicroApp;\n item = {\n id: app.id,\n app: {\n name: app.name,\n icons: app.icons,\n localeName: app.localeName,\n id: app.id,\n homepage: app.homepage,\n currentVersion: app.currentVersion,\n standaloneMode: (app as MicroApp & { standaloneMode: boolean })\n .standaloneMode,\n } as MicroApp,\n type: \"app\",\n } as any;\n }\n\n this.setItem(type, item as DesktopItemApp | DesktopItemCustom);\n }\n\n getVisitor(\n type: \"app\" | \"custom\",\n id: string\n ): DesktopItemApp | DesktopItemCustom | undefined {\n return this.getItem(type, id);\n }\n\n getRealDesktopItem(\n item: LaunchpadApi_ListCollectionResponseItem\n ): MicroApp | DesktopItemCustom {\n if (item.launchpadCollection?.type === \"microApp\") {\n return this.microApps.find(\n (app) => app.id === item.microAppId\n ) as MicroApp;\n } else {\n return this.customList.find(\n (custom) => custom.id === (item as any).customItemId\n ) as DesktopItemCustom;\n }\n }\n\n setFavoriteAsVisitor(item: LaunchpadApi_ListCollectionResponseItem) {\n const type = this.typeAdaptor(item.launchpadCollection?.type as string);\n if (type === \"link\") return;\n const data = this.getRealDesktopItem(item);\n if (data) {\n this.pushVisitor(type as \"custom\" | \"app\", data);\n }\n }\n\n getSitemapList() {\n const curMicroApps = this.baseInfo.microApps.filter((app) => !app.internal);\n const siteMapList = this.baseInfo.siteSort;\n\n return siteMapList?.map((item) => ({\n ...item,\n apps: (item.apps || []).map((row) => {\n const find = curMicroApps.find((item) => item.id === row.id) || {};\n return {\n ...row,\n ...pick(find, [\n \"name\",\n \"icons\",\n \"localeName\",\n \"homepage\",\n \"currentVersion\",\n \"standaloneMode\",\n ]),\n };\n }),\n }));\n }\n}\n\nconst service = new LaunchpadService();\nexport const launchpadService = service;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./DesktopCell.module.css\";\nimport { DesktopApp } from \"../DesktopApp/DesktopApp.js\";\nimport { DesktopDir } from \"../DesktopDir/DesktopDir.js\";\nimport { DesktopCustom } from \"../DesktopCustom/DesktopCustom.js\";\nimport { launchpadService } from \"../LaunchpadService.js\";\nimport { Dialog } from \"@next-core/runtime\";\nimport {\n DesktopItem,\n DesktopItemApp,\n DesktopItemCustom,\n} from \"../interfaces.js\";\nimport { MicroApp } from \"@next-core/types\";\n\ninterface DesktopCellProps {\n item: DesktopItem;\n active?: boolean;\n showAddIcon?: boolean;\n position?: \"left\" | \"center\" | \"right\";\n onSetAsFavorite?: () => void;\n isFavorite?: boolean;\n size?: string;\n}\n\nexport function DesktopCell(props: DesktopCellProps): React.ReactElement {\n const checkFavoriteUpperLimit = () => {\n const favoriteLength = launchpadService.getFavoritesLength();\n if (favoriteLength >= 25) {\n Dialog.show({\n title: \"收藏数量已达上限\",\n content: \"当前收藏链接数量已达上限(25个),请删除部分链接后再添加。\",\n contentStyle: {\n zIndex: 5001,\n },\n });\n\n return false;\n }\n return true;\n };\n\n const addItemToFavorite = async () => {\n if (checkFavoriteUpperLimit()) {\n let params: any;\n if (props.item.type === \"app\") {\n const app = props.item as Partial<DesktopItemApp>;\n params = {\n microAppId: app.id,\n launchpadCollection: {\n type: \"microApp\",\n name: (app.app as MicroApp).name,\n },\n };\n } else {\n const custom = props.item as DesktopItemCustom;\n params = {\n customItemId: custom.id,\n launchpadCollection: {\n type: \"customItem\",\n name: custom.name,\n },\n };\n }\n try {\n await launchpadService.setAsFavorite(params);\n props?.onSetAsFavorite?.();\n } catch (e) {\n // Noting to cache\n }\n }\n };\n\n const handleAppClick = () => {\n const app = (props.item as DesktopItemApp).app;\n launchpadService.pushVisitor(\"app\", app as MicroApp);\n };\n\n const handleCustomClick = () => {\n const custom = props.item as DesktopItemCustom;\n launchpadService.pushVisitor(\"custom\", custom);\n };\n\n return (\n <div\n className={classNames(styles.cellWrapper, {\n [styles.positionLeft]: props?.position === \"left\",\n })}\n >\n <div\n className={classNames(styles.cellItem, styles[props.size as string], {\n [styles.active]: props.active,\n })}\n >\n {props.item.type === \"app\" ? (\n <DesktopApp\n showAddIcon={props.showAddIcon}\n isFavorite={props.isFavorite}\n app={props.item.app as MicroApp}\n onClick={handleAppClick}\n onAddClick={addItemToFavorite}\n size={props.size}\n />\n ) : props.item.type === \"custom\" ? (\n <DesktopCustom\n showAddIcon={props.showAddIcon}\n isFavorite={props.isFavorite}\n name={props.item.name}\n url={props.item.url}\n onClick={handleCustomClick}\n onAddClick={addItemToFavorite}\n size={props.size}\n />\n ) : (\n <DesktopDir\n name={props.item.name}\n items={props.item.items}\n size={props.size}\n />\n )}\n </div>\n </div>\n );\n}\n","import React from \"react\";\n\nexport interface LaunchpadSettings {\n columns: number;\n rows: number;\n}\n\nexport const LaunchpadSettingsContext = React.createContext<LaunchpadSettings>({\n columns: 7,\n rows: 4,\n});\n\nexport const useLaunchpadSettingsContext = (): LaunchpadSettings =>\n React.useContext(LaunchpadSettingsContext);\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./Desktop.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./Desktop.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport { DesktopCell } from \"../DesktopCell/DesktopCell.js\";\nimport { useLaunchpadSettingsContext } from \"../LaunchpadSettingsContext.js\";\nimport styles from \"./Desktop.module.css\";\nimport { DesktopData } from \"../interfaces.js\";\n\ninterface DesktopProps {\n desktop: DesktopData;\n desktopCount: number;\n arrowWidthPercent: number;\n activeIndex: number;\n}\n\nexport function Desktop(props: DesktopProps): React.ReactElement {\n const { columns, rows } = useLaunchpadSettingsContext();\n\n return (\n <div\n className={styles.desktop}\n style={{\n padding: `0 ${props.arrowWidthPercent / props.desktopCount}%`,\n gridTemplateColumns: `repeat(${columns},1fr)`,\n gridTemplateRows: `repeat(${rows},1fr)`,\n }}\n >\n {props.desktop.items.map((item, index) => (\n <DesktopCell\n key={index}\n item={item}\n active={index === props.activeIndex}\n />\n ))}\n </div>\n );\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopSlider.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopSlider.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./MyDesktop.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./MyDesktop.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./FavoriteDesktopCell.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./FavoriteDesktopCell.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useMemo } from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./FavoriteDesktopCell.module.css\";\nimport { LaunchpadApi_ListCollectionResponseItem } from \"@next-api-sdk/user-service-sdk\";\nimport { launchpadService } from \"../LaunchpadService.js\";\nimport { WrappedGeneralIcon, WrappedLink } from \"../common/wrapBrick.js\";\nimport { omit } from \"lodash\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\n\ninterface FavoriteDesktopCellProps {\n item: LaunchpadApi_ListCollectionResponseItem;\n onDelete?: (item: LaunchpadApi_ListCollectionResponseItem) => void;\n}\n\nexport function FavoriteDesktopCell({\n item,\n}: FavoriteDesktopCellProps): React.ReactElement {\n const disabled = useMemo(\n () =>\n item.launchpadCollection?.type === \"microApp\"\n ? !item.microAppId\n : (item.launchpadCollection as any)?.type === \"customItem\"\n ? !(item as any)?.customItemId\n : false,\n [item]\n );\n\n const setAsVisitor = () => {\n if (item.launchpadCollection?.type === \"link\") return;\n launchpadService.setFavoriteAsVisitor(item);\n };\n const handleCellClick = (e: React.MouseEvent) => {\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n setAsVisitor();\n\n if (\n (item.launchpadCollection?.link?.startsWith(\"https://\") ||\n item.launchpadCollection?.link?.startsWith(\"http://\")) &&\n !item.launchpadCollection?.link?.startsWith(document.baseURI)\n ) {\n e.preventDefault();\n window.open(item.launchpadCollection.link, \"_blank\");\n }\n };\n\n const realLink = useMemo(() => {\n const link = item.launchpadCollection?.link;\n if (item.launchpadCollection?.type === \"microApp\") return link;\n const baseUrl = document.baseURI;\n if (link?.startsWith(baseUrl)) return link?.replace(baseUrl, \"/\");\n return item.launchpadCollection?.link;\n }, [item]);\n\n return (\n <div>\n <div\n className={classNames(styles.cellWrapper, {\n [styles.disabled]: disabled,\n })}\n >\n <WrappedLink\n className={styles.link}\n url={realLink}\n onClick={handleCellClick}\n >\n <>\n <span className={classNames(styles.appLink, styles.square)}>\n <WrappedGeneralIcon\n {...((omit(item?.launchpadCollection?.icon, [\n \"prefix\",\n \"type\",\n ]) ?? {}) as GeneralIconProps)}\n style={{ fontSize: 18 }}\n />\n </span>\n <span className={styles.name}>\n {item?.launchpadCollection?.name}\n </span>\n </>\n </WrappedLink>\n </div>\n </div>\n );\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./SiteMap.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./SiteMap.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { forwardRef, useEffect } from \"react\";\nimport styles from \"./SiteMap.module.css\";\nimport { MicroApp } from \"@next-core/types\";\nimport { launchpadService } from \"../LaunchpadService.js\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\ninterface SiteCategory {\n name: string;\n id: string;\n order: string;\n apps: {\n id?: string;\n sort?: string;\n name?: string;\n homepage?: string;\n }[];\n}\nexport interface SiteMapProps {\n categoryList: SiteCategory[];\n containerStyle?: React.CSSProperties;\n onLoad?: () => void;\n}\n\nexport function LeacySiteMap(\n props: SiteMapProps,\n ref: any\n): React.ReactElement {\n const handleWheel = (e: React.WheelEvent) => {\n e.stopPropagation();\n };\n\n useEffect(() => {\n props.onLoad?.();\n }, []);\n\n const handleClick = (app: MicroApp): void => {\n launchpadService.pushVisitor(\"app\", app);\n };\n\n return (\n <div\n className={styles.scrollContainer}\n style={props.containerStyle}\n ref={ref}\n onWheel={handleWheel}\n >\n <div className={styles.siteMapContainer}>\n {props.categoryList?.map((item) => (\n <div className={styles.groupWrapper} key={item.name}>\n <div>{item.name}</div>\n <ul className={styles.group}>\n {item.apps?.map((row, index) => (\n <li className={styles.item} key={index}>\n <WrappedLink\n type=\"plain\"\n url={row.homepage}\n onClick={() => handleClick(row as MicroApp)}\n >\n {row.name}\n </WrappedLink>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </div>\n );\n}\n\nexport const SiteMap = forwardRef(LeacySiteMap);\n","import React, { createRef, useEffect, useMemo, useRef, useState } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport type { LaunchpadApi_ListCollectionResponseItem } from \"@next-api-sdk/user-service-sdk\";\nimport classNames from \"classnames\";\nimport { isEmpty } from \"lodash\";\nimport { DesktopCell } from \"../DesktopCell/DesktopCell.js\";\nimport styles from \"./MyDesktop.module.css\";\nimport { FavoriteDesktopCell } from \"../FavoriteDesktopCell/FavoriteDesktopCell.js\";\nimport { launchpadService } from \"../LaunchpadService.js\";\nimport { SiteMap } from \"../site-map/SiteMap.js\";\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\ninterface MyDesktopProps {\n desktopCount: number;\n arrowWidthPercent: number;\n}\n\nenum ModeType {\n Favorities = \"favorities\",\n Sitemap = \"sitemap\",\n}\n\nlet remberMode = ModeType.Sitemap;\n\nexport function MyDesktop(props: MyDesktopProps, ref: any): React.ReactElement {\n const [recentlyVisitedList] = useState(launchpadService.getAllVisitors());\n const [favoriteList, setFavoriteList] = useState<\n LaunchpadApi_ListCollectionResponseItem[]\n >([]);\n const [isLoading, setIsLoading] = useState(!launchpadService.favoritesLoaded);\n // const [firstRendered, setFirstRendered] = useState(true);\n const [mode, setMode] = useState<ModeType>(remberMode);\n const siteMapRef = createRef<HTMLDivElement>();\n const deskContainerRef = useRef<HTMLDivElement>(null);\n const [siteMapHeight, setSiteMapHeight] = useState<number>();\n\n const getFavoriteList = async (eager?: boolean): Promise<void> => {\n const favoriteList = await launchpadService.fetchFavoriteList(eager);\n setIsLoading(false);\n setFavoriteList(favoriteList);\n };\n\n const handleMode = (e: React.MouseEvent, mode: ModeType): void => {\n e.stopPropagation();\n remberMode = mode;\n setMode(mode);\n };\n useEffect(() => {\n (async () => {\n getFavoriteList();\n })();\n }, []);\n\n const handleOnSetAsFavorite = (): void => {\n getFavoriteList(true);\n };\n\n const handleSiteMapLoad = () => {\n const siteMap = siteMapRef.current;\n const deskContainer = deskContainerRef.current;\n if (siteMap && deskContainer) {\n // wait for launchpad open\n Promise.resolve().then(() => {\n const siteMapDom = siteMap.getBoundingClientRect();\n const deskContainerDom = deskContainer.getBoundingClientRect();\n const siteMapHeight = deskContainerDom.bottom - siteMapDom.top;\n\n setSiteMapHeight(siteMapHeight);\n });\n }\n };\n\n const renderRecentlyVisited = useMemo(() => {\n return (\n <div className={styles.visited}>\n <div className={styles.title}>最近访问</div>\n <div className={styles.desktop}>\n {recentlyVisitedList?.map((item, index) => (\n <DesktopCell\n size=\"small\"\n key={index}\n item={item}\n showAddIcon={true}\n isFavorite={!launchpadService.isFavorite(item)}\n onSetAsFavorite={handleOnSetAsFavorite}\n />\n ))}\n </div>\n </div>\n );\n }, [recentlyVisitedList, isLoading]);\n\n const renderMyFavorites = useMemo(() => {\n return (\n <div className={classNames([styles.section, styles.favorites])}>\n {isLoading && (\n <div className={styles.spin}>\n <WrappedGeneralIcon\n lib=\"antd\"\n icon=\"loading\"\n theme=\"outlined\"\n style={{ fontSize: \"2.5rem\" }}\n spinning\n />\n </div>\n )}\n {!isEmpty(favoriteList) ? (\n <div className={styles.favoriteContainer}>\n {favoriteList?.map((item, index) => (\n <FavoriteDesktopCell key={index} item={item} />\n ))}\n </div>\n ) : (\n !isLoading && (\n <div className={styles.emptyTips}>\n 把常用的页面链接加入收藏夹,方便快速访问 ~{\" \"}\n <WrappedLink\n url=\"/launchpad-collection\"\n style={{ marginLeft: 30 }}\n >\n 管理我的收藏\n </WrappedLink>\n </div>\n )\n )}\n </div>\n );\n }, [favoriteList, isLoading]);\n\n const renderSiteMap = useMemo(() => {\n const categoryList = launchpadService\n .getSitemapList()\n ?.filter((item) => item.apps?.length > 0);\n\n return (\n <SiteMap\n ref={siteMapRef}\n categoryList={categoryList}\n containerStyle={{\n height: siteMapHeight,\n overflow: \"auto\",\n }}\n onLoad={handleSiteMapLoad}\n />\n );\n }, [siteMapHeight]);\n\n return (\n <div\n ref={deskContainerRef}\n style={{\n flex: 1,\n padding: `0 ${\n props.desktopCount ? props.arrowWidthPercent / props.desktopCount : 10\n }%`,\n }}\n >\n {!!recentlyVisitedList?.length && renderRecentlyVisited}\n <div className={styles.modeWrapper}>\n <div className={styles.header}>\n {mode === ModeType.Favorities ? (\n <div className={styles.title}>\n {\" \"}\n 我的收藏\n <WrappedGeneralIcon\n className={styles.modeIcon}\n icon=\"launchpad-sitmap\"\n lib=\"easyops\"\n category=\"app\"\n onClick={(e) => handleMode(e, ModeType.Sitemap)}\n />\n </div>\n ) : (\n <div className={styles.title}>\n 系统地图\n <WrappedGeneralIcon\n className={styles.modeIcon}\n icon=\"launchpad-collection\"\n lib=\"easyops\"\n category=\"app\"\n onClick={(e) => handleMode(e, ModeType.Favorities)}\n />\n </div>\n )}\n {mode === ModeType.Favorities && (\n <div className={styles.settingsContainer}>\n <WrappedLink url={\"/launchpad-collection\"}>\n <WrappedGeneralIcon\n className={styles.settings}\n icon=\"launchpad-setting\"\n lib=\"easyops\"\n category=\"app\"\n />\n 管理收藏\n </WrappedLink>\n </div>\n )}\n </div>\n\n {mode === ModeType.Favorities ? renderMyFavorites : renderSiteMap}\n </div>\n </div>\n );\n}\n","// See https://github.com/facebook/jest/issues/11471\n// Open launchpad with the previous visited desktop.\nlet rememberedDesktopCursor = 0;\n\nexport function getRememberedDesktopCursor(): number {\n return rememberedDesktopCursor;\n}\n\nexport function setRememberedDesktopCursor(newValue: number): void {\n rememberedDesktopCursor = newValue;\n}\n","import React, { useEffect } from \"react\";\nimport { chunk } from \"lodash\";\nimport classNames from \"classnames\";\nimport { MicroApp } from \"@next-core/types\";\nimport { getHistory } from \"@next-core/runtime\";\nimport { Desktop } from \"../Desktop/Desktop.js\";\nimport { useLaunchpadSettingsContext } from \"../LaunchpadSettingsContext.js\";\nimport { useDesktopDirContext } from \"../DesktopDirContext.js\";\nimport styles from \"./DesktopSlider.module.css\";\nimport { MyDesktop } from \"../MyDesktop/MyDesktop.js\";\nimport { launchpadService } from \"../LaunchpadService.js\";\nimport {\n getRememberedDesktopCursor,\n setRememberedDesktopCursor,\n} from \"./desktopCursor.js\";\nimport { DesktopData, DesktopItemCustom } from \"../interfaces.js\";\nimport { WrappedGeneralIcon } from \"../common/wrapBrick.js\";\n\ntype appItem = MicroApp & { type?: \"app\" | \"custom\" };\n\ninterface DesktopSliderProps {\n microApps: MicroApp[];\n q?: string;\n desktops?: DesktopData[];\n arrowWidthPercent: number;\n}\n\nexport function DesktopSlider(props: DesktopSliderProps): React.ReactElement {\n const enableMyDesktop = true;\n const [desktopCursor, setDesktopCursor] = React.useState(\n getRememberedDesktopCursor()\n );\n const [appCursor, setAppCursor] = React.useState(-1);\n const { columns, rows } = useLaunchpadSettingsContext();\n const { setDesktopDir } = useDesktopDirContext();\n const slideDuration = 400;\n\n useEffect(() => {\n enableMyDesktop && launchpadService.setMaxVisitorLength(8);\n }, [columns, enableMyDesktop]);\n const mapItemToDesktop = (apps: appItem[]): DesktopData => ({\n name: \"-\",\n items: apps.map((app) => {\n if (app.type === \"custom\") {\n return {\n id: app.id,\n name: app.name,\n url: app.homepage,\n type: \"custom\",\n app,\n };\n }\n return {\n type: \"app\",\n id: app.id,\n app,\n };\n }),\n });\n\n const transformCustomItem = (item: DesktopItemCustom): appItem => ({\n localeName: item.name,\n homepage: item.url,\n ...item,\n type: \"custom\",\n });\n\n let desktops: DesktopData[] = [];\n let validItems = props.microApps;\n\n if (typeof props?.desktops === \"object\" && props.desktops.length > 0) {\n validItems = [];\n\n const id2app = props.microApps.reduce((acc, app) => {\n acc.set(app.id, app);\n return acc;\n }, new Map<string, appItem>());\n\n desktops = props.desktops\n .map((desktop) => ({\n name: desktop.name,\n items: desktop.items\n .map((item) => {\n if (item.type === \"app\") {\n if (id2app.has(item.id)) {\n const app = id2app.get(item.id);\n validItems.push(app as MicroApp);\n id2app.delete(item.id);\n return {\n type: item.type,\n id: item.id,\n app,\n };\n }\n // ignore not found apps\n } else if (item.type === \"dir\") {\n const items = item.items\n .map((item) => {\n if (item.type === \"app\") {\n if (id2app.has(item.id)) {\n const app = id2app.get(item.id);\n validItems.push(app as MicroApp);\n id2app.delete(item.id);\n return {\n type: item.type,\n id: item.id,\n app,\n };\n }\n } else if (item.type === \"custom\") {\n validItems.push(transformCustomItem(item));\n return item;\n }\n })\n .filter(Boolean);\n // ignore empty dirs\n if (items.length > 0) {\n return {\n type: item.type,\n id: item.id,\n name: item.name,\n items,\n };\n }\n } else if (item.type === \"custom\") {\n validItems.push(transformCustomItem(item));\n return item;\n }\n })\n .filter(Boolean)\n .slice(0, columns * rows),\n }))\n // ignore empty desktops\n .filter((desktop) => desktop.items.length > 0) as DesktopData[];\n } else if (!props.desktops) {\n // 如果没有定义桌面列表(例如本地开发模式),则自动按数量切割。\n desktops = chunk(props.microApps, columns * rows).map(mapItemToDesktop);\n }\n let filteredDesktop: DesktopData = {} as DesktopData;\n if (props.q) {\n const lowerQ = props.q.toLowerCase();\n filteredDesktop = mapItemToDesktop(\n validItems\n .filter(\n (app) =>\n (app.localeName as string).toLowerCase().includes(lowerQ) ||\n app.name.toLowerCase().includes(lowerQ) ||\n app.id.toLowerCase().includes(lowerQ)\n )\n .slice(0, columns * rows)\n );\n }\n\n // When sliding desktop, reset app cursor.\n React.useEffect(() => {\n setAppCursor(-1);\n }, [desktopCursor]);\n\n // When making search, set app cursor to the first app.\n React.useEffect(() => {\n setAppCursor(\n props.q && filteredDesktop && filteredDesktop.items.length > 0 ? 0 : -1\n );\n }, [props.q]);\n\n const lockRef = React.useRef(false);\n\n const throttledSetDesktopCursor = (index: number): void => {\n if (lockRef.current) {\n return;\n }\n setRememberedDesktopCursor(index);\n setDesktopCursor(index);\n // 一次滑动一个屏幕,锁定期间内,不能继续滑动屏幕。\n lockRef.current = true;\n setTimeout(() => {\n lockRef.current = false;\n }, slideDuration);\n };\n\n const slideLeft = React.useCallback((): void => {\n if (desktopCursor > 0) {\n throttledSetDesktopCursor(desktopCursor - 1);\n }\n }, [desktopCursor]);\n\n const slideRight = React.useCallback((): void => {\n const length = desktops.length;\n if (desktopCursor < length) {\n throttledSetDesktopCursor(desktopCursor + 1);\n }\n }, [desktopCursor, desktops.length]);\n\n const handleSlideLeft = (e: React.MouseEvent): void => {\n e.stopPropagation();\n slideLeft();\n };\n\n const handleSlideRight = (e: React.MouseEvent): void => {\n e.stopPropagation();\n slideRight();\n };\n\n const handleSlideTo = (e: React.MouseEvent, index: number): void => {\n e.stopPropagation();\n if (desktopCursor !== index) {\n throttledSetDesktopCursor(index);\n }\n };\n\n // Press arrow key to select an app.\n React.useEffect(() => {\n const onKeydown = (event: KeyboardEvent): void => {\n // 第一栏为我的面板,须过滤掉(PS: 但是搜索时 desktopCursor 为0是可以的)\n if (enableMyDesktop && desktopCursor === 0 && !props.q) return;\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n const currentDesktop = props.q\n ? filteredDesktop\n : desktops[desktopCursor - 1];\n if (key === \"Enter\" || key === 13) {\n event.preventDefault();\n if (appCursor >= 0 && appCursor < currentDesktop.items.length) {\n const cell = currentDesktop.items[appCursor];\n if (cell.type === \"app\") {\n launchpadService.pushVisitor(\"app\", cell.app as MicroApp);\n getHistory().push((cell.app as MicroApp).homepage);\n } else if (cell.type === \"custom\") {\n launchpadService.pushVisitor(\"custom\", cell);\n window.open(cell.url);\n } else if (cell.type === \"dir\") {\n // Calculate the approximate coordinates of a dir.\n const x = appCursor % columns;\n const y = Math.floor(appCursor / columns);\n setDesktopDir?.({\n activeIndex: 0,\n dir: {\n name: cell.name,\n items: cell.items,\n },\n coordinates: {\n x: (window.innerWidth * (x + 1)) / (columns + 1),\n y: (window.innerHeight * (y + 1)) / (rows + 1),\n },\n });\n }\n }\n } else {\n let offset = 0;\n if (key === \"ArrowRight\" || key === 39) {\n offset = 1;\n } else if (key === \"ArrowLeft\" || key === 37) {\n offset = appCursor === -1 ? currentDesktop.items.length : -1;\n } else if (key === \"ArrowDown\" || key === 40) {\n offset = appCursor === -1 ? 1 : columns;\n } else if (key === \"ArrowUp\" || key === 38) {\n offset = appCursor === -1 ? currentDesktop.items.length : -columns;\n }\n if (offset !== 0) {\n event.preventDefault();\n const next = appCursor + offset;\n if (next >= 0 && next < currentDesktop.items.length) {\n setAppCursor(next);\n }\n }\n }\n };\n window.addEventListener(\"keydown\", onKeydown);\n return () => {\n window.removeEventListener(\"keydown\", onKeydown);\n };\n }, [desktopCursor, appCursor, props.q, columns, setDesktopDir]);\n\n const deltaXRef = React.useRef(0);\n const deltaYRef = React.useRef(0);\n const responsibleRef = React.useRef(true);\n\n const tryToSlideByWheel = (): void => {\n // Mac 的 trackpad,部分鼠标滚轮会有“拖尾效应”,拖尾期间,不再响应滚轮事件。\n if (!responsibleRef.current) {\n return;\n }\n // 取绝对值较大的方向\n const axisRef =\n Math.abs(deltaYRef.current) > Math.abs(deltaXRef.current)\n ? deltaYRef\n : deltaXRef;\n // 经测试,滚轮纵轴一次位移 4,横轴一次位移 40。\n const threshold = axisRef === deltaYRef ? 4 : 40;\n if (axisRef.current >= threshold) {\n slideRight();\n } else if (axisRef.current <= -threshold) {\n slideLeft();\n } else {\n return;\n }\n // 触发滑动后,重设 delta,拖尾期间,不再响应滚轮事件。\n deltaXRef.current = 0;\n deltaYRef.current = 0;\n responsibleRef.current = false;\n };\n\n const resetDeltaTimeoutRef = React.useRef<any>();\n\n const handleWheel = (e: React.WheelEvent): void => {\n deltaXRef.current += e.deltaX;\n deltaYRef.current += e.deltaY;\n tryToSlideByWheel();\n if (resetDeltaTimeoutRef.current) {\n clearTimeout(resetDeltaTimeoutRef.current);\n }\n // 间隔 50ms 内的连续滚轮事件被认作一次滚动。\n resetDeltaTimeoutRef.current = setTimeout(() => {\n deltaXRef.current = 0;\n deltaYRef.current = 0;\n responsibleRef.current = true;\n }, 50);\n };\n\n const sliderChildrenLength = desktops.length + 1;\n\n return (\n <div\n onWheel={handleWheel}\n className={classNames(styles.desktopSlider, {\n [styles.filtered]: props.q,\n })}\n >\n <div className={styles.desktopSelector}>\n {[\n ...[\n {\n name: (\n <WrappedGeneralIcon lib=\"antd\" theme=\"filled\" icon=\"home\" />\n ),\n },\n ],\n ...desktops,\n ].map((desktop, index) => (\n <React.Fragment key={index}>\n {index !== 0 && <span className={styles.selectorSeparator} />}\n <a\n className={classNames(styles.desktopName, {\n [styles.active]: desktopCursor === index,\n })}\n onClick={(e) => handleSlideTo(e, index)}\n role=\"button\"\n >\n {desktop.name}\n </a>\n </React.Fragment>\n ))}\n </div>\n <div className={styles.scrollContainer}>\n <div\n className={styles.desktopList}\n style={{\n width: `${sliderChildrenLength * 100}%`,\n marginLeft: `${desktopCursor * -100}%`,\n transition: `margin-left ${slideDuration}ms ease-out`,\n }}\n >\n {enableMyDesktop && (\n <MyDesktop\n desktopCount={desktops.length}\n arrowWidthPercent={props.arrowWidthPercent}\n />\n )}\n {desktops.map((desktop, index) => (\n <Desktop\n key={index}\n desktop={desktop}\n desktopCount={desktops.length}\n arrowWidthPercent={props.arrowWidthPercent}\n activeIndex={desktopCursor - 1 === index ? appCursor : -1}\n />\n ))}\n </div>\n {\n // Show filtered apps as a single desktop.\n props.q && (\n <div className={styles.filteredList}>\n <Desktop\n desktop={filteredDesktop}\n desktopCount={1}\n arrowWidthPercent={props.arrowWidthPercent}\n activeIndex={appCursor}\n />\n </div>\n )\n }\n </div>\n <a\n className={classNames(styles.arrowLeft, {\n [styles.available]: desktopCursor > 0,\n })}\n style={{ width: `${props.arrowWidthPercent}%` }}\n onClick={handleSlideLeft}\n role=\"button\"\n >\n <span className={styles.arrowButton}>\n <WrappedGeneralIcon lib=\"antd\" theme=\"outlined\" icon=\"left\" />\n </span>\n </a>\n <a\n className={classNames(styles.arrowRight, {\n [styles.available]: desktopCursor < sliderChildrenLength - 1,\n })}\n style={{ width: `${props.arrowWidthPercent}%` }}\n onClick={handleSlideRight}\n role=\"button\"\n >\n <span className={styles.arrowButton}>\n <WrappedGeneralIcon lib=\"antd\" theme=\"outlined\" icon=\"right\" />\n </span>\n </a>\n </div>\n );\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopDirContent.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DesktopDirContent.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { getHistory } from \"@next-core/runtime\";\nimport {\n useDesktopDirContext,\n DirWithCoordinates,\n} from \"../DesktopDirContext.js\";\nimport { DesktopCell } from \"../DesktopCell/DesktopCell.js\";\nimport { useLaunchpadSettingsContext } from \"../LaunchpadSettingsContext.js\";\nimport styles from \"./DesktopDirContent.module.css\";\nimport { MicroApp } from \"@next-core/types\";\n\ninterface DesktopDirContentProps extends DirWithCoordinates {\n arrowWidthPercent: number;\n}\n\nexport function DesktopDirContent(\n props: DesktopDirContentProps\n): React.ReactElement {\n const { columns, rows } = useLaunchpadSettingsContext();\n const { setDesktopDir } = useDesktopDirContext();\n const [entering, setEntering] = React.useState(false);\n const [appCursor, setAppCursor] = React.useState(props.activeIndex);\n\n const items = props.dir.items.slice(0, columns * rows);\n // 展开的文件夹容器的大小即 DOM 容器的大小,以其中心为基准,变换至鼠标点击的位置,\n // 以模拟出一种从鼠标点击处展开的动画效果。\n const translateX =\n props.coordinates.x - document.documentElement.clientWidth / 2;\n const translateY =\n props.coordinates.y - document.documentElement.clientHeight / 2;\n\n React.useEffect(() => {\n const onKeydown = (event: KeyboardEvent): void => {\n event.stopPropagation();\n event.preventDefault();\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n if (key === \"Escape\" || key === 27) {\n setDesktopDir?.(undefined);\n } else if (key === \"Enter\" || key === 13) {\n if (appCursor >= 0 && appCursor < items.length) {\n const item = items[appCursor];\n if (item.type === \"app\") {\n getHistory().push((item.app as MicroApp).homepage);\n } else {\n window.open(item.url);\n }\n }\n } else {\n let offset = 0;\n if (key === \"ArrowRight\" || key === 39) {\n offset = 1;\n } else if (key === \"ArrowLeft\" || key === 37) {\n offset = appCursor === -1 ? items.length : -1;\n } else if (key === \"ArrowDown\" || key === 40) {\n offset = appCursor === -1 ? 1 : columns;\n } else if (key === \"ArrowUp\" || key === 38) {\n offset = appCursor === -1 ? items.length : -columns;\n }\n if (offset !== 0) {\n const next = appCursor + offset;\n if (next >= 0 && next < items.length) {\n setAppCursor(next);\n }\n }\n }\n };\n document.addEventListener(\"keydown\", onKeydown);\n return () => {\n document.removeEventListener(\"keydown\", onKeydown);\n };\n }, [props.dir, appCursor, columns, rows, setDesktopDir]);\n\n const handleCloseDir = (e: React.MouseEvent): void => {\n e.stopPropagation();\n setDesktopDir?.(undefined);\n };\n\n const handleEntering = (): void => {\n setEntering(true);\n };\n\n const rowsInDir = Math.ceil(items.length / columns);\n\n return (\n <CSSTransition\n in={true}\n timeout={150}\n appear={true}\n classNames=\"no-rules-class-name\"\n onEntering={handleEntering}\n >\n <div\n className={styles.dirContainer}\n onClick={handleCloseDir}\n style={{\n padding: `0 ${props.arrowWidthPercent}% 36px`,\n transform: entering\n ? \"none\"\n : `translate(${translateX}px,${translateY}px) scale(0.01)`,\n }}\n >\n <div className={styles.dirName}>{props.dir.name}</div>\n <div\n className={styles.dirContent}\n style={{\n height: `${((rowsInDir + 0.2) * 100) / (rows + 1)}%`,\n gridTemplateColumns: `repeat(${columns},1fr)`,\n gridTemplateRows: `repeat(${rowsInDir},1fr)`,\n }}\n >\n {items.map((item, index) => (\n <DesktopCell\n key={item.id}\n item={item}\n active={appCursor === index}\n />\n ))}\n </div>\n </div>\n </CSSTransition>\n );\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./Launchpad.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./Launchpad.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport { MicroApp } from \"@next-core/types\";\nimport { SearchBar } from \"../SearchBar/SearchBar.js\";\nimport { DesktopSlider } from \"../DesktopSlider/DesktopSlider.js\";\nimport { DesktopDirContext, DirWithCoordinates } from \"../DesktopDirContext.js\";\nimport { LaunchpadSettingsContext } from \"../LaunchpadSettingsContext.js\";\nimport { DesktopDirContent } from \"../DesktopDirContent/DesktopDirContent.js\";\nimport { launchpadService } from \"../LaunchpadService.js\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport styles from \"./Launchpad.module.css\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface LaunchpadProps {\n onWillClose?: () => void;\n}\n\nexport function Launchpad(props: LaunchpadProps): React.ReactElement {\n const { settings, desktops } = launchpadService.getBaseInfo();\n\n const getFilterMicroApps = (): MicroApp[] =>\n // 过滤掉状态为开发中的小产品\n launchpadService\n .getBaseInfo()\n .microApps // 兼容较老版本接口未返回 `status` 的情况。\n .filter(\n (item) =>\n item &&\n (!item.status ||\n item.status === \"enabled\" ||\n item.status === \"developing\")\n );\n\n const [q, setQ] = React.useState(\"\");\n const [microApps, setMicroApps] = React.useState(getFilterMicroApps());\n const [desktopDir, setDesktopDir] = React.useState<DirWithCoordinates>();\n const [loading, setLoading] = React.useState(\n !!window.STANDALONE_MICRO_APPS && !launchpadService.loaded\n );\n\n React.useEffect(() => {\n const startFetchLaunchpadInfo = async (): Promise<void> => {\n try {\n await launchpadService.fetchLaunchpadInfo();\n setLoading(false);\n setMicroApps(getFilterMicroApps());\n } catch (error) {\n props.onWillClose?.();\n handleHttpError(error);\n }\n };\n if (window.STANDALONE_MICRO_APPS) {\n startFetchLaunchpadInfo();\n } else {\n launchpadService.init();\n }\n }, []);\n\n React.useEffect(() => {\n const onKeydown = (event: KeyboardEvent): void => {\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n if (key === \"Escape\" || key === 27) {\n props.onWillClose?.();\n }\n };\n window.addEventListener(\"keydown\", onKeydown);\n return () => {\n window.removeEventListener(\"keydown\", onKeydown);\n };\n }, [props.onWillClose]);\n\n const handleChange = (value: string): void => {\n setQ(value);\n };\n\n const arrowWidthPercent = 9;\n\n return (\n <LaunchpadSettingsContext.Provider value={settings}>\n <DesktopDirContext.Provider\n value={{\n desktopDir,\n setDesktopDir,\n }}\n >\n <div className={styles.launchpad} onClick={props.onWillClose}>\n {loading ? (\n <div className={styles.loadingWrapper}>\n <WrappedIcon\n icon=\"loading\"\n lib=\"antd\"\n theme=\"outlined\"\n spinning\n />\n </div>\n ) : (\n <>\n <CSSTransition\n in={!desktopDir}\n timeout={100}\n classNames={{\n enter: styles.fadeEnter,\n enterActive: styles.fadeEnterActive,\n exit: styles.fadeExit,\n exitActive: styles.fadeExitActive,\n exitDone: styles.fadeExitDone,\n }}\n >\n <div className={styles.launchpadContainer}>\n <SearchBar onChange={handleChange} />\n <DesktopSlider\n q={q}\n microApps={microApps}\n desktops={desktops}\n arrowWidthPercent={arrowWidthPercent}\n />\n </div>\n </CSSTransition>\n {desktopDir && (\n <DesktopDirContent\n {...desktopDir}\n arrowWidthPercent={arrowWidthPercent}\n />\n )}\n </>\n )}\n </div>\n </DesktopDirContext.Provider>\n </LaunchpadSettingsContext.Provider>\n );\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./LaunchpadWrapper.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./LaunchpadWrapper.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { Launchpad, LaunchpadProps } from \"../Launchpad/Launchpad.js\";\nimport styles from \"./LaunchpadWrapper.module.css\";\n\nexport interface LaunchpadWrapperProps extends LaunchpadProps {\n onClose?: () => void;\n}\n\nexport function LaunchpadWrapper(\n props: LaunchpadWrapperProps\n): React.ReactElement {\n const [fadeIn, setFadeIn] = React.useState(true);\n\n const handleWillClose = (): void => {\n setFadeIn(false);\n props.onWillClose?.();\n };\n\n const onExited = (): void => {\n props.onClose?.();\n };\n\n return (\n <CSSTransition\n in={fadeIn}\n timeout={100}\n appear={true}\n classNames={{ ...styles }}\n onExited={onExited}\n >\n <Launchpad onWillClose={handleWillClose} />\n </CSSTransition>\n );\n}\n","import React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport {\n LaunchpadWrapper,\n LaunchpadWrapperProps,\n} from \"../LaunchpadWrapper/LaunchpadWrapper.js\";\n\nexport interface LaunchpadPortalProps extends LaunchpadWrapperProps {\n visible: boolean;\n}\n\nexport function LaunchpadPortal(\n props: LaunchpadPortalProps\n): React.ReactPortal | null {\n const elem = document.createElement(\"div\");\n\n // Currently the `useEffect()` can't be covered when shallow rendering.\n // Ref https://github.com/airbnb/enzyme/issues/2086\n // Todo(steve): check issue status and remove ignore.\n /* istanbul ignore next */\n React.useEffect(() => {\n document.body.appendChild(elem);\n return () => {\n document.body.removeChild(elem);\n };\n });\n\n if (!props.visible) {\n return null;\n }\n\n return createPortal(\n <LaunchpadWrapper\n onWillClose={props.onWillClose}\n onClose={props.onClose}\n />,\n elem\n );\n}\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport { getRuntime, getHistory } from \"@next-core/runtime\";\nimport LaunchpadSvg from \"../../images/launchpad.svg\";\nimport { LaunchpadPortal } from \"../LaunchpadPortal/LaunchpadPortal.js\";\nimport hotkeys from \"hotkeys-js\";\nimport { launchpadService } from \"../LaunchpadService.js\";\n\nexport function LaunchpadButton(): React.ReactElement {\n const [visible, setVisible] = useState(false);\n const openLaunchpad = (): void => {\n setVisible(true);\n };\n\n const handleLaunchpadClose = (): void => {\n setVisible(false);\n };\n const handleLaunchpadWillClose = useCallback((): void => {\n getRuntime().toggleLaunchpadEffect(false);\n }, []);\n\n useEffect(() => {\n const unlisten = getHistory().listen(() => {\n // 当切换页面时,关闭 Launchpad。\n handleLaunchpadWillClose();\n setVisible(false);\n });\n return unlisten;\n }, [handleLaunchpadWillClose]);\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n hotkeys.filter = function () {\n return true;\n };\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n hotkeys(\"alt+l\", (event) => {\n event.preventDefault();\n setVisible((preVisble) => {\n const curVisble = !preVisble;\n if (!curVisble) handleLaunchpadWillClose();\n return curVisble;\n });\n });\n\n return () => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n hotkeys.unbind(\"alt+l\");\n };\n }, [handleLaunchpadWillClose]);\n\n useEffect(() => {\n // 当打开/关闭 Launchpad 时,切换背景模糊,切换悬浮展开模式;\n getRuntime().toggleLaunchpadEffect(visible);\n }, [visible]);\n\n useEffect(() => {\n launchpadService.preFetchLaunchpadInfo();\n launchpadService.preFetchFavorites();\n }, []);\n\n return (\n <>\n <a role=\"button\" className=\"launchpadLink\" onClick={openLaunchpad}>\n <LaunchpadSvg />\n </a>\n <LaunchpadPortal\n visible={visible}\n onWillClose={handleLaunchpadWillClose}\n onClose={handleLaunchpadClose}\n />\n </>\n );\n}\n","export enum K {\n SEARCH_BY_NAME_KEYWORD = \"SEARCH_BY_NAME_KEYWORD\",\n}\n\nconst en: Locale = {\n SEARCH_BY_NAME_KEYWORD: \"Search by name/keyword\",\n};\n\nconst zh: Locale = {\n SEARCH_BY_NAME_KEYWORD: \"通过名称/关键字搜索\",\n};\n\nexport const NS = \"bricks/basic/launchpad\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import * as React from \"react\";\nconst SvgLaunchpad = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} viewBox=\"0 0 16 16\" {...props}><g fill=\"currentColor\" fillRule=\"nonzero\"><path d=\"M0 0h4v4H0zM0 6h4v4H0zM6 0h4v4H6zM6 6h4v4H6zM12 0h4v4h-4zM12 6h4v4h-4zM0 12h4v4H0zM6 12h4v4H6zM12 12h4v4h-4z\" /></g></svg>;\nexport default SvgLaunchpad;","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.launchpadLink{width:24px;height:24px;display:flex;justify-content:center;align-items:center}.launchpadLink svg{vertical-align:top;filter:grayscale(100%);opacity:0.6;width:16px;height:16px;cursor:pointer}.launchpadLink:hover svg{color:var(--color-brand-hover)!important;filter:none;opacity:1}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.desktop--LCHJxkdK{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(4,1fr)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"desktop\": `desktop--LCHJxkdK`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.appLink--lI6ZH8_J{display:flex;width:80px;height:80px;color:#fff;justify-content:center;align-items:center;position:relative}.appLink--lI6ZH8_J.circle--CqDDCO2g,\n .appLink--lI6ZH8_J.square--KkzxvIhL{background-color:rgba(255,255,255,0.1)}.appLink--lI6ZH8_J.small--oHLIwdUo{width:56px;height:56px}@media (max-height: 860px), (max-width: 1280px){.appLink--lI6ZH8_J.small--oHLIwdUo.appLink--lI6ZH8_J{transform:scale(0.8)}.appLink--lI6ZH8_J.small--oHLIwdUo + .appName--YMtvoP3g{font-size:14px;height:21px}}@media (max-height: 700px), (max-width: 1024px){.appLink--lI6ZH8_J.small--oHLIwdUo.appLink--lI6ZH8_J{transform:scale(0.7)}.appLink--lI6ZH8_J.small--oHLIwdUo + .appName--YMtvoP3g{font-size:12px;height:18px}}.appLink--lI6ZH8_J.circle--CqDDCO2g{border-radius:40px}.appLink--lI6ZH8_J.square--KkzxvIhL{border-radius:10px}.appLink--lI6ZH8_J.installing--wQF5JcJn{opacity:0.5}.appLink--lI6ZH8_J:hover .addIcon--EM1rukmN{display:block}.addIcon--EM1rukmN{position:absolute;font-size:20px;color:white;display:none}.circleIcon--C6tDgTcK{right:-7px;bottom:5px}.squareIcon--Vl9EHU0t{right:-3px;bottom:5px}.appLink--lI6ZH8_J:hover{color:#fff;opacity:0.6}.appIcon--CfrDjC_d{width:100%}.appName--YMtvoP3g{display:block;font-size:16px;line-height:1.5;height:24px;text-align:center}@media (max-height: 860px), (max-width: 1280px){.appLink--lI6ZH8_J{transform:scale(0.75)}.appName--YMtvoP3g{font-size:14px;height:21px}}@media (max-height: 700px), (max-width: 1024px){.appLink--lI6ZH8_J{transform:scale(0.6)}.appName--YMtvoP3g{font-size:12px;height:18px}}@media (max-height: 640px), (max-width: 900px){.appLink--lI6ZH8_J{transform:scale(0.5)}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"appLink\": `appLink--lI6ZH8_J`,\n\t\"circle\": `circle--CqDDCO2g`,\n\t\"square\": `square--KkzxvIhL`,\n\t\"small\": `small--oHLIwdUo`,\n\t\"appName\": `appName--YMtvoP3g`,\n\t\"installing\": `installing--wQF5JcJn`,\n\t\"addIcon\": `addIcon--EM1rukmN`,\n\t\"circleIcon\": `circleIcon--C6tDgTcK`,\n\t\"squareIcon\": `squareIcon--Vl9EHU0t`,\n\t\"appIcon\": `appIcon--CfrDjC_d`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.cellWrapper--NydKY8Uu{display:flex;justify-content:center;align-items:center;overflow:hidden}.cellWrapper--NydKY8Uu.positionLeft--VreE62uh{justify-content:flex-start}.cellItem--Se6r55Ne{height:144px;padding:10px;min-width:120px;display:flex;justify-content:space-between;align-items:center;flex-direction:column}.cellItem--Se6r55Ne.small--QJ2gld44{height:110px}.cellItem--Se6r55Ne.active--KANJZK5a{background-color:rgba(0,0,0,0.3);border-radius:6px}@media (max-height: 860px), (max-width: 1280px){.cellItem--Se6r55Ne{height:134px;min-width:100px;justify-content:normal}.cellItem--Se6r55Ne.small--QJ2gld44{height:110px;min-width:76px;justify-content:normal}}@media (max-height: 700px), (max-width: 1024px){.cellItem--Se6r55Ne{height:129px;min-width:80px;justify-content:normal}.cellItem--Se6r55Ne.small--QJ2gld44{height:100px;min-width:60px;justify-content:normal}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"cellWrapper\": `cellWrapper--NydKY8Uu`,\n\t\"positionLeft\": `positionLeft--VreE62uh`,\n\t\"cellItem\": `cellItem--Se6r55Ne`,\n\t\"small\": `small--QJ2gld44`,\n\t\"active\": `active--KANJZK5a`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.appLink--XvctrW4d{display:flex;width:80px;height:80px;color:#fff;justify-content:center;align-items:center;position:relative}.appLink--XvctrW4d.circle--ZQ_SHyEN,\n .appLink--XvctrW4d.square--C8X1afGq{background-color:rgba(255,255,255,0.1)}.appLink--XvctrW4d.small--Mux_F8QK{width:56px;height:56px}@media (max-height: 860px), (max-width: 1280px){.appLink--XvctrW4d.small--Mux_F8QK.appLink--XvctrW4d{transform:scale(0.8)}.appLink--XvctrW4d.small--Mux_F8QK + .appName--wsBI2CZC{font-size:14px;height:21px}}@media (max-height: 700px), (max-width: 1024px){.appLink--XvctrW4d.small--Mux_F8QK.appLink--XvctrW4d{transform:scale(0.7)}.appLink--XvctrW4d.small--Mux_F8QK + .appName--wsBI2CZC{font-size:12px;height:18px}}.appLink--XvctrW4d.circle--ZQ_SHyEN{border-radius:40px}.appLink--XvctrW4d.square--C8X1afGq{border-radius:10px}.addIcon--DHJxfx2l{position:absolute;display:none;font-size:20px;color:white}.circleIcon--NoKu04zb{right:-7px;bottom:5px}.squareIcon--JeHz5VMI{right:-3px;bottom:5px}.appLink--XvctrW4d:hover{color:#fff}.appIcon--K35YGQTl{width:100%}.appName--wsBI2CZC{display:block;font-size:16px;line-height:1.5;height:24px;text-align:center}@media (max-height: 860px), (max-width: 1280px){.appLink--XvctrW4d{transform:scale(0.75)}.appName--wsBI2CZC{font-size:14px;height:21px}}@media (max-height: 700px), (max-width: 1024px){.appLink--XvctrW4d{transform:scale(0.6)}.appName--wsBI2CZC{font-size:12px;height:18px}}@media (max-height: 640px), (max-width: 900px){.appLink--XvctrW4d{transform:scale(0.5)}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"appLink\": `appLink--XvctrW4d`,\n\t\"circle\": `circle--ZQ_SHyEN`,\n\t\"square\": `square--C8X1afGq`,\n\t\"small\": `small--Mux_F8QK`,\n\t\"appName\": `appName--wsBI2CZC`,\n\t\"addIcon\": `addIcon--DHJxfx2l`,\n\t\"circleIcon\": `circleIcon--NoKu04zb`,\n\t\"squareIcon\": `squareIcon--JeHz5VMI`,\n\t\"appIcon\": `appIcon--K35YGQTl`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dirLink--Ezp7L944{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);width:80px;height:80px;color:#fff;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.15);border-radius:10px;font-size:21px;padding:7px}.dirLink--Ezp7L944.small--S5JXqzG8{width:56px;height:56px}.dirLink--Ezp7L944 .appIcon--TdWlSNU2,\n .dirLink--Ezp7L944 .anticon{width:33px;height:33px}.dirLink--Ezp7L944 .anticon{display:flex;justify-content:center;align-items:center;overflow:hidden}.dirLink--Ezp7L944:hover{color:#fff}.dirName--zvy885aK{display:block;font-size:16px;line-height:1.5;height:24px;text-align:center}@media (max-height: 860px), (max-width: 1280px){.dirLink--Ezp7L944{transform:scale(0.75)}.dirName--zvy885aK{font-size:14px;height:21px}}@media (max-height: 700px), (max-width: 1024px){.dirLink--Ezp7L944{transform:scale(0.6)}.dirName--zvy885aK{font-size:12px;height:18px}}@media (max-height: 640px), (max-width: 900px){.dirLink--Ezp7L944{transform:scale(0.5)}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"dirLink\": `dirLink--Ezp7L944`,\n\t\"small\": `small--S5JXqzG8`,\n\t\"appIcon\": `appIcon--TdWlSNU2`,\n\t\"dirName\": `dirName--zvy885aK`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dirContainer--yobNkKHJ{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;position:absolute;left:0;top:0;transition:transform 150ms ease-out}.dirName--S6uKBACL{margin-bottom:40px;font-size:24px;line-height:32px;text-align:center}.dirContent--zQ9gweDn{display:grid;background-color:rgba(18,21,26,0.4);border-radius:20px;width:100%}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"dirContainer\": `dirContainer--yobNkKHJ`,\n\t\"dirName\": `dirName--S6uKBACL`,\n\t\"dirContent\": `dirContent--zQ9gweDn`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.desktopSlider--AScHB1Kd{flex:1;position:relative;padding-top:110px;padding-bottom:50px}.filtered--OQSTba5B .desktopList--nOFGKtg0,\n .filtered--OQSTba5B .arrowLeft--xkZ60z9A,\n .filtered--OQSTba5B .arrowRight--SFdZw31z,\n .filtered--OQSTba5B .desktopSelector--rYqx7sAu{display:none}.scrollContainer--PyCfQg85{width:100%;height:100%;overflow:hidden}.desktopList--nOFGKtg0{display:flex;height:100%}.filteredList--qgFcXHyE{display:flex;height:100%}.arrowLeft--xkZ60z9A,\n.arrowRight--SFdZw31z{position:absolute;top:110px;bottom:50px;justify-content:center;align-items:center;display:none}.arrowLeft--xkZ60z9A.available--yspNdU90, .arrowRight--SFdZw31z.available--yspNdU90{display:flex}.arrowLeft--xkZ60z9A{left:0}.arrowRight--SFdZw31z{right:0}.arrowButton--MHbxtjNQ{width:70px;height:70px;font-size:36px;display:flex;justify-content:center;align-items:center;color:#e6e6e6;background-color:rgba(255,255,255,0.1);border-radius:6px;visibility:hidden}.arrowLeft--xkZ60z9A:hover .arrowButton--MHbxtjNQ,\n.arrowRight--SFdZw31z:hover .arrowButton--MHbxtjNQ{visibility:visible}.desktopSelector--rYqx7sAu{position:absolute;top:0;left:0;right:0;height:110px;padding:36px 0;display:flex;justify-content:center;align-items:center;flex-wrap:wrap}.desktopName--M1GlY6Xe{display:block;color:rgba(255,255,255,0.65);border-radius:6px;font-size:12px;line-height:38px;padding:0 16px}.desktopName--M1GlY6Xe:hover{color:#fff}.desktopName--M1GlY6Xe.active--gh6q8Xsv{color:#fff;background-color:rgba(18,21,26,0.3)}.selectorSeparator--tLrL2o9J{display:block;margin:0 8px;width:1px;height:16px;border-left:1px dashed rgba(255,255,255,0.15)}@media (max-height: 860px), (max-width: 1280px){.arrowButton--MHbxtjNQ{width:60px;height:60px;font-size:30px}.desktopSlider--AScHB1Kd{padding-top:98px}.desktopSelector--rYqx7sAu{padding:30px 0;height:98px}}@media (max-height: 700px), (max-width: 1024px){.arrowButton--MHbxtjNQ{width:50px;height:50px;font-size:25px}.desktopSlider--AScHB1Kd{padding-top:86px}.desktopSelector--rYqx7sAu{padding:24px 0;height:86px}}@media (max-height: 640px), (max-width: 900px){.arrowButton--MHbxtjNQ{width:40px;height:40px;font-size:20px}.desktopSlider--AScHB1Kd{padding-top:74px}.desktopSelector--rYqx7sAu{padding:18px 0;height:74px}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"desktopSlider\": `desktopSlider--AScHB1Kd`,\n\t\"filtered\": `filtered--OQSTba5B`,\n\t\"desktopList\": `desktopList--nOFGKtg0`,\n\t\"arrowLeft\": `arrowLeft--xkZ60z9A`,\n\t\"arrowRight\": `arrowRight--SFdZw31z`,\n\t\"desktopSelector\": `desktopSelector--rYqx7sAu`,\n\t\"scrollContainer\": `scrollContainer--PyCfQg85`,\n\t\"filteredList\": `filteredList--qgFcXHyE`,\n\t\"available\": `available--yspNdU90`,\n\t\"arrowButton\": `arrowButton--MHbxtjNQ`,\n\t\"desktopName\": `desktopName--M1GlY6Xe`,\n\t\"active\": `active--gh6q8Xsv`,\n\t\"selectorSeparator\": `selectorSeparator--tLrL2o9J`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.cellWrapper--celYo8CM{display:flex;align-items:center;position:relative;transform-origin:0 0}.cellWrapper--celYo8CM:hover{background-color:rgba(255,255,255,0.1);border-radius:10px;cursor:pointer}.cellWrapper--celYo8CM:hover .closeIcon--kqBgSmBL{display:block}.cellWrapper--celYo8CM.disabled--SXwx9i_9{color:#d8d8d8;opacity:0.5;cursor:no-drop}.cellWrapper--celYo8CM.disabled--SXwx9i_9 .appLink--xxDzS__h,\n .cellWrapper--celYo8CM.disabled--SXwx9i_9 .name--gT42Hr47{cursor:no-drop}.cellWrapper--celYo8CM.disabled--SXwx9i_9:hover{background:none;border-radius:0}.cellWrapper--celYo8CM.disabled--SXwx9i_9:hover .closeIcon--kqBgSmBL{display:none}.cellItem--JZfNDEVv{height:144px;padding:10px;min-width:120px;display:flex;justify-content:space-between;align-items:center;flex-direction:column}.appLink--xxDzS__h{display:flex;width:46px;height:46px;color:#fff;justify-content:center;align-items:center;position:relative}.appLink--xxDzS__h.circle--wjMEocD_,\n .appLink--xxDzS__h.square--lOfLBD3x{background-color:rgba(255,255,255,0.1)}.appLink--xxDzS__h.circle--wjMEocD_{border-radius:40px}.appLink--xxDzS__h.square--lOfLBD3x{border-radius:10px}.appLink--xxDzS__h.installing--drkxXY1n{opacity:0.5}.addIcon--ruhiXc4_{position:absolute;font-size:25px;color:white}.circleIcon--nexpPxUz{right:-6px;bottom:5px}.squareIcon--BkpShWWs{right:-6px;bottom:5px}.appLink--xxDzS__h:hover{color:#fff}.appIcon--w9kHpYGc{width:95%}.appName--CLwLdUBP{display:block;font-size:16px;line-height:1.5;height:24px;text-align:center}.link--bllF9zn6{display:flex;justify-content:center;align-items:center}.name--gT42Hr47{flex:1;padding-left:20px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;color:white}.closeIcon--kqBgSmBL{font-size:12px;position:absolute;top:-5px;right:-3px;color:rgba(255,255,255,0.7);display:none}@media (max-height: 860px), (max-width: 1280px){.cellWrapper--celYo8CM{transform:scale(0.8)}}@media (max-height: 700px), (max-width: 1024px){.cellWrapper--celYo8CM{transform:scale(0.7)}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"cellWrapper\": `cellWrapper--celYo8CM`,\n\t\"closeIcon\": `closeIcon--kqBgSmBL`,\n\t\"disabled\": `disabled--SXwx9i_9`,\n\t\"appLink\": `appLink--xxDzS__h`,\n\t\"name\": `name--gT42Hr47`,\n\t\"cellItem\": `cellItem--JZfNDEVv`,\n\t\"circle\": `circle--wjMEocD_`,\n\t\"square\": `square--lOfLBD3x`,\n\t\"installing\": `installing--drkxXY1n`,\n\t\"addIcon\": `addIcon--ruhiXc4_`,\n\t\"circleIcon\": `circleIcon--nexpPxUz`,\n\t\"squareIcon\": `squareIcon--BkpShWWs`,\n\t\"appIcon\": `appIcon--w9kHpYGc`,\n\t\"appName\": `appName--CLwLdUBP`,\n\t\"link\": `link--bllF9zn6`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.launchpad--jiWBelji{background:rgba(36,41,51,0.93);position:fixed;top:0;bottom:0;left:0;right:0;z-index:5000;overflow:hidden;overflow-y:auto;color:#fff;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.launchpadContainer--_vrKLUwW{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.fadeEnter--lOmmReOY{opacity:0;transform:scale(0.95)}.fadeEnterActive--PRkux5Hj{opacity:1;transform:translateX(0);transition:opacity 100ms ease-out,transform 100ms ease-out}.fadeExit--egWs3z_Z{opacity:1}.fadeExitActive--Emt0ZO0f{opacity:0;transform:scale(0.95);transition:opacity 100ms ease-out,transform 100ms ease-out}.fadeExitDone--KS8Y8j_i{display:none}.loadingWrapper--a0uhMogW{display:flex;justify-content:center;align-items:center;height:100%;font-size:58px;color:var(--theme-cyan-color)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"launchpad\": `launchpad--jiWBelji`,\n\t\"launchpadContainer\": `launchpadContainer--_vrKLUwW`,\n\t\"fadeEnter\": `fadeEnter--lOmmReOY`,\n\t\"fadeEnterActive\": `fadeEnterActive--PRkux5Hj`,\n\t\"fadeExit\": `fadeExit--egWs3z_Z`,\n\t\"fadeExitActive\": `fadeExitActive--Emt0ZO0f`,\n\t\"fadeExitDone\": `fadeExitDone--KS8Y8j_i`,\n\t\"loadingWrapper\": `loadingWrapper--a0uhMogW`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.appear--fTt52aoG{opacity:0;transform:scale(1.05)}.appearActive--VTTHohOa{opacity:1;transform:translateX(0);transition:opacity 100ms ease-out,transform 100ms ease-out}.exit--xJVirpkU{opacity:1}.exitActive--JBRp0ETG{opacity:0;transform:scale(1.05);transition:opacity 100ms ease-out,transform 100ms ease-out}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"appear\": `appear--fTt52aoG`,\n\t\"appearActive\": `appearActive--VTTHohOa`,\n\t\"exit\": `exit--xJVirpkU`,\n\t\"exitActive\": `exitActive--JBRp0ETG`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.desktop--ou0P6iGf{display:grid;grid-template-columns:repeat(8,1fr)}.desktop--ou0P6iGf .cellWrapper{justify-content:flex-start}.title--waO4P2iB{color:#fff;font-size:16px;padding-bottom:6px}.visited--tdY4xwnJ{padding-bottom:24px;margin-bottom:20px;border-bottom:1px rgba(255,255,255,0.25) solid}.favorites--lfUhBPuB .ant-spin-blur{opacity:1}.favorites--lfUhBPuB .ant-spin-blur::after{opacity:0}.modeWrapper--L03hs70G{height:0}.modeWrapper--L03hs70G .header--sdla4qan{display:flex;justify-content:space-between}.modeWrapper--L03hs70G .section--zyFAea1p{padding:10px 30px 20px}.modeWrapper--L03hs70G .modeIcon--CE2TFixF{margin-left:15px;padding:3px;border-radius:50%;opacity:0.8;background:rgba(255,255,255,0.1)}.modeWrapper--L03hs70G .modeIcon--CE2TFixF:hover{opacity:1}.modeWrapper--L03hs70G .emptyTips--IvkqCJZN{font-size:16px;line-height:24px}.modeWrapper--L03hs70G .emptyTips--IvkqCJZN a{color:#52a6f9}.modeWrapper--L03hs70G .emptyTips--IvkqCJZN a:hover{color:var(--antd-link-hover-color)}.spin--wMvBU9Kg{color:#8c8c8c;width:100%;height:200px;line-height:200px;display:flex;align-items:center;justify-content:center}.settingsContainer--Z_f8juq_ a{color:#fff}.settingsContainer--Z_f8juq_ .settings--nnLSnU29{cursor:pointer;margin-right:10px;color:rgba(255,255,255,0.7);font-size:13px;transition-duration:0.8s;transition-property:transform}.settingsContainer--Z_f8juq_:hover .settings--nnLSnU29{transform:rotate(180deg)}.favoriteContainer--CjB0c4Dt{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:2.5rem 7%;gap:2.5rem 7%}@media (max-height: 860px), (max-width: 1280px){.favoriteContainer--CjB0c4Dt{gap:1.7rem 4%}}@media (max-height: 720px), (max-width: 1024px){.favoriteContainer--CjB0c4Dt{gap:1rem 3%}.visited--tdY4xwnJ{padding-bottom:18px;margin-bottom:15px}}@media (max-height: 640px), (max-width: 900px){.favoriteContainer--CjB0c4Dt{gap:0.8rem 2%}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"desktop\": `desktop--ou0P6iGf`,\n\t\"title\": `title--waO4P2iB`,\n\t\"visited\": `visited--tdY4xwnJ`,\n\t\"favorites\": `favorites--lfUhBPuB`,\n\t\"modeWrapper\": `modeWrapper--L03hs70G`,\n\t\"header\": `header--sdla4qan`,\n\t\"section\": `section--zyFAea1p`,\n\t\"modeIcon\": `modeIcon--CE2TFixF`,\n\t\"emptyTips\": `emptyTips--IvkqCJZN`,\n\t\"spin\": `spin--wMvBU9Kg`,\n\t\"settingsContainer\": `settingsContainer--Z_f8juq_`,\n\t\"settings\": `settings--nnLSnU29`,\n\t\"favoriteContainer\": `favoriteContainer--CjB0c4Dt`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.searchBar--k7ys_9bU{display:flex;justify-content:center;align-items:flex-end;height:10%}.searchBar--k7ys_9bU .inputAffixWrapper--r90ghnJb{position:relative;width:100%;min-width:0;padding:4px 11px;color:var(--antd-input-color);font-size:14px;line-height:1.5715;background-image:none;display:inline-flex;height:42px;border-radius:21px;padding-left:54px;padding-right:4px;border:2px solid rgba(255,255,255,0.1);background-color:rgba(0,0,0,0.06);transition:padding-left 150ms ease-out;box-sizing:border-box}.searchBar--k7ys_9bU .inputAffixWrapper--r90ghnJb:hover{border-color:#0071eb;border-right-width:2px!important}.searchBar--k7ys_9bU .inputAffixWrapper--r90ghnJb .antInputPrefix--vr3ceVIR{width:30px;margin-left:0;margin-right:6px;display:flex;justify-content:center;color:rgba(255,255,255,0.65);flex:none;align-items:center;box-sizing:border-box}.searchBar--k7ys_9bU .inputAffixWrapper--r90ghnJb::before{width:0;visibility:hidden;content:\"\\\\a0\"}.searchBar--k7ys_9bU.focus--rcoZCXD5 .inputAffixWrapper--r90ghnJb,\n .searchBar--k7ys_9bU .inputAffixWrapperFocused--ym85u9fT{padding-left:4px;border-color:#2893f7;border-right-width:2px!important}.inputContainer--spZyJlDc{width:300px}.input--LvcE67vF{padding:0;border:none;outline:none;color:#fff;background-color:transparent;text-overflow:ellipsis;border-radius:3px}.input--LvcE67vF::placeholder{color:rgba(255,255,255,0.25)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"searchBar\": `searchBar--k7ys_9bU`,\n\t\"inputAffixWrapper\": `inputAffixWrapper--r90ghnJb`,\n\t\"antInputPrefix\": `antInputPrefix--vr3ceVIR`,\n\t\"focus\": `focus--rcoZCXD5`,\n\t\"inputAffixWrapperFocused\": `inputAffixWrapperFocused--ym85u9fT`,\n\t\"inputContainer\": `inputContainer--spZyJlDc`,\n\t\"input\": `input--LvcE67vF`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.scrollContainer--dNX8Cn8d::-webkit-scrollbar{width:6px}.scrollContainer--dNX8Cn8d::-webkit-scrollbar-thumb{visibility:hidden;border-radius:3px;background-color:rgba(69,69,73,0.45)}.scrollContainer--dNX8Cn8d::-webkit-scrollbar-track{visibility:hidden;width:12px;background-color:rgb(140,140,140,0.2)}.scrollContainer--dNX8Cn8d:hover{background:rgba(18,21,26,0.4);box-shadow:0px 5px 10px 4px rgba(0,0,0,0.1);border-radius:6px}.scrollContainer--dNX8Cn8d:hover::-webkit-scrollbar-thumb,\n .scrollContainer--dNX8Cn8d:hover::-webkit-scrollbar-track{visibility:visible}.siteMapContainer--oPV4617W{padding-top:10px;column-count:5}.siteMapContainer--oPV4617W .groupWrapper--vg8DzjpO{margin:0 30px;page-break-inside:avoid;break-inside:avoid}.siteMapContainer--oPV4617W .groupWrapper--vg8DzjpO .group--ojLUh6U2{margin:0;padding:9px 0 58px}.siteMapContainer--oPV4617W .groupWrapper--vg8DzjpO .item--UDV8jW76{list-style-type:none;font-size:12px;padding:5px 0px}.siteMapContainer--oPV4617W .groupWrapper--vg8DzjpO .item--UDV8jW76 > eo-link{cursor:pointer;color:rgba(255,255,255,0.65)}.siteMapContainer--oPV4617W .groupWrapper--vg8DzjpO .item--UDV8jW76 > eo-link:hover{color:var(--antd-link-hover-color)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"scrollContainer\": `scrollContainer--dNX8Cn8d`,\n\t\"siteMapContainer\": `siteMapContainer--oPV4617W`,\n\t\"groupWrapper\": `groupWrapper--vg8DzjpO`,\n\t\"group\": `group--ojLUh6U2`,\n\t\"item\": `item--UDV8jW76`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","WrappedLink","wrapBrick","WrappedGeneralIcon","SearchBar","props","useTranslation","NS","focus","setFocus","React","searchInputRef","element","Promise","resolve","then","e","className","classNames","styles","searchBar","inputContainer","role","onClick","stopPropagation","inputAffixWrapper","inputAffixWrapperFocused","antInputPrefix","icon","lib","theme","input","placeholder","t","K","SEARCH_BY_NAME_KEYWORD","onChange","target","value","onKeyDown","key","keyCode","which","includes","preventDefault","onFocus","handleFocus","onBlur","handleBlur","ref","getImageUrl","app","defaultAppIcon","_window$PUBLIC_ROOT","icons","large","test","concat","window","STANDALONE_MICRO_APPS","standaloneMode","PUBLIC_ROOT","replace","id","currentVersion","PUBLIC_CDN","DesktopApp","_ref","onAddClick","isFavorite","showAddIcon","size","installing","installStatus","appLink","iconBackground","circle","square","url","homepage","appIcon","src","addIcon","circleIcon","squareIcon","appName","style","paddingRight","localeName","DesktopDirContext","useDesktopDirContext","DesktopDir","setDesktopDir","dirLink","dir","name","items","coordinates","x","clientX","y","clientY","activeIndex","slice","map","item","type","dirName","DesktopCustom","responsive","href","launchpadService","constructor","_auth$getAuth","_this","_defineProperty","auth","getAuth","org","settings","columns","rows","microApps","desktops","siteSort","_asyncToGenerator","result","LaunchpadApi_listCollection","page","pageSize","interceptorParams","ignoreLoadingBar","noAbortOnRouteChange","list","setFavorites","favoritesLoaded","launchpadInfo","LaunchpadApi_getLaunchpadInfo","_loop","storyboard","locales","ns","Object","entries","forEach","_ref3","lang","resources","i18n","addResourceBundle","getFixedT","keys","removeResourceBundle","storyboards","baseInfo","_objectSpread","launchpad","filter","Boolean","initValue","loaded","this","storage","JsonStorage","localStorage","deferredLaunchpadInfo","DeferredService","doFetchLaunchpadInfo","deferredFavorites","doFetchFavorites","init","runtime","getRuntime","getDesktops","getCurrentApp","getLaunchpadSettings","getLaunchpadSiteMap","customList","desktop","i","flat","status","setMicroApps","setMaxVisitorLength","maxVisitorLength","preFetchFavorites","schedulePrefetch","fetchFavoriteList","eager","_this2","fetch","favoriteList","preFetchLaunchpadInfo","fetchLaunchpadInfo","getBaseInfo","getFavoritesLength","length","typeAdaptor","_list$filter","filteredFavoriteList","v","_v$launchpadCollectio","launchpadCollection","syncValidRecentlyVisitor","getAllVisitors","some","f","setAllVisitors","setAsFavorite","params","LaunchpadApi_createCollection","deleteFavorite","LaunchpadApi_deleteCollection","microAppId","customItemId","getItem","storageKey","find","getItemIndex","findIndex","hasItem","setItem","visitors","index","splice","unshift","pop","pushVisitor","getVisitor","getRealDesktopItem","_item$launchpadCollec","custom","setFavoriteAsVisitor","_item$launchpadCollec2","data","getSitemapList","curMicroApps","internal","siteMapList","apps","row","pick","DesktopCell","addItemToFavorite","Dialog","show","title","content","contentStyle","zIndex","_props$onSetAsFavorit","onSetAsFavorite","call","apply","arguments","cellWrapper","positionLeft","position","cellItem","active","handleAppClick","handleCustomClick","LaunchpadSettingsContext","useLaunchpadSettingsContext","Desktop","padding","arrowWidthPercent","desktopCount","gridTemplateColumns","gridTemplateRows","FavoriteDesktopCell","_omit","_item$launchpadCollec10","_item$launchpadCollec11","disabled","useMemo","realLink","_item$launchpadCollec7","_item$launchpadCollec8","_item$launchpadCollec9","link","baseUrl","document","baseURI","startsWith","_item$launchpadCollec4","_item$launchpadCollec5","_item$launchpadCollec6","_item$launchpadCollec3","open","_extends","omit","fontSize","LeacySiteMap","_props$categoryList","useEffect","_props$onLoad","onLoad","scrollContainer","containerStyle","onWheel","siteMapContainer","categoryList","_item$apps","groupWrapper","group","handleClick","SiteMap","forwardRef","ModeType","remberMode","Sitemap","MyDesktop","recentlyVisitedList","useState","setFavoriteList","isLoading","setIsLoading","mode","setMode","siteMapRef","createRef","deskContainerRef","useRef","siteMapHeight","setSiteMapHeight","getFavoriteList","_x","handleMode","handleOnSetAsFavorite","handleSiteMapLoad","siteMap","current","deskContainer","siteMapDom","getBoundingClientRect","bottom","top","renderRecentlyVisited","visited","renderMyFavorites","section","favorites","spin","spinning","isEmpty","emptyTips","marginLeft","favoriteContainer","renderSiteMap","_launchpadService$get","height","overflow","flex","modeWrapper","header","Favorities","modeIcon","category","settingsContainer","rememberedDesktopCursor","DesktopSlider","desktopCursor","setDesktopCursor","appCursor","setAppCursor","mapItemToDesktop","transformCustomItem","validItems","id2app","reduce","acc","set","Map","has","get","push","delete","chunk","filteredDesktop","q","lowerQ","toLowerCase","lockRef","throttledSetDesktopCursor","setTimeout","slideLeft","slideRight","onKeydown","event","currentDesktop","cell","getHistory","Math","floor","innerWidth","innerHeight","offset","next","addEventListener","removeEventListener","deltaXRef","deltaYRef","responsibleRef","resetDeltaTimeoutRef","sliderChildrenLength","deltaX","deltaY","tryToSlideByWheel","axisRef","abs","threshold","clearTimeout","desktopSlider","filtered","desktopSelector","selectorSeparator","desktopName","handleSlideTo","desktopList","width","transition","filteredList","arrowLeft","available","arrowButton","arrowRight","DesktopDirContent","entering","setEntering","translateX","documentElement","clientWidth","translateY","clientHeight","rowsInDir","ceil","CSSTransition","in","timeout","appear","onEntering","handleEntering","dirContainer","transform","dirContent","WrappedIcon","Launchpad","getFilterMicroApps","setQ","desktopDir","loading","setLoading","startFetchLaunchpadInfo","error","_props$onWillClose","onWillClose","handleHttpError","_props$onWillClose2","Provider","loadingWrapper","enter","fadeEnter","enterActive","fadeEnterActive","exit","fadeExit","exitActive","fadeExitActive","exitDone","fadeExitDone","launchpadContainer","LaunchpadWrapper","fadeIn","setFadeIn","onExited","_props$onClose","onClose","handleWillClose","LaunchpadPortal","elem","createElement","body","appendChild","removeChild","visible","createPortal","LaunchpadButton","setVisible","handleLaunchpadWillClose","useCallback","toggleLaunchpadEffect","listen","hotkeys","preVisble","curVisble","unbind","openLaunchpad","LaunchpadSvg","handleLaunchpadClose","en","zh","xmlns","viewBox","fill","fillRule","d","___CSS_LOADER_EXPORT___","module","toString"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[6653],{8498:(e,r,t)=>{t.r(r),t.d(r,{enqueueStableLoadBricks:()=>y,enqueueStableLoadProcessors:()=>m,flushStableLoadBricks:()=>h,loadBricksImperatively:()=>w,loadProcessorsImperatively:()=>b,loadScript:()=>o,loadSharedModule:()=>u,loadStyle:()=>s});var n=t(3028),a=new Map;function i(e,r,t,o){if(Array.isArray(r))return Promise.all(r.map((r=>i(e,r,t))));var s=t&&!/^https?:/.test(r)?"".concat(t).concat(r):r,c=a.get(s);if(c)return c;var l=new Promise(((r,t)=>{var a=()=>{window.dispatchEvent(new Event("request.end"))},i=document.createElement("style"===e?"link":"script");"script"===e?Object.assign(i,(0,n.Z)((0,n.Z)({type:"text/javascript",async:!0},o),{},{src:s})):Object.assign(i,(0,n.Z)((0,n.Z)({rel:"stylesheet"},o),{},{href:s})),i.onload=()=>{r(s),a()},i.onerror=e=>{t(e),a()};var c=document.currentScript||document.getElementsByTagName("script")[0];c.parentNode.insertBefore(i,c),window.dispatchEvent(new Event("request.start"))}));return a.set(s,l),l}function o(e,r,t){return i("script",e,r,t)}function s(e,r,t){return i("style",e,r,t)}var c,l=t(4795);function u(e,r){return f.apply(this,arguments)}function f(){return(f=(0,l.Z)((function*(e,r){yield t.I("default");var n=window[e];return yield n.init(t.S.default),(yield n.get(r))()}))).apply(this,arguments)}var p,d=!1,v=new Promise((e=>{c=e}));function h(){d||c()}function y(e,r){return B(_("bricks",e,r))}function m(e,r){return B(_("processors",e,r))}function w(e,r){return k.apply(this,arguments)}function k(){return(k=(0,l.Z)((function*(e,r){var t=_("bricks",e,r);return h(),B(t)}))).apply(this,arguments)}function b(e,r){var t=_("processors",e,r);return h(),B(t)}var P="v2-adapter.load-bricks";function g(e,r,t){var n=new Map,a=new Set,i=r=>{var o;if(!a.has(r)){var s,c,l;if(a.add(r),"processors"===e||r.includes(".")){[c,l]=r.split(".");var u="bricks/".concat("processors"===e?c.replace(/[A-Z]/g,(e=>"-".concat(e[0].toLocaleLowerCase()))).replace(/_[0-9]/g,(e=>"-".concat(e[1]))):c);s=t.get(u)}else{var f;for(var p of(l=r,t.values())){var d;if(null!==(d=p.elements)&&void 0!==d&&d.some((e=>e===l))){var v;if(null===(v=p.deprecatedElements)||void 0===v||!v.includes(r)){s=p;break}f=p}}!s&&f&&(s=f)}if(s){var h=n.get(s);h||(h=[],n.set(s,h)),h.push({fullName:r,lastName:l});var y=null===(o=s.dependencies)||void 0===o?void 0:o[r];if(y)for(var m of y)i(m)}else console.error("Package for ".concat(r," not found."))}};for(var o of r)i(o);return n}function E(e,r,t){return Z.apply(this,arguments)}function Z(){return(Z=(0,l.Z)((function*(e,r,t){var n="".concat("processors"===e?"./processors/":"./").concat(t.lastName);try{yield u(r,n)}catch(r){throw console.error(r),new Error("Load ".concat(e,' of "').concat(t.fullName,'" failed'))}}))).apply(this,arguments)}function S(e,r,t){return r.map(function(){var r=(0,l.Z)((function*(r){var n;return yield o(r.filePath,null!==(n=window.PUBLIC_ROOT)&&void 0!==n?n:""),yield v,Promise.all(t.get(r).map((t=>E(e,r.id,t))))}));return function(e){return r.apply(this,arguments)}}())}function _(e,r,t){return L.apply(this,arguments)}function L(){return L=(0,l.Z)((function*(e,r,t){var n=new Map;for(var a of t){var i,s=null!==(i=a.id)&&void 0!==i?i:q(a.filePath);n.set(s,a)}var u,f,v=g(e,r,n),h=[],y=[];for(var m of v.keys())if(m.id)"bricks/basic"===m.id?u=m:y.push(m);else if(h.push(m),!(f=n.get("bricks/v2-adapter")))throw new Error("Using v2 bricks, but v2-adapter not found");var w,k=f,b=u;if(b){var Z,_=o(b.filePath,null!==(Z=window.PUBLIC_ROOT)&&void 0!==Z?Z:"");d||(d=!0,_.then((()=>Promise.resolve())).then(c)),w=_.then((()=>Promise.all(v.get(b).map((r=>E(e,b.id,r))))))}var L=[w].concat(S(e,y,v));if(k&&h.length>0){if(!p){var B=g("bricks",[P],n),N=[...B.keys()],O=function(){var e=(0,l.Z)((function*(){return yield Promise.all(S("bricks",N,B)),document.createElement(P)}));return function(){return e.apply(this,arguments)}}();p=O()}L.push(p.then((r=>Promise.all(h.map((n=>{var a=q(n.filePath).split("/")[1];return r.resolve(k.filePath,n.filePath,"bricks"===e?v.get(n).map((e=>"".concat(a,".").concat(e.lastName))):[],n.dll,t)}))))))}yield Promise.all(L)})),L.apply(this,arguments)}function B(e){return N.apply(this,arguments)}function N(){return(N=(0,l.Z)((function*(e){window.dispatchEvent(new Event("request.start"));try{yield e}finally{window.dispatchEvent(new Event("request.end"))}}))).apply(this,arguments)}function q(e){return e.split("/").slice(0,2).join("/")}}}]);
|
|
2
|
-
//# sourceMappingURL=6653.2517488a.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_nav=self.webpackChunk_next_bricks_nav||[]).push([[7067,5850,1303,9407],{4795:(t,r,e)=>{function n(t,r,e,n,o,s,a){try{var i=t[s](a),c=i.value}catch(t){return void e(t)}i.done?r(c):Promise.resolve(c).then(n,o)}function o(t){return function(){var r=this,e=arguments;return new Promise((function(o,s){var a=t.apply(r,e);function i(t){n(a,o,s,i,c,"next",t)}function c(t){n(a,o,s,i,c,"throw",t)}i(void 0)}))}}e.d(r,{Z:()=>o})},5863:(t,r,e)=>{function n(t,r){if(r.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}e.d(r,{Z:()=>n})},6744:(t,r,e)=>{function n(t,r,e){if(!r.has(t))throw new TypeError("attempted to "+e+" private field on non-instance");return r.get(t)}e.d(r,{Z:()=>n})},687:(t,r,e)=>{e.d(r,{Z:()=>o});var n=e(6744);function o(t,r){return function(t,r){return r.get?r.get.call(t):r.value}(t,(0,n.Z)(t,r,"get"))}},3395:(t,r,e)=>{e.d(r,{Z:()=>o});var n=e(5863);function o(t,r,e){(0,n.Z)(t,r),r.set(t,e)}},381:(t,r,e)=>{e.d(r,{Z:()=>o});var n=e(6744);function o(t,r,e){return function(t,r,e){if(r.set)r.set.call(t,e);else{if(!r.writable)throw new TypeError("attempted to set read only private field");r.value=e}}(t,(0,n.Z)(t,r,"set"),e),e}},6171:(t,r,e)=>{function n(t,r,e){if(!r.has(t))throw new TypeError("attempted to get private field on non-instance");return e}e.d(r,{Z:()=>n})},5866:(t,r,e)=>{e.d(r,{Z:()=>o});var n=e(5863);function o(t,r){(0,n.Z)(t,r),r.add(t)}},6666:(t,r,e)=>{e.d(r,{Z:()=>o});var n=e(5850);function o(t,r,e){return(r=(0,n.Z)(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}},3028:(t,r,e)=>{e.d(r,{Z:()=>s});var n=e(6666);function o(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function s(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?o(Object(e),!0).forEach((function(r){(0,n.Z)(t,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):o(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}))}return t}},9740:(t,r,e)=>{e.d(r,{Z:()=>o});var n=e(1461);function o(t,r){if(null==t)return{};var e,o,s=(0,n.Z)(t,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o<a.length;o++)e=a[o],r.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(s[e]=t[e])}return s}},1461:(t,r,e)=>{function n(t,r){if(null==t)return{};var e,n,o={},s=Object.keys(t);for(n=0;n<s.length;n++)e=s[n],r.indexOf(e)>=0||(o[e]=t[e]);return o}e.d(r,{Z:()=>n})},5850:(t,r,e)=>{e.d(r,{Z:()=>o});var n=e(6522);function o(t){var r=function(t,r){if("object"!=(0,n.Z)(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var o=e.call(t,"string");if("object"!=(0,n.Z)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==(0,n.Z)(r)?r:String(r)}},6522:(t,r,e)=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}e.d(r,{Z:()=>n})},7067:(t,r,e)=>{e.r(r),e.d(r,{HttpAbortError:()=>G,HttpFetchError:()=>J,HttpParseError:()=>B,HttpResponseError:()=>L,createHttpInstance:()=>z,defaultAdapter:()=>K,fetch:()=>U,http:()=>N,isHttpAbortError:()=>M});var n={};e.r(n),e.d(n,{HttpAbortError:()=>m,HttpFetchError:()=>f,HttpParseError:()=>b,HttpResponseError:()=>v,createHttpInstance:()=>I,defaultAdapter:()=>A,fetch:()=>o,getUrlWithParams:()=>S,http:()=>q,isHttpAbortError:()=>T});var o=(t,r)=>{var e=new Request(t,Object.assign({credentials:"same-origin"},r));return self.fetch(e)},s=e(5866),a=e(3395),i=e(6666),c=e(687),u=e(6171),p=e(381),l=e(3028),h=e(9740),d=e(4795);class f extends Error{constructor(t){super(t),this.name="HttpFetchError",Error.captureStackTrace&&Error.captureStackTrace(this,f)}}class v extends Error{constructor(t,r){super(t.statusText),(0,i.Z)(this,"response",void 0),(0,i.Z)(this,"responseJson",void 0),this.name="HttpResponseError",Error.captureStackTrace&&Error.captureStackTrace(this,v),this.response=t,this.responseJson=r}}class b extends Error{constructor(t){super(t.statusText),(0,i.Z)(this,"response",void 0),this.name="HttpParseError",Error.captureStackTrace&&Error.captureStackTrace(this,b),this.response=t}}class m extends Error{constructor(t){super(t),this.name="HttpAbortError"}}class y{constructor(){(0,i.Z)(this,"handlers",[])}use(t,r){return this.handlers.push({fulfilled:t,rejected:r}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}forEach(t){this.handlers.forEach((r=>{null!==r&&t(r)}))}}var E=["params","responseType","interceptorParams","observe","noAbortOnRouteChange","useCache"],Z=["params","headers","responseType","interceptorParams","observe","noAbortOnRouteChange","useCache"],w=["body","method"];function g(t){return null==t}var O=document.querySelector("base"),P=O?O.href:location.origin+"/",T=t=>t instanceof DOMException&&20===t.code,j=function(){var t=(0,d.Z)((function*(t,r,e){return new Promise(function(){var n=(0,d.Z)((function*(n,s){var a;e.url=t;var{responseType:i}=e.options||{};i||(i="json");try{a=yield o(t,r)}catch(t){return void s(T(t)?new m(t.toString()):new f(t.toString()))}if(a.ok){var c;try{c=yield a[i]()}catch(t){return void s(T(t)?new m(t.toString()):new b(a))}n({status:a.status,statusText:a.statusText,headers:a.headers,data:c})}else{var u;try{u=yield a.json()}catch(t){}s(new v(a,u))}}));return function(t,r){return n.apply(this,arguments)}}())}));return function(r,e,n){return t.apply(this,arguments)}}(),S=(t,r)=>{if(r){var e=new URL(t,P);r instanceof URLSearchParams?r.forEach((function(t,r){e.searchParams.append(r,t)})):Object.entries(r).forEach((t=>{var[r,n]=t;Array.isArray(n)?n.forEach((t=>{e.searchParams.append(r,g(t)?"":t)})):e.searchParams.append(r,g(n)?"":n)}));var{href:n}=e;return n.startsWith(P)?n.substr(P.length):n}return t},H=(t,r)=>{if(void 0!==t){var e=new Headers(r||{}),n="Content-Type",o=t;return e.has(n)||("string"==typeof t?e.set(n,"application/x-www-form-urlencoded"):t instanceof FormData||(e.set(n,"application/json"),o=JSON.stringify(t))),{body:o,headers:e}}return{headers:r}},A=t=>{var{url:r,method:e,data:n}=t;return["DELETE","GET","HEAD"].includes(t.method)?((t,r,e)=>{var n=e.options||{},{params:o,responseType:s,interceptorParams:a,observe:i,noAbortOnRouteChange:c,useCache:u}=n,p=(0,h.Z)(n,E);return j(S(r,o),(0,l.Z)((0,l.Z)({},p),{},{method:t}),e)})(e,r,t):((t,r,e,n)=>{var o=n.options||{},{params:s,headers:a,responseType:i,interceptorParams:c,observe:u,noAbortOnRouteChange:p,useCache:d}=o,f=(0,h.Z)(o,Z);return j(S(r,s),(0,l.Z)((0,l.Z)({},f),{},{method:t},H(e,a)),n)})(e,r,n,t)},k=new WeakMap,x=new WeakSet;class C{constructor(t){var r=this;(0,s.Z)(this,x),(0,i.Z)(this,"interceptors",void 0),(0,a.Z)(this,k,{writable:!0,value:A}),(0,i.Z)(this,"request",function(){var t=(0,d.Z)((function*(t,e,n){var o=e||{},{body:s,method:a}=o,i=(0,h.Z)(o,w);return(0,u.Z)(r,x,R).call(r,{url:t,data:s,method:a||"GET",options:(0,l.Z)((0,l.Z)({},n||{}),i)})}));return function(r,e,n){return t.apply(this,arguments)}}()),(0,i.Z)(this,"simpleRequest",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,u.Z)(r,x,R).call(r,{url:e,method:t,options:n})})),(0,i.Z)(this,"requestWithBody",(function(t,e,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return(0,u.Z)(r,x,R).call(r,{url:e,method:t,data:n,options:o})})),this.interceptors={request:new y,response:new y},null!=t&&t.adapter&&(0,p.Z)(this,k,t.adapter)}getUrlWithParams(t,r){return S(t,r)}getBodyAndHeaders(t,r){return H(t,r)}get(t,r){return(0,u.Z)(this,x,R).call(this,{url:t,method:"GET",options:r})}delete(t,r){return(0,u.Z)(this,x,R).call(this,{url:t,method:"DELETE",options:r})}head(t,r){return(0,u.Z)(this,x,R).call(this,{url:t,method:"HEAD",options:r})}post(t,r,e){return(0,u.Z)(this,x,R).call(this,{url:t,method:"POST",data:r,options:e})}put(t,r,e){return(0,u.Z)(this,x,R).call(this,{url:t,method:"PUT",data:r,options:e})}patch(t,r,e){return(0,u.Z)(this,x,R).call(this,{url:t,method:"PATCH",data:r,options:e})}}function R(t){var r=[],e=Promise.resolve(t);for(this.interceptors.request.forEach((t=>{r.push(t.fulfilled,t.rejected)})),r.push((t=>(0,c.Z)(this,k).call(this,t)),void 0),this.interceptors.response.forEach((e=>{r.push((r=>{var n;return null===(n=e.fulfilled)||void 0===n?void 0:n.call(e,r,t)}),(r=>{var n;return null===(n=e.rejected)||void 0===n?void 0:n.call(e,r,t)}))})),r.push((r=>{var e;return"response"===(null===(e=t.options)||void 0===e?void 0:e.observe)?r:r.data}),void 0);r.length;)e=e.then(r.shift(),r.shift());return e}var D,W,_,q=new C;function I(t){q=new C(t)}var{dll:F}=window;W=F&&null!==(D=window.BRICK_NEXT_VERSIONS)&&void 0!==D&&null!==(D=D["brick-container"])&&void 0!==D&&D.startsWith("2.")&&(_=F("JxWY"))?_:n;var{fetch:U,HttpFetchError:J,HttpResponseError:L,HttpParseError:B,HttpAbortError:G,http:N,isHttpAbortError:M,createHttpInstance:z,defaultAdapter:K}=W}}]);
|
|
2
|
-
//# sourceMappingURL=7067.c9943271.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7067.c9943271.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/@next-core/http/dist/esm/fetch.js","webpack:///../../node_modules/@next-core/http/dist/esm/errors.js","webpack:///../../node_modules/@next-core/http/dist/esm/InterceptorManager.js","webpack:///../../node_modules/@next-core/http/dist/esm/http.js","webpack:///../../node_modules/@next-core/http/dist/esm/index.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}","export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return fn;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export var fetch = (input, init) => {\n // Support older browsers which default credentials is \"omit\".\n // Ref https://github.com/whatwg/fetch/pull/585\n var req = new Request(input, Object.assign({\n credentials: \"same-origin\"\n }, init));\n return self.fetch(req);\n};\n//# sourceMappingURL=fetch.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport class HttpFetchError extends Error {\n constructor(message) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n this.name = \"HttpFetchError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpFetchError);\n }\n }\n}\nexport class HttpResponseError extends Error {\n constructor(response, responseJson) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(response.statusText);\n _defineProperty(this, \"response\", void 0);\n _defineProperty(this, \"responseJson\", void 0);\n this.name = \"HttpResponseError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpResponseError);\n }\n this.response = response;\n this.responseJson = responseJson;\n }\n}\nexport class HttpParseError extends Error {\n constructor(response) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(response.statusText);\n _defineProperty(this, \"response\", void 0);\n this.name = \"HttpParseError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpParseError);\n }\n this.response = response;\n }\n}\nexport class HttpAbortError extends Error {\n constructor(message) {\n super(message);\n this.name = \"HttpAbortError\";\n }\n}\n//# sourceMappingURL=errors.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport default class InterceptorManager {\n constructor() {\n _defineProperty(this, \"handlers\", []);\n }\n use(onFulfilled, onRejected) {\n this.handlers.push({\n fulfilled: onFulfilled,\n rejected: onRejected\n });\n return this.handlers.length - 1;\n }\n eject(id) {\n // istanbul ignore else\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n forEach(fn) {\n this.handlers.forEach(handler => {\n // istanbul ignore else\n if (handler !== null) {\n fn(handler);\n }\n });\n }\n}\n//# sourceMappingURL=InterceptorManager.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet\";\nimport _classPrivateMethodGet from \"@babel/runtime/helpers/classPrivateMethodGet\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _excluded = [\"params\", \"responseType\", \"interceptorParams\", \"observe\", \"noAbortOnRouteChange\", \"useCache\"],\n _excluded2 = [\"params\", \"headers\", \"responseType\", \"interceptorParams\", \"observe\", \"noAbortOnRouteChange\", \"useCache\"],\n _excluded3 = [\"body\", \"method\"];\nimport { fetch } from \"./fetch.js\";\nimport { HttpAbortError, HttpFetchError, HttpParseError, HttpResponseError } from \"./errors.js\";\nimport InterceptorManager from \"./InterceptorManager.js\";\nfunction isNil(value) {\n return value === undefined || value === null;\n}\nvar base = document.querySelector(\"base\");\nvar fullBaseHref = base ? base.href : location.origin + \"/\";\n/**\n * Detect whether the input is a native browser abort error.\n *\n * @ref https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n */\nexport var isHttpAbortError = error => error instanceof DOMException && error.code === 20;\nvar request = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (url, init, config) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (resolve, reject) {\n var response;\n config.url = url;\n var {\n responseType\n } = config.options || {};\n if (!responseType) {\n // Defaults to `json`\n responseType = \"json\";\n }\n try {\n response = yield fetch(url, init);\n } catch (e) {\n reject(isHttpAbortError(e) ? new HttpAbortError(e.toString()) : new HttpFetchError(e.toString()));\n return;\n }\n if (!response.ok) {\n var responseJson;\n try {\n responseJson = yield response.json();\n } catch (e) {\n // Do nothing.\n }\n reject(new HttpResponseError(response, responseJson));\n return;\n }\n var data;\n try {\n data = yield response[responseType]();\n } catch (e) {\n reject(isHttpAbortError(e) ? new HttpAbortError(e.toString()) : new HttpParseError(response));\n return;\n }\n var res = {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n data\n };\n resolve(res);\n });\n return function (_x4, _x5) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n return function request(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\nexport var getUrlWithParams = (url, params) => {\n if (params) {\n var parsedUrl = new URL(url, fullBaseHref);\n if (params instanceof URLSearchParams) {\n params.forEach(function (value, key) {\n parsedUrl.searchParams.append(key, value);\n });\n } else {\n Object.entries(params).forEach(_ref3 => {\n var [key, value] = _ref3;\n if (Array.isArray(value)) {\n value.forEach(v => {\n parsedUrl.searchParams.append(key, isNil(v) ? \"\" : v);\n });\n } else {\n parsedUrl.searchParams.append(key, isNil(value) ? \"\" : value);\n }\n });\n }\n var {\n href\n } = parsedUrl;\n if (href.startsWith(fullBaseHref)) {\n return href.substr(fullBaseHref.length);\n }\n return href;\n }\n return url;\n};\nvar getBodyAndHeaders = (data, headers) => {\n if (data !== undefined) {\n // `new Headers(undefined)` will throw a TypeError in older browsers (chrome 58).\n // https://bugs.chromium.org/p/chromium/issues/detail?id=335871\n var parsedHeaders = new Headers(headers || {});\n var contentTypeHeader = \"Content-Type\";\n var body = data;\n // If `Content-Type` already provided, ignore detecting content type.\n if (!parsedHeaders.has(contentTypeHeader)) {\n if (typeof data === \"string\") {\n parsedHeaders.set(contentTypeHeader, \"application/x-www-form-urlencoded\");\n } else if (data instanceof FormData) {\n // Do nothing\n } else {\n parsedHeaders.set(contentTypeHeader, \"application/json\");\n body = JSON.stringify(data);\n }\n }\n return {\n body,\n headers: parsedHeaders\n };\n }\n return {\n headers\n };\n};\nvar simpleRequest = (method, url, config) => {\n var _ref4 = config.options || {},\n {\n params,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n responseType,\n interceptorParams,\n observe,\n noAbortOnRouteChange,\n useCache\n /* eslint-enable @typescript-eslint/no-unused-vars */\n } = _ref4,\n requestInit = _objectWithoutProperties(_ref4, _excluded);\n return request(getUrlWithParams(url, params), _objectSpread(_objectSpread({}, requestInit), {}, {\n method\n }), config);\n};\nvar requestWithBody = (method, url, data, config) => {\n var _ref5 = config.options || {},\n {\n params,\n headers,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n responseType,\n interceptorParams,\n observe,\n noAbortOnRouteChange,\n useCache\n /* eslint-enable @typescript-eslint/no-unused-vars */\n } = _ref5,\n requestInit = _objectWithoutProperties(_ref5, _excluded2);\n return request(getUrlWithParams(url, params), _objectSpread(_objectSpread({}, requestInit), {}, {\n method\n }, getBodyAndHeaders(data, headers)), config);\n};\nvar defaultAdapter = config => {\n var {\n url,\n method,\n data\n } = config;\n\n // \"DELETE\", \"GET\", \"HEAD\" methods.\n if ([\"DELETE\", \"GET\", \"HEAD\"].includes(config.method)) {\n return simpleRequest(method, url, config);\n }\n\n // \"POST\", \"PUT\" , \"PATCH\" methods.\n return requestWithBody(method, url, data, config);\n};\nvar _adapter = /*#__PURE__*/new WeakMap();\nvar _fetch = /*#__PURE__*/new WeakSet();\nclass Http {\n constructor(_config) {\n var _this = this;\n _classPrivateMethodInitSpec(this, _fetch);\n _defineProperty(this, \"interceptors\", void 0);\n _classPrivateFieldInitSpec(this, _adapter, {\n writable: true,\n value: defaultAdapter\n });\n _defineProperty(this, \"request\", /*#__PURE__*/function () {\n var _ref6 = _asyncToGenerator(function* (url, init, options) {\n var _ref7 = init || {},\n {\n body,\n method\n } = _ref7,\n requestInit = _objectWithoutProperties(_ref7, _excluded3);\n return _classPrivateMethodGet(_this, _fetch, _fetch2).call(_this, {\n url,\n data: body,\n method: method || \"GET\",\n options: _objectSpread(_objectSpread({}, options || {}), requestInit)\n });\n });\n return function (_x6, _x7, _x8) {\n return _ref6.apply(this, arguments);\n };\n }());\n _defineProperty(this, \"simpleRequest\", function (method, url) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return _classPrivateMethodGet(_this, _fetch, _fetch2).call(_this, {\n url,\n method,\n options\n });\n });\n _defineProperty(this, \"requestWithBody\", function (method, url, data) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return _classPrivateMethodGet(_this, _fetch, _fetch2).call(_this, {\n url,\n method,\n data,\n options\n });\n });\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n if (_config !== null && _config !== void 0 && _config.adapter) {\n _classPrivateFieldSet(this, _adapter, _config.adapter);\n }\n }\n getUrlWithParams(url, params) {\n return getUrlWithParams(url, params);\n }\n getBodyAndHeaders(data, headers) {\n return getBodyAndHeaders(data, headers);\n }\n get(url, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"GET\",\n options\n });\n }\n delete(url, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"DELETE\",\n options\n });\n }\n head(url, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"HEAD\",\n options\n });\n }\n post(url, data, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"POST\",\n data,\n options\n });\n }\n put(url, data, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"PUT\",\n data,\n options\n });\n }\n patch(url, data, options) {\n return _classPrivateMethodGet(this, _fetch, _fetch2).call(this, {\n url,\n method: \"PATCH\",\n data,\n options\n });\n }\n}\nfunction _fetch2(config) {\n var chain = [];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(interceptor => {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n chain.push(config => _classPrivateFieldGet(this, _adapter).call(this, config), undefined);\n this.interceptors.response.forEach(interceptor => {\n chain.push(res => {\n var _interceptor$fulfille;\n return (_interceptor$fulfille = interceptor.fulfilled) === null || _interceptor$fulfille === void 0 ? void 0 : _interceptor$fulfille.call(interceptor, res, config);\n }, error => {\n var _interceptor$rejected;\n return (_interceptor$rejected = interceptor.rejected) === null || _interceptor$rejected === void 0 ? void 0 : _interceptor$rejected.call(interceptor, error, config);\n });\n });\n chain.push(response => {\n var _config$options;\n return ((_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.observe) === \"response\" ? response : response.data;\n }, undefined);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n return promise;\n}\nvar http = new Http();\nfunction createHttpInstance(config) {\n http = new Http(config);\n}\nexport { http, createHttpInstance, defaultAdapter };\n//# sourceMappingURL=http.js.map","var _window$BRICK_NEXT_VE;\n// istanbul ignore file\n// Make v3 bricks compatible with Brick Next v2.\nimport * as HttpModuleV3 from \"./exports.js\";\nvar HttpModule;\nvar HttpModuleV2;\nvar {\n dll\n} = window;\nif (dll && (_window$BRICK_NEXT_VE = window.BRICK_NEXT_VERSIONS) !== null && _window$BRICK_NEXT_VE !== void 0 && (_window$BRICK_NEXT_VE = _window$BRICK_NEXT_VE[\"brick-container\"]) !== null && _window$BRICK_NEXT_VE !== void 0 && _window$BRICK_NEXT_VE.startsWith(\"2.\") && (HttpModuleV2 = dll(\"JxWY\"))) {\n HttpModule = HttpModuleV2;\n} else {\n HttpModule = HttpModuleV3;\n}\nvar {\n fetch,\n HttpFetchError,\n HttpResponseError,\n HttpParseError,\n HttpAbortError,\n http,\n isHttpAbortError,\n createHttpInstance,\n defaultAdapter\n} = HttpModule;\nexport { fetch, HttpFetchError, HttpResponseError, HttpParseError, HttpAbortError, http, isHttpAbortError, createHttpInstance, defaultAdapter };\n//# sourceMappingURL=index.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_checkPrivateRedeclaration","obj","privateCollection","has","TypeError","_classExtractFieldDescriptor","receiver","privateMap","action","get","_classPrivateFieldGet","descriptor","call","classExtractFieldDescriptor","_classPrivateFieldInitSpec","set","_classPrivateFieldSet","writable","_classPrivateMethodGet","privateSet","_classPrivateMethodInitSpec","add","_defineProperty","Object","defineProperty","enumerable","configurable","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","push","_objectSpread2","length","forEach","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","source","excluded","i","target","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","_objectWithoutPropertiesLoose","sourceKeys","toPropertyKey","Symbol","toPrimitive","String","_typeof","iterator","constructor","fetch","input","init","req","Request","assign","credentials","HttpFetchError","Error","message","super","name","captureStackTrace","HttpResponseError","response","responseJson","statusText","HttpParseError","HttpAbortError","InterceptorManager","use","onFulfilled","onRejected","handlers","fulfilled","rejected","eject","id","handler","_excluded","_excluded2","_excluded3","isNil","base","document","querySelector","fullBaseHref","href","location","origin","isHttpAbortError","DOMException","code","request","_ref","url","config","_ref2","responseType","options","toString","ok","data","status","headers","json","_x4","_x5","_x","_x2","_x3","getUrlWithParams","params","parsedUrl","URL","URLSearchParams","searchParams","append","entries","_ref3","Array","isArray","v","startsWith","substr","getBodyAndHeaders","parsedHeaders","Headers","contentTypeHeader","body","FormData","JSON","stringify","defaultAdapter","method","includes","_ref4","interceptorParams","observe","noAbortOnRouteChange","useCache","requestInit","simpleRequest","_ref5","requestWithBody","_adapter","WeakMap","_fetch","WeakSet","Http","_config","_this","_ref6","_ref7","_fetch2","_x6","_x7","_x8","interceptors","adapter","delete","head","post","put","patch","chain","promise","interceptor","res","_interceptor$fulfille","_interceptor$rejected","_config$options","shift","_window$BRICK_NEXT_VE","HttpModule","HttpModuleV2","http","createHttpInstance","dll","window","BRICK_NEXT_VERSIONS"],"sourceRoot":""}
|