@hot-updater/console 1.0.0-rc.2 → 1.0.0-rc.21
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/.output/nitro.json +1 -1
- package/.output/public/assets/ConsoleFeatureUnavailable-D0LPL1Gy.js +1 -0
- package/.output/public/assets/HashValueDisplay-BmuB4FW-.js +1 -0
- package/.output/public/assets/InsightsInfo--v4SC07c.js +1 -0
- package/.output/public/assets/InsightsPageHeader-dU83CAQY.js +1 -0
- package/.output/public/assets/NotFoundPage-B5mhGG2a.js +1 -0
- package/.output/public/assets/api-D-vOVlQ4.js +1 -0
- package/.output/public/assets/api-keys-Csh8ARKU.js +1 -0
- package/.output/public/assets/api-keys-OMPUoA_A.js +1 -0
- package/.output/public/assets/arrow-left-Bwq9X1eS.js +1 -0
- package/.output/public/assets/arrow-up-right-BkOVn4if.js +1 -0
- package/.output/public/assets/card-C_7d6O9a.js +1 -0
- package/.output/public/assets/console-features-api-C1jRZTGw.js +1 -0
- package/.output/public/assets/dialog-DE8wFN_P.js +1 -0
- package/.output/public/assets/dist-C7ENGzpS.js +1 -0
- package/.output/public/assets/empty-CVd5NlQD.js +1 -0
- package/.output/public/assets/field-C06q1iC9.js +1 -0
- package/.output/public/assets/index-BeWlQtO6.js +11 -0
- package/.output/public/assets/input-group-Bi61biIA.js +1 -0
- package/.output/public/assets/insights-BjnAtC0f.js +2 -0
- package/.output/public/assets/insights-D86m11yH.js +42 -0
- package/.output/public/assets/insights-DpYstMoY.js +1 -0
- package/.output/public/assets/insights-recovery-rpc-BIm5_ALc.js +1 -0
- package/.output/public/assets/insights-search-KIF7mRtB.js +1 -0
- package/.output/public/assets/insights-usage-rpc-VHj8vyBt.js +1 -0
- package/.output/public/assets/insights_.distribution-ADcrX48c.js +2 -0
- package/.output/public/assets/insights_.distribution-CuuJUN6Y.js +1 -0
- package/.output/public/assets/insights_.distribution-DJRjuXsO.js +1 -0
- package/.output/public/assets/installations-BSBBzqWs.js +2 -0
- package/.output/public/assets/installations-DqIE6WcO.js +1 -0
- package/.output/public/assets/installations-UsELbDvw.js +1 -0
- package/.output/public/assets/loader-circle-CnCBxzHp.js +1 -0
- package/.output/public/assets/mutation-Csp7xUNh.js +1 -0
- package/.output/public/assets/preload-helper-B-cOmpLH.js +1 -0
- package/.output/public/assets/refresh-cw-FF1NtzlQ.js +1 -0
- package/.output/public/assets/routes-CoN9XHP_.js +2 -0
- package/.output/public/assets/routes-DT1jB0Zi.js +1 -0
- package/.output/public/assets/sidebar-D8mJRF15.js +3 -0
- package/.output/public/assets/styles-Bwt7v6U5.css +2 -0
- package/.output/public/assets/table-WBgfvgXg.js +1 -0
- package/.output/public/assets/useCompositeListItem-CloBmDwn.js +1 -0
- package/.output/public/assets/useMutation-DO8cvsTx.js +1 -0
- package/.output/public/assets/useOpenInteractionType-ReGr9GzJ.js +1 -0
- package/.output/public/assets/valueToPercent-BvPAi4bP.js +1 -0
- package/.output/server/{__23tanstack-start-server-fn-resolver-B7ioJhtE.mjs → __23tanstack-start-server-fn-resolver-DMRD4e4f.mjs} +51 -47
- package/.output/server/_libs/@base-ui/react+[...].mjs +7044 -3622
- package/.output/server/_libs/@reduxjs/toolkit+[...].mjs +1554 -0
- package/.output/server/_libs/@tanstack/react-router+[...].mjs +3803 -4023
- package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +141 -98
- package/.output/server/_libs/d3-array.mjs +231 -0
- package/.output/server/_libs/d3-color.mjs +330 -0
- package/.output/server/_libs/d3-format.mjs +252 -0
- package/.output/server/_libs/d3-interpolate.mjs +207 -0
- package/.output/server/_libs/d3-path.mjs +77 -0
- package/.output/server/_libs/d3-scale+[...].mjs +1907 -0
- package/.output/server/_libs/d3-shape.mjs +818 -0
- package/.output/server/_libs/decimal.js-light.mjs +884 -0
- package/.output/server/_libs/es-toolkit.mjs +1159 -0
- package/.output/server/_libs/eventemitter3.mjs +236 -0
- package/.output/server/_libs/immer.mjs +532 -0
- package/.output/server/_libs/lucide-react.mjs +46 -32
- package/.output/server/_libs/next-themes.mjs +2 -2
- package/.output/server/_libs/react-redux+[...].mjs +205 -0
- package/.output/server/_libs/recharts+[...].mjs +14350 -0
- package/.output/server/_libs/sonner.mjs +2 -2
- package/.output/server/_libs/tanstack__history.mjs +68 -41
- package/.output/server/_libs/tanstack__query-core.mjs +1618 -309
- package/.output/server/_libs/tanstack__react-query.mjs +262 -22
- package/.output/server/_libs/verkit.mjs +99 -1
- package/.output/server/_runtime.mjs +10 -1
- package/.output/server/_ssr/ConsoleFeatureUnavailable-Du7jNPNS.mjs +58 -0
- package/.output/server/_ssr/{HashValueDisplay-DwpGLfrl.mjs → HashValueDisplay-GQvFkXoi.mjs} +3 -3
- package/.output/server/_ssr/InsightsInfo-Do7QSaFR.mjs +37 -0
- package/.output/server/_ssr/InsightsPageHeader-DSUWUWRc.mjs +154 -0
- package/.output/server/_ssr/NotFoundPage-DsF4Vrhg.mjs +37 -0
- package/.output/server/_ssr/api-BEiVs0H7.mjs +203 -0
- package/.output/server/_ssr/api-keys-BrvBWGRf.mjs +5 -0
- package/.output/server/_ssr/{api-keys-CZeTPQys.mjs → api-keys-K5v32nf7.mjs} +49 -9
- package/.output/server/_ssr/api-keys-rpc-B96bBllm.mjs +52 -0
- package/.output/server/_ssr/api-rpc-DcUe280B.mjs +296 -0
- package/.output/server/_ssr/{auth-rpc-DUaeOWKK.mjs → auth-rpc-C68W56DP.mjs} +6 -6
- package/.output/server/_ssr/auth.server-DM1J6NwR.mjs +5712 -0
- package/.output/server/_ssr/bundleActivity-CpuY9CTP.mjs +19 -0
- package/.output/server/_ssr/card-CPAEKx0w.mjs +49 -0
- package/.output/server/_ssr/config-nsIcsHh8.mjs +15 -0
- package/.output/server/_ssr/config.server-DDCZk3Sq.mjs +36 -0
- package/.output/server/_ssr/console-access-Da-2Qd7q.mjs +17 -0
- package/.output/server/_ssr/console-features-Dzu2iUGD.mjs +55 -0
- package/.output/server/_ssr/console-features-api-xAsSgFa_.mjs +43 -0
- package/.output/server/_ssr/console-features-rpc-qARGpB24.mjs +19 -0
- package/.output/server/_ssr/{createServerFn-B2hcXoPM.mjs → createMiddleware-BdBf_ezN.mjs} +67 -56
- package/.output/server/_ssr/{createServerRpc-DB29C_5p.mjs → createServerRpc-B_y2lrwA.mjs} +2 -2
- package/.output/server/_ssr/{databaseJsonValue-d6I3nAS4.mjs → databaseJsonValue-Bhxciy7Z.mjs} +28 -5
- package/.output/server/_ssr/databaseRows-DwMAjaF8.mjs +74 -0
- package/.output/server/_ssr/{dialog-DS-nw-pA.mjs → dialog-q__BJ7mQ.mjs} +2 -2
- package/.output/server/_ssr/{dist-CyzPaI5v.mjs → dist-Cxo9ghYv.mjs} +140 -6
- package/.output/server/_ssr/{downloadBundle-CNnYxYO2.mjs → downloadBundle-BW9I-pMQ.mjs} +10 -10
- package/.output/server/_ssr/empty-DcBTAooP.mjs +49 -0
- package/.output/server/_ssr/{empty-plugin-adapters-B5QvGpEl.mjs → empty-plugin-adapters-CYdinE-i.mjs} +1 -1
- package/.output/server/_ssr/{table-CnZmon_Z.mjs → field-QCDBVpXA.mjs} +63 -51
- package/.output/server/_ssr/getBundleChildren-DIAGCF4a.mjs +22 -0
- package/.output/server/_ssr/{input-group-BpsnmvZw.mjs → input-group-hCk2nUoU.mjs} +2 -2
- package/.output/server/_ssr/insights-BfBO0RFr.mjs +1238 -0
- package/.output/server/_ssr/insights-DsAU3-TB.mjs +14 -0
- package/.output/server/_ssr/insights-RIfg447W.mjs +5 -0
- package/.output/server/_ssr/insights-api-CDn-QQHU.mjs +105 -0
- package/.output/server/_ssr/insights-failures-BBGMhuUr.mjs +44 -0
- package/.output/server/_ssr/insights-failures-rpc-rA2dctK2.mjs +21 -0
- package/.output/server/_ssr/insights-recovery-Dpk6Mfb9.mjs +28 -0
- package/.output/server/_ssr/insights-recovery-rpc-BCaF-xSd.mjs +46 -0
- package/.output/server/_ssr/insights-recovery-rpc-CcgYyUHk.mjs +20 -0
- package/.output/server/_ssr/{insights-rpc-38DujK0G.mjs → insights-rpc-keycmwzw.mjs} +22 -14
- package/.output/server/_ssr/insights-search-BRg5VsNe.mjs +25 -0
- package/.output/server/_ssr/insights-usage-cbw9n2Fq.mjs +29 -0
- package/.output/server/_ssr/insights-usage-rpc-BKgV1QDf.mjs +29 -0
- package/.output/server/_ssr/insights-usage-rpc-D-JYachy.mjs +41 -0
- package/.output/server/_ssr/insightsRecovery-B7oMc8d8.mjs +45 -0
- package/.output/server/_ssr/insightsUsage-Oa7kk5ek.mjs +56 -0
- package/.output/server/_ssr/insights_.distribution-BIqOqRW0.mjs +335 -0
- package/.output/server/_ssr/insights_.distribution-CuUrDa7P.mjs +5 -0
- package/.output/server/_ssr/insights_.distribution-RT_6x_ud.mjs +14 -0
- package/.output/server/_ssr/{installations-DiVKEF5T.mjs → installations-BO5CjX2z.mjs} +517 -54
- package/.output/server/_ssr/installations-BjaHiIfh.mjs +5 -0
- package/.output/server/_ssr/installations-Dt5luA-N.mjs +69 -0
- package/.output/server/_ssr/listReleases-BitHzOYB.mjs +79 -0
- package/.output/server/_ssr/releaseManagement-B3e7I8J9.mjs +11 -0
- package/.output/server/_ssr/{router-B9wG_9f8.mjs → router-DfVAixxe.mjs} +135 -139
- package/.output/server/_ssr/{routes-D7Yh_jfj.mjs → routes-C6LstNp8.mjs} +176 -455
- package/.output/server/_ssr/routes-Q3Uhmwwz.mjs +292 -0
- package/.output/server/_ssr/runtime.server-fL0o6I2b.mjs +1459 -0
- package/.output/server/_ssr/schema-BKY9SqaY.mjs +25 -0
- package/.output/server/_ssr/select-CUlInmjk.mjs +107 -0
- package/.output/server/_ssr/server-C43wq9ft.mjs +8330 -0
- package/.output/server/_ssr/{createSsrRpc-DjWNJ0uc.mjs → sidebar-DKbx2ach.mjs} +117 -63
- package/.output/server/_ssr/ssr.mjs +1 -1
- package/.output/server/_ssr/start-BXUOv_n8.mjs +4 -0
- package/.output/server/_ssr/table-NGWV8B-S.mjs +53 -0
- package/.output/server/_ssr/updateFailures-Jwe2Baab.mjs +24 -0
- package/.output/server/_ssr/{uuidv7-D0QFkPL_.mjs → uuidv7-C8bwiZr8.mjs} +2 -2
- package/.output/server/_tanstack-start-manifest_v-WQ5qGn8n.mjs +124 -0
- package/.output/server/index.mjs +267 -162
- package/LICENSE +13 -14
- package/README.md +82 -72
- package/lib/index.d.mts +23 -11
- package/lib/vite-internal.mjs +13 -3
- package/lib/vite.d.mts +2 -0
- package/package.json +14 -14
- package/src/components/AppSidebar.tsx +100 -71
- package/src/components/ConsoleAccessPage.tsx +5 -1
- package/src/components/ConsoleFeatureUnavailable.tsx +80 -0
- package/src/components/NotFoundPage.tsx +7 -7
- package/src/components/features/FeatureSlots.tsx +99 -0
- package/src/components/features/api-keys/apiKeysFeatureUi.tsx +15 -0
- package/src/components/features/bundles/BundleMetadata.tsx +8 -5
- package/src/components/features/bundles/RolloutCohortsDialog.tsx +1 -1
- package/src/components/features/channels/ChannelManagementDialog.tsx +2 -5
- package/src/components/features/insights/AppUsage.tsx +370 -0
- package/src/components/features/insights/EstimatedCount.tsx +18 -0
- package/src/components/features/insights/EventDetails.tsx +117 -37
- package/src/components/features/insights/EventHistoryCard.tsx +112 -26
- package/src/components/features/insights/EventHistoryList.tsx +2 -2
- package/src/components/features/insights/InsightsControls.tsx +265 -102
- package/src/components/features/insights/InsightsErrorAlert.tsx +14 -1
- package/src/components/features/insights/InsightsInfo.tsx +48 -0
- package/src/components/features/insights/InsightsOverview.tsx +176 -173
- package/src/components/features/insights/InsightsPageHeader.tsx +35 -20
- package/src/components/features/insights/InsightsPeriodSelector.tsx +89 -0
- package/src/components/features/insights/InstallationHistoryCard.tsx +52 -10
- package/src/components/features/insights/InstallationMatchesCard.tsx +1 -1
- package/src/components/features/insights/ReleaseActivity.tsx +188 -0
- package/src/components/features/insights/ReportingDevicesSummary.tsx +65 -0
- package/src/components/features/insights/UpdateFailures.tsx +319 -0
- package/src/components/features/insights/insightsFeatureUi.tsx +35 -0
- package/src/components/features/releases/ReleaseEditorSheet.tsx +30 -7
- package/src/components/ui/card.tsx +1 -1
- package/src/components/ui/empty.tsx +101 -0
- package/src/components/ui/scroll-area.tsx +52 -0
- package/src/components/ui/sidebar.tsx +22 -29
- package/src/components/ui/tabs.tsx +81 -0
- package/src/index.ts +26 -19
- package/src/lib/api-keys-api.ts +0 -28
- package/src/lib/api-keys-rpc.ts +27 -38
- package/src/lib/api-rpc.ts +189 -266
- package/src/lib/api.ts +19 -102
- package/src/lib/bundle-activity.ts +31 -0
- package/src/lib/console-access.ts +20 -0
- package/src/lib/console-features-api.ts +68 -0
- package/src/lib/console-features-rpc.ts +13 -0
- package/src/lib/console-features.ts +91 -0
- package/src/lib/insights-api.ts +37 -1
- package/src/lib/insights-failures-rpc.ts +21 -0
- package/src/lib/insights-failures.ts +129 -0
- package/src/lib/insights-recovery-rpc.ts +51 -0
- package/src/lib/insights-recovery.ts +68 -0
- package/src/lib/insights-retention.ts +21 -0
- package/src/lib/insights-rpc.ts +30 -12
- package/src/lib/insights-search.ts +58 -0
- package/src/lib/insights-usage-rpc.ts +29 -0
- package/src/lib/insights-usage.ts +74 -0
- package/src/lib/insights-view.ts +38 -2
- package/src/lib/scroll-restoration.ts +21 -0
- package/src/lib/server/adminInsights.ts +124 -0
- package/src/lib/server/auth.server.ts +13 -5
- package/src/lib/server/bundleActivity.ts +37 -0
- package/src/lib/server/config.server.ts +21 -74
- package/src/lib/server/console-feature-apis.ts +59 -0
- package/src/lib/server/console-runtime.server.ts +82 -38
- package/src/lib/server/downloadBundle.ts +16 -15
- package/src/lib/server/getBundleChildren.ts +31 -122
- package/src/lib/server/insightsRecovery.ts +55 -0
- package/src/lib/server/insightsUsage.ts +63 -0
- package/src/lib/server/listReleases.ts +109 -44
- package/src/lib/server/releaseReachability.ts +8 -7
- package/src/lib/server/runtime.server.ts +120 -31
- package/src/lib/server/updateFailures.ts +31 -0
- package/src/routeTree.gen.ts +44 -44
- package/src/router.tsx +3 -2
- package/src/routes/-installations-search.ts +32 -8
- package/src/routes/-releases-search.ts +76 -29
- package/src/routes/__root.tsx +10 -4
- package/src/routes/api/bundles/$bundleId/download.ts +2 -5
- package/src/routes/api-keys.tsx +5 -2
- package/src/routes/index.tsx +167 -104
- package/src/routes/insights.tsx +100 -59
- package/src/routes/insights_.distribution.tsx +398 -0
- package/src/routes/installations.tsx +98 -41
- package/src/vite-internal.ts +15 -3
- package/src/vite.ts +2 -0
- package/.output/public/assets/HashValueDisplay-CB0Eskit.js +0 -1
- package/.output/public/assets/InsightsPageHeader-Car5LNiZ.js +0 -1
- package/.output/public/assets/api-keys-BzKocqRy.js +0 -1
- package/.output/public/assets/api-keys-api-BHcODB7q.js +0 -1
- package/.output/public/assets/card-Dhr_eFYj.js +0 -1
- package/.output/public/assets/chart-no-axes-combined-Dy4WJv2U.js +0 -1
- package/.output/public/assets/composite-Bp98A0Ld.js +0 -1
- package/.output/public/assets/createServerFn-CA8fs7QD.js +0 -3
- package/.output/public/assets/dialog-CUTrcPlB.js +0 -1
- package/.output/public/assets/dist-C_NydL0e.js +0 -1
- package/.output/public/assets/index-DdAz-CXv.js +0 -10
- package/.output/public/assets/input-group-cSOG4wh_.js +0 -1
- package/.output/public/assets/insights-C0PBSZ-n.js +0 -1
- package/.output/public/assets/installations-CE33wgbY.js +0 -2
- package/.output/public/assets/installations-CStZja8x.js +0 -1
- package/.output/public/assets/lazyRouteComponent-Ccp3bwBY.js +0 -1
- package/.output/public/assets/link-CI8idAUi.js +0 -1
- package/.output/public/assets/loader-circle-BoxLrsOu.js +0 -1
- package/.output/public/assets/preload-helper-CQ36nxok.js +0 -1
- package/.output/public/assets/refresh-cw-Bqc72UZG.js +0 -1
- package/.output/public/assets/routes-DGVXdzpw.js +0 -2
- package/.output/public/assets/routes-DTlwOr8I.js +0 -1
- package/.output/public/assets/shield-check-uK3MHWJZ.js +0 -1
- package/.output/public/assets/signing-CMf4aqDO.js +0 -1
- package/.output/public/assets/styles-BCvbtKsm.css +0 -2
- package/.output/public/assets/table-2vcV89QB.js +0 -1
- package/.output/public/assets/useCompositeListItem-CHLITE_4.js +0 -1
- package/.output/public/assets/x-DCd0j8c6.js +0 -1
- package/.output/server/_ssr/InsightsPageHeader-Df4Brj8u.mjs +0 -484
- package/.output/server/_ssr/api-keys-api-BUPQVSpk.mjs +0 -60
- package/.output/server/_ssr/api-keys-rpc-Cs7tS5_j.mjs +0 -136
- package/.output/server/_ssr/api-rpc-tAupfGQm.mjs +0 -1399
- package/.output/server/_ssr/auth.server-DW71WzsD.mjs +0 -47
- package/.output/server/_ssr/bundle-signing-rpc-BhnBw0-d.mjs +0 -16
- package/.output/server/_ssr/bundle-signing.server-C4NW5mWx.mjs +0 -12
- package/.output/server/_ssr/card-BRiPmi0C.mjs +0 -108
- package/.output/server/_ssr/config-Dv8qLDZ0.mjs +0 -13
- package/.output/server/_ssr/config.server-afDuAwaG.mjs +0 -368
- package/.output/server/_ssr/databaseRows-5bCRTxm-.mjs +0 -126
- package/.output/server/_ssr/deleteBundle-BTGwBgzx.mjs +0 -66
- package/.output/server/_ssr/getBundleChildren-C0vh4ZvE.mjs +0 -50
- package/.output/server/_ssr/insights-BdS364Xu.mjs +0 -460
- package/.output/server/_ssr/insightsContract-fjJDBeEE.mjs +0 -303
- package/.output/server/_ssr/installations-CtA59MQG.mjs +0 -29
- package/.output/server/_ssr/routes-CKrrS2q2.mjs +0 -37
- package/.output/server/_ssr/runtime.server-DacU1TBV.mjs +0 -438
- package/.output/server/_ssr/server-D_C2rMzf.mjs +0 -7468
- package/.output/server/_ssr/signing-Dz1WkZOf.mjs +0 -133
- package/.output/server/_ssr/start-DpViQGnt.mjs +0 -4
- package/.output/server/_tanstack-start-manifest_v-2MjTyxil.mjs +0 -97
- package/src/components/features/insights/InsightsBundleReports.tsx +0 -51
- package/src/components/features/signing/BundleSigningPage.tsx +0 -139
- package/src/lib/bundle-signing-api.ts +0 -14
- package/src/lib/bundle-signing-rpc.ts +0 -16
- package/src/lib/server/bundle-signing.server.ts +0 -23
- package/src/lib/server/deleteBundle.ts +0 -145
- package/src/routes/signing.tsx +0 -37
|
@@ -1,8 +1,120 @@
|
|
|
1
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/dist-
|
|
1
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/dist-Cxo9ghYv.js
|
|
2
|
+
var LETTER_DASH_NUMBER = "[a-zA-Z0-9-]";
|
|
3
|
+
var NUMERIC_IDENTIFIER = String.raw`0|[1-9]\d*`;
|
|
4
|
+
var NUMERIC_IDENTIFIER_LOOSE = String.raw`\d+`;
|
|
5
|
+
var NON_NUMERIC_IDENTIFIER = String.raw`\d*[a-zA-Z-]${LETTER_DASH_NUMBER}*`;
|
|
6
|
+
var MAIN_VERSION = String.raw`(${NUMERIC_IDENTIFIER})\.(${NUMERIC_IDENTIFIER})\.(${NUMERIC_IDENTIFIER})`;
|
|
7
|
+
var MAIN_VERSION_LOOSE = String.raw`(${NUMERIC_IDENTIFIER_LOOSE})\.(${NUMERIC_IDENTIFIER_LOOSE})\.(${NUMERIC_IDENTIFIER_LOOSE})`;
|
|
8
|
+
var PRERELEASE_IDENTIFIER = `(?:${NON_NUMERIC_IDENTIFIER}|${NUMERIC_IDENTIFIER})`;
|
|
9
|
+
var PRERELEASE_IDENTIFIER_LOOSE = `(?:${NON_NUMERIC_IDENTIFIER}|${NUMERIC_IDENTIFIER_LOOSE})`;
|
|
10
|
+
var PRERELEASE = String.raw`(?:-(${PRERELEASE_IDENTIFIER}(?:\.${PRERELEASE_IDENTIFIER})*))`;
|
|
11
|
+
var PRERELEASE_LOOSE = String.raw`(?:-?(${PRERELEASE_IDENTIFIER_LOOSE}(?:\.${PRERELEASE_IDENTIFIER_LOOSE})*))`;
|
|
12
|
+
var BUILD_IDENTIFIER = `${LETTER_DASH_NUMBER}+`;
|
|
13
|
+
var BUILD = String.raw`(?:\+(${BUILD_IDENTIFIER}(?:\.${BUILD_IDENTIFIER})*))`;
|
|
14
|
+
var FULL_PLAIN = `v?${MAIN_VERSION}${PRERELEASE}?${BUILD}?`;
|
|
15
|
+
var LOOSE_PLAIN = String.raw`[v=\s]*${MAIN_VERSION_LOOSE}${PRERELEASE_LOOSE}?${BUILD}?`;
|
|
16
|
+
var XRANGE_IDENTIFIER = String.raw`${NUMERIC_IDENTIFIER}|x|X|\*`;
|
|
17
|
+
var XRANGE_IDENTIFIER_LOOSE = String.raw`${NUMERIC_IDENTIFIER_LOOSE}|x|X|\*`;
|
|
18
|
+
String.raw`[v=\s]*(${XRANGE_IDENTIFIER})(?:\.(${XRANGE_IDENTIFIER})(?:\.(${XRANGE_IDENTIFIER})(?:${PRERELEASE})?${BUILD}?)?)?`;
|
|
19
|
+
String.raw`[v=\s]*(${XRANGE_IDENTIFIER_LOOSE})(?:\.(${XRANGE_IDENTIFIER_LOOSE})(?:\.(${XRANGE_IDENTIFIER_LOOSE})(?:${PRERELEASE_LOOSE})?${BUILD}?)?)?`;
|
|
20
|
+
String.raw`(?:\^)`;
|
|
21
|
+
var COERCE_PLAIN = String.raw`(^|[^\d])(\d{1,${16}})(?:\.(\d{1,${16}}))?(?:\.(\d{1,${16}}))?`;
|
|
22
|
+
var COERCE = String.raw`${COERCE_PLAIN}(?:$|[^\d])`;
|
|
23
|
+
var COERCE_FULL = String.raw`${COERCE_PLAIN}(?:${PRERELEASE})?(?:${BUILD})?(?:$|[^\d])`;
|
|
24
|
+
function makeSafeRegexSource(source) {
|
|
25
|
+
const replacements = [
|
|
26
|
+
[String.raw`\s`, 1],
|
|
27
|
+
[String.raw`\d`, 256],
|
|
28
|
+
[LETTER_DASH_NUMBER, 250]
|
|
29
|
+
];
|
|
30
|
+
for (const [token, maximum] of replacements) source = source.split(`${token}*`).join(`${token}{0,${maximum}}`).split(`${token}+`).join(`${token}{1,${maximum}}`);
|
|
31
|
+
return source;
|
|
32
|
+
}
|
|
33
|
+
function safeRegex(source, flags) {
|
|
34
|
+
return new RegExp(makeSafeRegexSource(source), flags);
|
|
35
|
+
}
|
|
36
|
+
var FULL = safeRegex(`^${FULL_PLAIN}$`);
|
|
37
|
+
var LOOSE = safeRegex(`^${LOOSE_PLAIN}$`);
|
|
38
|
+
var NUMERIC$1 = /^\d+$/;
|
|
39
|
+
function formatComparableVersion(version) {
|
|
40
|
+
const base = `${version.major}.${version.minor}.${version.patch}`;
|
|
41
|
+
return version.prerelease?.length ? `${base}-${version.prerelease.join(".")}` : base;
|
|
42
|
+
}
|
|
43
|
+
function formatFullVersion(version) {
|
|
44
|
+
const comparable = formatComparableVersion(version);
|
|
45
|
+
return version.build?.length ? `${comparable}+${version.build.join(".")}` : comparable;
|
|
46
|
+
}
|
|
47
|
+
function parse(version, options = {}) {
|
|
48
|
+
if (typeof version !== "string") return version;
|
|
49
|
+
if (version.length > 256) throw new TypeError(`Version exceeds the maximum length of 256 characters`);
|
|
50
|
+
const match = version.trim().match(options.loose ? LOOSE : FULL);
|
|
51
|
+
if (!match) throw new TypeError(`Invalid version syntax: ${version}`);
|
|
52
|
+
const major = Number(match[1]);
|
|
53
|
+
const minor = Number(match[2]);
|
|
54
|
+
const patch = Number(match[3]);
|
|
55
|
+
if (major > Number.MAX_SAFE_INTEGER || major < 0) throw new TypeError(`Invalid major version: ${match[1]}`);
|
|
56
|
+
if (minor > Number.MAX_SAFE_INTEGER || minor < 0) throw new TypeError(`Invalid minor version: ${match[2]}`);
|
|
57
|
+
if (patch > Number.MAX_SAFE_INTEGER || patch < 0) throw new TypeError(`Invalid patch version: ${match[3]}`);
|
|
58
|
+
const prerelease = match[4] ? match[4].split(".").map((identifier) => {
|
|
59
|
+
if (NUMERIC$1.test(identifier)) {
|
|
60
|
+
const numeric = Number(identifier);
|
|
61
|
+
if (numeric >= 0 && numeric < Number.MAX_SAFE_INTEGER) return numeric;
|
|
62
|
+
}
|
|
63
|
+
return identifier;
|
|
64
|
+
}) : void 0;
|
|
65
|
+
return {
|
|
66
|
+
build: match[5]?.split("."),
|
|
67
|
+
major,
|
|
68
|
+
minor,
|
|
69
|
+
patch,
|
|
70
|
+
prerelease
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function tryParse(version, options = {}) {
|
|
74
|
+
try {
|
|
75
|
+
return parse(version, options);
|
|
76
|
+
} catch {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
var COERCE_EXACT = safeRegex(COERCE);
|
|
81
|
+
var COERCE_FULL_EXACT = safeRegex(COERCE_FULL);
|
|
82
|
+
safeRegex(`^${PRERELEASE}$`);
|
|
83
|
+
safeRegex(`^${PRERELEASE_LOOSE}$`);
|
|
84
|
+
function normalizeFull(version, options = {}) {
|
|
85
|
+
const parsed = tryParse(version, options);
|
|
86
|
+
return parsed ? formatFullVersion(parsed) : null;
|
|
87
|
+
}
|
|
88
|
+
function coerce(value, options = {}) {
|
|
89
|
+
if (typeof value === "object") return value;
|
|
90
|
+
const input = typeof value === "number" ? String(value) : value;
|
|
91
|
+
let match = null;
|
|
92
|
+
if (options.rtl) {
|
|
93
|
+
const expression = safeRegex(options.includePrerelease ? COERCE_FULL : COERCE, "g");
|
|
94
|
+
let next;
|
|
95
|
+
while ((next = expression.exec(input)) && (!match || match.index + match[0].length !== input.length)) {
|
|
96
|
+
if (!match || next.index + next[0].length !== match.index + match[0].length) match = next;
|
|
97
|
+
expression.lastIndex = next.index + next[1].length + next[2].length;
|
|
98
|
+
}
|
|
99
|
+
} else match = (options.includePrerelease ? COERCE_FULL_EXACT : COERCE_EXACT).exec(input);
|
|
100
|
+
if (!match) return null;
|
|
101
|
+
const major = match[2];
|
|
102
|
+
return tryParse(`${major}.${match[3] || "0"}.${match[4] || "0"}${options.includePrerelease && match[5] ? `-${match[5]}` : ""}${options.includePrerelease && match[6] ? `+${match[6]}` : ""}`, options);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The form of an app version that the device and the server compare:
|
|
106
|
+
* `major.minor.patch` of the first version in `appVersion`, such as `1.4.0`
|
|
107
|
+
* for `v1.4`, or null when it holds none. Prerelease and build parts are
|
|
108
|
+
* dropped.
|
|
109
|
+
*/
|
|
110
|
+
function canonicalizeAppVersion(appVersion) {
|
|
111
|
+
const version = coerce(appVersion);
|
|
112
|
+
return version ? normalizeFull(version) : null;
|
|
113
|
+
}
|
|
2
114
|
var stripBundleArtifactMetadata = (metadata) => metadata;
|
|
3
|
-
var getManifestStorageUri = (bundle) => bundle.manifestStorageUri
|
|
4
|
-
var getManifestFileHash = (bundle) => bundle.manifestFileHash
|
|
5
|
-
var getAssetBaseStorageUri = (bundle) => bundle.assetBaseStorageUri
|
|
115
|
+
var getManifestStorageUri = (bundle) => bundle.manifestStorageUri;
|
|
116
|
+
var getManifestFileHash = (bundle) => bundle.manifestFileHash;
|
|
117
|
+
var getAssetBaseStorageUri = (bundle) => bundle.assetBaseStorageUri;
|
|
6
118
|
var isBundlePatchArtifact = (value) => {
|
|
7
119
|
if (!value || typeof value !== "object" || Array.isArray(value)) return false;
|
|
8
120
|
const candidate = value;
|
|
@@ -21,13 +133,15 @@ var getBundlePatches = (bundle) => {
|
|
|
21
133
|
return true;
|
|
22
134
|
});
|
|
23
135
|
};
|
|
136
|
+
var getBundlePatch = (bundle, baseBundleId) => {
|
|
137
|
+
return getBundlePatches(bundle).find((patch) => patch.baseBundleId === baseBundleId) ?? null;
|
|
138
|
+
};
|
|
24
139
|
var getPrimaryPatch = (bundle) => {
|
|
25
140
|
return getBundlePatches(bundle)[0] ?? null;
|
|
26
141
|
};
|
|
27
142
|
var getPatchBaseBundleId = (bundle) => getPrimaryPatch(bundle)?.baseBundleId ?? null;
|
|
28
143
|
var getPatchBaseFileHash = (bundle) => getPrimaryPatch(bundle)?.baseFileHash ?? null;
|
|
29
144
|
var getPatchFileHash = (bundle) => getPrimaryPatch(bundle)?.patchFileHash ?? null;
|
|
30
|
-
var getPatchStorageUri = (bundle) => getPrimaryPatch(bundle)?.patchStorageUri ?? null;
|
|
31
145
|
var NUMERIC_COHORT_SIZE = 1e3;
|
|
32
146
|
var DEFAULT_ROLLOUT_COHORT_COUNT = NUMERIC_COHORT_SIZE;
|
|
33
147
|
var INVALID_COHORT_ERROR_MESSAGE = `Invalid cohort. Use 1-1000 or a lowercase slug without spaces, up to 64 characters.`;
|
|
@@ -244,7 +358,27 @@ function createReleaseCatalogScopeKey(input) {
|
|
|
244
358
|
assertCatalogSegment(input.fingerprintHash, "Fingerprint hash");
|
|
245
359
|
return `v1:fingerprint:${input.platform}:${input.channelKey}:${input.fingerprintHash}`;
|
|
246
360
|
}
|
|
361
|
+
function parseReleaseCatalogScopeKey(scopeKey) {
|
|
362
|
+
const segments = scopeKey.split(":");
|
|
363
|
+
const [version, strategy, platform, channelKey] = segments;
|
|
364
|
+
if (version !== "v1" || platform !== "ios" && platform !== "android" || channelKey === void 0) throw new Error("Invalid release catalog scope key");
|
|
365
|
+
const input = strategy === "app-version" && segments.length === 4 ? {
|
|
366
|
+
channelKey,
|
|
367
|
+
platform,
|
|
368
|
+
strategy: "APP_VERSION"
|
|
369
|
+
} : strategy === "fingerprint" && segments.length === 5 && segments[4] !== void 0 ? {
|
|
370
|
+
channelKey,
|
|
371
|
+
fingerprintHash: segments[4],
|
|
372
|
+
platform,
|
|
373
|
+
strategy: "FINGERPRINT"
|
|
374
|
+
} : (() => {
|
|
375
|
+
throw new Error("Invalid release catalog scope key");
|
|
376
|
+
})();
|
|
377
|
+
if (createReleaseCatalogScopeKey(input) !== scopeKey) throw new Error("Release catalog scope key is not canonical");
|
|
378
|
+
return input;
|
|
379
|
+
}
|
|
380
|
+
var NIL_UUID = "00000000-0000-0000-0000-000000000000";
|
|
247
381
|
var UUID_V7_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
|
|
248
382
|
var isUUIDv7 = (value) => typeof value === "string" && UUID_V7_PATTERN.test(value);
|
|
249
383
|
//#endregion
|
|
250
|
-
export {
|
|
384
|
+
export { isUUIDv7 as C, parseReleaseCatalogScopeKey as D, normalizeRolloutCohortCount as E, stripBundleArtifactMetadata as O, isReleaseEligibleForCohort as S, normalizeCohortValue as T, getPatchBaseBundleId as _, RELEASE_CATALOG_FALLBACK_POLICY as a, getRolledOutNumericCohorts as b, decodeChannelKey as c, getBundlePatch as d, getBundlePatches as f, getNumericCohortValue as g, getNumericCohortRolloutPosition as h, NUMERIC_COHORT_SIZE as i, encodeChannelKey as l, getManifestStorageUri as m, MAX_COMPILED_CATALOG_BYTES as n, canonicalizeAppVersion as o, getManifestFileHash as p, NIL_UUID as r, createReleaseCatalogScopeKey as s, INVALID_COHORT_ERROR_MESSAGE as t, getAssetBaseStorageUri as u, getPatchBaseFileHash as v, isValidCohort as w, isCustomCohort as x, getPatchFileHash as y };
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/downloadBundle-
|
|
2
|
-
var downloadBundle = async (bundleId, {
|
|
3
|
-
const
|
|
4
|
-
if (!
|
|
5
|
-
const storageUri = bundle.
|
|
6
|
-
if (!storageUri) return new Response("Bundle has no storage URI", { status: 404 });
|
|
1
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/downloadBundle-BW9I-pMQ.js
|
|
2
|
+
var downloadBundle = async (bundleId, { core, storage }) => {
|
|
3
|
+
const detail = await core.getBundle(bundleId);
|
|
4
|
+
if (!detail) return new Response("Bundle not found", { status: 404 });
|
|
5
|
+
const storageUri = detail.bundle.manifest_storage_uri;
|
|
7
6
|
const protocol = new URL(storageUri).protocol.replace(":", "");
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const storageAdapter = storage.find((adapter) => adapter.protocol === protocol);
|
|
8
|
+
if (storageAdapter?.get !== void 0) {
|
|
9
|
+
const { response } = await storageAdapter.get({ storageUri });
|
|
10
10
|
if (!response) return new Response("Storage object not found", { status: 404 });
|
|
11
11
|
const headers = new Headers(response.headers);
|
|
12
12
|
headers.set("cache-control", "private, no-store");
|
|
13
|
-
headers.set("content-disposition", "attachment");
|
|
13
|
+
headers.set("content-disposition", "attachment; filename=\"manifest.json\"");
|
|
14
14
|
return new Response(response.body, {
|
|
15
15
|
headers,
|
|
16
16
|
status: response.status,
|
|
17
17
|
statusText: response.statusText
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
if (protocol !== "http" && protocol !== "https") return new Response(`No storage
|
|
20
|
+
if (protocol !== "http" && protocol !== "https") return new Response(`No storage adapter for protocol: ${protocol}`, { status: 503 });
|
|
21
21
|
return Response.redirect(storageUri, 302);
|
|
22
22
|
};
|
|
23
23
|
//#endregion
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { pt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
2
|
+
import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
3
|
+
import { O as cn } from "./sidebar-DKbx2ach.mjs";
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/empty-DcBTAooP.js
|
|
5
|
+
var import_jsx_runtime = require_jsx_runtime();
|
|
6
|
+
function Empty({ className, ...props }) {
|
|
7
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
8
|
+
"data-slot": "empty",
|
|
9
|
+
className: cn("flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance", className),
|
|
10
|
+
...props
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
function EmptyHeader({ className, ...props }) {
|
|
14
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
15
|
+
"data-slot": "empty-header",
|
|
16
|
+
className: cn("flex max-w-sm flex-col items-center gap-1", className),
|
|
17
|
+
...props
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
cva("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0", {
|
|
21
|
+
variants: { variant: {
|
|
22
|
+
default: "bg-transparent",
|
|
23
|
+
icon: "flex size-8 shrink-0 items-center justify-center rounded-md bg-muted text-foreground [&_svg:not([class*='size-'])]:size-4"
|
|
24
|
+
} },
|
|
25
|
+
defaultVariants: { variant: "default" }
|
|
26
|
+
});
|
|
27
|
+
function EmptyTitle({ className, ...props }) {
|
|
28
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
29
|
+
"data-slot": "empty-title",
|
|
30
|
+
className: cn("text-sm font-medium tracking-tight", className),
|
|
31
|
+
...props
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function EmptyDescription({ className, ...props }) {
|
|
35
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
36
|
+
"data-slot": "empty-description",
|
|
37
|
+
className: cn("text-xs/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
|
|
38
|
+
...props
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function EmptyContent({ className, ...props }) {
|
|
42
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
43
|
+
"data-slot": "empty-content",
|
|
44
|
+
className: cn("flex w-full max-w-sm min-w-0 flex-col items-center gap-2 text-xs/relaxed text-balance", className),
|
|
45
|
+
...props
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { EmptyTitle as a, EmptyHeader as i, EmptyContent as n, EmptyDescription as r, Empty as t };
|
|
@@ -1,10 +1,68 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { i as __toESM } from "../_runtime.mjs";
|
|
2
|
+
import { ft as mergeProps, mt as require_react, pt as require_jsx_runtime, tt as useRender } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
4
|
-
import {
|
|
5
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/
|
|
4
|
+
import { O as cn } from "./sidebar-DKbx2ach.mjs";
|
|
5
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/field-QCDBVpXA.js
|
|
6
6
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
7
7
|
var import_jsx_runtime = require_jsx_runtime();
|
|
8
|
+
var alertVariants = cva("group/alert relative grid w-full gap-0.5 rounded-lg border px-2 py-1.5 text-left text-xs/relaxed has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-1.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-3.5", {
|
|
9
|
+
variants: { variant: {
|
|
10
|
+
default: "bg-card text-card-foreground",
|
|
11
|
+
destructive: "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"
|
|
12
|
+
} },
|
|
13
|
+
defaultVariants: { variant: "default" }
|
|
14
|
+
});
|
|
15
|
+
function Alert({ className, variant, ...props }) {
|
|
16
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17
|
+
"data-slot": "alert",
|
|
18
|
+
role: "alert",
|
|
19
|
+
className: cn(alertVariants({ variant }), className),
|
|
20
|
+
...props
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function AlertTitle({ className, ...props }) {
|
|
24
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
25
|
+
"data-slot": "alert-title",
|
|
26
|
+
className: cn("font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground", className),
|
|
27
|
+
...props
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function AlertDescription({ className, ...props }) {
|
|
31
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
32
|
+
"data-slot": "alert-description",
|
|
33
|
+
className: cn("text-xs/relaxed text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className),
|
|
34
|
+
...props
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function AlertAction({ className, ...props }) {
|
|
38
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
39
|
+
"data-slot": "alert-action",
|
|
40
|
+
className: cn("absolute top-1.5 right-2", className),
|
|
41
|
+
...props
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
var badgeVariants = cva("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", {
|
|
45
|
+
variants: { variant: {
|
|
46
|
+
default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
|
|
47
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
48
|
+
success: "border-success/20 bg-success/10 text-success",
|
|
49
|
+
warning: "border-warning/20 bg-warning/10 text-warning",
|
|
50
|
+
destructive: "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
|
|
51
|
+
outline: "text-foreground"
|
|
52
|
+
} },
|
|
53
|
+
defaultVariants: { variant: "default" }
|
|
54
|
+
});
|
|
55
|
+
function Badge({ className, variant = "default", render, ...props }) {
|
|
56
|
+
return useRender({
|
|
57
|
+
defaultTagName: "span",
|
|
58
|
+
props: mergeProps({ className: cn(badgeVariants({ variant }), className) }, props),
|
|
59
|
+
render,
|
|
60
|
+
state: {
|
|
61
|
+
slot: "badge",
|
|
62
|
+
variant
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
8
66
|
function Label({ className, htmlFor, ...props }) {
|
|
9
67
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("label", {
|
|
10
68
|
"data-slot": "label",
|
|
@@ -70,51 +128,5 @@ function FieldError({ className, children, errors, ...props }) {
|
|
|
70
128
|
children: content
|
|
71
129
|
});
|
|
72
130
|
}
|
|
73
|
-
function Table({ className, ...props }) {
|
|
74
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
75
|
-
"data-slot": "table-container",
|
|
76
|
-
className: "relative w-full overflow-x-auto",
|
|
77
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("table", {
|
|
78
|
-
"data-slot": "table",
|
|
79
|
-
className: cn("w-full caption-bottom text-xs", className),
|
|
80
|
-
...props
|
|
81
|
-
})
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
function TableHeader({ className, ...props }) {
|
|
85
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("thead", {
|
|
86
|
-
"data-slot": "table-header",
|
|
87
|
-
className: cn("[&_tr]:border-b", className),
|
|
88
|
-
...props
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
function TableBody({ className, ...props }) {
|
|
92
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("tbody", {
|
|
93
|
-
"data-slot": "table-body",
|
|
94
|
-
className: cn("[&_tr:last-child]:border-0", className),
|
|
95
|
-
...props
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
function TableRow({ className, ...props }) {
|
|
99
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("tr", {
|
|
100
|
-
"data-slot": "table-row",
|
|
101
|
-
className: cn("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", className),
|
|
102
|
-
...props
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
function TableHead({ className, ...props }) {
|
|
106
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("th", {
|
|
107
|
-
"data-slot": "table-head",
|
|
108
|
-
className: cn("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0", className),
|
|
109
|
-
...props
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
function TableCell({ className, ...props }) {
|
|
113
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("td", {
|
|
114
|
-
"data-slot": "table-cell",
|
|
115
|
-
className: cn("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0", className),
|
|
116
|
-
...props
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
131
|
//#endregion
|
|
120
|
-
export {
|
|
132
|
+
export { Badge as a, FieldError as c, Label as d, AlertTitle as i, FieldGroup as l, AlertAction as n, Field as o, AlertDescription as r, FieldDescription as s, Alert as t, FieldLabel as u };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { i as rowToBundle } from "./databaseRows-DwMAjaF8.mjs";
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/getBundleChildren-DIAGCF4a.js
|
|
3
|
+
/** The most children the lineage panel lists; the count comes from the base bundle's counter. */
|
|
4
|
+
var BUNDLE_CHILDREN_LIMIT = 100;
|
|
5
|
+
/**
|
|
6
|
+
* The bundles with a patch from this base, newest first: one read of the
|
|
7
|
+
* patches index, then each child bundle.
|
|
8
|
+
*/
|
|
9
|
+
async function getBundleChildren(core, baseBundleId) {
|
|
10
|
+
const patches = await core.listPatchesFromBase(baseBundleId, {
|
|
11
|
+
order: "desc",
|
|
12
|
+
limit: 100
|
|
13
|
+
});
|
|
14
|
+
return (await Promise.all([...new Set(patches.map(({ bundle_id }) => bundle_id))].map((id) => core.getBundle(id)))).flatMap((detail) => detail === null ? [] : [rowToBundle(detail.bundle, detail.patches)]);
|
|
15
|
+
}
|
|
16
|
+
/** How many bundles patch from each base: each base bundle's reference counter, in one batch read. */
|
|
17
|
+
async function getBundleChildCounts(core, baseBundleIds) {
|
|
18
|
+
const ids = [...new Set(baseBundleIds.filter(Boolean))];
|
|
19
|
+
return ids.length === 0 ? {} : core.countBundleChildren(ids);
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { BUNDLE_CHILDREN_LIMIT, getBundleChildCounts, getBundleChildren };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../_runtime.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { mt as require_react, pt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
4
|
-
import {
|
|
4
|
+
import { O as cn, n as Input, t as Button$1 } from "./sidebar-DKbx2ach.mjs";
|
|
5
5
|
require_react();
|
|
6
6
|
var import_jsx_runtime = require_jsx_runtime();
|
|
7
7
|
function Textarea({ className, ...props }) {
|