@k2b/cloud 0.40.0 → 0.42.0
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/package.json +9 -5
- package/src/_internal/bounded-json.ts +14 -2
- package/src/_internal/capabilities.ts +87 -8
- package/src/_internal/capability-reviews.ts +6 -0
- package/src/_internal/capability-sentences.ts +2 -1
- package/src/_internal/capability-timeout.ts +71 -0
- package/src/_internal/define-app.ts +158 -92
- package/src/_internal/heartbeat.ts +203 -14
- package/src/_internal/http-drain.ts +56 -0
- package/src/_internal/registry-validation.ts +3 -0
- package/src/_internal/registry.ts +28 -1
- package/src/_internal/runtime-context.ts +1 -0
- package/src/_internal/setup-lock.ts +103 -0
- package/src/_internal/status-preserving-ssr.ts +2 -0
- package/src/access/PermissionEditor.tsx +16 -17
- package/src/access/PrincipalPicker.tsx +45 -10
- package/src/access/messages.ts +8 -0
- package/src/access/principal-label.ts +18 -0
- package/src/access/ui.ts +1 -0
- package/src/account/EntitySearch.tsx +5 -4
- package/src/ai/action-review.ts +2 -1
- package/src/ai/app-skill-store.ts +1 -1
- package/src/ai/capabilities.ts +21 -3
- package/src/ai/capability-execution.ts +14 -12
- package/src/ai/chat/action-card.ts +76 -4
- package/src/ai/chat/action-messages.ts +14 -0
- package/src/ai/chat/action-question.browser-harness.tsx +12 -0
- package/src/ai/chat/action-question.tsx +214 -23
- package/src/ai/chat/action-text.ts +288 -0
- package/src/ai/chat/tool-action-words.ts +31 -0
- package/src/ai/chat/tool-action.tsx +1 -26
- package/src/ai/chat-tasks.ts +2 -1
- package/src/ai/client/controller.ts +150 -32
- package/src/ai/client/transport.ts +14 -2
- package/src/ai/code-capability-routes.ts +27 -23
- package/src/ai/code-runtime-tools.ts +14 -16
- package/src/ai/code-source-tools.ts +16 -18
- package/src/ai/executor.ts +64 -21
- package/src/ai/fetch-file-tool.ts +67 -76
- package/src/ai/firecrawl-tools.ts +15 -2
- package/src/ai/http.ts +1 -0
- package/src/ai/index.ts +1 -0
- package/src/ai/migrate.ts +28 -0
- package/src/ai/open-questions.ts +168 -0
- package/src/ai/projects.ts +1 -2
- package/src/ai/protocol.ts +2 -2
- package/src/ai/question-text.ts +8 -0
- package/src/ai/recent-resources.ts +12 -5
- package/src/ai/review-content.ts +77 -0
- package/src/ai/routes.ts +119 -35
- package/src/ai/runtime.ts +1 -0
- package/src/ai/skill-tool.ts +17 -6
- package/src/ai/skills-routes.ts +72 -27
- package/src/ai/skills.ts +139 -60
- package/src/ai/store.ts +184 -31
- package/src/ai/testing.ts +36 -0
- package/src/ai/tool-sentences.ts +152 -34
- package/src/ai/tool-wording.ts +12 -6
- package/src/ai/tools.ts +8 -3
- package/src/ai/types.ts +25 -4
- package/src/ai/usage.ts +2 -2
- package/src/api/admin-core-settings.ts +15 -2
- package/src/api/admin-geo.ts +54 -0
- package/src/api/admin-linux-identities.ts +6 -3
- package/src/api/admin-outgoing-mail.ts +29 -15
- package/src/api/app-approval-actions.ts +31 -7
- package/src/api/approvals-loader.ts +3 -3
- package/src/api/approvals.ts +51 -0
- package/src/api/apps.ts +4 -2
- package/src/api/auth/schemas.ts +3 -0
- package/src/api/auth.ts +54 -18
- package/src/api/capabilities.ts +258 -181
- package/src/api/capability-streams.ts +21 -13
- package/src/api/cli-plugins.ts +4 -1
- package/src/api/geo-glyphs.ts +11 -0
- package/src/api/geo.ts +128 -0
- package/src/api/help.ts +12 -4
- package/src/api/index.ts +5 -0
- package/src/api/mcp.ts +73 -41
- package/src/api/me-panel-consent.ts +8 -5
- package/src/api/me.ts +79 -3
- package/src/api/search.ts +21 -14
- package/src/api/sync-ops.ts +19 -13
- package/src/api/widgets.ts +42 -18
- package/src/approvals/Approvals.tsx +30 -66
- package/src/approvals/approval-card.ts +68 -0
- package/src/browser/CloudResourceSearch.browser-harness.tsx +53 -1
- package/src/browser/CloudResourceSearch.tsx +3 -13
- package/src/browser/PanelLeaveNotice.tsx +18 -0
- package/src/browser/navigation-search.ts +78 -25
- package/src/browser/panel-leave.ts +69 -0
- package/src/browser/panel-messages.ts +12 -0
- package/src/browser/panel-slot.ts +173 -24
- package/src/browser/panel.ts +3 -0
- package/src/browser/resource-search-messages.ts +2 -0
- package/src/capabilities/client.ts +28 -1
- package/src/capabilities/executions.ts +22 -3
- package/src/capabilities/geo-client.ts +57 -0
- package/src/capabilities/response.ts +2 -1
- package/src/capabilities/review-storage.ts +24 -0
- package/src/capabilities/reviews.ts +17 -3
- package/src/capabilities/server.ts +36 -16
- package/src/cli/access.ts +15 -23
- package/src/cli/admin/linux.ts +13 -2
- package/src/cli/admin/outgoing-mail.ts +26 -4
- package/src/cli/capabilities.ts +19 -0
- package/src/config/env.ts +0 -6
- package/src/contracts/app-access.ts +48 -0
- package/src/contracts/app-approval.ts +3 -3
- package/src/contracts/app.ts +4 -1
- package/src/contracts/approvals.ts +2 -2
- package/src/contracts/avatar.ts +186 -0
- package/src/contracts/capabilities.ts +149 -55
- package/src/contracts/geo-admin.ts +127 -0
- package/src/contracts/geo-map.ts +19 -0
- package/src/contracts/geo-route.ts +168 -0
- package/src/contracts/geo.ts +248 -0
- package/src/contracts/index.ts +4 -0
- package/src/contracts/outgoing-mail.ts +17 -4
- package/src/contracts/registry.ts +2 -0
- package/src/contracts/shared.ts +3 -0
- package/src/events/app-access.ts +68 -0
- package/src/events/live-delivery.ts +128 -0
- package/src/events/live.ts +14 -130
- package/src/geo/CloudMap.tsx +95 -0
- package/src/geo/map-messages.ts +17 -0
- package/src/geo/ui.ts +1 -0
- package/src/index.ts +2 -0
- package/src/server/client-ip.ts +36 -0
- package/src/server/index.ts +3 -4
- package/src/server/middleware/app-access.ts +312 -0
- package/src/server/middleware/auth.ts +5 -3
- package/src/server/middleware/invocation.ts +11 -0
- package/src/server/middleware/rate-limit.ts +4 -4
- package/src/server/services/access.ts +13 -9
- package/src/server/services/index.ts +0 -2
- package/src/server/services/services.ts +0 -2
- package/src/services/accounts/app.ts +23 -3
- package/src/services/accounts/posix.ts +21 -7
- package/src/services/accounts/users.ts +12 -1
- package/src/services/allowed-network-fetch.ts +16 -10
- package/src/services/app-access-metrics.ts +24 -0
- package/src/services/app-access.ts +123 -0
- package/src/services/app-discovery.ts +27 -0
- package/src/services/approvals/content.ts +40 -0
- package/src/services/approvals/device.ts +49 -33
- package/src/services/approvals/index.ts +15 -6
- package/src/services/approvals/list.ts +6 -11
- package/src/services/approvals/question.ts +72 -0
- package/src/services/audit/index.ts +1 -0
- package/src/services/auth-flows/ipa.ts +39 -2
- package/src/services/auth-flows/password-reset.ts +32 -6
- package/src/services/downstream-budget.ts +87 -0
- package/src/services/geo/admin.ts +262 -0
- package/src/services/geo/bucket.ts +67 -0
- package/src/services/geo/cache.ts +57 -0
- package/src/services/geo/costs.ts +5 -0
- package/src/services/geo/errors.ts +41 -0
- package/src/services/geo/fixtures/README.md +17 -0
- package/src/services/geo/fixtures/along.json +355 -0
- package/src/services/geo/fixtures/autocomplete.json +218 -0
- package/src/services/geo/fixtures/geocode.json +129 -0
- package/src/services/geo/fixtures/places.json +355 -0
- package/src/services/geo/fixtures/reverse.json +61 -0
- package/src/services/geo/fixtures/routing.json +57 -0
- package/src/services/geo/geoapify-route.ts +93 -0
- package/src/services/geo/geoapify.ts +281 -0
- package/src/services/geo/ledger.ts +122 -0
- package/src/services/geo/map.ts +160 -0
- package/src/services/geo/migrate.ts +25 -0
- package/src/services/geo/polyline.ts +184 -0
- package/src/services/geo/route-chain.ts +145 -0
- package/src/services/geo/route-costs.ts +9 -0
- package/src/services/geo/route-geometry.ts +39 -0
- package/src/services/geo/route-plan.ts +172 -0
- package/src/services/geo/route-service.ts +433 -0
- package/src/services/geo/service.ts +300 -0
- package/src/services/geo/settings.ts +49 -0
- package/src/services/help/index.ts +16 -7
- package/src/services/help/types.ts +6 -1
- package/src/services/identity/invocation-actor.ts +20 -2
- package/src/services/identity/issue-invocation.ts +67 -0
- package/src/services/identity/key-ring.ts +5 -3
- package/src/services/identity/runtime-config.ts +23 -0
- package/src/services/index.ts +11 -0
- package/src/services/mandates/index.ts +40 -3
- package/src/services/network-security.ts +6 -3
- package/src/services/network-transport.ts +99 -0
- package/src/services/notifications/catalog.ts +3 -2
- package/src/services/notifications/runtime.ts +1 -0
- package/src/services/notifications/web-push-transport.ts +45 -38
- package/src/services/outgoing-mail/dispatcher.ts +6 -1
- package/src/services/outgoing-mail/index.ts +55 -1
- package/src/services/outgoing-mail/messages.ts +82 -3
- package/src/services/outgoing-mail/resolve-host.ts +2 -2
- package/src/services/outgoing-mail/retention.ts +13 -1
- package/src/services/outgoing-mail/store.ts +36 -6
- package/src/services/outgoing-mail/test-send.ts +34 -4
- package/src/services/outgoing-mail/transport.ts +1 -1
- package/src/services/pdf/gotenberg.ts +11 -38
- package/src/services/pdf/markdown.ts +160 -2
- package/src/services/pdf/template-preview.ts +1 -1
- package/src/services/public-http.ts +28 -40
- package/src/services/session/index.ts +203 -29
- package/src/services/settings/app.ts +4 -1
- package/src/services/settings/core-settings.ts +88 -0
- package/src/services/settings/defaults.ts +8 -2
- package/src/services/settings/errors.ts +11 -0
- package/src/services/settings/geo-budget.ts +40 -0
- package/src/services/settings/index.ts +4 -3
- package/src/services/settings/store.ts +25 -17
- package/src/services/weather/geo.ts +29 -111
- package/src/services/weather/index.ts +4 -3
- package/src/services/weather/locations.ts +8 -5
- package/src/services/weather/migrate.ts +1 -0
- package/src/services/weather/settings.ts +0 -16
- package/src/shared/__snapshots__/avatar-art.test.ts.snap +5 -0
- package/src/shared/avatar-art.ts +400 -0
- package/src/shared/index.ts +2 -0
- package/src/shared/network-address.ts +22 -3
- package/src/shared/template-rendering.ts +36 -4
- package/src/shared-text/documents.ts +1 -1
- package/src/shared-text/index.ts +2 -0
- package/src/shared-text/log.ts +51 -3
- package/src/shared-text/snapshots.ts +340 -0
- package/src/ssr/AdminLayout.tsx +4 -2
- package/src/ssr/CloudShell.island.tsx +6 -0
- package/src/ssr/HelpPanelArticle.island.tsx +308 -0
- package/src/ssr/HelpPanelBack.island.tsx +32 -0
- package/src/ssr/HelpPanelMenu.island.tsx +133 -0
- package/src/ssr/HelpPanelSearch.island.tsx +123 -0
- package/src/ssr/HelpPanelShortcuts.island.tsx +22 -0
- package/src/ssr/HelpPanelView.island.tsx +27 -0
- package/src/ssr/Layout.tsx +65 -15
- package/src/ssr/LayoutHelp.browser-harness.tsx +1 -1
- package/src/ssr/LayoutHelp.tsx +185 -542
- package/src/ssr/LayoutHelpPanel.browser-harness.tsx +6 -7
- package/src/ssr/LayoutHelpPanel.server.browser-harness.tsx +131 -0
- package/src/ssr/LayoutHelpPanel.server.tsx +115 -0
- package/src/ssr/PanelRuntime.island.tsx +11 -7
- package/src/ssr/PwaLayout.tsx +2 -2
- package/src/ssr/RailApps.tsx +6 -0
- package/src/ssr/ShellRuntime.island.tsx +23 -7
- package/src/ssr/__snapshots__/Layout.unchanged.render.test.tsx.snap +151 -0
- package/src/ssr/__snapshots__/LayoutHelp.ssr.render.test.tsx.snap +29 -0
- package/src/ssr/admin-navigation.ts +1 -0
- package/src/ssr/app-badges.ts +6 -1
- package/src/ssr/compact-shell.browser-harness.ts +44 -5
- package/src/ssr/help.ts +7 -5
- package/src/ssr/index.ts +2 -1
- package/src/ssr/islands/index.ts +3 -4
- package/src/ssr/layout-context.ts +2 -0
- package/src/ssr/layout-help-panel-controls.tsx +43 -0
- package/src/ssr/layout-help-panel-document.ts +67 -0
- package/src/ssr/layout-help-panel-lifecycle.ts +32 -0
- package/src/ssr/layout-help-panel-menu.tsx +113 -0
- package/src/ssr/layout-help-panel-modules.ts +7 -0
- package/src/ssr/layout-help-panel-reader.tsx +159 -0
- package/src/ssr/layout-help-panel-search.tsx +69 -0
- package/src/ssr/layout-help-panel-shortcuts.ts +7 -0
- package/src/ssr/layout-help-panel-state.ts +141 -0
- package/src/ssr/layout-help-panel-types.ts +19 -0
- package/src/ssr/layout-help-views.tsx +484 -0
- package/src/ssr/mobile-menu-history.ts +4 -0
- package/src/ssr/page-swap-fixture/Column.island.tsx +15 -0
- package/src/ssr/page-swap-fixture/ProviderProbe.island.tsx +31 -0
- package/src/ssr/page-swap.browser-harness.tsx +177 -0
- package/src/ssr/page-swap.ts +28 -0
- package/src/ssr/page-trail-runtime.ts +32 -13
- package/src/ssr/panel-consent.ts +2 -2
- package/src/ssr/panel-idle.ts +9 -0
- package/src/ssr/panel-slot.browser-harness.tsx +3 -0
- package/src/ssr/platform-messages.ts +8 -0
- package/src/ssr/runtime.ts +17 -0
- package/src/ssr/shell-data.tsx +10 -2
- package/src/styles/approvals.css +6 -0
- package/src/styles/effects.css +15 -0
- package/src/styles/global.css +70 -6
- package/src/server/services/geo.ts +0 -215
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// Bun Snapshot v1, https://bun.sh/docs/test/snapshots
|
|
2
|
+
|
|
3
|
+
exports[`opt-out regular HTML is unchanged 1`] = `
|
|
4
|
+
"<!DOCTYPE html>
|
|
5
|
+
<html lang="en" class="light">
|
|
6
|
+
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
<meta name="view-transition" content="same-origin">
|
|
8
|
+
<title>Unchanged page</title>
|
|
9
|
+
<meta name="description" content="Cloud workspace">
|
|
10
|
+
<meta name="theme-color" content="#09090b">
|
|
11
|
+
<meta name="mobile-web-app-capable" content="yes">
|
|
12
|
+
<link rel="icon" href="/public/unchanged/favicon.svg">
|
|
13
|
+
<style data-cloud-css-layers>@layer properties, theme, base, components, utilities;</style>
|
|
14
|
+
<link rel="preload" href="/public/tabler-icons.woff2" as="font" type="font/woff2" crossorigin>
|
|
15
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-400-normal-3b646991d30055a9.woff2" as="font" type="font/woff2" crossorigin>
|
|
16
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-500-normal-0717336fb31fcdcd.woff2" as="font" type="font/woff2" crossorigin>
|
|
17
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-600-normal-8960851d691c054e.woff2" as="font" type="font/woff2" crossorigin>
|
|
18
|
+
<link rel="stylesheet" href="/public/fonts.css">
|
|
19
|
+
<link rel="stylesheet" href="/public/tabler-icons.css">
|
|
20
|
+
<link rel="stylesheet" href="/public/unchanged/app.css">
|
|
21
|
+
<link rel="stylesheet" href="/public/global.css">
|
|
22
|
+
<script>!function(){var e=document.documentElement;if(e.hasAttribute("data-theme-fixed"))return;var m=matchMedia("(prefers-color-scheme: dark)");function r(n,s){var v;document.cookie.split(";").forEach(function(p){p=p.trim();var i=p.indexOf("=");if(i>0&&p.slice(0,i)===n){var t=p.slice(i+1);try{t=decodeURIComponent(t)}catch(e){}if(t==="light"||t==="dark"||s&&t==="system")v=t}});return v}function a(){var s=m.matches?"dark":"light";if(r("color-scheme")!==s)document.cookie="color-scheme="+s+"; path=/; max-age=31536000; SameSite=Lax"+(location.protocol==="https:"?"; Secure":"");var p=r("theme",true)||"system";e.classList.remove("light","dark");e.classList.add(p==="system"?s:p)}a();m.addEventListener("change",function(){a();window.dispatchEvent(new Event("cloud:theme-preference"))})}();</script>
|
|
23
|
+
</head>
|
|
24
|
+
<body class="k2b-ui" data-k2b-app-workspace-controller="global">
|
|
25
|
+
<div class="cloud-app-canvas relative flex w-full min-h-dvh md:h-dvh md:overflow-hidden" style="" data-app-id="unchanged" data-app-base="/app/unchanged" data-layout-authenticated="true"><solid-island data-id="da36a5b84abc" data-props="{"t":{"t":10,"i":0,"p":{"k":["panel","workspace","pageTrail","focus","help","commands","push","announcements","banners"],"v":[{"t":2,"s":2},{"t":10,"i":1,"p":{"k":["appId"],"v":[{"t":1,"s":"unchanged"}]},"o":0},{"t":2,"s":2},{"t":2,"s":2},{"t":2,"s":1},{"t":10,"i":2,"p":{"k":["searchResources"],"v":[{"t":2,"s":2}]},"o":0},{"t":2,"s":2},{"t":2,"s":1},{"t":2,"s":1}]},"o":0},"f":127,"m":[]}" data-file="ShellRuntime.island.tsx"></solid-island><script id="cloud-shell-data" type="application/json">{"panel":{"providers":[{"id":"unchanged","label":"Panel","icon":"ti ti-box","href":"/app/unchanged/panel","appName":"Unchanged","consent":true}],"provider":"unchanged","context":{"v":1,"seq":0,"pageId":"11111111-1111-4111-8111-111111111111","app":"unchanged"}},"platform":"other","apps":[{"iconClass":"ti ti-box","defaultVisible":true,"id":"unchanged","label":"Unchanged","href":"/app/unchanged","match":"/app/unchanged","description":"Snapshot fixture"}],"rail":{"revision":0,"visibility":{},"shortcuts":[]},"home":"/app/dashboard","profile":{"name":"Mia Muster"},"legalLinks":[{"label":"Profile","href":"/me","icon":"ti ti-user-circle"}],"theme":"system","searchLinks":{},"appId":"unchanged"}</script><aside class="layout-rail hidden w-14 shrink-0 flex-col md:flex"><div class="layout-rail-logo flex h-[2.875rem] shrink-0 items-center justify-center"><a href="/" aria-label="Home"><img src="/branding/logo" alt="Logo" class="h-5 w-5"></a></div><solid-island data-id="0deacd2f60ab" data-props="{"t":{"t":10,"i":0,"p":{"k":["slot","currentPath","panelOpen"],"v":[{"t":1,"s":"rail"},{"t":1,"s":"/app/unchanged?mode=regular"},{"t":2,"s":3}]},"o":0},"f":127,"m":[]}" data-file="CloudShell.island.tsx"><nav class="layout-rail-navigation flex min-h-0 flex-1 flex-col items-center gap-1" aria-label="Apps"><button type="button" class="rail-item " data-cloud-shell-focus-toggle="hide" aria-label="Hide sidebar" ><i class="ti ti-layout-sidebar-left-collapse text-xl" aria-hidden="true"></i></button><span id="k2b-tooltip-000100000000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Hide sidebar (⌘/Ctrl+\\)</span><div style="flex:0 1 auto;scrollbar-width:none;scrollbar-gutter:auto;overflow-x:hidden" data-cloud-rail-apps="true" data-scroll-fade-axis="vertical" data-orientation="vertical" data-scroll-fade-mode="both" class="k2b-scroll-area flex w-full flex-col items-center gap-1 " ><a href="/app/unchanged" class="rail-item relative shrink-0 rail-item-active" aria-label="Unchanged" aria-current="page" style=""><i class="ti ti-box text-xl" aria-hidden="true"></i><span class="sr-only">Unchanged</span></a><span id="k2b-tooltip-00010000102010" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Unchanged</span></div><button type="button" class="rail-item shrink-0 " data-cloud-launchpad="true" aria-label="Open apps" ><i class="ti ti-grid-dots text-xl" aria-hidden="true"></i></button><span id="k2b-tooltip-000100002000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Open apps</span><div class="mt-auto shrink-0 flex flex-col items-center gap-1"><button type="button" class="rail-item text-blue-500 hover:bg-blue-500/10 hover:text-blue-600 dark:text-blue-400 dark:hover:bg-blue-500/15 dark:hover:text-blue-300 " aria-label="Open global search" ><i class="ti ti-search text-xl"></i></button><span id="k2b-tooltip-000100004000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Search (⌘/Ctrl+K)</span><button type="button" class="rail-item text-blue-500 hover:bg-blue-500/10 hover:text-blue-600 dark:text-blue-400 dark:hover:bg-blue-500/15 dark:hover:text-blue-300 " aria-label="Open help" ><i class="ti ti-help-circle text-xl"></i></button><span id="k2b-tooltip-000100005000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Help (Shift+/)</span><div class="layout-profile-preferences"><button type="button" class="layout-profile-preferences__link" aria-label="Profile and preferences"><span class="k2b-avatar " data-size="sm" data-tint="9" style="" role="img" aria-label="Mia Muster avatar">MM</span></button><div class="layout-profile-preferences__panel dropdown-menu-surface"><button type="button" class="menu-item" aria-label="Appearance: Automatic. Switches to Light."><i class="ti ti-device-laptop" aria-hidden="true"></i><span>Automatic</span></button><button type="button" class="menu-item"><i class="ti ti-language" aria-hidden="true"></i><span>Deutsch</span></button><a href="/me" class="menu-item"><i class="ti ti-user-circle" aria-hidden="true"></i><span>Profile settings</span></a><button type="button" class="menu-item"><i class="ti ti-logout" aria-hidden="true"></i><span>Sign out</span></button></div><span class="k2b-dropdown layout-profile-preferences__dropdown"><button aria-controls="k2b-dropdown-00010000610" aria-expanded="false" aria-haspopup="menu" aria-label="Profile and preferences" type="button" class="k2b-dropdown__trigger layout-profile-preferences__dropdown-trigger " ><span class="k2b-avatar " data-size="sm" data-tint="9" style="" role="img" aria-label="Mia Muster avatar">MM</span></button><div id="k2b-dropdown-00010000610" popover="auto" role="menu" aria-label="Profile and preferences" class="k2b-dropdown__menu " style="--k2b-dropdown-width:14rem" data-width="fixed" data-variant="default" data-position="right-start"><button type="button" role="menuitem" aria-label="Appearance: Automatic. Switches to Light." tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-device-laptop" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Automatic</span></span></button><button type="button" role="menuitem" tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-language" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Deutsch</span></span></button><a href="/me" role="menuitem" tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-user-circle" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Profile settings</span></span></a><button type="button" role="menuitem" tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-logout" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Sign out</span></span></button></div></span><span class="sr-only" aria-live="polite"></span></div></div></nav></solid-island></aside><div class="cloud-shell-show"><button data-cloud-shell-focus-toggle="show" title="Show sidebar (⌘/Ctrl+\\)" aria-label="Show sidebar" type="button" class="k2b-button k2b-icon-button " data-size="lg" data-variant="secondary" ><span class="k2b-button__label"><i class="ti ti-layout-sidebar-left-expand text-xl" aria-hidden="true"></i></span></button><span id="k2b-tooltip-00010100100" role="tooltip" popover="manual" class="k2b-tooltip">Show sidebar (⌘/Ctrl+\\)</span></div><div class="cloud-shell-reveal" data-cloud-shell-reveal aria-hidden="true"></div><div class="layout-shell-content flex min-h-0 min-w-0 flex-1 flex-col" data-cloud-app-area><header class="layout-header paper flex min-h-[2.875rem] shrink-0 items-center px-2 py-1.5 md:px-3 md:py-2 md:hidden" style="box-shadow:var(--ui-shadow-surface)"><solid-island data-id="0deacd2f60ab" data-props="{"t":{"t":10,"i":0,"p":{"k":["slot","panelOpen","authenticated","title","launchpad","breadcrumbs"],"v":[{"t":1,"s":"header"},{"t":2,"s":3},{"t":2,"s":2},{"t":1,"s":"Unchanged"},{"t":2,"s":2},{"t":2,"s":1}]},"o":0},"f":127,"m":[]}" data-file="CloudShell.island.tsx"><div class="ml-2 flex min-w-0 flex-1 items-center"><div class="flex min-w-0 items-center lg:hidden"><span class="layout-header-title truncate font-semibold">Unchanged</span><button type="button" class="layout-header-title-menu" aria-haspopup="dialog"><span class="truncate font-semibold">Unchanged</span><span class="sr-only">, Menu</span><i class="ti ti-chevron-down" aria-hidden="true"></i></button></div></div><div class="flex shrink-0 items-center gap-1"><div class="flex items-center gap-1 lg:hidden"><button title="Search (⌘/Ctrl+K)" aria-label="Open global search" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-search text-base"></i></span></button><span id="k2b-tooltip-00010200100100" role="tooltip" popover="manual" class="k2b-tooltip">Search (⌘/Ctrl+K)</span><button title="Help (Shift+/)" aria-label="Open help" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-help-circle text-base"></i></span></button><span id="k2b-tooltip-00010200200100" role="tooltip" popover="manual" class="k2b-tooltip">Help (Shift+/)</span><button title="Open apps" aria-label="Open apps" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-grid-dots text-lg"></i></span></button><span id="k2b-tooltip-00010200300100" role="tooltip" popover="manual" class="k2b-tooltip">Open apps</span></div></div></solid-island></header><script type="application/json" data-k2b-page-trail>{"title":"Unchanged page","ancestors":[]}</script><div class="layout-page-head" data-trail="title"><div class="k2b-page-title " data-depth="0" data-fallback="" data-k2b-server=""><div class="k2b-page-title__copy"><p data-hk="00010501040" class="k2b-page-title__title " ><span class="k2b-page-title__text">Unchanged page</span></p></div></div></div><main class="layout-content-main min-h-0 min-w-0 flex-1 md:overflow-auto md:[scrollbar-gutter:stable]">Page content</main></div><aside class="cloud-panel" id="cloud-panel" data-cloud-panel aria-label="Panel" data-state="closed" data-provider="unchanged" data-app-name="Unchanged" data-provider-consent="true" data-context-allowed="false"><div role="separator" tabindex="0" class="k2b-resize-separator cloud-panel__resize" aria-orientation="vertical" aria-valuemin="20" aria-valuemax="36" aria-valuenow="26" aria-label="Resize panel" aria-controls="cloud-panel" data-orientation="vertical" data-resize-edge="start"><span aria-hidden="true"></span></div><div class="cloud-panel__card"><button type="button" class="cloud-panel__grabber" data-cloud-panel-grow aria-label="Enlarge panel"><span aria-hidden="true"></span></button><div class="cloud-panel__head"><h2 class="cloud-panel__title"><i class="ti ti-box" aria-hidden="true"></i><span>Panel</span></h2><span class="cloud-panel__menu" data-cloud-panel-menu style="visibility:visible"><button aria-haspopup="menu" aria-expanded="false" title="Panel menu" aria-label="Panel menu" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-dots" aria-hidden="true"></i></span></button><span id="k2b-tooltip-00010610100" role="tooltip" popover="manual" class="k2b-tooltip">Panel menu</span></span><button data-cloud-panel-close="" title="Close panel (Ctrl+J)" aria-label="Close panel" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-x" aria-hidden="true"></i></span></button><span id="k2b-tooltip-00010620100" role="tooltip" popover="manual" class="k2b-tooltip">Close panel (Ctrl+J)</span></div><div class="cloud-panel__body" id="cloud-panel-body"><article data-cloud-panel-consent="" role="region" tabindex="-1" aria-labelledby="cloud-panel-consent-title" class="k2b-notice-card cloud-panel__consent " data-tone="neutral"><div class="k2b-notice-card__content"><div class="k2b-notice-card__head"><p class="k2b-notice-card__title"><span id="cloud-panel-consent-title" data-cloud-panel-consent-title>May Unchanged see where you are?</span></p></div><p class="k2b-notice-card__description"><span data-cloud-panel-consent-body>Unchanged only learns which place you are at. It can read only what you may read yourself. You can change this in the ⋯ menu at any time.</span></p><div class="k2b-notice-card__body "><div class="cloud-panel__consent-actions"><button data-cloud-panel-consent-answer="allow" type="button" class="k2b-button " data-size="sm" data-variant="primary" ><span class="k2b-button__label">Allow</span></button><button data-cloud-panel-consent-answer="deny" type="button" class="k2b-button " data-size="sm" data-variant="secondary" ><span class="k2b-button__label">Don't share</span></button></div><p class="cloud-panel__consent-error" data-cloud-panel-consent-error role="status"></p></div></div></article><div class="cloud-panel__skeleton" aria-hidden="true"><span></span><span></span><span></span></div><div class="cloud-panel__fallback"><div data-hk="000106400" class="k2b-placeholder " data-align="center" data-state="error" data-surface="none" data-variant="panel" role="alert" ><span class="k2b-placeholder__icon"><i class="ti ti-alert-circle" aria-hidden="true"></i></span><p class="k2b-placeholder__title">The panel did not load</p><div class="k2b-placeholder__description">Panel is not responding.</div><div class="k2b-placeholder__action"><button data-cloud-panel-retry="" type="button" class="k2b-button " data-size="md" data-variant="primary" ><span class="k2b-button__label">Try again</span></button></div></div></div><div class="cloud-panel__shield" aria-hidden="true"></div><div class="cloud-panel__closing" aria-hidden="true"><span><i class="ti ti-x"></i>Release to close the panel</span></div></div></div><div role="status" class="k2b-sr-only" data-cloud-panel-status></div></aside><div class="cloud-tab-bar"><div class="cloud-tab-bar__row"><nav class="k2b-tab-bar" aria-label="Apps" data-variant="floating"><ul><li><a href="/" data-tab="home" data-k2b-title="Home"><i class="ti ti-home" aria-hidden="true"></i><span class="k2b-truncate-fade">Home</span></a></li><li><a href="/app/unchanged" aria-current="page" data-tab="unchanged" data-k2b-title="Unchanged"><i class="ti ti-box" aria-hidden="true"></i><span class="k2b-truncate-fade">Unchanged</span></a></li></ul></nav></div></div><div data-print-fallback><p>This view does not print well.</p><p>Open the item you want to print, or use the app's export.</p></div></div>
|
|
26
|
+
</body>
|
|
27
|
+
<style>solid-client,solid-island{display:contents}</style>
|
|
28
|
+
<script type="module" data-ssr-assets="/_ssr/0">const p="/_ssr/0";document.querySelectorAll('solid-island,solid-client').forEach(e=>import(p+'/'+e.dataset.id+'.js'));</script>
|
|
29
|
+
··
|
|
30
|
+
</html>"
|
|
31
|
+
`;
|
|
32
|
+
|
|
33
|
+
exports[`opt-out fullPage HTML is unchanged 1`] = `
|
|
34
|
+
"<!DOCTYPE html>
|
|
35
|
+
<html lang="en" class="light">
|
|
36
|
+
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
37
|
+
<meta name="view-transition" content="same-origin">
|
|
38
|
+
<title>Unchanged page</title>
|
|
39
|
+
<meta name="description" content="Cloud workspace">
|
|
40
|
+
<meta name="theme-color" content="#09090b">
|
|
41
|
+
<meta name="mobile-web-app-capable" content="yes">
|
|
42
|
+
<link rel="icon" href="/public/unchanged/favicon.svg">
|
|
43
|
+
<style data-cloud-css-layers>@layer properties, theme, base, components, utilities;</style>
|
|
44
|
+
<link rel="preload" href="/public/tabler-icons.woff2" as="font" type="font/woff2" crossorigin>
|
|
45
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-400-normal-3b646991d30055a9.woff2" as="font" type="font/woff2" crossorigin>
|
|
46
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-500-normal-0717336fb31fcdcd.woff2" as="font" type="font/woff2" crossorigin>
|
|
47
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-600-normal-8960851d691c054e.woff2" as="font" type="font/woff2" crossorigin>
|
|
48
|
+
<link rel="stylesheet" href="/public/fonts.css">
|
|
49
|
+
<link rel="stylesheet" href="/public/tabler-icons.css">
|
|
50
|
+
<link rel="stylesheet" href="/public/unchanged/app.css">
|
|
51
|
+
<link rel="stylesheet" href="/public/global.css">
|
|
52
|
+
<script>!function(){var e=document.documentElement;if(e.hasAttribute("data-theme-fixed"))return;var m=matchMedia("(prefers-color-scheme: dark)");function r(n,s){var v;document.cookie.split(";").forEach(function(p){p=p.trim();var i=p.indexOf("=");if(i>0&&p.slice(0,i)===n){var t=p.slice(i+1);try{t=decodeURIComponent(t)}catch(e){}if(t==="light"||t==="dark"||s&&t==="system")v=t}});return v}function a(){var s=m.matches?"dark":"light";if(r("color-scheme")!==s)document.cookie="color-scheme="+s+"; path=/; max-age=31536000; SameSite=Lax"+(location.protocol==="https:"?"; Secure":"");var p=r("theme",true)||"system";e.classList.remove("light","dark");e.classList.add(p==="system"?s:p)}a();m.addEventListener("change",function(){a();window.dispatchEvent(new Event("cloud:theme-preference"))})}();</script>
|
|
53
|
+
</head>
|
|
54
|
+
<body class="k2b-ui" data-k2b-app-workspace-controller="global">
|
|
55
|
+
<div class="cloud-app-canvas relative flex w-full h-dvh overflow-hidden" style="" data-app-id="unchanged" data-app-base="/app/unchanged" data-layout-full-page="true" data-layout-authenticated="true"><solid-island data-id="da36a5b84abc" data-props="{"t":{"t":10,"i":0,"p":{"k":["panel","workspace","pageTrail","focus","help","commands","push","announcements","banners"],"v":[{"t":2,"s":2},{"t":10,"i":1,"p":{"k":["appId"],"v":[{"t":1,"s":"unchanged"}]},"o":0},{"t":2,"s":2},{"t":2,"s":2},{"t":2,"s":1},{"t":10,"i":2,"p":{"k":["searchResources"],"v":[{"t":2,"s":2}]},"o":0},{"t":2,"s":2},{"t":2,"s":1},{"t":2,"s":1}]},"o":0},"f":127,"m":[]}" data-file="ShellRuntime.island.tsx"></solid-island><script id="cloud-shell-data" type="application/json">{"panel":{"providers":[{"id":"unchanged","label":"Panel","icon":"ti ti-box","href":"/app/unchanged/panel","appName":"Unchanged","consent":true}],"provider":"unchanged","context":{"v":1,"seq":0,"pageId":"11111111-1111-4111-8111-111111111111","app":"unchanged"}},"platform":"other","apps":[{"iconClass":"ti ti-box","defaultVisible":true,"id":"unchanged","label":"Unchanged","href":"/app/unchanged","match":"/app/unchanged","description":"Snapshot fixture"}],"rail":{"revision":0,"visibility":{},"shortcuts":[]},"home":"/app/dashboard","profile":{"name":"Mia Muster"},"legalLinks":[{"label":"Profile","href":"/me","icon":"ti ti-user-circle"}],"theme":"system","searchLinks":{},"appId":"unchanged"}</script><aside class="layout-rail hidden w-14 shrink-0 flex-col md:flex"><div class="layout-rail-logo flex h-[2.875rem] shrink-0 items-center justify-center"><a href="/" aria-label="Home"><img src="/branding/logo" alt="Logo" class="h-5 w-5"></a></div><solid-island data-id="0deacd2f60ab" data-props="{"t":{"t":10,"i":0,"p":{"k":["slot","currentPath","panelOpen"],"v":[{"t":1,"s":"rail"},{"t":1,"s":"/app/unchanged?mode=fullPage"},{"t":2,"s":3}]},"o":0},"f":127,"m":[]}" data-file="CloudShell.island.tsx"><nav class="layout-rail-navigation flex min-h-0 flex-1 flex-col items-center gap-1" aria-label="Apps"><button type="button" class="rail-item " data-cloud-shell-focus-toggle="hide" aria-label="Hide sidebar" ><i class="ti ti-layout-sidebar-left-collapse text-xl" aria-hidden="true"></i></button><span id="k2b-tooltip-000100000000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Hide sidebar (⌘/Ctrl+\\)</span><div style="flex:0 1 auto;scrollbar-width:none;scrollbar-gutter:auto;overflow-x:hidden" data-cloud-rail-apps="true" data-scroll-fade-axis="vertical" data-orientation="vertical" data-scroll-fade-mode="both" class="k2b-scroll-area flex w-full flex-col items-center gap-1 " ><a href="/app/unchanged" class="rail-item relative shrink-0 rail-item-active" aria-label="Unchanged" aria-current="page" style=""><i class="ti ti-box text-xl" aria-hidden="true"></i><span class="sr-only">Unchanged</span></a><span id="k2b-tooltip-00010000102010" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Unchanged</span></div><button type="button" class="rail-item shrink-0 " data-cloud-launchpad="true" aria-label="Open apps" ><i class="ti ti-grid-dots text-xl" aria-hidden="true"></i></button><span id="k2b-tooltip-000100002000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Open apps</span><div class="mt-auto shrink-0 flex flex-col items-center gap-1"><button type="button" class="rail-item text-blue-500 hover:bg-blue-500/10 hover:text-blue-600 dark:text-blue-400 dark:hover:bg-blue-500/15 dark:hover:text-blue-300 " aria-label="Open global search" ><i class="ti ti-search text-xl"></i></button><span id="k2b-tooltip-000100004000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Search (⌘/Ctrl+K)</span><button type="button" class="rail-item text-blue-500 hover:bg-blue-500/10 hover:text-blue-600 dark:text-blue-400 dark:hover:bg-blue-500/15 dark:hover:text-blue-300 " aria-label="Open help" ><i class="ti ti-help-circle text-xl"></i></button><span id="k2b-tooltip-000100005000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Help (Shift+/)</span><div class="layout-profile-preferences"><button type="button" class="layout-profile-preferences__link" aria-label="Profile and preferences"><span class="k2b-avatar " data-size="sm" data-tint="9" style="" role="img" aria-label="Mia Muster avatar">MM</span></button><div class="layout-profile-preferences__panel dropdown-menu-surface"><button type="button" class="menu-item" aria-label="Appearance: Automatic. Switches to Light."><i class="ti ti-device-laptop" aria-hidden="true"></i><span>Automatic</span></button><button type="button" class="menu-item"><i class="ti ti-language" aria-hidden="true"></i><span>Deutsch</span></button><a href="/me" class="menu-item"><i class="ti ti-user-circle" aria-hidden="true"></i><span>Profile settings</span></a><button type="button" class="menu-item"><i class="ti ti-logout" aria-hidden="true"></i><span>Sign out</span></button></div><span class="k2b-dropdown layout-profile-preferences__dropdown"><button aria-controls="k2b-dropdown-00010000610" aria-expanded="false" aria-haspopup="menu" aria-label="Profile and preferences" type="button" class="k2b-dropdown__trigger layout-profile-preferences__dropdown-trigger " ><span class="k2b-avatar " data-size="sm" data-tint="9" style="" role="img" aria-label="Mia Muster avatar">MM</span></button><div id="k2b-dropdown-00010000610" popover="auto" role="menu" aria-label="Profile and preferences" class="k2b-dropdown__menu " style="--k2b-dropdown-width:14rem" data-width="fixed" data-variant="default" data-position="right-start"><button type="button" role="menuitem" aria-label="Appearance: Automatic. Switches to Light." tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-device-laptop" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Automatic</span></span></button><button type="button" role="menuitem" tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-language" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Deutsch</span></span></button><a href="/me" role="menuitem" tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-user-circle" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Profile settings</span></span></a><button type="button" role="menuitem" tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-logout" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Sign out</span></span></button></div></span><span class="sr-only" aria-live="polite"></span></div></div></nav></solid-island></aside><div class="cloud-shell-show"><button data-cloud-shell-focus-toggle="show" title="Show sidebar (⌘/Ctrl+\\)" aria-label="Show sidebar" type="button" class="k2b-button k2b-icon-button " data-size="lg" data-variant="secondary" ><span class="k2b-button__label"><i class="ti ti-layout-sidebar-left-expand text-xl" aria-hidden="true"></i></span></button><span id="k2b-tooltip-00010100100" role="tooltip" popover="manual" class="k2b-tooltip">Show sidebar (⌘/Ctrl+\\)</span></div><div class="cloud-shell-reveal" data-cloud-shell-reveal aria-hidden="true"></div><div class="layout-shell-content flex min-h-0 min-w-0 flex-1 flex-col" data-cloud-app-area><header class="layout-header paper flex min-h-[2.875rem] shrink-0 items-center px-2 py-1.5 md:px-3 md:py-2 md:hidden" style="box-shadow:var(--ui-shadow-surface)"><solid-island data-id="0deacd2f60ab" data-props="{"t":{"t":10,"i":0,"p":{"k":["slot","panelOpen","authenticated","title","launchpad","breadcrumbs"],"v":[{"t":1,"s":"header"},{"t":2,"s":3},{"t":2,"s":2},{"t":1,"s":"Unchanged"},{"t":2,"s":2},{"t":2,"s":1}]},"o":0},"f":127,"m":[]}" data-file="CloudShell.island.tsx"><div class="ml-2 flex min-w-0 flex-1 items-center"><div class="flex min-w-0 items-center lg:hidden"><span class="layout-header-title truncate font-semibold">Unchanged</span><button type="button" class="layout-header-title-menu" aria-haspopup="dialog"><span class="truncate font-semibold">Unchanged</span><span class="sr-only">, Menu</span><i class="ti ti-chevron-down" aria-hidden="true"></i></button></div></div><div class="flex shrink-0 items-center gap-1"><div class="flex items-center gap-1 lg:hidden"><button title="Search (⌘/Ctrl+K)" aria-label="Open global search" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-search text-base"></i></span></button><span id="k2b-tooltip-00010200100100" role="tooltip" popover="manual" class="k2b-tooltip">Search (⌘/Ctrl+K)</span><button title="Help (Shift+/)" aria-label="Open help" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-help-circle text-base"></i></span></button><span id="k2b-tooltip-00010200200100" role="tooltip" popover="manual" class="k2b-tooltip">Help (Shift+/)</span><button title="Open apps" aria-label="Open apps" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-grid-dots text-lg"></i></span></button><span id="k2b-tooltip-00010200300100" role="tooltip" popover="manual" class="k2b-tooltip">Open apps</span></div></div></solid-island></header><script type="application/json" data-k2b-page-trail>{"title":"Unchanged page","ancestors":[]}</script><div class="layout-page-head" data-trail="title"><div class="k2b-page-title " data-depth="0" data-fallback="" data-k2b-server=""><div class="k2b-page-title__copy"><p data-hk="00010501040" class="k2b-page-title__title " ><span class="k2b-page-title__text">Unchanged page</span></p></div></div></div><main class="layout-content-main min-h-0 min-w-0 flex-1 flex flex-col">Page content</main></div><aside class="cloud-panel" id="cloud-panel" data-cloud-panel aria-label="Panel" data-state="closed" data-provider="unchanged" data-app-name="Unchanged" data-provider-consent="true" data-context-allowed="false"><div role="separator" tabindex="0" class="k2b-resize-separator cloud-panel__resize" aria-orientation="vertical" aria-valuemin="20" aria-valuemax="36" aria-valuenow="26" aria-label="Resize panel" aria-controls="cloud-panel" data-orientation="vertical" data-resize-edge="start"><span aria-hidden="true"></span></div><div class="cloud-panel__card"><button type="button" class="cloud-panel__grabber" data-cloud-panel-grow aria-label="Enlarge panel"><span aria-hidden="true"></span></button><div class="cloud-panel__head"><h2 class="cloud-panel__title"><i class="ti ti-box" aria-hidden="true"></i><span>Panel</span></h2><span class="cloud-panel__menu" data-cloud-panel-menu style="visibility:visible"><button aria-haspopup="menu" aria-expanded="false" title="Panel menu" aria-label="Panel menu" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-dots" aria-hidden="true"></i></span></button><span id="k2b-tooltip-00010610100" role="tooltip" popover="manual" class="k2b-tooltip">Panel menu</span></span><button data-cloud-panel-close="" title="Close panel (Ctrl+J)" aria-label="Close panel" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-x" aria-hidden="true"></i></span></button><span id="k2b-tooltip-00010620100" role="tooltip" popover="manual" class="k2b-tooltip">Close panel (Ctrl+J)</span></div><div class="cloud-panel__body" id="cloud-panel-body"><article data-cloud-panel-consent="" role="region" tabindex="-1" aria-labelledby="cloud-panel-consent-title" class="k2b-notice-card cloud-panel__consent " data-tone="neutral"><div class="k2b-notice-card__content"><div class="k2b-notice-card__head"><p class="k2b-notice-card__title"><span id="cloud-panel-consent-title" data-cloud-panel-consent-title>May Unchanged see where you are?</span></p></div><p class="k2b-notice-card__description"><span data-cloud-panel-consent-body>Unchanged only learns which place you are at. It can read only what you may read yourself. You can change this in the ⋯ menu at any time.</span></p><div class="k2b-notice-card__body "><div class="cloud-panel__consent-actions"><button data-cloud-panel-consent-answer="allow" type="button" class="k2b-button " data-size="sm" data-variant="primary" ><span class="k2b-button__label">Allow</span></button><button data-cloud-panel-consent-answer="deny" type="button" class="k2b-button " data-size="sm" data-variant="secondary" ><span class="k2b-button__label">Don't share</span></button></div><p class="cloud-panel__consent-error" data-cloud-panel-consent-error role="status"></p></div></div></article><div class="cloud-panel__skeleton" aria-hidden="true"><span></span><span></span><span></span></div><div class="cloud-panel__fallback"><div data-hk="000106400" class="k2b-placeholder " data-align="center" data-state="error" data-surface="none" data-variant="panel" role="alert" ><span class="k2b-placeholder__icon"><i class="ti ti-alert-circle" aria-hidden="true"></i></span><p class="k2b-placeholder__title">The panel did not load</p><div class="k2b-placeholder__description">Panel is not responding.</div><div class="k2b-placeholder__action"><button data-cloud-panel-retry="" type="button" class="k2b-button " data-size="md" data-variant="primary" ><span class="k2b-button__label">Try again</span></button></div></div></div><div class="cloud-panel__shield" aria-hidden="true"></div><div class="cloud-panel__closing" aria-hidden="true"><span><i class="ti ti-x"></i>Release to close the panel</span></div></div></div><div role="status" class="k2b-sr-only" data-cloud-panel-status></div></aside><div class="cloud-tab-bar"><div class="cloud-tab-bar__row"><nav class="k2b-tab-bar" aria-label="Apps" data-variant="floating"><ul><li><a href="/" data-tab="home" data-k2b-title="Home"><i class="ti ti-home" aria-hidden="true"></i><span class="k2b-truncate-fade">Home</span></a></li><li><a href="/app/unchanged" aria-current="page" data-tab="unchanged" data-k2b-title="Unchanged"><i class="ti ti-box" aria-hidden="true"></i><span class="k2b-truncate-fade">Unchanged</span></a></li></ul></nav></div></div><div data-print-fallback><p>This view does not print well.</p><p>Open the item you want to print, or use the app's export.</p></div></div>
|
|
56
|
+
</body>
|
|
57
|
+
<style>solid-client,solid-island{display:contents}</style>
|
|
58
|
+
<script type="module" data-ssr-assets="/_ssr/0">const p="/_ssr/0";document.querySelectorAll('solid-island,solid-client').forEach(e=>import(p+'/'+e.dataset.id+'.js'));</script>
|
|
59
|
+
··
|
|
60
|
+
</html>"
|
|
61
|
+
`;
|
|
62
|
+
|
|
63
|
+
exports[`opt-out fullWidth HTML is unchanged 1`] = `
|
|
64
|
+
"<!DOCTYPE html>
|
|
65
|
+
<html lang="en" class="light">
|
|
66
|
+
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
67
|
+
<meta name="view-transition" content="same-origin">
|
|
68
|
+
<title>Unchanged page</title>
|
|
69
|
+
<meta name="description" content="Cloud workspace">
|
|
70
|
+
<meta name="theme-color" content="#09090b">
|
|
71
|
+
<meta name="mobile-web-app-capable" content="yes">
|
|
72
|
+
<link rel="icon" href="/public/unchanged/favicon.svg">
|
|
73
|
+
<style data-cloud-css-layers>@layer properties, theme, base, components, utilities;</style>
|
|
74
|
+
<link rel="preload" href="/public/tabler-icons.woff2" as="font" type="font/woff2" crossorigin>
|
|
75
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-400-normal-3b646991d30055a9.woff2" as="font" type="font/woff2" crossorigin>
|
|
76
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-500-normal-0717336fb31fcdcd.woff2" as="font" type="font/woff2" crossorigin>
|
|
77
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-600-normal-8960851d691c054e.woff2" as="font" type="font/woff2" crossorigin>
|
|
78
|
+
<link rel="stylesheet" href="/public/fonts.css">
|
|
79
|
+
<link rel="stylesheet" href="/public/tabler-icons.css">
|
|
80
|
+
<link rel="stylesheet" href="/public/unchanged/app.css">
|
|
81
|
+
<link rel="stylesheet" href="/public/global.css">
|
|
82
|
+
<script>!function(){var e=document.documentElement;if(e.hasAttribute("data-theme-fixed"))return;var m=matchMedia("(prefers-color-scheme: dark)");function r(n,s){var v;document.cookie.split(";").forEach(function(p){p=p.trim();var i=p.indexOf("=");if(i>0&&p.slice(0,i)===n){var t=p.slice(i+1);try{t=decodeURIComponent(t)}catch(e){}if(t==="light"||t==="dark"||s&&t==="system")v=t}});return v}function a(){var s=m.matches?"dark":"light";if(r("color-scheme")!==s)document.cookie="color-scheme="+s+"; path=/; max-age=31536000; SameSite=Lax"+(location.protocol==="https:"?"; Secure":"");var p=r("theme",true)||"system";e.classList.remove("light","dark");e.classList.add(p==="system"?s:p)}a();m.addEventListener("change",function(){a();window.dispatchEvent(new Event("cloud:theme-preference"))})}();</script>
|
|
83
|
+
</head>
|
|
84
|
+
<body class="k2b-ui" data-k2b-app-workspace-controller="global">
|
|
85
|
+
<div class="cloud-app-canvas relative flex w-full min-h-dvh md:h-dvh md:overflow-hidden" style="" data-app-id="unchanged" data-app-base="/app/unchanged" data-layout-authenticated="true"><solid-island data-id="da36a5b84abc" data-props="{"t":{"t":10,"i":0,"p":{"k":["panel","workspace","pageTrail","focus","help","commands","push","announcements","banners"],"v":[{"t":2,"s":2},{"t":10,"i":1,"p":{"k":["appId"],"v":[{"t":1,"s":"unchanged"}]},"o":0},{"t":2,"s":2},{"t":2,"s":2},{"t":2,"s":1},{"t":10,"i":2,"p":{"k":["searchResources"],"v":[{"t":2,"s":2}]},"o":0},{"t":2,"s":2},{"t":2,"s":1},{"t":2,"s":1}]},"o":0},"f":127,"m":[]}" data-file="ShellRuntime.island.tsx"></solid-island><script id="cloud-shell-data" type="application/json">{"panel":{"providers":[{"id":"unchanged","label":"Panel","icon":"ti ti-box","href":"/app/unchanged/panel","appName":"Unchanged","consent":true}],"provider":"unchanged","context":{"v":1,"seq":0,"pageId":"11111111-1111-4111-8111-111111111111","app":"unchanged"}},"platform":"other","apps":[{"iconClass":"ti ti-box","defaultVisible":true,"id":"unchanged","label":"Unchanged","href":"/app/unchanged","match":"/app/unchanged","description":"Snapshot fixture"}],"rail":{"revision":0,"visibility":{},"shortcuts":[]},"home":"/app/dashboard","profile":{"name":"Mia Muster"},"legalLinks":[{"label":"Profile","href":"/me","icon":"ti ti-user-circle"}],"theme":"system","searchLinks":{},"appId":"unchanged"}</script><aside class="layout-rail hidden w-14 shrink-0 flex-col md:flex"><div class="layout-rail-logo flex h-[2.875rem] shrink-0 items-center justify-center"><a href="/" aria-label="Home"><img src="/branding/logo" alt="Logo" class="h-5 w-5"></a></div><solid-island data-id="0deacd2f60ab" data-props="{"t":{"t":10,"i":0,"p":{"k":["slot","currentPath","panelOpen"],"v":[{"t":1,"s":"rail"},{"t":1,"s":"/app/unchanged?mode=fullWidth"},{"t":2,"s":3}]},"o":0},"f":127,"m":[]}" data-file="CloudShell.island.tsx"><nav class="layout-rail-navigation flex min-h-0 flex-1 flex-col items-center gap-1" aria-label="Apps"><button type="button" class="rail-item " data-cloud-shell-focus-toggle="hide" aria-label="Hide sidebar" ><i class="ti ti-layout-sidebar-left-collapse text-xl" aria-hidden="true"></i></button><span id="k2b-tooltip-000100000000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Hide sidebar (⌘/Ctrl+\\)</span><div style="flex:0 1 auto;scrollbar-width:none;scrollbar-gutter:auto;overflow-x:hidden" data-cloud-rail-apps="true" data-scroll-fade-axis="vertical" data-orientation="vertical" data-scroll-fade-mode="both" class="k2b-scroll-area flex w-full flex-col items-center gap-1 " ><a href="/app/unchanged" class="rail-item relative shrink-0 rail-item-active" aria-label="Unchanged" aria-current="page" style=""><i class="ti ti-box text-xl" aria-hidden="true"></i><span class="sr-only">Unchanged</span></a><span id="k2b-tooltip-00010000102010" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Unchanged</span></div><button type="button" class="rail-item shrink-0 " data-cloud-launchpad="true" aria-label="Open apps" ><i class="ti ti-grid-dots text-xl" aria-hidden="true"></i></button><span id="k2b-tooltip-000100002000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Open apps</span><div class="mt-auto shrink-0 flex flex-col items-center gap-1"><button type="button" class="rail-item text-blue-500 hover:bg-blue-500/10 hover:text-blue-600 dark:text-blue-400 dark:hover:bg-blue-500/15 dark:hover:text-blue-300 " aria-label="Open global search" ><i class="ti ti-search text-xl"></i></button><span id="k2b-tooltip-000100004000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Search (⌘/Ctrl+K)</span><button type="button" class="rail-item text-blue-500 hover:bg-blue-500/10 hover:text-blue-600 dark:text-blue-400 dark:hover:bg-blue-500/15 dark:hover:text-blue-300 " aria-label="Open help" ><i class="ti ti-help-circle text-xl"></i></button><span id="k2b-tooltip-000100005000" role="tooltip" popover="manual" class="k2b-tooltip" data-instant="true">Help (Shift+/)</span><div class="layout-profile-preferences"><button type="button" class="layout-profile-preferences__link" aria-label="Profile and preferences"><span class="k2b-avatar " data-size="sm" data-tint="9" style="" role="img" aria-label="Mia Muster avatar">MM</span></button><div class="layout-profile-preferences__panel dropdown-menu-surface"><button type="button" class="menu-item" aria-label="Appearance: Automatic. Switches to Light."><i class="ti ti-device-laptop" aria-hidden="true"></i><span>Automatic</span></button><button type="button" class="menu-item"><i class="ti ti-language" aria-hidden="true"></i><span>Deutsch</span></button><a href="/me" class="menu-item"><i class="ti ti-user-circle" aria-hidden="true"></i><span>Profile settings</span></a><button type="button" class="menu-item"><i class="ti ti-logout" aria-hidden="true"></i><span>Sign out</span></button></div><span class="k2b-dropdown layout-profile-preferences__dropdown"><button aria-controls="k2b-dropdown-00010000610" aria-expanded="false" aria-haspopup="menu" aria-label="Profile and preferences" type="button" class="k2b-dropdown__trigger layout-profile-preferences__dropdown-trigger " ><span class="k2b-avatar " data-size="sm" data-tint="9" style="" role="img" aria-label="Mia Muster avatar">MM</span></button><div id="k2b-dropdown-00010000610" popover="auto" role="menu" aria-label="Profile and preferences" class="k2b-dropdown__menu " style="--k2b-dropdown-width:14rem" data-width="fixed" data-variant="default" data-position="right-start"><button type="button" role="menuitem" aria-label="Appearance: Automatic. Switches to Light." tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-device-laptop" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Automatic</span></span></button><button type="button" role="menuitem" tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-language" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Deutsch</span></span></button><a href="/me" role="menuitem" tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-user-circle" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Profile settings</span></span></a><button type="button" role="menuitem" tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-logout" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Sign out</span></span></button></div></span><span class="sr-only" aria-live="polite"></span></div></div></nav></solid-island></aside><div class="cloud-shell-show"><button data-cloud-shell-focus-toggle="show" title="Show sidebar (⌘/Ctrl+\\)" aria-label="Show sidebar" type="button" class="k2b-button k2b-icon-button " data-size="lg" data-variant="secondary" ><span class="k2b-button__label"><i class="ti ti-layout-sidebar-left-expand text-xl" aria-hidden="true"></i></span></button><span id="k2b-tooltip-00010100100" role="tooltip" popover="manual" class="k2b-tooltip">Show sidebar (⌘/Ctrl+\\)</span></div><div class="cloud-shell-reveal" data-cloud-shell-reveal aria-hidden="true"></div><div class="layout-shell-content flex min-h-0 min-w-0 flex-1 flex-col" data-cloud-app-area><header class="layout-header paper flex min-h-[2.875rem] shrink-0 items-center px-2 py-1.5 md:px-3 md:py-2 md:hidden" style="box-shadow:var(--ui-shadow-surface)"><solid-island data-id="0deacd2f60ab" data-props="{"t":{"t":10,"i":0,"p":{"k":["slot","panelOpen","authenticated","title","launchpad","breadcrumbs"],"v":[{"t":1,"s":"header"},{"t":2,"s":3},{"t":2,"s":2},{"t":1,"s":"Unchanged"},{"t":2,"s":2},{"t":2,"s":1}]},"o":0},"f":127,"m":[]}" data-file="CloudShell.island.tsx"><div class="ml-2 flex min-w-0 flex-1 items-center"><div class="flex min-w-0 items-center lg:hidden"><span class="layout-header-title truncate font-semibold">Unchanged</span><button type="button" class="layout-header-title-menu" aria-haspopup="dialog"><span class="truncate font-semibold">Unchanged</span><span class="sr-only">, Menu</span><i class="ti ti-chevron-down" aria-hidden="true"></i></button></div></div><div class="flex shrink-0 items-center gap-1"><div class="flex items-center gap-1 lg:hidden"><button title="Search (⌘/Ctrl+K)" aria-label="Open global search" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-search text-base"></i></span></button><span id="k2b-tooltip-00010200100100" role="tooltip" popover="manual" class="k2b-tooltip">Search (⌘/Ctrl+K)</span><button title="Help (Shift+/)" aria-label="Open help" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-help-circle text-base"></i></span></button><span id="k2b-tooltip-00010200200100" role="tooltip" popover="manual" class="k2b-tooltip">Help (Shift+/)</span><button title="Open apps" aria-label="Open apps" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-grid-dots text-lg"></i></span></button><span id="k2b-tooltip-00010200300100" role="tooltip" popover="manual" class="k2b-tooltip">Open apps</span></div></div></solid-island></header><script type="application/json" data-k2b-page-trail>{"title":"Unchanged page","ancestors":[]}</script><div class="layout-page-head" data-trail="title"><div class="k2b-page-title " data-depth="0" data-fallback="" data-k2b-server=""><div class="k2b-page-title__copy"><p data-hk="00010501040" class="k2b-page-title__title " ><span class="k2b-page-title__text">Unchanged page</span></p></div></div></div><main class="layout-content-main min-h-0 min-w-0 flex-1 flex flex-col">Page content</main></div><aside class="cloud-panel" id="cloud-panel" data-cloud-panel aria-label="Panel" data-state="closed" data-provider="unchanged" data-app-name="Unchanged" data-provider-consent="true" data-context-allowed="false"><div role="separator" tabindex="0" class="k2b-resize-separator cloud-panel__resize" aria-orientation="vertical" aria-valuemin="20" aria-valuemax="36" aria-valuenow="26" aria-label="Resize panel" aria-controls="cloud-panel" data-orientation="vertical" data-resize-edge="start"><span aria-hidden="true"></span></div><div class="cloud-panel__card"><button type="button" class="cloud-panel__grabber" data-cloud-panel-grow aria-label="Enlarge panel"><span aria-hidden="true"></span></button><div class="cloud-panel__head"><h2 class="cloud-panel__title"><i class="ti ti-box" aria-hidden="true"></i><span>Panel</span></h2><span class="cloud-panel__menu" data-cloud-panel-menu style="visibility:visible"><button aria-haspopup="menu" aria-expanded="false" title="Panel menu" aria-label="Panel menu" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-dots" aria-hidden="true"></i></span></button><span id="k2b-tooltip-00010610100" role="tooltip" popover="manual" class="k2b-tooltip">Panel menu</span></span><button data-cloud-panel-close="" title="Close panel (Ctrl+J)" aria-label="Close panel" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-x" aria-hidden="true"></i></span></button><span id="k2b-tooltip-00010620100" role="tooltip" popover="manual" class="k2b-tooltip">Close panel (Ctrl+J)</span></div><div class="cloud-panel__body" id="cloud-panel-body"><article data-cloud-panel-consent="" role="region" tabindex="-1" aria-labelledby="cloud-panel-consent-title" class="k2b-notice-card cloud-panel__consent " data-tone="neutral"><div class="k2b-notice-card__content"><div class="k2b-notice-card__head"><p class="k2b-notice-card__title"><span id="cloud-panel-consent-title" data-cloud-panel-consent-title>May Unchanged see where you are?</span></p></div><p class="k2b-notice-card__description"><span data-cloud-panel-consent-body>Unchanged only learns which place you are at. It can read only what you may read yourself. You can change this in the ⋯ menu at any time.</span></p><div class="k2b-notice-card__body "><div class="cloud-panel__consent-actions"><button data-cloud-panel-consent-answer="allow" type="button" class="k2b-button " data-size="sm" data-variant="primary" ><span class="k2b-button__label">Allow</span></button><button data-cloud-panel-consent-answer="deny" type="button" class="k2b-button " data-size="sm" data-variant="secondary" ><span class="k2b-button__label">Don't share</span></button></div><p class="cloud-panel__consent-error" data-cloud-panel-consent-error role="status"></p></div></div></article><div class="cloud-panel__skeleton" aria-hidden="true"><span></span><span></span><span></span></div><div class="cloud-panel__fallback"><div data-hk="000106400" class="k2b-placeholder " data-align="center" data-state="error" data-surface="none" data-variant="panel" role="alert" ><span class="k2b-placeholder__icon"><i class="ti ti-alert-circle" aria-hidden="true"></i></span><p class="k2b-placeholder__title">The panel did not load</p><div class="k2b-placeholder__description">Panel is not responding.</div><div class="k2b-placeholder__action"><button data-cloud-panel-retry="" type="button" class="k2b-button " data-size="md" data-variant="primary" ><span class="k2b-button__label">Try again</span></button></div></div></div><div class="cloud-panel__shield" aria-hidden="true"></div><div class="cloud-panel__closing" aria-hidden="true"><span><i class="ti ti-x"></i>Release to close the panel</span></div></div></div><div role="status" class="k2b-sr-only" data-cloud-panel-status></div></aside><div class="cloud-tab-bar"><div class="cloud-tab-bar__row"><nav class="k2b-tab-bar" aria-label="Apps" data-variant="floating"><ul><li><a href="/" data-tab="home" data-k2b-title="Home"><i class="ti ti-home" aria-hidden="true"></i><span class="k2b-truncate-fade">Home</span></a></li><li><a href="/app/unchanged" aria-current="page" data-tab="unchanged" data-k2b-title="Unchanged"><i class="ti ti-box" aria-hidden="true"></i><span class="k2b-truncate-fade">Unchanged</span></a></li></ul></nav></div></div><div data-print-fallback><p>This view does not print well.</p><p>Open the item you want to print, or use the app's export.</p></div></div>
|
|
86
|
+
</body>
|
|
87
|
+
<style>solid-client,solid-island{display:contents}</style>
|
|
88
|
+
<script type="module" data-ssr-assets="/_ssr/0">const p="/_ssr/0";document.querySelectorAll('solid-island,solid-client').forEach(e=>import(p+'/'+e.dataset.id+'.js'));</script>
|
|
89
|
+
··
|
|
90
|
+
</html>"
|
|
91
|
+
`;
|
|
92
|
+
|
|
93
|
+
exports[`opt-out focusMode HTML is unchanged 1`] = `
|
|
94
|
+
"<!DOCTYPE html>
|
|
95
|
+
<html lang="en" class="light">
|
|
96
|
+
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
97
|
+
<meta name="view-transition" content="same-origin">
|
|
98
|
+
<title>Unchanged page</title>
|
|
99
|
+
<meta name="description" content="Cloud workspace">
|
|
100
|
+
<meta name="theme-color" content="#09090b">
|
|
101
|
+
<meta name="mobile-web-app-capable" content="yes">
|
|
102
|
+
<link rel="icon" href="/public/unchanged/favicon.svg">
|
|
103
|
+
<style data-cloud-css-layers>@layer properties, theme, base, components, utilities;</style>
|
|
104
|
+
<link rel="preload" href="/public/tabler-icons.woff2" as="font" type="font/woff2" crossorigin>
|
|
105
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-400-normal-3b646991d30055a9.woff2" as="font" type="font/woff2" crossorigin>
|
|
106
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-500-normal-0717336fb31fcdcd.woff2" as="font" type="font/woff2" crossorigin>
|
|
107
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-600-normal-8960851d691c054e.woff2" as="font" type="font/woff2" crossorigin>
|
|
108
|
+
<link rel="stylesheet" href="/public/fonts.css">
|
|
109
|
+
<link rel="stylesheet" href="/public/tabler-icons.css">
|
|
110
|
+
<link rel="stylesheet" href="/public/unchanged/app.css">
|
|
111
|
+
<link rel="stylesheet" href="/public/global.css">
|
|
112
|
+
<script>!function(){var e=document.documentElement;if(e.hasAttribute("data-theme-fixed"))return;var m=matchMedia("(prefers-color-scheme: dark)");function r(n,s){var v;document.cookie.split(";").forEach(function(p){p=p.trim();var i=p.indexOf("=");if(i>0&&p.slice(0,i)===n){var t=p.slice(i+1);try{t=decodeURIComponent(t)}catch(e){}if(t==="light"||t==="dark"||s&&t==="system")v=t}});return v}function a(){var s=m.matches?"dark":"light";if(r("color-scheme")!==s)document.cookie="color-scheme="+s+"; path=/; max-age=31536000; SameSite=Lax"+(location.protocol==="https:"?"; Secure":"");var p=r("theme",true)||"system";e.classList.remove("light","dark");e.classList.add(p==="system"?s:p)}a();m.addEventListener("change",function(){a();window.dispatchEvent(new Event("cloud:theme-preference"))})}();</script>
|
|
113
|
+
</head>
|
|
114
|
+
<body class="k2b-ui" data-k2b-app-workspace-controller="global">
|
|
115
|
+
<div class="cloud-app-canvas relative flex h-dvh w-full overflow-hidden" style="" data-panel-transient data-app-id="unchanged" data-app-base="/app/unchanged" data-page-trail-title-only data-layout-full-page="true"><solid-island data-id="da36a5b84abc" data-props="{"t":{"t":10,"i":0,"p":{"k":["pageTrail","help","panel"],"v":[{"t":2,"s":2},{"t":2,"s":1},{"t":2,"s":2}]},"o":0},"f":127,"m":[]}" data-file="ShellRuntime.island.tsx"></solid-island><script type="application/json" data-k2b-page-trail>{"title":"Unchanged page","ancestors":[]}</script><main class="min-h-0 min-w-0 flex-1" data-cloud-app-area>Page content</main><script id="cloud-shell-data" type="application/json">{"panel":{"providers":[{"id":"unchanged","label":"Panel","icon":"ti ti-box","href":"/app/unchanged/panel","appName":"Unchanged","consent":true}],"provider":"unchanged","context":{"v":1,"seq":0,"pageId":"11111111-1111-4111-8111-111111111111","app":"unchanged"}},"platform":"other","theme":"system","apps":[],"legalLinks":[],"searchLinks":{}}</script><aside class="cloud-panel" id="cloud-panel" data-cloud-panel aria-label="Panel" data-state="closed" data-provider="unchanged" data-app-name="Unchanged" data-provider-consent="true" data-context-allowed="false"><div role="separator" tabindex="0" class="k2b-resize-separator cloud-panel__resize" aria-orientation="vertical" aria-valuemin="20" aria-valuemax="36" aria-valuenow="26" aria-label="Resize panel" aria-controls="cloud-panel" data-orientation="vertical" data-resize-edge="start"><span aria-hidden="true"></span></div><div class="cloud-panel__card"><button type="button" class="cloud-panel__grabber" data-cloud-panel-grow aria-label="Enlarge panel"><span aria-hidden="true"></span></button><div class="cloud-panel__head"><h2 class="cloud-panel__title"><i class="ti ti-box" aria-hidden="true"></i><span>Panel</span></h2><span class="cloud-panel__menu" data-cloud-panel-menu style="visibility:visible"><button aria-haspopup="menu" aria-expanded="false" title="Panel menu" aria-label="Panel menu" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-dots" aria-hidden="true"></i></span></button><span id="k2b-tooltip-00020010100" role="tooltip" popover="manual" class="k2b-tooltip">Panel menu</span></span><button data-cloud-panel-close="" title="Close panel (Ctrl+J)" aria-label="Close panel" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-x" aria-hidden="true"></i></span></button><span id="k2b-tooltip-00020020100" role="tooltip" popover="manual" class="k2b-tooltip">Close panel (Ctrl+J)</span></div><div class="cloud-panel__body" id="cloud-panel-body"><article data-cloud-panel-consent="" role="region" tabindex="-1" aria-labelledby="cloud-panel-consent-title" class="k2b-notice-card cloud-panel__consent " data-tone="neutral"><div class="k2b-notice-card__content"><div class="k2b-notice-card__head"><p class="k2b-notice-card__title"><span id="cloud-panel-consent-title" data-cloud-panel-consent-title>May Unchanged see where you are?</span></p></div><p class="k2b-notice-card__description"><span data-cloud-panel-consent-body>Unchanged only learns which place you are at. It can read only what you may read yourself. You can change this in the ⋯ menu at any time.</span></p><div class="k2b-notice-card__body "><div class="cloud-panel__consent-actions"><button data-cloud-panel-consent-answer="allow" type="button" class="k2b-button " data-size="sm" data-variant="primary" ><span class="k2b-button__label">Allow</span></button><button data-cloud-panel-consent-answer="deny" type="button" class="k2b-button " data-size="sm" data-variant="secondary" ><span class="k2b-button__label">Don't share</span></button></div><p class="cloud-panel__consent-error" data-cloud-panel-consent-error role="status"></p></div></div></article><div class="cloud-panel__skeleton" aria-hidden="true"><span></span><span></span><span></span></div><div class="cloud-panel__fallback"><div data-hk="000200400" class="k2b-placeholder " data-align="center" data-state="error" data-surface="none" data-variant="panel" role="alert" ><span class="k2b-placeholder__icon"><i class="ti ti-alert-circle" aria-hidden="true"></i></span><p class="k2b-placeholder__title">The panel did not load</p><div class="k2b-placeholder__description">Panel is not responding.</div><div class="k2b-placeholder__action"><button data-cloud-panel-retry="" type="button" class="k2b-button " data-size="md" data-variant="primary" ><span class="k2b-button__label">Try again</span></button></div></div></div><div class="cloud-panel__shield" aria-hidden="true"></div><div class="cloud-panel__closing" aria-hidden="true"><span><i class="ti ti-x"></i>Release to close the panel</span></div></div></div><div role="status" class="k2b-sr-only" data-cloud-panel-status></div></aside><div data-print-fallback><p>This view does not print well.</p><p>Open the item you want to print, or use the app's export.</p></div></div>
|
|
116
|
+
</body>
|
|
117
|
+
<style>solid-client,solid-island{display:contents}</style>
|
|
118
|
+
<script type="module" data-ssr-assets="/_ssr/0">const p="/_ssr/0";document.querySelectorAll('solid-island,solid-client').forEach(e=>import(p+'/'+e.dataset.id+'.js'));</script>
|
|
119
|
+
··
|
|
120
|
+
</html>"
|
|
121
|
+
`;
|
|
122
|
+
|
|
123
|
+
exports[`opt-out anonymous HTML is unchanged 1`] = `
|
|
124
|
+
"<!DOCTYPE html>
|
|
125
|
+
<html lang="en" class="light">
|
|
126
|
+
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
127
|
+
<meta name="view-transition" content="same-origin">
|
|
128
|
+
<title>Unchanged page</title>
|
|
129
|
+
<meta name="description" content="Cloud workspace">
|
|
130
|
+
<meta name="theme-color" content="#09090b">
|
|
131
|
+
<meta name="mobile-web-app-capable" content="yes">
|
|
132
|
+
<link rel="icon" href="/public/unchanged/favicon.svg">
|
|
133
|
+
<style data-cloud-css-layers>@layer properties, theme, base, components, utilities;</style>
|
|
134
|
+
<link rel="preload" href="/public/tabler-icons.woff2" as="font" type="font/woff2" crossorigin>
|
|
135
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-400-normal-3b646991d30055a9.woff2" as="font" type="font/woff2" crossorigin>
|
|
136
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-500-normal-0717336fb31fcdcd.woff2" as="font" type="font/woff2" crossorigin>
|
|
137
|
+
<link rel="preload" href="/public/fonts/ibm-plex-sans-latin-600-normal-8960851d691c054e.woff2" as="font" type="font/woff2" crossorigin>
|
|
138
|
+
<link rel="stylesheet" href="/public/fonts.css">
|
|
139
|
+
<link rel="stylesheet" href="/public/tabler-icons.css">
|
|
140
|
+
<link rel="stylesheet" href="/public/unchanged/app.css">
|
|
141
|
+
<link rel="stylesheet" href="/public/global.css">
|
|
142
|
+
<script>!function(){var e=document.documentElement;if(e.hasAttribute("data-theme-fixed"))return;var m=matchMedia("(prefers-color-scheme: dark)");function r(n,s){var v;document.cookie.split(";").forEach(function(p){p=p.trim();var i=p.indexOf("=");if(i>0&&p.slice(0,i)===n){var t=p.slice(i+1);try{t=decodeURIComponent(t)}catch(e){}if(t==="light"||t==="dark"||s&&t==="system")v=t}});return v}function a(){var s=m.matches?"dark":"light";if(r("color-scheme")!==s)document.cookie="color-scheme="+s+"; path=/; max-age=31536000; SameSite=Lax"+(location.protocol==="https:"?"; Secure":"");var p=r("theme",true)||"system";e.classList.remove("light","dark");e.classList.add(p==="system"?s:p)}a();m.addEventListener("change",function(){a();window.dispatchEvent(new Event("cloud:theme-preference"))})}();</script>
|
|
143
|
+
</head>
|
|
144
|
+
<body class="k2b-ui" data-k2b-app-workspace-controller="global">
|
|
145
|
+
<div class="cloud-app-canvas relative flex w-full min-h-dvh md:h-dvh md:overflow-hidden" style="" data-app-id="unchanged" data-app-base="/app/unchanged" data-page-trail-title-only=""><solid-island data-id="da36a5b84abc" data-props="{"t":{"t":10,"i":0,"p":{"k":["panel","workspace","pageTrail","focus","help","commands","push","announcements","banners"],"v":[{"t":2,"s":1},{"t":10,"i":1,"p":{"k":["appId"],"v":[{"t":1,"s":"unchanged"}]},"o":0},{"t":2,"s":2},{"t":2,"s":3},{"t":2,"s":1},{"t":10,"i":2,"p":{"k":["searchResources"],"v":[{"t":2,"s":3}]},"o":0},{"t":2,"s":3},{"t":2,"s":1},{"t":2,"s":1}]},"o":0},"f":127,"m":[]}" data-file="ShellRuntime.island.tsx"></solid-island><script id="cloud-shell-data" type="application/json">{"platform":"other","apps":[{"iconClass":"ti ti-box","defaultVisible":true,"id":"unchanged","label":"Unchanged","href":"/app/unchanged","match":"/app/unchanged","description":"Snapshot fixture"}],"legalLinks":[],"theme":"system","searchLinks":{},"appId":"unchanged"}</script><!--!$--><!--!$--><div class="layout-shell-content flex min-h-0 min-w-0 flex-1 flex-col" data-cloud-app-area><header class="layout-header paper flex min-h-[2.875rem] shrink-0 items-center px-2 py-1.5 md:px-3 md:py-2 " style="box-shadow:var(--ui-shadow-surface)"><div class="flex shrink-0"><a aria-label="Home" title="Home" href="/" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><img src="/branding/logo" alt class="h-6 w-6"></span></a><span id="k2b-tooltip-00010000000" role="tooltip" popover="manual" class="k2b-tooltip">Home</span></div><solid-island data-id="0deacd2f60ab" data-props="{"t":{"t":10,"i":0,"p":{"k":["slot","panelOpen","authenticated","title","launchpad","breadcrumbs"],"v":[{"t":1,"s":"header"},{"t":2,"s":1},{"t":2,"s":3},{"t":1,"s":"Unchanged"},{"t":2,"s":2},{"t":9,"i":1,"a":[{"t":10,"i":2,"p":{"k":["title"],"v":[{"t":1,"s":"Unchanged page"}]},"o":0}],"o":0}]},"o":0},"f":127,"m":[]}" data-file="CloudShell.island.tsx"><div class="ml-2 flex min-w-0 flex-1 items-center"><div class="hidden min-w-0 items-center lg:flex"><nav class="flex items-center gap-1 sm:gap-2 min-w-0 text-xs"><span class="font-semibold text-primary truncate">Unchanged page</span></nav></div><div class="flex min-w-0 items-center lg:hidden"><span class="layout-header-title truncate font-semibold">Unchanged</span><button type="button" class="layout-header-title-menu" aria-haspopup="dialog"><span class="truncate font-semibold">Unchanged</span><span class="sr-only">, Menu</span><i class="ti ti-chevron-down" aria-hidden="true"></i></button></div></div><div class="flex shrink-0 items-center gap-1"><div class="flex items-center gap-1 lg:hidden"><button title="Help (Shift+/)" aria-label="Open help" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-help-circle text-base"></i></span></button><span id="k2b-tooltip-00010010200100" role="tooltip" popover="manual" class="k2b-tooltip">Help (Shift+/)</span><button title="Open apps" aria-label="Open apps" type="button" class="k2b-button k2b-icon-button " data-size="md" data-variant="ghost" ><span class="k2b-button__label"><i class="ti ti-grid-dots text-lg"></i></span></button><span id="k2b-tooltip-00010010300100" role="tooltip" popover="manual" class="k2b-tooltip">Open apps</span></div><span class="k2b-dropdown "><button aria-controls="k2b-dropdown-00010010400" aria-expanded="false" aria-haspopup="menu" title="Appearance and language" aria-label="Appearance and language" type="button" class="k2b-button k2b-icon-button k2b-dropdown__trigger " data-size="sm" data-variant="secondary" ><span class="k2b-button__label"><i class="ti ti-adjustments-horizontal" aria-hidden="true"></i></span></button><span id="k2b-tooltip-0001001040100100" role="tooltip" popover="manual" class="k2b-tooltip">Appearance and language</span><div id="k2b-dropdown-00010010400" popover="auto" role="menu" aria-label="Appearance and language" class="k2b-dropdown__menu " style="--k2b-dropdown-width:14rem" data-width="fixed" data-variant="default" data-position="bottom-left"><button type="button" role="menuitem" aria-label="Appearance: Automatic. Switches to Light." tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-device-laptop" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Automatic</span></span></button><button type="button" role="menuitem" tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-language" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Deutsch</span></span></button></div></span><span class="sr-only" aria-live="polite"></span></div></solid-island><div class="ml-1 flex shrink-0"><a href="/auth/login" class="k2b-button " data-size="sm" data-variant="primary" ><span class="k2b-button__label"><i class="ti ti-login" aria-hidden="true"></i>Sign in</span></a></div></header><script type="application/json" data-k2b-page-trail>{"title":"Unchanged page","ancestors":[]}</script><div class="layout-page-head" data-trail="title"><div class="k2b-page-title " data-depth="0" data-fallback="" data-k2b-server=""><div class="k2b-page-title__copy"><p data-hk="00010101040" class="k2b-page-title__title " ><span class="k2b-page-title__text">Unchanged page</span></p></div></div></div><main class="layout-content-main min-h-0 min-w-0 flex-1 md:overflow-auto md:[scrollbar-gutter:stable]">Page content</main><footer class="hidden shrink-0 flex-wrap items-center justify-center gap-x-4 gap-y-1 px-3 py-2 text-xs text-dimmed md:flex"><span class="text-zinc-400 dark:text-zinc-600">Copyright © 2026 Cloud</span></footer></div><!--!$--><div data-print-fallback><p>This view does not print well.</p><p>Open the item you want to print, or use the app's export.</p></div></div>
|
|
146
|
+
</body>
|
|
147
|
+
<style>solid-client,solid-island{display:contents}</style>
|
|
148
|
+
<script type="module" data-ssr-assets="/_ssr/0">const p="/_ssr/0";document.querySelectorAll('solid-island,solid-client').forEach(e=>import(p+'/'+e.dataset.id+'.js'));</script>
|
|
149
|
+
··
|
|
150
|
+
</html>"
|
|
151
|
+
`;
|