@happyvertical/smrt-svelte 0.57.12 → 0.57.14
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/agents/cookbook-shell.md +3 -4
- package/dist/components/app/AppShell.svelte +8 -2
- package/dist/components/app/AppShell.svelte.d.ts.map +1 -1
- package/dist/components/cookbook/CookbookSectionOverview.svelte +1 -1
- package/dist/components/cookbook/CookbookSectionPage.svelte +3 -3
- package/dist/components/cookbook/build.d.ts.map +1 -1
- package/dist/components/cookbook/build.js +13 -25
- package/dist/components/cookbook/types.d.ts +3 -3
- package/dist/components/overview/section-defaults.d.ts +13 -0
- package/dist/components/overview/section-defaults.d.ts.map +1 -0
- package/dist/components/overview/section-defaults.js +43 -0
- package/dist/components/overview/server.d.ts +1 -0
- package/dist/components/overview/server.d.ts.map +1 -1
- package/dist/components/overview/server.js +1 -0
- package/dist/components/workspace/admin-shell/AdminShell.svelte +15 -3
- package/dist/components/workspace/admin-shell/AdminShell.svelte.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/TenantNav.svelte +5 -0
- package/dist/components/workspace/admin-shell/TenantNav.svelte.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/targets.d.ts +14 -0
- package/dist/components/workspace/admin-shell/targets.d.ts.map +1 -0
- package/dist/components/workspace/admin-shell/targets.js +51 -0
- package/dist/components/workspace/index.d.ts +1 -0
- package/dist/components/workspace/index.d.ts.map +1 -1
- package/dist/components/workspace/index.js +1 -0
- package/package.json +14 -14
package/agents/cookbook-shell.md
CHANGED
|
@@ -138,10 +138,9 @@ route: `s/[slug]/+page.svelte` renders
|
|
|
138
138
|
`CookbookApp`.
|
|
139
139
|
|
|
140
140
|
Props (also on `CookbookSectionOverview`, #3888): `presentation?: 'plain' | 'card'`
|
|
141
|
-
(default `'
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
keeps the framed look, and editing always keeps its frame.
|
|
141
|
+
(default `'card'`) is passed to `OverviewGrid`, so section widgets and shortcuts
|
|
142
|
+
use the current theme's existing framed styles. Explicit `'plain'` remains
|
|
143
|
+
available for unframed entries on the panel surface; editing keeps its frame.
|
|
145
144
|
`heading?: Snippet<[{ section: CookbookSectionHeadingInfo }]>` replaces the
|
|
146
145
|
default title block (`{ id, title, description?, icon }`) on the page; on a
|
|
147
146
|
standalone `CookbookSectionOverview` it renders above the grid and needs the
|
|
@@ -51,6 +51,10 @@ import {
|
|
|
51
51
|
} from '../workspace/admin-shell/slots.js';
|
|
52
52
|
import { createShellState } from '../workspace/admin-shell/state.svelte.js';
|
|
53
53
|
import TenantNav from '../workspace/admin-shell/TenantNav.svelte';
|
|
54
|
+
import {
|
|
55
|
+
provideShellTargets,
|
|
56
|
+
shellTargetAction,
|
|
57
|
+
} from '../workspace/admin-shell/targets.js';
|
|
54
58
|
import {
|
|
55
59
|
type AdminShellProps,
|
|
56
60
|
PANEL_EDGES,
|
|
@@ -338,6 +342,7 @@ const SHELL_BRAND_ITEM_ID = 'item:brand';
|
|
|
338
342
|
const SHELL_ACCOUNT_ITEM_ID = 'item:account';
|
|
339
343
|
const SHELL_COLOR_SCHEME_ITEM_ID = 'item:color-scheme';
|
|
340
344
|
const SHELL_COMMAND_PALETTE_ITEM_ID = 'item:command-palette';
|
|
345
|
+
const target = shellTargetAction(provideShellTargets());
|
|
341
346
|
/** Stable id of the built-in edit-layout toggle item. */
|
|
342
347
|
const layoutFloating = $derived(
|
|
343
348
|
typeof layoutEditing === 'object' && layoutEditing.floating === true,
|
|
@@ -857,7 +862,7 @@ const EDGE_OF_REGION: Record<ShellRegion, PanelEdge> = {
|
|
|
857
862
|
{/snippet}
|
|
858
863
|
|
|
859
864
|
{#snippet layoutToggle()}
|
|
860
|
-
<span class="smrt-layout-toggle" class:smrt-layout-toggle--floating={layoutFloating} data-testid="layout-edit-toggle">
|
|
865
|
+
<span use:target={SHELL_LAYOUT_EDIT_ITEM_ID} class="smrt-layout-toggle" class:smrt-layout-toggle--floating={layoutFloating} data-testid="layout-edit-toggle">
|
|
861
866
|
<ShellIconButton
|
|
862
867
|
icon="edit"
|
|
863
868
|
pressed={editing}
|
|
@@ -955,7 +960,7 @@ const EDGE_OF_REGION: Record<ShellRegion, PanelEdge> = {
|
|
|
955
960
|
{/snippet}
|
|
956
961
|
|
|
957
962
|
{#snippet brandItem()}
|
|
958
|
-
<ShellBrand {title} {subtitle} {logoSrc} {logoAlt} {homeHref} />
|
|
963
|
+
<ShellBrand {title} {subtitle} {logoSrc} {logoAlt} {homeHref} compact={shell.viewport === 'phone'} />
|
|
959
964
|
{/snippet}
|
|
960
965
|
|
|
961
966
|
{#snippet editRegionControl(region: ShellRegion)}
|
|
@@ -1101,6 +1106,7 @@ const EDGE_OF_REGION: Record<ShellRegion, PanelEdge> = {
|
|
|
1101
1106
|
a {
|
|
1102
1107
|
color: var(--smrt-color-primary);
|
|
1103
1108
|
}
|
|
1109
|
+
.smrt-layout-toggle:global([data-smrt-highlighted='true']) { outline: var(--smrt-focus-ring-width) solid var(--smrt-color-primary); outline-offset: var(--smrt-focus-ring-offset); }
|
|
1104
1110
|
.smrt-layout-toggle { display: inline-flex; align-items: center; gap: var(--smrt-spacing-1); }
|
|
1105
1111
|
.smrt-layout-toggle--floating { position: fixed; z-index: 45; inset-block-start: max(var(--smrt-spacing-3), env(safe-area-inset-top)); inset-inline-end: max(var(--smrt-spacing-3), env(safe-area-inset-right)); border: var(--smrt-hairline); border-radius: var(--smrt-radius-full); background: var(--smrt-surface-raised); box-shadow: var(--smrt-elevation-3), var(--smrt-inset-highlight); }
|
|
1106
1112
|
.smrt-layout-toggle--floating :global(.smrt-shell-icon-button) { border-radius: var(--smrt-radius-full); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/app/AppShell.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,8CAA8C,CAAC;AACtD,OAAO,+CAA+C,CAAC;AACvD,OAAO,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO,EAAiB,MAAM,QAAQ,CAAC;AAKrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAMzE,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,oCAAoC,CAAC;AAY5C,OAAO,EAKL,KAAK,SAAS,EAIf,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"AppShell.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/app/AppShell.svelte.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* A navigation section's own page in a cookbook app (#3749). The sidebar lists
|
|
4
4
|
* only sections, so this is where a section's entries are: an editable
|
|
5
|
-
* overview (the entries as
|
|
6
|
-
* with `presentation="
|
|
5
|
+
* overview (the entries as themed cards by default, unframed shortcuts
|
|
6
|
+
* with explicit `presentation="plain"`) with the shell's layout
|
|
7
7
|
* edit mode driving its grid. A section with no overview shows its menu.
|
|
8
8
|
*
|
|
9
9
|
* Render it from one route (`s/[slug]/+page.svelte`), inside `CookbookApp`.
|
|
@@ -23,7 +23,7 @@ let {
|
|
|
23
23
|
sectionId,
|
|
24
24
|
slug,
|
|
25
25
|
children,
|
|
26
|
-
presentation = '
|
|
26
|
+
presentation = 'card',
|
|
27
27
|
heading,
|
|
28
28
|
}: CookbookSectionPageProps = $props();
|
|
29
29
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/components/cookbook/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/components/cookbook/build.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EACV,yBAAyB,EAQzB,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK9C;AA+CD,kFAAkF;AAClF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,GACjC,aAAa,CAwPf"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { defineOverview, isEmptyOverride, parseOverviewOverride, } from '../overview/model.js';
|
|
2
2
|
import { sectionDefaultWidget } from '../overview/recipe-widgets.js';
|
|
3
|
+
import { sectionOverviewDefaults } from '../overview/section-defaults.js';
|
|
3
4
|
import { OVERVIEW_PAGE_ID_PATTERN, } from '../overview/types.js';
|
|
4
5
|
import { buildNavSections, DEFAULT_ENTRY_ICON, defaultEntryPath, defaultSectionPath, entryDescription, FEATURE_SECTION, navItemId, sectionLayoutId, } from './sections.js';
|
|
5
6
|
import { resolveCookbookTheme } from './theme.js';
|
|
@@ -55,30 +56,6 @@ function leadModel(recipes, models) {
|
|
|
55
56
|
}
|
|
56
57
|
return undefined;
|
|
57
58
|
}
|
|
58
|
-
function overviewDefaults(lead, dataWidgets, page) {
|
|
59
|
-
// The leading recipe's own section page (a `sectionDefault` widget) needs
|
|
60
|
-
// its loader on the host, as the count and records do.
|
|
61
|
-
if (dataWidgets && page)
|
|
62
|
-
return [page];
|
|
63
|
-
const widgets = [
|
|
64
|
-
{ id: 'shortcuts', type: 'shortcuts', span: 4, options: {} },
|
|
65
|
-
];
|
|
66
|
-
if (dataWidgets && lead) {
|
|
67
|
-
const name = humanize(lead.name);
|
|
68
|
-
widgets.push({
|
|
69
|
-
id: 'count',
|
|
70
|
-
type: 'metric',
|
|
71
|
-
span: 1,
|
|
72
|
-
options: { title: pluralize(name), model: lead.id, measure: 'count' },
|
|
73
|
-
}, {
|
|
74
|
-
id: 'latest',
|
|
75
|
-
type: 'records',
|
|
76
|
-
span: 3,
|
|
77
|
-
options: { title: `${name} records`, model: lead.id, limit: 5 },
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
return widgets;
|
|
81
|
-
}
|
|
82
59
|
/** The cookbook layout as the shell takes it: `null` when it has none. */
|
|
83
60
|
function layoutOf(cookbook) {
|
|
84
61
|
return cookbook.layout ? cookbook.layout : null;
|
|
@@ -216,7 +193,18 @@ export function buildCookbookShell(options) {
|
|
|
216
193
|
const definition = defineOverview({
|
|
217
194
|
id,
|
|
218
195
|
...(modelIds.length > 0 ? { models: modelIds } : {}),
|
|
219
|
-
defaults:
|
|
196
|
+
defaults: sectionOverviewDefaults({
|
|
197
|
+
lead: leads.has(id)
|
|
198
|
+
? {
|
|
199
|
+
id: leads.get(id).id,
|
|
200
|
+
name: humanize(leads.get(id).name),
|
|
201
|
+
plural: pluralize(humanize(leads.get(id).name)),
|
|
202
|
+
}
|
|
203
|
+
: undefined,
|
|
204
|
+
dataWidgets: options.dataWidgets === true,
|
|
205
|
+
page: pages.get(id),
|
|
206
|
+
override: cookbook.overviews?.[id],
|
|
207
|
+
}),
|
|
220
208
|
});
|
|
221
209
|
const stored = cookbook.overviews?.[id];
|
|
222
210
|
const parsed = parseOverviewOverride(stored);
|
|
@@ -192,9 +192,9 @@ export interface CookbookSectionHeadingInfo {
|
|
|
192
192
|
/** Props of `CookbookSectionOverview` (the presentation half is shared with the page). */
|
|
193
193
|
export interface CookbookSectionPresentationProps {
|
|
194
194
|
/**
|
|
195
|
-
* How the overview's tiles are drawn outside edit mode: `'
|
|
196
|
-
*
|
|
197
|
-
*
|
|
195
|
+
* How the overview's tiles are drawn outside edit mode: `'card'` (default)
|
|
196
|
+
* uses the current theme's framed styles. Explicit `'plain'` lists entries
|
|
197
|
+
* as unframed rows or tiles. Editing always keeps its frame.
|
|
198
198
|
*/
|
|
199
199
|
presentation?: 'plain' | 'card';
|
|
200
200
|
/** Replaces the section heading with host content. */
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { OverviewWidget } from './types.js';
|
|
2
|
+
/** One section blueprint shared by cookbook apps and Planner's static pages. */
|
|
3
|
+
export declare function sectionOverviewDefaults(options: {
|
|
4
|
+
lead?: {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
plural: string;
|
|
8
|
+
};
|
|
9
|
+
dataWidgets?: boolean;
|
|
10
|
+
page?: OverviewWidget;
|
|
11
|
+
override?: unknown;
|
|
12
|
+
}): OverviewWidget[];
|
|
13
|
+
//# sourceMappingURL=section-defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-defaults.d.ts","sourceRoot":"","sources":["../../../src/components/overview/section-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,gFAAgF;AAChF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,cAAc,EAAE,CA2CnB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** One section blueprint shared by cookbook apps and Planner's static pages. */
|
|
2
|
+
export function sectionOverviewDefaults(options) {
|
|
3
|
+
if (options.dataWidgets && options.page)
|
|
4
|
+
return [options.page];
|
|
5
|
+
const widgets = [
|
|
6
|
+
{ id: 'shortcuts', type: 'shortcuts', span: 4, options: {} },
|
|
7
|
+
];
|
|
8
|
+
if (options.dataWidgets && options.lead) {
|
|
9
|
+
const lead = options.lead;
|
|
10
|
+
const raw = options.override;
|
|
11
|
+
const stored = raw && typeof raw === 'object' && !Array.isArray(raw)
|
|
12
|
+
? raw
|
|
13
|
+
: undefined;
|
|
14
|
+
const changed = stored?.changed;
|
|
15
|
+
// Sparse overrides never save unchanged defaults. Retain the original
|
|
16
|
+
// count definition only for an explicit legacy edit; normal validation
|
|
17
|
+
// still applies its span/options/version patch. Removal always wins.
|
|
18
|
+
if (changed &&
|
|
19
|
+
typeof changed === 'object' &&
|
|
20
|
+
!Array.isArray(changed) &&
|
|
21
|
+
Object.hasOwn(changed, 'count') &&
|
|
22
|
+
!(Array.isArray(stored?.removed) && stored.removed.includes('count'))) {
|
|
23
|
+
widgets.push({
|
|
24
|
+
id: 'count',
|
|
25
|
+
type: 'metric',
|
|
26
|
+
span: 1,
|
|
27
|
+
options: { title: lead.plural, model: lead.id, measure: 'count' },
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
widgets.push({
|
|
31
|
+
id: 'latest',
|
|
32
|
+
type: 'records',
|
|
33
|
+
span: 4,
|
|
34
|
+
options: {
|
|
35
|
+
title: `${lead.name} records`,
|
|
36
|
+
model: lead.id,
|
|
37
|
+
limit: 5,
|
|
38
|
+
summaries: false,
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return widgets;
|
|
43
|
+
}
|
|
@@ -13,6 +13,7 @@ export { parseRecipeExportRef, type RecipeExportResolver, type RecipeWidgetRegis
|
|
|
13
13
|
export { RECORD_OVERVIEW_ALLOWED, RECORD_OVERVIEW_LIMIT, RECORD_OVERVIEW_MAX_METRICS, RECORD_OVERVIEW_PANEL_SPAN, type RecordOverviewOptions, recordOverview, recordOverviewId, } from './record.js';
|
|
14
14
|
export { createWidgetRegistry, defaultWidgetRegistry, registerWidget, resolveWidgetComponents, resolveWidgetOptionsEditors, type WidgetComponents, type WidgetOptionsEditors, WidgetRegistry, } from './registry.js';
|
|
15
15
|
export { assertWidgetOptionFields, defaultWidgetOptions, IDENTIFIER_PATTERN, MODEL_PATTERN, optionsEqual, validateWidgetOptions, } from './schema.js';
|
|
16
|
+
export { sectionOverviewDefaults } from './section-defaults.js';
|
|
16
17
|
export * from './types.js';
|
|
17
18
|
export { type LineItemsTotals, type LineTotalKey, type LineTotalLine, type LineTotalsMismatch, type LineTotalsResult, lineItemTotals, sumLineAmounts, } from './widgets/line-totals.js';
|
|
18
19
|
export { createLineItemsLoader, createRelatedLoader, LINE_ITEMS_LIMIT, lineItemsOptions, lineItemsRelation, RELATED_WIDGET_LIMIT, RELATED_WIDGET_MAX_TABS, type RecordWidgetsOptions, relatedRelations, relatedTabOptions, } from './widgets/record-loaders.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/components/overview/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,8BAA8B,EAC9B,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,mBAAmB,EACxB,YAAY,EACZ,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,eAAe,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,cAAc,EACd,WAAW,EACX,UAAU,GACX,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/components/overview/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,8BAA8B,EAC9B,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,mBAAmB,EACxB,YAAY,EACZ,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,eAAe,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,cAAc,EACd,WAAW,EACX,UAAU,GACX,MAAM,2BAA2B,CAAC"}
|
|
@@ -13,6 +13,7 @@ export { parseRecipeExportRef, registerRecipeWidgets, sectionDefaultWidget, } fr
|
|
|
13
13
|
export { RECORD_OVERVIEW_ALLOWED, RECORD_OVERVIEW_LIMIT, RECORD_OVERVIEW_MAX_METRICS, RECORD_OVERVIEW_PANEL_SPAN, recordOverview, recordOverviewId, } from './record.js';
|
|
14
14
|
export { createWidgetRegistry, defaultWidgetRegistry, registerWidget, resolveWidgetComponents, resolveWidgetOptionsEditors, WidgetRegistry, } from './registry.js';
|
|
15
15
|
export { assertWidgetOptionFields, defaultWidgetOptions, IDENTIFIER_PATTERN, MODEL_PATTERN, optionsEqual, validateWidgetOptions, } from './schema.js';
|
|
16
|
+
export { sectionOverviewDefaults } from './section-defaults.js';
|
|
16
17
|
export * from './types.js';
|
|
17
18
|
export { lineItemTotals, sumLineAmounts, } from './widgets/line-totals.js';
|
|
18
19
|
export { createLineItemsLoader, createRelatedLoader, LINE_ITEMS_LIMIT, lineItemsOptions, lineItemsRelation, RELATED_WIDGET_LIMIT, RELATED_WIDGET_MAX_TABS, relatedRelations, relatedTabOptions, } from './widgets/record-loaders.js';
|
|
@@ -863,6 +863,12 @@ function buildLayoutStyle(shell: ModuleShellState): string {
|
|
|
863
863
|
function regionVisible(region: ShellRegion): boolean {
|
|
864
864
|
return shell.isRegionVisible(region);
|
|
865
865
|
}
|
|
866
|
+
function slotRegionAvailable(region: ShellRegion): boolean {
|
|
867
|
+
// A closed phone drawer still owns its slots; the drawer itself is inert.
|
|
868
|
+
if (isPhone && region === 'leftSidebar') return shell.isEdgeShown('left');
|
|
869
|
+
if (isPhone && region === 'rightSidebar') return shell.isEdgeShown('right');
|
|
870
|
+
return regionVisible(region);
|
|
871
|
+
}
|
|
866
872
|
|
|
867
873
|
/**
|
|
868
874
|
* Whether a region shows its hide control in edit mode: a sidebar has one as
|
|
@@ -883,7 +889,7 @@ function buildLayoutStyle(shell: ModuleShellState): string {
|
|
|
883
889
|
Snippet | undefined,
|
|
884
890
|
][]) {
|
|
885
891
|
if (!snippet) continue;
|
|
886
|
-
const target = resolveSlot(name,
|
|
892
|
+
const target = resolveSlot(name, slotRegionAvailable);
|
|
887
893
|
if (target) (placed[target] ??= []).push(snippet);
|
|
888
894
|
}
|
|
889
895
|
return placed;
|
|
@@ -1496,7 +1502,7 @@ function buildLayoutStyle(shell: ModuleShellState): string {
|
|
|
1496
1502
|
</button>
|
|
1497
1503
|
</div>
|
|
1498
1504
|
{:else if !topRendered && (homeHref || logoSrc || brand)}{@render shellBrand(!edgeExpanded('left'))}{/if}
|
|
1499
|
-
{#if shownOpen('left') || (tenantPanel && keepsContent('left'))}
|
|
1505
|
+
{#if shownOpen('left') || (tenantPanel && keepsContent('left')) || (isPhone && slotHas('leftSidebar.header', 'leftSidebar.footer'))}
|
|
1500
1506
|
<div
|
|
1501
1507
|
class="smrt-admin-shell__tenant-stack"
|
|
1502
1508
|
hidden={!shownOpen('left')}
|
|
@@ -1696,7 +1702,7 @@ function buildLayoutStyle(shell: ModuleShellState): string {
|
|
|
1696
1702
|
{@render edgeToggle('right')}
|
|
1697
1703
|
{/if}
|
|
1698
1704
|
</div>
|
|
1699
|
-
{#if panelMounted('right')}
|
|
1705
|
+
{#if panelMounted('right') || (isPhone && slotHas('rightSidebar.header', 'rightSidebar.footer'))}
|
|
1700
1706
|
<div
|
|
1701
1707
|
class="smrt-admin-shell__panel smrt-admin-shell__panel--right"
|
|
1702
1708
|
tabindex="-1"
|
|
@@ -2922,6 +2928,12 @@ function buildLayoutStyle(shell: ModuleShellState): string {
|
|
|
2922
2928
|
}
|
|
2923
2929
|
|
|
2924
2930
|
@media (max-width: 48rem) {
|
|
2931
|
+
.smrt-admin-shell__band--top :global(.smrt-admin-shell__brand.compact) { margin-block-end: 0; }
|
|
2932
|
+
.smrt-admin-shell__band--top {
|
|
2933
|
+
gap: var(--smrt-spacing-1);
|
|
2934
|
+
padding-inline-start: var(--smrt-spacing-2);
|
|
2935
|
+
padding-inline-end: calc(var(--smrt-spacing-2) + var(--smrt-shell-floating-reserve-inline));
|
|
2936
|
+
}
|
|
2925
2937
|
.smrt-admin-shell {
|
|
2926
2938
|
grid-template-columns: 0 minmax(0, 1fr) 0;
|
|
2927
2939
|
grid-template-rows:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminShell.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/AdminShell.svelte.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AdminShell.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/AdminShell.svelte.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,10 @@ import {
|
|
|
9
9
|
SHELL_DEFAULT_SECTION_ICON,
|
|
10
10
|
SHELL_PLACEHOLDER_ICON,
|
|
11
11
|
} from './shell-icons.js';
|
|
12
|
+
import { shellTargetAction, tryUseShellTargets } from './targets.js';
|
|
12
13
|
import type { ShellNavGroup, ShellNavItem } from './types.js';
|
|
13
14
|
|
|
15
|
+
const target = shellTargetAction(tryUseShellTargets());
|
|
14
16
|
const DEFAULT_ACTION_ICON = 'settings';
|
|
15
17
|
|
|
16
18
|
interface Props {
|
|
@@ -154,6 +156,7 @@ function fallbackIcon(label: string): string {
|
|
|
154
156
|
<div class="smrt-tenant-nav__section" in:fly={reveal()} animate:flipRow>
|
|
155
157
|
<div class="smrt-tenant-nav__row">
|
|
156
158
|
<a
|
|
159
|
+
use:target={item.id ?? item.href}
|
|
157
160
|
href={item.href}
|
|
158
161
|
class:smrt-tenant-nav__link--visible-active={isVisibleActive(item)}
|
|
159
162
|
aria-current={isActive(item) ? 'page' : undefined}
|
|
@@ -238,6 +241,7 @@ function fallbackIcon(label: string): string {
|
|
|
238
241
|
<div class="smrt-tenant-nav__section" data-nav-section={groupId(group)} in:fly={reveal()}>
|
|
239
242
|
<div class="smrt-tenant-nav__row">
|
|
240
243
|
<a
|
|
244
|
+
use:target={groupId(group)}
|
|
241
245
|
{href}
|
|
242
246
|
class="smrt-tenant-nav__section-link"
|
|
243
247
|
class:smrt-tenant-nav__link--visible-active={isSectionCurrent(group)}
|
|
@@ -289,6 +293,7 @@ function fallbackIcon(label: string): string {
|
|
|
289
293
|
<style>
|
|
290
294
|
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
291
295
|
@layer smrt.theme {
|
|
296
|
+
a:global([data-smrt-highlighted='true']) { outline: var(--smrt-focus-ring-width) solid var(--smrt-color-primary); outline-offset: var(--smrt-focus-ring-offset); }
|
|
292
297
|
.smrt-tenant-nav,
|
|
293
298
|
.smrt-tenant-nav__section,
|
|
294
299
|
.smrt-tenant-nav__children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantNav.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/TenantNav.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"TenantNav.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/TenantNav.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,QAAQ,CAAC;AAUjD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG9D,UAAU,KAAK;IACb,sEAAsE;IACtE,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAClC,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,aAAa,CAAC,EAAE,SAAS,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,qBAAqB,CAAC;IACvD,0EAA0E;IAC1E,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACzD;AAiOD,QAAA,MAAM,SAAS,0BAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Scoped semantic shell anchors. No selectors, navigation, or tour state. */
|
|
2
|
+
export interface ShellTargets {
|
|
3
|
+
get(id: string): HTMLElement | undefined;
|
|
4
|
+
register(id: string, node: HTMLElement): () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function createShellTargets(): ShellTargets;
|
|
7
|
+
export declare function provideShellTargets(): ShellTargets;
|
|
8
|
+
export declare function tryUseShellTargets(): ShellTargets | undefined;
|
|
9
|
+
/** Svelte action factory keeps registration lifetime aligned with the real node. */
|
|
10
|
+
export declare function shellTargetAction(registry: ShellTargets | undefined): (node: HTMLElement, id: string) => {
|
|
11
|
+
update(next: string): void;
|
|
12
|
+
destroy(): void;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=targets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/targets.ts"],"names":[],"mappings":"AAGA,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,IAAI,CAAC;CACrD;AACD,wBAAgB,kBAAkB,IAAI,YAAY,CA2BjD;AACD,wBAAgB,mBAAmB,IAAI,YAAY,CAIlD;AACD,wBAAgB,kBAAkB,IAAI,YAAY,GAAG,SAAS,CAE7D;AACD,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,IAC1D,MAAM,WAAW,EAAE,IAAI,MAAM;iBAGpB,MAAM;;EASxB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { getContext, setContext } from 'svelte';
|
|
2
|
+
const TARGETS = Symbol('smrt-shell-targets');
|
|
3
|
+
export function createShellTargets() {
|
|
4
|
+
const targets = new Map();
|
|
5
|
+
const registry = {
|
|
6
|
+
get(id) {
|
|
7
|
+
return targets
|
|
8
|
+
.get(id)
|
|
9
|
+
?.find((node) => node.isConnected &&
|
|
10
|
+
!node.closest('[hidden],[inert],[aria-hidden="true"]') &&
|
|
11
|
+
(typeof node.checkVisibility !== 'function' ||
|
|
12
|
+
node.checkVisibility()));
|
|
13
|
+
},
|
|
14
|
+
register(id, node) {
|
|
15
|
+
node.dataset.smrtTarget = id;
|
|
16
|
+
targets.set(id, [...(targets.get(id) ?? []), node]);
|
|
17
|
+
return () => {
|
|
18
|
+
const remaining = targets.get(id)?.filter((value) => value !== node) ?? [];
|
|
19
|
+
if (remaining.length)
|
|
20
|
+
targets.set(id, remaining);
|
|
21
|
+
else
|
|
22
|
+
targets.delete(id);
|
|
23
|
+
delete node.dataset.smrtTarget;
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
return registry;
|
|
28
|
+
}
|
|
29
|
+
export function provideShellTargets() {
|
|
30
|
+
const registry = createShellTargets();
|
|
31
|
+
setContext(TARGETS, registry);
|
|
32
|
+
return registry;
|
|
33
|
+
}
|
|
34
|
+
export function tryUseShellTargets() {
|
|
35
|
+
return getContext(TARGETS);
|
|
36
|
+
}
|
|
37
|
+
/** Svelte action factory keeps registration lifetime aligned with the real node. */
|
|
38
|
+
export function shellTargetAction(registry) {
|
|
39
|
+
return (node, id) => {
|
|
40
|
+
let unregister = registry?.register(id, node);
|
|
41
|
+
return {
|
|
42
|
+
update(next) {
|
|
43
|
+
unregister?.();
|
|
44
|
+
unregister = registry?.register(next, node);
|
|
45
|
+
},
|
|
46
|
+
destroy() {
|
|
47
|
+
unregister?.();
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
}
|
|
@@ -46,6 +46,7 @@ export type { ShellPlacementItem, ShellRegion, ShellSlot, } from './admin-shell/
|
|
|
46
46
|
export { isShellSlot, resolveSlot, SHELL_DOCK_ITEM_PREFIX, SHELL_HOST_SLOT_ITEM_PREFIX, SHELL_SLOTS, shellDockItemId, shellHostSlotItemId, slotFallbackChain, slotRegion, } from './admin-shell/slots.js';
|
|
47
47
|
export { ADMIN_SHELL_DESKTOP_QUERY, ADMIN_SHELL_PHONE_QUERY, createShellState, detectShellViewport, ShellState, type ShellStateOptions, } from './admin-shell/state.svelte.js';
|
|
48
48
|
export { default as TenantNav } from './admin-shell/TenantNav.svelte';
|
|
49
|
+
export { type ShellTargets, shellTargetAction, tryUseShellTargets, } from './admin-shell/targets.js';
|
|
49
50
|
export type { ActivityStatus, AdminShellPhoneOptions, AdminShellProps, PanelEdge, PanelPresentation, PanelState, PhonePanelPresentation, ResolvedShellConfig, ShellActivity, ShellActivityBadge, ShellActivityEvent, ShellActivityFilter, ShellDockOpenOptions, ShellFocusTool, ShellFocusToolSubject, ShellHotkeyBinding, ShellLayoutEditSurface, ShellNavGroup, ShellNavItem, ShellNavItemAction, ShellPanelConfig, ShellPanelDefaults, ShellPanelPersist, ShellPanelResize, ShellScope, ShellSectionActionsContext, ShellSectionMenuEntry, ShellSettingsAdapter, ShellSettingsDelta, ShellStateSnapshot, ShellStatusChip, ShellStatusTone, ShellSystemItem, ShellSystemPanel, ShellViewport, VisiblePanelState, WorkspaceAccountTenant, } from './admin-shell/types.js';
|
|
50
51
|
export { ADMIN_SHELL_REGION_IDS, EDGE_SCOPES, PANEL_EDGES, SCOPE_EDGES, } from './admin-shell/types.js';
|
|
51
52
|
export { default as WorkspaceAccountMenu } from './admin-shell/WorkspaceAccountMenu.svelte';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,YAAY,EACZ,cAAc,GACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,SAAS,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,KAAK,aAAa,EAClB,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,cAAc,EACd,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,GACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,0BAA0B,EAC1B,gCAAgC,EAChC,uBAAuB,EACvB,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,aAAa,GACnB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,SAAS,GACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,WAAW,EACX,WAAW,EACX,sBAAsB,EACtB,2BAA2B,EAC3B,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,KAAK,iBAAiB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/workspace/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,7 @@ export { isShellIconName, SHELL_DEFAULT_SECTION_ICON, SHELL_ICON_PATHS, SHELL_SE
|
|
|
47
47
|
export { isShellSlot, resolveSlot, SHELL_DOCK_ITEM_PREFIX, SHELL_HOST_SLOT_ITEM_PREFIX, SHELL_SLOTS, shellDockItemId, shellHostSlotItemId, slotFallbackChain, slotRegion, } from './admin-shell/slots.js';
|
|
48
48
|
export { ADMIN_SHELL_DESKTOP_QUERY, ADMIN_SHELL_PHONE_QUERY, createShellState, detectShellViewport, ShellState, } from './admin-shell/state.svelte.js';
|
|
49
49
|
export { default as TenantNav } from './admin-shell/TenantNav.svelte';
|
|
50
|
+
export { shellTargetAction, tryUseShellTargets, } from './admin-shell/targets.js';
|
|
50
51
|
export { ADMIN_SHELL_REGION_IDS, EDGE_SCOPES, PANEL_EDGES, SCOPE_EDGES, } from './admin-shell/types.js';
|
|
51
52
|
export { default as WorkspaceAccountMenu } from './admin-shell/WorkspaceAccountMenu.svelte';
|
|
52
53
|
export { navTreeFromManifest as tenantNavFromManifest, pluralizeClassName, } from './manifest-nav.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-svelte",
|
|
3
|
-
"version": "0.57.
|
|
3
|
+
"version": "0.57.14",
|
|
4
4
|
"smrtJsdoc": "strict",
|
|
5
5
|
"description": "Svelte 5 components for SMRT user management - auth, users, tenants, roles, permissions, groups",
|
|
6
6
|
"type": "module",
|
|
@@ -210,11 +210,11 @@
|
|
|
210
210
|
},
|
|
211
211
|
"dependencies": {
|
|
212
212
|
"@happyvertical/logger": "^0.105.5",
|
|
213
|
-
"@happyvertical/smrt-languages": "0.57.
|
|
214
|
-
"@happyvertical/smrt-mcp-apps": "0.57.
|
|
215
|
-
"@happyvertical/smrt-types": "0.57.
|
|
216
|
-
"@happyvertical/smrt-ui": "0.57.
|
|
217
|
-
"@happyvertical/smrt-web": "0.57.
|
|
213
|
+
"@happyvertical/smrt-languages": "0.57.14",
|
|
214
|
+
"@happyvertical/smrt-mcp-apps": "0.57.14",
|
|
215
|
+
"@happyvertical/smrt-types": "0.57.14",
|
|
216
|
+
"@happyvertical/smrt-ui": "0.57.14",
|
|
217
|
+
"@happyvertical/smrt-web": "0.57.14",
|
|
218
218
|
"@tanstack/db": "^0.6.14",
|
|
219
219
|
"@tanstack/svelte-db": "^0.1.91",
|
|
220
220
|
"esm-env": "^1.2.2"
|
|
@@ -249,14 +249,14 @@
|
|
|
249
249
|
}
|
|
250
250
|
},
|
|
251
251
|
"devDependencies": {
|
|
252
|
-
"@happyvertical/smrt-agents": "0.57.
|
|
253
|
-
"@happyvertical/smrt-chat": "0.57.
|
|
254
|
-
"@happyvertical/smrt-content": "0.57.
|
|
255
|
-
"@happyvertical/smrt-core": "0.57.
|
|
256
|
-
"@happyvertical/smrt-reports": "0.57.
|
|
257
|
-
"@happyvertical/smrt-scanner": "0.57.
|
|
258
|
-
"@happyvertical/smrt-tenancy": "0.57.
|
|
259
|
-
"@happyvertical/smrt-users": "0.57.
|
|
252
|
+
"@happyvertical/smrt-agents": "0.57.14",
|
|
253
|
+
"@happyvertical/smrt-chat": "0.57.14",
|
|
254
|
+
"@happyvertical/smrt-content": "0.57.14",
|
|
255
|
+
"@happyvertical/smrt-core": "0.57.14",
|
|
256
|
+
"@happyvertical/smrt-reports": "0.57.14",
|
|
257
|
+
"@happyvertical/smrt-scanner": "0.57.14",
|
|
258
|
+
"@happyvertical/smrt-tenancy": "0.57.14",
|
|
259
|
+
"@happyvertical/smrt-users": "0.57.14",
|
|
260
260
|
"@happyvertical/speech": "^0.105.5",
|
|
261
261
|
"@sveltejs/package": "^2.5.8",
|
|
262
262
|
"@sveltejs/vite-plugin-svelte": "^7.3.0",
|