@k2b/cloud 0.42.0 → 0.44.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 +13 -5
- package/scripts/app-favicon.ts +7 -6
- package/scripts/build.ts +3 -0
- package/scripts/installable-assets.ts +61 -0
- package/scripts/preload.ts +3 -0
- package/src/_internal/app-access-path.ts +12 -0
- package/src/_internal/app-access-request.ts +13 -0
- package/src/_internal/app-access-resources.ts +141 -0
- package/src/_internal/app-event-catalog.ts +40 -0
- package/src/_internal/app-event-schemas.ts +127 -0
- package/src/_internal/application-package.ts +40 -0
- package/src/_internal/built-in-app-ids.json +27 -0
- package/src/_internal/capabilities.ts +185 -12
- package/src/_internal/capability-origin.ts +4 -0
- package/src/_internal/capability-streams.ts +10 -5
- package/src/_internal/define-app.ts +159 -45
- package/src/_internal/installable-assets.ts +90 -0
- package/src/_internal/installable-head.ts +22 -0
- package/src/_internal/object-store-area.ts +9 -0
- package/src/_internal/object-store-config.ts +101 -0
- package/src/_internal/object-store-key.ts +14 -0
- package/src/_internal/page-responses.ts +34 -3
- package/src/_internal/process-identity.ts +7 -2
- package/src/_internal/registry-validation.ts +15 -1
- package/src/_internal/registry.ts +44 -1
- package/src/_internal/runtime-context.ts +9 -1
- package/src/_internal/runtime-watcher.ts +8 -0
- package/src/_internal/status-preserving-ssr.ts +12 -1
- package/src/access/AppAccessEditor.browser-fixture.ts +429 -0
- package/src/access/AppAccessEditor.browser-frame.tsx +68 -0
- package/src/access/AppAccessEditor.browser-harness.tsx +65 -0
- package/src/access/AppAccessEditor.tsx +380 -0
- package/src/access/PermissionEditor.browser-harness.tsx +22 -2
- package/src/access/PermissionEditor.tsx +386 -77
- package/src/access/PrincipalAvatar.tsx +63 -0
- package/src/access/PrincipalPicker.tsx +29 -8
- package/src/access/ResourceApiKeys.tsx +3 -4
- package/src/access/app-access-adapter.ts +51 -0
- package/src/access/app-access-messages.ts +172 -0
- package/src/access/messages.ts +14 -0
- package/src/access/ui.ts +4 -1
- package/src/account/Avatar.tsx +21 -3
- package/src/account/ProfilePictureDialog.tsx +699 -0
- package/src/account/profile-picture-messages.ts +269 -0
- package/src/account/ui.ts +8 -1
- package/src/ai/admin.ts +3 -0
- package/src/ai/app-frame.ts +12 -0
- package/src/ai/application-tasks.ts +101 -0
- package/src/ai/assistant-models.ts +126 -64
- package/src/ai/capabilities.ts +19 -4
- package/src/ai/capability-execution.ts +5 -2
- package/src/ai/chart-block.ts +63 -30
- package/src/ai/chat/chart-block.tsx +12 -3
- package/src/ai/chat/composer-adapter.ts +8 -7
- package/src/ai/chat/message-actions.tsx +1 -1
- package/src/ai/chat/message-utils.ts +2 -2
- package/src/ai/chat/presentation.tsx +22 -1
- package/src/ai/chat-quotas.ts +5 -4
- package/src/ai/chat-tasks.ts +2 -2
- package/src/ai/client/controller.ts +11 -10
- package/src/ai/client/projection.ts +3 -3
- package/src/ai/code-capability-routes.ts +1 -0
- package/src/ai/compaction.ts +3 -3
- package/src/ai/credentials.ts +13 -114
- package/src/ai/default-tool-contracts.ts +4 -3
- package/src/ai/dictation-runtime.ts +4 -4
- package/src/ai/enrich.ts +2 -2
- package/src/ai/executor.ts +38 -27
- package/src/ai/http.ts +17 -29
- package/src/ai/index.ts +11 -5
- package/src/ai/inference-calls.ts +6 -4
- package/src/ai/maintenance.ts +1 -1
- package/src/ai/memory-learning-runs.ts +5 -5
- package/src/ai/memory-learning.ts +3 -3
- package/src/ai/message-queue.ts +1 -2
- package/src/ai/migrate.ts +75 -42
- package/src/ai/model-access-migrate.ts +3 -17
- package/src/ai/model-access.ts +44 -85
- package/src/ai/model-card.tsx +134 -0
- package/src/ai/model-catalog.ts +359 -0
- package/src/ai/model-chooser-messages.ts +88 -0
- package/src/ai/model-chooser.tsx +577 -0
- package/src/ai/model-delete.ts +234 -0
- package/src/ai/model-fixture.ts +39 -0
- package/src/ai/model-icon.tsx +36 -0
- package/src/ai/model-overview.ts +53 -0
- package/src/ai/model-usage.ts +45 -0
- package/src/ai/openai-api-messages.ts +0 -4
- package/src/ai/openai-api-slots.ts +10 -2
- package/src/ai/openai-api.ts +83 -16
- package/src/ai/personal-agent.ts +1 -1
- package/src/ai/prefs.ts +12 -10
- package/src/ai/projects-routes.ts +2 -1
- package/src/ai/projects.ts +13 -12
- package/src/ai/protocol.ts +2 -2
- package/src/ai/provider-connections.ts +161 -0
- package/src/ai/provider-errors.ts +138 -0
- package/src/ai/provider-fetch.ts +4 -0
- package/src/ai/provider-retry.ts +1 -1
- package/src/ai/provider.ts +2 -1
- package/src/ai/quota-limits.ts +36 -0
- package/src/ai/quota-provider.ts +11 -2
- package/src/ai/quota-report.ts +7 -4
- package/src/ai/quotas-migrate.ts +1 -0
- package/src/ai/quotas.ts +19 -8
- package/src/ai/recent-resources.ts +6 -0
- package/src/ai/request-headers.ts +14 -87
- package/src/ai/resource-refs.ts +6 -2
- package/src/ai/routes.ts +17 -18
- package/src/ai/runtime.ts +50 -22
- package/src/ai/settings.ts +93 -580
- package/src/ai/store.ts +45 -23
- package/src/ai/stream.ts +1 -1
- package/src/ai/structured-runs.ts +2 -2
- package/src/ai/structured.ts +29 -46
- package/src/ai/task-contracts.ts +25 -5
- package/src/ai/task-execution.ts +15 -6
- package/src/ai/task-model.ts +9 -0
- package/src/ai/transcription.ts +37 -21
- package/src/ai/turn-failure.ts +24 -2
- package/src/ai/types.ts +50 -62
- package/src/ai/ui.tsx +13 -0
- package/src/ai/usage.ts +8 -8
- package/src/ai/validate.ts +8 -7
- package/src/ai/view-block.ts +2 -2
- package/src/api/accounts-entities.ts +40 -16
- package/src/api/admin-ai-quotas.ts +34 -56
- package/src/api/admin-ai-usage.ts +1 -1
- package/src/api/admin-ai.ts +173 -0
- package/src/api/admin-core-settings.ts +68 -244
- package/src/api/admin-directory-shares.ts +55 -0
- package/src/api/admin-identity.ts +81 -2
- package/src/api/app-access.ts +85 -0
- package/src/api/app-approval.ts +3 -1
- package/src/api/app-event-delivery.ts +51 -0
- package/src/api/app-events.ts +123 -0
- package/src/api/app-resource-access.ts +48 -0
- package/src/api/auth/account-mismatch.ts +24 -0
- package/src/api/auth.ts +26 -3
- package/src/api/capabilities.ts +127 -15
- package/src/api/capability-streams.ts +2 -5
- package/src/api/identity-child-invocation.ts +145 -0
- package/src/api/index.ts +11 -2
- package/src/api/mcp.ts +180 -5
- package/src/api/me.ts +38 -17
- package/src/api/pwa-phone.ts +87 -48
- package/src/api/pwa.ts +34 -8
- package/src/api/resource-links.ts +83 -6
- package/src/api/resource-resolve.ts +50 -0
- package/src/api/search/schemas.ts +3 -1
- package/src/api/search.ts +9 -7
- package/src/api/widgets.ts +1 -0
- package/src/app-pwa/authority.ts +75 -0
- package/src/app-pwa/contracts.ts +177 -0
- package/src/app-pwa/core-query-error.ts +20 -0
- package/src/app-pwa/index.ts +23 -0
- package/src/app-pwa/protocol.ts +27 -0
- package/src/app-pwa/schema.ts +59 -0
- package/src/app-pwa/service.ts +861 -0
- package/src/app-pwa/transaction.ts +338 -0
- package/src/app-pwa/transport-input.ts +57 -0
- package/src/app-pwa/transport.ts +235 -0
- package/src/approvals/messages.ts +2 -2
- package/src/browser/app-access-recovery.ts +44 -0
- package/src/browser/app-session.ts +14 -3
- package/src/browser/cloud-id.ts +86 -0
- package/src/browser/live-websocket.ts +5 -0
- package/src/browser/pwa-drafts.ts +57 -0
- package/src/browser/resource-clipboard.ts +4 -0
- package/src/browser/resource-links.ts +52 -0
- package/src/browser/resource-picker.tsx +3 -2
- package/src/capabilities/calendar-sources.ts +302 -0
- package/src/capabilities/executions.ts +10 -3
- package/src/capabilities/migrate.ts +4 -0
- package/src/capabilities/nested.ts +43 -0
- package/src/capabilities/server-invoke.ts +202 -0
- package/src/capabilities/server.ts +26 -187
- package/src/capabilities/testing.ts +5 -2
- package/src/cli/access.ts +6 -5
- package/src/cli/account.ts +57 -0
- package/src/cli/admin/agents.ts +66 -0
- package/src/cli/admin/ai-models.ts +199 -0
- package/src/cli/admin/ai-quotas.ts +6 -102
- package/src/cli/admin/ai-usage.ts +4 -4
- package/src/cli/admin/app-credentials.ts +5 -3
- package/src/cli/admin/index.ts +7 -3
- package/src/cli/app-access.ts +60 -0
- package/src/cli/apps.ts +89 -26
- package/src/cli/avatar.ts +64 -0
- package/src/cli/capabilities.ts +22 -1
- package/src/cli/events.ts +320 -0
- package/src/cli/index.ts +1 -1
- package/src/config/env.ts +40 -0
- package/src/contracts/app-access.ts +52 -5
- package/src/contracts/app-approval.ts +8 -1
- package/src/contracts/app-details.ts +89 -0
- package/src/contracts/app-events.ts +51 -0
- package/src/contracts/app.ts +24 -5
- package/src/contracts/calendar-source.ts +274 -0
- package/src/contracts/calendar-view.ts +35 -0
- package/src/contracts/capabilities.ts +164 -3
- package/src/contracts/geo-admin.ts +2 -0
- package/src/contracts/geo-route.ts +0 -11
- package/src/contracts/geo.ts +14 -2
- package/src/contracts/index.ts +6 -0
- package/src/contracts/installable.ts +40 -0
- package/src/contracts/notification-types.ts +36 -9
- package/src/contracts/profile.ts +32 -0
- package/src/contracts/pwa-builds.ts +14 -0
- package/src/contracts/pwa-location.ts +38 -0
- package/src/contracts/pwa.ts +24 -3
- package/src/contracts/registry.ts +8 -0
- package/src/contracts/resource-clipboard.ts +35 -0
- package/src/contracts/resource-pages.ts +140 -0
- package/src/contracts/resource-resolution.ts +13 -0
- package/src/contracts/shared.ts +4 -0
- package/src/contracts/user-notifications.ts +2 -0
- package/src/events/app-event-delivery.ts +100 -0
- package/src/events/app-events.testing.ts +65 -0
- package/src/events/app-events.ts +134 -0
- package/src/events/core-user-created.ts +24 -0
- package/src/events/index.ts +9 -0
- package/src/events/testing.ts +2 -0
- package/src/index.ts +2 -1
- package/src/server/api/respond.ts +8 -3
- package/src/server/index.ts +1 -0
- package/src/server/middleware/app-access.ts +7 -6
- package/src/server/middleware/auth.ts +168 -66
- package/src/server/middleware/index.ts +1 -0
- package/src/server/middleware/invocation.ts +4 -2
- package/src/server/middleware/workload.ts +3 -3
- package/src/server/oauth-scope.ts +10 -0
- package/src/server/public-storage.ts +106 -0
- package/src/server/services/access.ts +8 -0
- package/src/services/accounts/app.ts +35 -3
- package/src/services/accounts/avatar.ts +342 -35
- package/src/services/accounts/base-group.ts +4 -5
- package/src/services/accounts/directory-shares.ts +157 -0
- package/src/services/accounts/entities.ts +50 -6
- package/src/services/accounts/groups.ts +3 -1
- package/src/services/accounts/identities.ts +64 -12
- package/src/services/accounts/local-groups.ts +1 -1
- package/src/services/accounts/users.ts +23 -15
- package/src/services/app-access-management.ts +519 -0
- package/src/services/app-access.ts +25 -7
- package/src/services/app-approval.ts +15 -4
- package/src/services/app-details.ts +224 -0
- package/src/services/app-discovery.ts +2 -1
- package/src/services/app-event-shapes.ts +139 -0
- package/src/services/app-events/accept.ts +116 -0
- package/src/services/app-events/admin.ts +250 -0
- package/src/services/app-events/declarations.ts +187 -0
- package/src/services/app-events/deliver.ts +218 -0
- package/src/services/app-events.ts +92 -0
- package/src/services/config-conflict.ts +11 -0
- package/src/services/core-user-events.ts +1 -0
- package/src/services/freeipa-config.ts +9 -0
- package/src/services/geo/admin.ts +4 -1
- package/src/services/geo/ledger.ts +47 -14
- package/src/services/geo/route-chain.ts +40 -18
- package/src/services/geo/route-estimate.ts +19 -0
- package/src/services/geo/route-plan.ts +0 -2
- package/src/services/geo/route-service.ts +57 -39
- package/src/services/geo/service.ts +51 -25
- package/src/services/identity/core-origin.ts +12 -0
- package/src/services/identity/index.ts +2 -1
- package/src/services/identity/invocation-actor.ts +50 -2
- package/src/services/identity/invocation-authority.ts +38 -1
- package/src/services/identity/invocation-token.ts +255 -50
- package/src/services/identity/issue-invocation.ts +9 -1
- package/src/services/identity/models-only-auth.ts +13 -4
- package/src/services/identity/nested-invocation.ts +128 -0
- package/src/services/image-metadata.ts +65 -1
- package/src/services/index.ts +24 -1
- package/src/services/ipa/sync.ts +6 -2
- package/src/services/ipa/users.ts +4 -1
- package/src/services/mandates/policy.ts +19 -12
- package/src/services/notifications/browser.ts +4 -0
- package/src/services/notifications/catalog.ts +5 -2
- package/src/services/notifications/platform.ts +7 -2
- package/src/services/notifications/user.ts +18 -7
- package/src/services/oauth-tokens.ts +28 -2
- package/src/services/object-store.ts +217 -0
- package/src/services/providers/local/users.ts +5 -0
- package/src/services/pwa-devices.ts +147 -37
- package/src/services/service-account-credentials.ts +5 -2
- package/src/services/session/index.ts +14 -0
- package/src/services/settings/core-settings.ts +91 -47
- package/src/services/settings/index.ts +8 -0
- package/src/services/settings/versions.ts +26 -0
- package/src/shared/ai-models.ts +274 -0
- package/src/shared/ai-quotas.ts +2 -2
- package/src/shared/ai-usage.ts +2 -2
- package/src/shared/index.ts +2 -0
- package/src/shared-text/documents.ts +25 -8
- package/src/shared-text/log.ts +1 -1
- package/src/shared-text/text-diff.ts +75 -0
- package/src/ssr/AdminArea.tsx +131 -0
- package/src/ssr/AdminLayout.tsx +11 -3
- package/src/ssr/AdminSidebar.tsx +7 -7
- package/src/ssr/AppAccessDenied.tsx +114 -0
- package/src/ssr/AppBadge.tsx +14 -0
- package/src/ssr/AppLaunchpadPanel.tsx +1 -1
- package/src/ssr/AppPwaRuntime.island.tsx +82 -0
- package/src/ssr/CloudShell.island.tsx +25 -4
- package/src/ssr/Layout.tsx +15 -7
- package/src/ssr/PwaLayout.tsx +73 -8
- package/src/ssr/PwaPartCount.island.tsx +23 -0
- package/src/ssr/PwaRuntime.island.tsx +85 -6
- package/src/ssr/SettingsSaveOutcome.tsx +58 -0
- package/src/ssr/SettingsSaveStatus.island.tsx +16 -0
- package/src/ssr/ShellRuntime.island.tsx +5 -0
- package/src/ssr/__snapshots__/Layout.unchanged.render.test.tsx.snap +3 -3
- package/src/ssr/__snapshots__/LayoutHelp.ssr.render.test.tsx.snap +1 -1
- package/src/ssr/admin-active-link.ts +16 -0
- package/src/ssr/admin-navigation.ts +26 -20
- package/src/ssr/app-badges.ts +31 -7
- package/src/ssr/app-pwa-document.tsx +16 -0
- package/src/ssr/app-pwa-messages.ts +17 -0
- package/src/ssr/index.ts +8 -0
- package/src/ssr/layout-context.ts +1 -1
- package/src/ssr/page-trail-runtime.ts +3 -1
- package/src/ssr/platform-messages.ts +9 -1
- package/src/ssr/pwa-messages.ts +10 -2
- package/src/ssr/rail-navigation.ts +5 -1
- package/src/ssr/settings-draft.ts +153 -0
- package/src/ssr/shell-data.tsx +2 -0
- package/src/styles/global.css +1 -0
- package/src/styles/profile-picture.css +270 -0
- package/src/styles/utilities-navigation.css +6 -0
- package/src/workflows/ai/policy.ts +49 -0
- package/src/workflows/ai/runtime.ts +131 -21
- package/src/workflows/ai/store.ts +283 -35
- package/src/workflows/ai/types.ts +8 -2
- package/src/workflows/ai-actions.ts +148 -120
- package/src/workflows/authoring.ts +31 -0
- package/src/workflows/contracts.ts +1 -0
- package/src/workflows/definition.ts +2 -0
- package/src/workflows/editor.ts +15 -0
- package/src/workflows/index.ts +2 -1
- package/src/workflows/language/compiler.ts +34 -3
- package/src/workflows/runtime/executor.ts +132 -33
- package/src/workflows/runtime/index.ts +2 -0
- package/src/workflows/runtime/ports.ts +5 -1
- package/src/workflows/store/actions.ts +1 -1
- package/src/workflows/store/definitions.ts +5 -0
- package/src/workflows/store/runs.ts +5 -3
- package/src/workflows/store/worker.ts +7 -2
- package/src/ai/model-pricing.ts +0 -43
- package/src/ai/model-request-settings.ts +0 -98
- package/src/ai/settings-messages.ts +0 -129
- package/src/shared/ai-model-request-settings.ts +0 -21
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { i18n } from "@k2b/stdlib";
|
|
2
|
+
import { Button, InlineGuidance, useLocale } from "@k2b/ui";
|
|
3
|
+
import { Show } from "solid-js";
|
|
4
|
+
import type { SettingsDraftOutcome } from "./settings-draft";
|
|
5
|
+
|
|
6
|
+
const messages = i18n.define({
|
|
7
|
+
baseLocale: "en",
|
|
8
|
+
messages: {
|
|
9
|
+
en: {
|
|
10
|
+
notSaved: "Not saved.",
|
|
11
|
+
notSavedKeep: "The previous values still apply. Your changes stay here.",
|
|
12
|
+
unknownOutcome: "The connection broke while saving.",
|
|
13
|
+
unknownOutcomeKeep: "Whether the new values apply is open. Cloud does not save again on its own.",
|
|
14
|
+
checkNow: "Check current state",
|
|
15
|
+
retry: "Try again",
|
|
16
|
+
},
|
|
17
|
+
de: {
|
|
18
|
+
notSaved: "Nicht gespeichert.",
|
|
19
|
+
notSavedKeep: "Es gelten weiter die alten Werte. Deine Änderungen bleiben hier stehen.",
|
|
20
|
+
unknownOutcome: "Die Verbindung brach beim Speichern ab.",
|
|
21
|
+
unknownOutcomeKeep: "Ob die neuen Werte gelten, ist offen. Cloud speichert nicht von selbst noch einmal.",
|
|
22
|
+
checkNow: "Stand jetzt prüfen",
|
|
23
|
+
retry: "Erneut versuchen",
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
export const checkSettingsSaveOutcomeMessages = () => messages.check();
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* What became of the last save when it did not succeed, above the form: not saved with the reason and a retry, or an
|
|
32
|
+
* unclear outcome with a way to check the current state instead of saving twice.
|
|
33
|
+
*/
|
|
34
|
+
export default function SettingsSaveOutcome(props: { outcome: SettingsDraftOutcome | null; onRetry: () => void }) {
|
|
35
|
+
const locale = useLocale();
|
|
36
|
+
const t = () => messages.resolve([locale()]).t;
|
|
37
|
+
return (
|
|
38
|
+
<Show when={props.outcome}>
|
|
39
|
+
{(outcome) =>
|
|
40
|
+
outcome().kind === "failed" ? (
|
|
41
|
+
<InlineGuidance tone="danger" icon="ti ti-alert-triangle">
|
|
42
|
+
<b>{t().notSaved}</b> {outcome().message} {t().notSavedKeep}{" "}
|
|
43
|
+
<Button type="button" variant="ghost" size="xs" onClick={props.onRetry}>
|
|
44
|
+
{t().retry}
|
|
45
|
+
</Button>
|
|
46
|
+
</InlineGuidance>
|
|
47
|
+
) : (
|
|
48
|
+
<InlineGuidance tone="warning" icon="ti ti-help-circle">
|
|
49
|
+
<b>{t().unknownOutcome}</b> {t().unknownOutcomeKeep}{" "}
|
|
50
|
+
<Button type="button" variant="ghost" size="xs" onClick={() => window.location.reload()}>
|
|
51
|
+
{t().checkNow}
|
|
52
|
+
</Button>
|
|
53
|
+
</InlineGuidance>
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
</Show>
|
|
57
|
+
);
|
|
58
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SaveStatus } from "@k2b/ui";
|
|
2
|
+
import { settingsSaveControls } from "./settings-draft";
|
|
3
|
+
|
|
4
|
+
/** Status, Discard and Save in the head of a form level. Until the form registers, it shows "Saved" with both buttons disabled. */
|
|
5
|
+
export default function SettingsSaveStatus() {
|
|
6
|
+
const controls = settingsSaveControls;
|
|
7
|
+
return (
|
|
8
|
+
<SaveStatus
|
|
9
|
+
state={() => controls()?.state ?? "saved"}
|
|
10
|
+
savedAt={() => controls()?.savedAt}
|
|
11
|
+
invalidCount={() => controls()?.invalidCount ?? 1}
|
|
12
|
+
onSave={() => controls()?.save()}
|
|
13
|
+
onDiscard={() => controls()?.discard()}
|
|
14
|
+
/>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
import { createEffect, createSignal, onCleanup, onMount } from "solid-js";
|
|
13
13
|
import { isServer } from "solid-js/web";
|
|
14
14
|
import { appWorkspaceCookieName, readAppWorkspaceLayoutCookie } from "../_internal/app-workspace-state";
|
|
15
|
+
import { installAppAccessRecovery } from "../browser/app-access-recovery";
|
|
15
16
|
import { registerContextAwareCommand } from "../browser/command-bridge";
|
|
16
17
|
import { attachCommandShortcuts } from "../browser/command-shortcuts";
|
|
17
18
|
import { navigationSearchItems } from "../browser/navigation-search";
|
|
@@ -36,6 +37,7 @@ import { shellShortcuts } from "./shell-shortcuts";
|
|
|
36
37
|
import { syncTimezoneCookie } from "./timezone-cookie";
|
|
37
38
|
|
|
38
39
|
export type ShellRuntimeProps = {
|
|
40
|
+
appAccess?: { id: string; routes: readonly string[] };
|
|
39
41
|
/** This page has an authorized panel slot. */
|
|
40
42
|
panel?: boolean;
|
|
41
43
|
/** Layout pages outside focus mode: keep the current app's workspace layout in its cookie. */
|
|
@@ -78,6 +80,9 @@ export default function ShellRuntime(props: ShellRuntimeProps) {
|
|
|
78
80
|
const locale = useLocale();
|
|
79
81
|
const t = () => platformMessages.resolve([locale()]).t;
|
|
80
82
|
onMount(() => syncTimezoneCookie(true));
|
|
83
|
+
onMount(() => {
|
|
84
|
+
if (props.appAccess) onCleanup(installAppAccessRecovery(props.appAccess));
|
|
85
|
+
});
|
|
81
86
|
onMount(() => onCleanup(installInputModeController()));
|
|
82
87
|
|
|
83
88
|
const togglePanel = () => {
|
|
@@ -22,7 +22,7 @@ exports[`opt-out regular HTML is unchanged 1`] = `
|
|
|
22
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
23
|
</head>
|
|
24
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>
|
|
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="1" 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="1" 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
26
|
</body>
|
|
27
27
|
<style>solid-client,solid-island{display:contents}</style>
|
|
28
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>
|
|
@@ -52,7 +52,7 @@ exports[`opt-out fullPage HTML is unchanged 1`] = `
|
|
|
52
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
53
|
</head>
|
|
54
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>
|
|
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="1" 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="1" 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
56
|
</body>
|
|
57
57
|
<style>solid-client,solid-island{display:contents}</style>
|
|
58
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>
|
|
@@ -82,7 +82,7 @@ exports[`opt-out fullWidth HTML is unchanged 1`] = `
|
|
|
82
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
83
|
</head>
|
|
84
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>
|
|
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="1" 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="1" 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
86
|
</body>
|
|
87
87
|
<style>solid-client,solid-island{display:contents}</style>
|
|
88
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>
|
|
@@ -12,7 +12,7 @@ exports[`Help server frames embedded reader 2`] = `"<div class="help-shell app-a
|
|
|
12
12
|
|
|
13
13
|
exports[`Help server frames shortcuts on a Layout page and a failed Help read 1`] = `"<script id="cloud-shell-data" type="application/json">{"apps":[{"id":"spaces","label":"Spaces","href":"/app/spaces","match":"/app/spaces","iconClass":"ti ti-layout-kanban","defaultVisible":true}],"legalLinks":[],"theme":"system","searchLinks":{},"appId":"spaces","platform":"apple"}</script><div class="help-shell app-accent-scope flex min-h-0 flex-col " data-surface="page" style="--app-accent:#16a34a;--app-ink-light:#117f3a;--app-ink-dark:#3bb267;--app-selected-light:#eff9f2;--app-selected-dark:#122922;--app-selected-nav-light:#e8f6ed;--app-selected-nav-dark:#122d23"><!--$--><header class="help-head" data-help-head><div class="help-head-inner help-measure"><!--$--><div class="help-head-row"><!--$--><span class="help-head-tile" aria-hidden="true"><i class="ti ti-layout-kanban"></i></span><!--/--><h2 id="layout-help-title" class="help-head-title">Help for Spaces</h2><div class="help-head-actions" role="group" aria-label="Help actions"><!--$--><span class="k2b-dropdown "><!--$--><button data-help-menu="" aria-controls="k2b-dropdown-#1" aria-expanded="false" aria-haspopup="menu" title="More Help actions" aria-label="More Help actions" type="button" class="k2b-button k2b-icon-button k2b-dropdown__trigger " 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-#2" role="tooltip" popover="manual" class="k2b-tooltip">More Help actions</span><!--/--><div id="k2b-dropdown-#1" popover="auto" role="menu" aria-label="More Help actions" class="k2b-dropdown__menu " style="" data-variant="default" data-position="bottom-left"><button type="button" role="menuitem" tabindex="-1" class="k2b-dropdown__item "><i class="ti ti-markdown" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Copy as Markdown</span><!--$--><!--/--></span></button></div></span><!--/--><!--$--><!--/--></div></div><!--/--><!--$--><div class="k2b-field help-head-search"><!--$--><!--/--><!--$--><!--/--><!--$--><div class="k2b-input-shell k2b-text-input" style=""><!--$--><span class="k2b-input-shell__icon k2b-text-input__icon" aria-hidden="true"><i class="ti ti-search"></i><i class="ti ti-search"></i></span><!--/--><!--$--><!--/--><!--$--><input data-help-search="" placeholder="Search help…" id="k2b-field-#3" class="k2b-input " type="search" value="" aria-label="Search help" /><!--/--><!--$--><!--/--><!--$--><!--/--><!--$--><!--/--></div><!--/--><!--$--><!--/--></div><!--/--></div></header><!--/--><!--$--><div class="p-4 sm:p-5"><div data-help-results class="help-start help-measure" style=""><section class="help-start-section" data-help-tasks aria-labelledby="help-start-tasks-title"><h3 id="help-start-tasks-title" class="help-start-heading"><i class="ti ti-checklist" aria-hidden="true"></i><!--$-->What do you want to do?<!--/--></h3><!--$--><ul class="help-start-tiles" data-help-tiles><li><button type="button" class="help-start-tile focus-ui" data-help-topic="share"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-share"></i></span><span class="help-start-tile-title">Share a Space</span><!--$--><span class="help-start-tile-description">Invite people to work with you.</span><!--/--></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-1"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-1</span><!--$--><!--/--></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-2"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-2</span><!--$--><!--/--></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-3"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-3</span><!--$--><!--/--></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-4"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-4</span><!--$--><!--/--></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-5"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-5</span><!--$--><!--/--></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-6"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-6</span><!--$--><!--/--></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-7"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-7</span><!--$--><!--/--></button></li></ul><!--/--><!--$--><ul class="help-start-rows " data-help-more-tasks=""><li><button type="button" class="help-start-row focus-ui" data-help-topic="task-8"><span class="help-topic-icon k2b-icon-tile help-start-row-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-article-link-copy"><span class="help-article-link-title">Article task-8</span><!--$--><!--/--></span><i class="ti ti-chevron-right help-start-row-arrow" aria-hidden="true"></i></button></li><li><button type="button" class="help-start-row focus-ui" data-help-topic="task-9"><span class="help-topic-icon k2b-icon-tile help-start-row-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-article-link-copy"><span class="help-article-link-title">Article task-9</span><!--$--><!--/--></span><i class="ti ti-chevron-right help-start-row-arrow" aria-hidden="true"></i></button></li></ul><!--/--></section><div class="help-start-groups"><section class="help-start-section" data-help-group="start" aria-labelledby="help-start-start-title"><h3 id="help-start-start-title" class="help-start-heading"><i class="ti ti-rocket" aria-hidden="true"></i><!--$-->Get started<!--/--></h3><!--$--><ul class="help-start-rows "><li><button type="button" class="help-start-row focus-ui" data-help-topic="first-steps"><span class="help-topic-icon k2b-icon-tile help-start-row-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-article-link-copy"><span class="help-article-link-title">First steps</span><!--$--><span class="help-article-link-description">Find your way around.</span><!--/--></span><i class="ti ti-chevron-right help-start-row-arrow" aria-hidden="true"></i></button></li></ul><!--/--></section><section class="help-start-section" data-help-group="reference" aria-labelledby="help-start-reference-title"><h3 id="help-start-reference-title" class="help-start-heading"><i class="ti ti-book-2" aria-hidden="true"></i><!--$-->Look up<!--/--></h3><!--$--><ul class="help-start-rows "><li><button type="button" class="help-start-row focus-ui" data-help-topic="roles"><span class="help-topic-icon k2b-icon-tile help-start-row-icon app-accent-text" aria-hidden="true"><i class="ti ti-users"></i></span><span class="help-article-link-copy"><span class="help-article-link-title">Roles</span><!--$--><!--/--></span><i class="ti ti-chevron-right help-start-row-arrow" aria-hidden="true"></i></button></li></ul><!--/--></section><section class="help-start-section" data-help-group="troubleshoot" aria-labelledby="help-start-troubleshoot-title"><h3 id="help-start-troubleshoot-title" class="help-start-heading"><i class="ti ti-lifebuoy" aria-hidden="true"></i><!--$-->Solve problems<!--/--></h3><!--$--><ul class="help-start-rows "><li><button type="button" class="help-start-row focus-ui" data-help-topic="sync"><span class="help-topic-icon k2b-icon-tile help-start-row-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-article-link-copy"><span class="help-article-link-title">Sync problems</span><!--$--><span class="help-article-link-description">When changes do not arrive.</span><!--/--></span><i class="ti ti-chevron-right help-start-row-arrow" aria-hidden="true"></i></button></li></ul><!--/--></section></div><section class="help-start-section help-start-shortcuts" data-help-shortcuts aria-labelledby="help-start-shortcuts-title"><h3 id="help-start-shortcuts-title" class="help-start-heading"><i class="ti ti-keyboard" aria-hidden="true"></i><!--$-->Keyboard shortcuts<!--/--></h3><div class="help-shortcut-groups"><section class="help-shortcut-group" data-help-shortcut-group="everywhere" aria-label="Everywhere"><h4 class="help-shortcut-group-title" aria-hidden="true">Everywhere</h4><ul><li class="help-shortcut" title="Search across apps, pages, files, and items."><span class="help-shortcut-title">Open global search</span><!--$--><kbd class="k2b-kbd"><span class="k2b-sr-only">Command K</span><span class="k2b-kbd__keys" aria-hidden="true"><kbd class="k2b-kbd__key">⌘</kbd><kbd class="k2b-kbd__key">K</kbd></span></kbd><!--/--></li><li class="help-shortcut" title="Open help, guides, and keyboard shortcuts."><span class="help-shortcut-title">Open shortcut help</span><!--$--><kbd class="k2b-kbd"><span class="k2b-sr-only">Shift /</span><span class="k2b-kbd__keys" aria-hidden="true"><kbd class="k2b-kbd__key">⇧</kbd><kbd class="k2b-kbd__key">/</kbd></span></kbd><!--/--></li></ul></section></div></section></div><span class="sr-only" aria-live="polite"></span></div><!--/--></div>"`;
|
|
14
14
|
|
|
15
|
-
exports[`Help server frames shortcuts on a Layout page and a failed Help read 2`] = `"<script id="cloud-shell-data" type="application/json">{"apps":[{"id":"spaces","label":"Spaces","href":"/app/spaces","match":"/app/spaces","iconClass":"ti ti-layout-kanban","defaultVisible":true}],"legalLinks":[],"theme":"system","searchLinks":{},"appId":"spaces","platform":"apple","helpFailed":true}</script><div class="help-shell app-accent-scope flex min-h-0 flex-col " data-surface="page" style="--app-accent:#16a34a;--app-ink-light:#117f3a;--app-ink-dark:#3bb267;--app-selected-light:#eff9f2;--app-selected-dark:#122922;--app-selected-nav-light:#e8f6ed;--app-selected-nav-dark:#122d23"><!--$--><header class="help-head" data-help-head><div class="help-head-inner help-measure"><!--$--><div class="help-head-row"><!--$--><span class="help-head-tile" aria-hidden="true"><i class="ti ti-layout-kanban"></i></span><!--/--><h2 id="layout-help-title" class="help-head-title">Help for Spaces</h2><div class="help-head-actions" role="group" aria-label="Help actions"><!--$--><span class="k2b-dropdown "><!--$--><button data-help-menu="" aria-controls="k2b-dropdown-#1" aria-expanded="false" aria-haspopup="menu" title="More Help actions" aria-label="More Help actions" type="button" class="k2b-button k2b-icon-button k2b-dropdown__trigger " 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-#2" role="tooltip" popover="manual" class="k2b-tooltip">More Help actions</span><!--/--><div id="k2b-dropdown-#1" popover="auto" role="menu" aria-label="More Help actions" class="k2b-dropdown__menu " style="" data-variant="default" data-position="bottom-left"><button type="button" role="menuitem" tabindex="-1" class="k2b-dropdown__item " disabled aria-disabled="true"><i class="ti ti-markdown" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Copy as Markdown</span><!--$--><!--/--></span></button></div></span><!--/--><!--$--><!--/--></div></div><!--/--><!--$--><div class="k2b-field help-head-search"><!--$--><!--/--><!--$--><!--/--><!--$--><div class="k2b-input-shell k2b-text-input" style=""><!--$--><span class="k2b-input-shell__icon k2b-text-input__icon" aria-hidden="true"><i class="ti ti-search"></i><i class="ti ti-search"></i></span><!--/--><!--$--><!--/--><!--$--><input data-help-search="" placeholder="Search help…" id="k2b-field-#3" class="k2b-input " type="search" value="" aria-label="Search help" /><!--/--><!--$--><!--/--><!--$--><!--/--><!--$--><!--/--></div><!--/--><!--$--><!--/--></div><!--/--></div></header><!--/--><!--$--><div class="p-4 sm:p-5"><div data-help-results class="help-start help-measure" style=""><!--!$--><!--!$--><article data-help-unavailable="" class="k2b-notice-card " data-tone="danger"
|
|
15
|
+
exports[`Help server frames shortcuts on a Layout page and a failed Help read 2`] = `"<script id="cloud-shell-data" type="application/json">{"apps":[{"id":"spaces","label":"Spaces","href":"/app/spaces","match":"/app/spaces","iconClass":"ti ti-layout-kanban","defaultVisible":true}],"legalLinks":[],"theme":"system","searchLinks":{},"appId":"spaces","platform":"apple","helpFailed":true}</script><div class="help-shell app-accent-scope flex min-h-0 flex-col " data-surface="page" style="--app-accent:#16a34a;--app-ink-light:#117f3a;--app-ink-dark:#3bb267;--app-selected-light:#eff9f2;--app-selected-dark:#122922;--app-selected-nav-light:#e8f6ed;--app-selected-nav-dark:#122d23"><!--$--><header class="help-head" data-help-head><div class="help-head-inner help-measure"><!--$--><div class="help-head-row"><!--$--><span class="help-head-tile" aria-hidden="true"><i class="ti ti-layout-kanban"></i></span><!--/--><h2 id="layout-help-title" class="help-head-title">Help for Spaces</h2><div class="help-head-actions" role="group" aria-label="Help actions"><!--$--><span class="k2b-dropdown "><!--$--><button data-help-menu="" aria-controls="k2b-dropdown-#1" aria-expanded="false" aria-haspopup="menu" title="More Help actions" aria-label="More Help actions" type="button" class="k2b-button k2b-icon-button k2b-dropdown__trigger " 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-#2" role="tooltip" popover="manual" class="k2b-tooltip">More Help actions</span><!--/--><div id="k2b-dropdown-#1" popover="auto" role="menu" aria-label="More Help actions" class="k2b-dropdown__menu " style="" data-variant="default" data-position="bottom-left"><button type="button" role="menuitem" tabindex="-1" class="k2b-dropdown__item " disabled aria-disabled="true"><i class="ti ti-markdown" aria-hidden="true"></i><span class="k2b-dropdown__copy"><span>Copy as Markdown</span><!--$--><!--/--></span></button></div></span><!--/--><!--$--><!--/--></div></div><!--/--><!--$--><div class="k2b-field help-head-search"><!--$--><!--/--><!--$--><!--/--><!--$--><div class="k2b-input-shell k2b-text-input" style=""><!--$--><span class="k2b-input-shell__icon k2b-text-input__icon" aria-hidden="true"><i class="ti ti-search"></i><i class="ti ti-search"></i></span><!--/--><!--$--><!--/--><!--$--><input data-help-search="" placeholder="Search help…" id="k2b-field-#3" class="k2b-input " type="search" value="" aria-label="Search help" /><!--/--><!--$--><!--/--><!--$--><!--/--><!--$--><!--/--></div><!--/--><!--$--><!--/--></div><!--/--></div></header><!--/--><!--$--><div class="p-4 sm:p-5"><div data-help-results class="help-start help-measure" style=""><!--!$--><!--!$--><article data-help-unavailable="" class="k2b-notice-card " data-tone="danger"><!--$--><!--/--><div class="k2b-notice-card__content"><!--$--><div class="k2b-notice-card__head"><p class="k2b-notice-card__title">Help could not be loaded</p><!--$--><!--/--></div><!--/--><!--$--><p class="k2b-notice-card__description">Reload the page to try again.</p><!--/--><!--$--><div class="k2b-notice-card__body "><button type="button" class="k2b-button " data-size="sm" data-variant="secondary" ><span class="k2b-button__label">Reload</span><!--$--><!--/--></button></div><!--/--></div></article><section class="help-start-section help-start-shortcuts" data-help-shortcuts aria-labelledby="help-start-shortcuts-title"><h3 id="help-start-shortcuts-title" class="help-start-heading"><i class="ti ti-keyboard" aria-hidden="true"></i><!--$-->Keyboard shortcuts<!--/--></h3><div class="help-shortcut-groups"><section class="help-shortcut-group" data-help-shortcut-group="everywhere" aria-label="Everywhere"><h4 class="help-shortcut-group-title" aria-hidden="true">Everywhere</h4><ul><li class="help-shortcut" title="Search across apps, pages, files, and items."><span class="help-shortcut-title">Open global search</span><!--$--><kbd class="k2b-kbd"><span class="k2b-sr-only">Command K</span><span class="k2b-kbd__keys" aria-hidden="true"><kbd class="k2b-kbd__key">⌘</kbd><kbd class="k2b-kbd__key">K</kbd></span></kbd><!--/--></li><li class="help-shortcut" title="Open help, guides, and keyboard shortcuts."><span class="help-shortcut-title">Open shortcut help</span><!--$--><kbd class="k2b-kbd"><span class="k2b-sr-only">Shift /</span><span class="k2b-kbd__keys" aria-hidden="true"><kbd class="k2b-kbd__key">⇧</kbd><kbd class="k2b-kbd__key">/</kbd></span></kbd><!--/--></li></ul></section></div></section></div><span class="sr-only" aria-live="polite"></span></div><!--/--></div>"`;
|
|
16
16
|
|
|
17
17
|
exports[`server provider start frame 1`] = `"<div class="help-shell app-accent-scope flex h-full min-h-0 flex-col" data-surface="panel" style="--app-accent:#16a34a"><header class="help-head" data-help-head><div class="help-head-inner help-measure"><div class="help-head-row"><solid-island data-id="acff793997b5" data-props="{"t":{"t":10,"i":0,"p":{"k":["back","tile"],"v":[{"t":2,"s":3},{"t":1,"s":"ti ti-layout-kanban"}]},"o":0},"f":127,"m":[]}" data-file="HelpPanelBack.island.tsx"><span class="help-head-tile" aria-hidden="true"><i class="ti ti-layout-kanban"></i></span></solid-island><h2 id="layout-help-title" class="help-head-title">Spaces</h2><div class="help-head-actions" role="group" aria-label="Help actions"><solid-island data-id="1d4dd75de534" data-props="{"t":{"t":10,"i":0,"p":{"k":[],"v":[]},"o":0},"f":127,"m":[]}" data-file="HelpPanelMenu.island.tsx"><span class="k2b-dropdown "><button aria-expanded="false" aria-haspopup="menu" data-help-menu="" title="More Help actions" aria-label="More Help actions" type="button" class="k2b-button k2b-icon-button k2b-dropdown__trigger " 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-#1" role="tooltip" popover="manual" class="k2b-tooltip">More Help actions</span></span></solid-island></div></div><div class="k2b-field help-head-search"><div class="k2b-input-shell k2b-text-input" style=""><span class="k2b-input-shell__icon k2b-text-input__icon" aria-hidden="true"><i class="ti ti-search"></i><i class="ti ti-search"></i></span><input data-help-search="" placeholder="Search help…" id="k2b-field-#2" class="k2b-input " type="search" value="" aria-label="Search help" /></div></div></div></header><div data-scroll-fade-axis="vertical" data-orientation="vertical" data-scroll-fade-mode="both" class="k2b-scroll-area min-h-0 flex-1 p-4 sm:p-5 " ><div class="help-start help-measure" data-help-results><div data-help-start-content><solid-island data-id="e36bedf30054" data-props="{"t":{"t":10,"i":0,"p":{"k":["topics"],"v":[{"t":9,"i":1,"a":[],"o":0}]},"o":0},"f":127,"m":[]}" data-file="HelpPanelView.island.tsx"></solid-island><section class="help-start-section" data-help-tasks aria-labelledby="help-start-tasks-title"><h3 id="help-start-tasks-title" class="help-start-heading"><i class="ti ti-checklist" aria-hidden="true"></i>What do you want to do?</h3><ul class="help-start-tiles" data-help-tiles><li><button type="button" class="help-start-tile focus-ui" data-help-topic="share"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-share"></i></span><span class="help-start-tile-title">Share a Space</span><span class="help-start-tile-description">Invite people to work with you.</span></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-1"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-1</span></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-2"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-2</span></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-3"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-3</span></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-4"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-4</span></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-5"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-5</span></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-6"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-6</span></button></li><li><button type="button" class="help-start-tile focus-ui" data-help-topic="task-7"><span class="help-topic-icon k2b-icon-tile help-start-tile-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-start-tile-title">Article task-7</span></button></li></ul><ul class="help-start-rows " data-help-more-tasks=""><li><button type="button" class="help-start-row focus-ui" data-help-topic="task-8"><span class="help-topic-icon k2b-icon-tile help-start-row-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-article-link-copy"><span class="help-article-link-title">Article task-8</span></span><i class="ti ti-chevron-right help-start-row-arrow" aria-hidden="true"></i></button></li><li><button type="button" class="help-start-row focus-ui" data-help-topic="task-9"><span class="help-topic-icon k2b-icon-tile help-start-row-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-article-link-copy"><span class="help-article-link-title">Article task-9</span></span><i class="ti ti-chevron-right help-start-row-arrow" aria-hidden="true"></i></button></li></ul></section><div class="help-start-groups"><section class="help-start-section" data-help-group="start" aria-labelledby="help-start-start-title"><h3 id="help-start-start-title" class="help-start-heading"><i class="ti ti-rocket" aria-hidden="true"></i>Get started</h3><ul class="help-start-rows "><li><button type="button" class="help-start-row focus-ui" data-help-topic="first-steps"><span class="help-topic-icon k2b-icon-tile help-start-row-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-article-link-copy"><span class="help-article-link-title">First steps</span><span class="help-article-link-description">Find your way around.</span></span><i class="ti ti-chevron-right help-start-row-arrow" aria-hidden="true"></i></button></li></ul></section><section class="help-start-section" data-help-group="reference" aria-labelledby="help-start-reference-title"><h3 id="help-start-reference-title" class="help-start-heading"><i class="ti ti-book-2" aria-hidden="true"></i>Look up</h3><ul class="help-start-rows "><li><button type="button" class="help-start-row focus-ui" data-help-topic="roles"><span class="help-topic-icon k2b-icon-tile help-start-row-icon app-accent-text" aria-hidden="true"><i class="ti ti-users"></i></span><span class="help-article-link-copy"><span class="help-article-link-title">Roles</span></span><i class="ti ti-chevron-right help-start-row-arrow" aria-hidden="true"></i></button></li></ul></section><section class="help-start-section" data-help-group="troubleshoot" aria-labelledby="help-start-troubleshoot-title"><h3 id="help-start-troubleshoot-title" class="help-start-heading"><i class="ti ti-lifebuoy" aria-hidden="true"></i>Solve problems</h3><ul class="help-start-rows "><li><button type="button" class="help-start-row focus-ui" data-help-topic="sync"><span class="help-topic-icon k2b-icon-tile help-start-row-icon app-accent-text" aria-hidden="true"><i class="ti ti-file-text"></i></span><span class="help-article-link-copy"><span class="help-article-link-title">Sync problems</span><span class="help-article-link-description">When changes do not arrive.</span></span><i class="ti ti-chevron-right help-start-row-arrow" aria-hidden="true"></i></button></li></ul></section></div><solid-island data-id="26463f9d7758" data-props="{"t":{"t":10,"i":0,"p":{"k":["appName","platform"],"v":[{"t":1,"s":"Spaces"},{"t":1,"s":"apple"}]},"o":0},"f":127,"m":[]}" data-file="HelpPanelShortcuts.island.tsx"><section class="help-start-section help-start-shortcuts" data-help-shortcuts aria-labelledby="help-start-shortcuts-title"><h3 id="help-start-shortcuts-title" class="help-start-heading"><i class="ti ti-keyboard" aria-hidden="true"></i>Keyboard shortcuts</h3><div class="help-shortcut-groups"><section class="help-shortcut-group" data-help-shortcut-group="everywhere" aria-label="Everywhere"><h4 class="help-shortcut-group-title" aria-hidden="true">Everywhere</h4><ul><li class="help-shortcut" title="Search across apps, pages, files, and items."><span class="help-shortcut-title">Open global search</span><kbd class="k2b-kbd"><span class="k2b-sr-only">Command K</span><span class="k2b-kbd__keys" aria-hidden="true"><kbd class="k2b-kbd__key">⌘</kbd><kbd class="k2b-kbd__key">K</kbd></span></kbd></li><li class="help-shortcut" title="Open help, guides, and keyboard shortcuts."><span class="help-shortcut-title">Open shortcut help</span><kbd class="k2b-kbd"><span class="k2b-sr-only">Shift /</span><span class="k2b-kbd__keys" aria-hidden="true"><kbd class="k2b-kbd__key">⇧</kbd><kbd class="k2b-kbd__key">/</kbd></span></kbd></li><li class="help-shortcut" title="Shows a panel beside the app."><span class="help-shortcut-title">Open or close the panel</span><kbd class="k2b-kbd"><span class="k2b-sr-only">Command J</span><span class="k2b-kbd__keys" aria-hidden="true"><kbd class="k2b-kbd__key">⌘</kbd><kbd class="k2b-kbd__key">J</kbd></span></kbd></li></ul></section></div></section></solid-island></div><solid-island data-id="3fcb37ddc7b6" data-props="{"t":{"t":10,"i":0,"p":{"k":[],"v":[]},"o":0},"f":127,"m":[]}" data-file="HelpPanelSearch.island.tsx"><!--!$--></solid-island></div><solid-island data-id="64a5176b688b" data-props="{"t":{"t":10,"i":0,"p":{"k":["topic"],"v":[{"t":2,"s":1}]},"o":0},"f":127,"m":[]}" data-file="HelpPanelArticle.island.tsx"><!--!$--></solid-island><span class="sr-only" aria-live="polite" data-help-announcement></span></div><script type="application/json" data-help-panel-data>{"documents":[{"id":"share","title":"Share a Space","description":"Invite people to work with you.","icon":"ti ti-share","order":1,"url":"/api/help/apps/spaces/share","searchUrl":"/api/help/apps/spaces/search"},{"id":"first-steps","title":"First steps","description":"Find your way around.","kind":"start","order":10,"url":"/api/help/apps/spaces/first-steps","searchUrl":"/api/help/apps/spaces/search"},{"id":"roles","title":"Roles","icon":"ti-users","kind":"reference","order":10,"url":"/api/help/apps/spaces/roles","searchUrl":"/api/help/apps/spaces/search"},{"id":"sync","title":"Sync problems","description":"When changes do not arrive.","kind":"troubleshoot","order":10,"url":"/api/help/apps/spaces/sync","searchUrl":"/api/help/apps/spaces/search"},{"id":"task-1","title":"Article task-1","order":20,"url":"/api/help/apps/spaces/task-1","searchUrl":"/api/help/apps/spaces/search"},{"id":"task-2","title":"Article task-2","order":21,"url":"/api/help/apps/spaces/task-2","searchUrl":"/api/help/apps/spaces/search"},{"id":"task-3","title":"Article task-3","order":22,"url":"/api/help/apps/spaces/task-3","searchUrl":"/api/help/apps/spaces/search"},{"id":"task-4","title":"Article task-4","order":23,"url":"/api/help/apps/spaces/task-4","searchUrl":"/api/help/apps/spaces/search"},{"id":"task-5","title":"Article task-5","order":24,"url":"/api/help/apps/spaces/task-5","searchUrl":"/api/help/apps/spaces/search"},{"id":"task-6","title":"Article task-6","order":25,"url":"/api/help/apps/spaces/task-6","searchUrl":"/api/help/apps/spaces/search"},{"id":"task-7","title":"Article task-7","order":26,"url":"/api/help/apps/spaces/task-7","searchUrl":"/api/help/apps/spaces/search"},{"id":"task-8","title":"Article task-8","order":27,"url":"/api/help/apps/spaces/task-8","searchUrl":"/api/help/apps/spaces/search"},{"id":"task-9","title":"Article task-9","order":28,"url":"/api/help/apps/spaces/task-9","searchUrl":"/api/help/apps/spaces/search"}],"appId":"spaces","pageBase":"/help/apps/spaces"}</script></div>"`;
|
|
18
18
|
|
|
@@ -45,3 +45,19 @@ export const activeAdminHref = (currentPath: string, hrefs: readonly string[]):
|
|
|
45
45
|
}
|
|
46
46
|
return best;
|
|
47
47
|
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* The link whose own href or one of its `match` paths covers the current path most specifically. An area link, such
|
|
51
|
+
* as Observability, stays active on every page of the area.
|
|
52
|
+
*/
|
|
53
|
+
export const activeAdminLink = <Link extends { href: string; match?: readonly string[] }>(
|
|
54
|
+
currentPath: string,
|
|
55
|
+
links: readonly Link[],
|
|
56
|
+
): Link | null => {
|
|
57
|
+
const candidates = links.flatMap((link) => [link.href, ...(link.match ?? [])].map((path) => ({ link, path })));
|
|
58
|
+
const best = activeAdminHref(
|
|
59
|
+
currentPath,
|
|
60
|
+
candidates.map((candidate) => candidate.path),
|
|
61
|
+
);
|
|
62
|
+
return best === null ? null : (candidates.find((candidate) => candidate.path === best)?.link ?? null);
|
|
63
|
+
};
|