@happyvertical/smrt-svelte 0.55.15 → 0.55.17

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.
Files changed (153) hide show
  1. package/README.md +5 -3
  2. package/agents/cookbook-shell.md +7 -1
  3. package/agents/overview-surfaces.md +5 -0
  4. package/agents/workspace.md +145 -11
  5. package/dist/browser-ai/svelte/components/DownloadProgress.svelte +22 -19
  6. package/dist/browser-ai/svelte/components/ModelStatusControl.svelte +16 -13
  7. package/dist/browser-ai/svelte/components/STTTest.svelte +41 -38
  8. package/dist/browser-ai/svelte/components/VoiceInput.svelte +17 -14
  9. package/dist/components/activity/ActivityList.svelte +1 -1
  10. package/dist/components/app/AppShell.svelte +274 -9
  11. package/dist/components/app/AppShell.svelte.d.ts +63 -2
  12. package/dist/components/app/AppShell.svelte.d.ts.map +1 -1
  13. package/dist/components/app/DockToggles.svelte +27 -1
  14. package/dist/components/app/DockToggles.svelte.d.ts.map +1 -1
  15. package/dist/components/app/OwnerSetupForm.svelte +98 -34
  16. package/dist/components/app/OwnerSetupForm.svelte.d.ts +4 -0
  17. package/dist/components/app/OwnerSetupForm.svelte.d.ts.map +1 -1
  18. package/dist/components/app/PhoneTabBar.svelte +136 -0
  19. package/dist/components/app/PhoneTabBar.svelte.d.ts +22 -0
  20. package/dist/components/app/PhoneTabBar.svelte.d.ts.map +1 -0
  21. package/dist/components/app/ShellSettingsPage.svelte +17 -2
  22. package/dist/components/app/ShellSettingsPage.svelte.d.ts +11 -16
  23. package/dist/components/app/ShellSettingsPage.svelte.d.ts.map +1 -1
  24. package/dist/components/app/dock-toggle.d.ts +3 -2
  25. package/dist/components/app/dock-toggle.d.ts.map +1 -1
  26. package/dist/components/app/index.d.ts +2 -1
  27. package/dist/components/app/index.d.ts.map +1 -1
  28. package/dist/components/app/index.js +1 -0
  29. package/dist/components/app/owner-setup-types.d.ts +5 -0
  30. package/dist/components/app/owner-setup-types.d.ts.map +1 -1
  31. package/dist/components/app/phone-tabs.d.ts +41 -0
  32. package/dist/components/app/phone-tabs.d.ts.map +1 -0
  33. package/dist/components/app/phone-tabs.js +66 -0
  34. package/dist/components/app/slot-item.d.ts +16 -0
  35. package/dist/components/app/slot-item.d.ts.map +1 -1
  36. package/dist/components/app/view-transition.d.ts +43 -0
  37. package/dist/components/app/view-transition.d.ts.map +1 -0
  38. package/dist/components/app/view-transition.js +76 -0
  39. package/dist/components/audit/AuditList.svelte +4 -1
  40. package/dist/components/audit/RecordHistory.svelte +4 -1
  41. package/dist/components/board/Board.svelte +4 -1
  42. package/dist/components/command-palette/CommandPalette.svelte +4 -1
  43. package/dist/components/command-palette/CommandPalette.svelte.d.ts +2 -0
  44. package/dist/components/command-palette/CommandPalette.svelte.d.ts.map +1 -1
  45. package/dist/components/command-palette/CommandPaletteDialog.svelte +3 -0
  46. package/dist/components/command-palette/CommandPaletteTrigger.svelte +3 -0
  47. package/dist/components/cookbook/CookbookApp.svelte +2 -1
  48. package/dist/components/cookbook/CookbookApp.svelte.d.ts.map +1 -1
  49. package/dist/components/cookbook/CookbookSectionPage.svelte +4 -1
  50. package/dist/components/cookbook/brand-theme.d.ts.map +1 -1
  51. package/dist/components/cookbook/brand-theme.js +21 -2
  52. package/dist/components/cookbook/build.js +1 -1
  53. package/dist/components/cookbook/theme.d.ts.map +1 -1
  54. package/dist/components/cookbook/theme.js +9 -5
  55. package/dist/components/cookbook/types.d.ts +5 -1
  56. package/dist/components/cookbook/types.d.ts.map +1 -1
  57. package/dist/components/forms/AddressInput.svelte +25 -22
  58. package/dist/components/forms/CheckboxInput.svelte +8 -5
  59. package/dist/components/forms/DateRangeInput.svelte +41 -38
  60. package/dist/components/forms/DateTimeInput.svelte +29 -26
  61. package/dist/components/forms/FileUpload.svelte +24 -21
  62. package/dist/components/forms/Form.svelte +34 -31
  63. package/dist/components/forms/FormMicButton.svelte +10 -7
  64. package/dist/components/forms/FormScope.svelte +4 -1
  65. package/dist/components/forms/MeasurementInput.svelte +26 -23
  66. package/dist/components/forms/MoneyInput.svelte +18 -15
  67. package/dist/components/forms/NumberInput.svelte +17 -14
  68. package/dist/components/forms/PhoneInput.svelte +37 -34
  69. package/dist/components/forms/SearchInput.svelte +16 -13
  70. package/dist/components/forms/SelectInput.svelte +17 -14
  71. package/dist/components/forms/TextInput.svelte +19 -16
  72. package/dist/components/forms/TextareaInput.svelte +21 -18
  73. package/dist/components/import-export/ImportExport.svelte +4 -1
  74. package/dist/components/module/ModulePanel.svelte +14 -11
  75. package/dist/components/notifications/NotificationBell.svelte +4 -1
  76. package/dist/components/overview/OverviewAssistantUndo.svelte +4 -1
  77. package/dist/components/overview/OverviewGrid.svelte +11 -6
  78. package/dist/components/overview/OverviewGrid.svelte.d.ts.map +1 -1
  79. package/dist/components/overview/WidgetOptionsForm.svelte +3 -0
  80. package/dist/components/overview/widgets/ChartWidget.svelte +7 -4
  81. package/dist/components/overview/widgets/MetricWidget.svelte +5 -2
  82. package/dist/components/overview/widgets/NoteWidget.svelte +5 -2
  83. package/dist/components/overview/widgets/RecordListWidget.svelte +6 -3
  84. package/dist/components/overview/widgets/ShortcutsWidget.svelte +12 -6
  85. package/dist/components/overview/widgets/ShortcutsWidget.svelte.d.ts.map +1 -1
  86. package/dist/components/screens/DetailScreen.svelte +6 -3
  87. package/dist/components/screens/EditForm.svelte +6 -3
  88. package/dist/components/screens/ListScreen.svelte +4 -1
  89. package/dist/components/screens/RecipeScreens.svelte +1 -1
  90. package/dist/components/settings/SettingsCatalog.svelte +4 -1
  91. package/dist/components/sortable/Sortable.svelte +11 -5
  92. package/dist/components/sortable/Sortable.svelte.d.ts.map +1 -1
  93. package/dist/components/workspace/Breadcrumbs.svelte +4 -1
  94. package/dist/components/workspace/NavTree.svelte +4 -1
  95. package/dist/components/workspace/RoleShell.svelte +4 -1
  96. package/dist/components/workspace/WorkspaceShell.svelte +43 -40
  97. package/dist/components/workspace/admin-shell/ActivityItem.svelte +4 -1
  98. package/dist/components/workspace/admin-shell/ActivityList.svelte +5 -2
  99. package/dist/components/workspace/admin-shell/ActivityTicker.svelte +6 -3
  100. package/dist/components/workspace/admin-shell/ActivityToasts.svelte +4 -1
  101. package/dist/components/workspace/admin-shell/AdminShell.svelte +502 -72
  102. package/dist/components/workspace/admin-shell/AdminShell.svelte.d.ts +7 -1
  103. package/dist/components/workspace/admin-shell/AdminShell.svelte.d.ts.map +1 -1
  104. package/dist/components/workspace/admin-shell/AppScopePanel.svelte +4 -1
  105. package/dist/components/workspace/admin-shell/HotkeyInput.svelte +4 -1
  106. package/dist/components/workspace/admin-shell/PhoneBottomBar.svelte +21 -8
  107. package/dist/components/workspace/admin-shell/PhoneBottomBar.svelte.d.ts +9 -2
  108. package/dist/components/workspace/admin-shell/PhoneBottomBar.svelte.d.ts.map +1 -1
  109. package/dist/components/workspace/admin-shell/PhoneTopBar.svelte +4 -1
  110. package/dist/components/workspace/admin-shell/ShellBrand.svelte +3 -0
  111. package/dist/components/workspace/admin-shell/ShellCorner.svelte +4 -1
  112. package/dist/components/workspace/admin-shell/ShellIconButton.svelte +4 -1
  113. package/dist/components/workspace/admin-shell/ShellLayoutEditor.svelte +4 -1
  114. package/dist/components/workspace/admin-shell/ShellNavEditor.svelte +13 -7
  115. package/dist/components/workspace/admin-shell/ShellNavEditor.svelte.d.ts +1 -1
  116. package/dist/components/workspace/admin-shell/ShellNavEditor.svelte.d.ts.map +1 -1
  117. package/dist/components/workspace/admin-shell/ShellNavToggle.svelte +4 -1
  118. package/dist/components/workspace/admin-shell/ShellSectionIcon.svelte +4 -1
  119. package/dist/components/workspace/admin-shell/ShellSectionMenu.svelte +15 -10
  120. package/dist/components/workspace/admin-shell/ShellSectionMenu.svelte.d.ts.map +1 -1
  121. package/dist/components/workspace/admin-shell/ShellSettingsPanel.svelte +236 -48
  122. package/dist/components/workspace/admin-shell/ShellSettingsPanel.svelte.d.ts +11 -1
  123. package/dist/components/workspace/admin-shell/ShellSettingsPanel.svelte.d.ts.map +1 -1
  124. package/dist/components/workspace/admin-shell/ShellTitle.svelte +4 -1
  125. package/dist/components/workspace/admin-shell/ShortcutsOverlay.svelte +4 -1
  126. package/dist/components/workspace/admin-shell/SystemScopePanel.svelte +4 -1
  127. package/dist/components/workspace/admin-shell/SystemStatusChips.svelte +5 -2
  128. package/dist/components/workspace/admin-shell/TenantNav.svelte +81 -36
  129. package/dist/components/workspace/admin-shell/TenantNav.svelte.d.ts +4 -3
  130. package/dist/components/workspace/admin-shell/TenantNav.svelte.d.ts.map +1 -1
  131. package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte +305 -53
  132. package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte.d.ts +15 -2
  133. package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte.d.ts.map +1 -1
  134. package/dist/components/workspace/admin-shell/motion.d.ts +19 -0
  135. package/dist/components/workspace/admin-shell/motion.d.ts.map +1 -0
  136. package/dist/components/workspace/admin-shell/motion.js +44 -0
  137. package/dist/components/workspace/admin-shell/settings.d.ts +1 -0
  138. package/dist/components/workspace/admin-shell/settings.d.ts.map +1 -1
  139. package/dist/components/workspace/admin-shell/settings.js +1 -1
  140. package/dist/components/workspace/admin-shell/shell-icons.d.ts +8 -0
  141. package/dist/components/workspace/admin-shell/shell-icons.d.ts.map +1 -1
  142. package/dist/components/workspace/admin-shell/shell-icons.js +8 -0
  143. package/dist/components/workspace/admin-shell/state.svelte.d.ts +6 -0
  144. package/dist/components/workspace/admin-shell/state.svelte.d.ts.map +1 -1
  145. package/dist/components/workspace/admin-shell/state.svelte.js +15 -0
  146. package/dist/components/workspace/admin-shell/types.d.ts +13 -3
  147. package/dist/components/workspace/admin-shell/types.d.ts.map +1 -1
  148. package/dist/components/workspace/tools-dock/ToolsDock.svelte +41 -38
  149. package/dist/i18n/strings.workspace.d.ts +37 -0
  150. package/dist/i18n/strings.workspace.d.ts.map +1 -1
  151. package/dist/i18n/strings.workspace.js +42 -2
  152. package/dist/mcp-apps/McpAppsBridge.svelte +4 -1
  153. package/package.json +14 -14
@@ -0,0 +1,66 @@
1
+ /** Default number of navigation and dock tabs. */
2
+ export const PHONE_TAB_DEFAULT_ITEMS = 4;
3
+ /** Normalise the `phoneTabBar` prop: `null` when off, else the item budget. */
4
+ export function resolvePhoneTabBar(value) {
5
+ if (!value)
6
+ return null;
7
+ const items = typeof value === 'object' ? value.items : undefined;
8
+ const n = Number.isFinite(items)
9
+ ? Math.floor(items)
10
+ : PHONE_TAB_DEFAULT_ITEMS;
11
+ return { items: Math.max(1, n) };
12
+ }
13
+ /**
14
+ * Top-level navigation destinations in order: the flat items, then either each
15
+ * group's entries (`items` mode) or one entry per group (`sections` modes),
16
+ * the way the left sidebar lists them.
17
+ */
18
+ export function phoneTabNavEntries(nav, groups, navMode = 'items', sectionHref) {
19
+ const out = [];
20
+ const add = (entry) => {
21
+ if (!out.some((existing) => existing.id === entry.id))
22
+ out.push(entry);
23
+ };
24
+ for (const item of nav) {
25
+ add({
26
+ id: item.id ?? item.href,
27
+ label: item.label,
28
+ href: item.href,
29
+ icon: item.icon,
30
+ });
31
+ }
32
+ for (const group of groups) {
33
+ if (navMode === 'items') {
34
+ for (const item of group.items) {
35
+ add({
36
+ id: item.id ?? item.href,
37
+ label: item.label,
38
+ href: item.href,
39
+ icon: item.icon,
40
+ });
41
+ }
42
+ continue;
43
+ }
44
+ const id = group.id ?? group.heading;
45
+ const href = group.href ?? sectionHref?.(id) ?? group.items[0]?.href;
46
+ if (href)
47
+ add({ id, label: group.heading, href, icon: group.icon });
48
+ }
49
+ return out;
50
+ }
51
+ /**
52
+ * Choose the tabs: `budget` counts navigation and dock tabs together (the
53
+ * dock tab takes one place when present); "More" is added on top only when
54
+ * navigation overflows.
55
+ */
56
+ export function planPhoneTabs(entries, budget, hasDockTab) {
57
+ const slots = Math.max(0, budget - (hasDockTab ? 1 : 0));
58
+ return {
59
+ nav: entries.slice(0, slots),
60
+ more: entries.length > slots,
61
+ };
62
+ }
63
+ /** True when `href` is the current page or an ancestor of it. */
64
+ export function isTabCurrent(href, currentHref) {
65
+ return href === currentHref || currentHref.startsWith(`${href}/`);
66
+ }
@@ -1,4 +1,5 @@
1
1
  import type { Snippet } from 'svelte';
2
+ import type { PaletteProvider } from '../command-palette/types.js';
2
3
  import type { ShellSlot } from '../workspace/admin-shell/slots.js';
3
4
  /**
4
5
  * A host item that lives in a shell slot and that users can move to another
@@ -18,4 +19,19 @@ export interface ShellSlotItem {
18
19
  /** The content. */
19
20
  render: Snippet;
20
21
  }
22
+ /**
23
+ * `AppShell` `accountMenu`: `false` opts out of the built-in `item:account`;
24
+ * `{ slot }` sets its default slot (default `leftSidebar.footer`, the end of
25
+ * the header band on phones).
26
+ */
27
+ export type AppShellAccountMenu = boolean | {
28
+ slot?: ShellSlot;
29
+ };
30
+ /** `AppShell` `commandPalette`: the built-in `item:command-palette`. */
31
+ export interface AppShellCommandPalette {
32
+ /** Providers for the palette (navigation, records, commands). */
33
+ providers: PaletteProvider[];
34
+ /** Search box placeholder in the palette dialog. */
35
+ placeholder?: string;
36
+ }
21
37
  //# sourceMappingURL=slot-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slot-item.d.ts","sourceRoot":"","sources":["../../../src/components/app/slot-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,IAAI,EAAE,SAAS,CAAC;IAChB,mBAAmB;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB"}
1
+ {"version":3,"file":"slot-item.d.ts","sourceRoot":"","sources":["../../../src/components/app/slot-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,IAAI,EAAE,SAAS,CAAC;IAChB,mBAAmB;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG;IAAE,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAEjE,wEAAwE;AACxE,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * View Transitions helpers for hosts. Plain functions: no SvelteKit, no
3
+ * `$app/*`, usable from a hash router or any non-SvelteKit host.
4
+ *
5
+ * While a transition runs, `<html data-smrt-view-transition>` is set. The
6
+ * shell assigns these `view-transition-name`s only during that window (so the
7
+ * names never create containing blocks the rest of the time), and each must be
8
+ * unique per document: hosts must not reuse them.
9
+ *
10
+ * - `smrt-shell-brand` the brand
11
+ * - `smrt-shell-nav` the left sidebar navigation
12
+ * - `smrt-shell-dock` the right dock
13
+ */
14
+ export declare const VIEW_TRANSITION_ATTRIBUTE = "data-smrt-view-transition";
15
+ export interface RunViewTransitionOptions {
16
+ /** Run `update` without a transition. */
17
+ skip?: boolean;
18
+ }
19
+ /**
20
+ * Runs `update` inside `document.startViewTransition` when the API exists and
21
+ * reduced motion is off; otherwise just awaits `update()`. Resolves once the
22
+ * DOM update has been applied (not when the animation ends). An aborted or
23
+ * skipped transition never throws; an error thrown by `update` itself does.
24
+ */
25
+ export declare function runViewTransition(update: () => void | Promise<void>, options?: RunViewTransitionOptions): Promise<void>;
26
+ /** The slice of SvelteKit's `Navigation` the adapter needs. */
27
+ export interface ViewTransitionNavigation {
28
+ complete: Promise<unknown>;
29
+ type?: string;
30
+ willUnload?: boolean;
31
+ }
32
+ /**
33
+ * Adapter for SvelteKit's `onNavigate`:
34
+ *
35
+ * ```ts
36
+ * onNavigate(createOnNavigateViewTransition());
37
+ * ```
38
+ *
39
+ * Returns a promise that resolves once the transition has captured the old
40
+ * view, which is what `onNavigate` awaits before updating the DOM.
41
+ */
42
+ export declare function createOnNavigateViewTransition(options?: RunViewTransitionOptions): (navigation: ViewTransitionNavigation) => Promise<void> | void;
43
+ //# sourceMappingURL=view-transition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-transition.d.ts","sourceRoot":"","sources":["../../../src/components/app/view-transition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AAErE,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAsBD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAClC,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,+DAA+D;AAC/D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,GAAE,wBAA6B,GACrC,CAAC,UAAU,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAUhE"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * View Transitions helpers for hosts. Plain functions: no SvelteKit, no
3
+ * `$app/*`, usable from a hash router or any non-SvelteKit host.
4
+ *
5
+ * While a transition runs, `<html data-smrt-view-transition>` is set. The
6
+ * shell assigns these `view-transition-name`s only during that window (so the
7
+ * names never create containing blocks the rest of the time), and each must be
8
+ * unique per document: hosts must not reuse them.
9
+ *
10
+ * - `smrt-shell-brand` the brand
11
+ * - `smrt-shell-nav` the left sidebar navigation
12
+ * - `smrt-shell-dock` the right dock
13
+ */
14
+ export const VIEW_TRANSITION_ATTRIBUTE = 'data-smrt-view-transition';
15
+ let active = 0;
16
+ function reducedMotion() {
17
+ return (typeof window !== 'undefined' &&
18
+ typeof window.matchMedia === 'function' &&
19
+ window.matchMedia('(prefers-reduced-motion: reduce)').matches);
20
+ }
21
+ /**
22
+ * Runs `update` inside `document.startViewTransition` when the API exists and
23
+ * reduced motion is off; otherwise just awaits `update()`. Resolves once the
24
+ * DOM update has been applied (not when the animation ends). An aborted or
25
+ * skipped transition never throws; an error thrown by `update` itself does.
26
+ */
27
+ export async function runViewTransition(update, options = {}) {
28
+ const doc = typeof document === 'undefined' ? undefined : document;
29
+ const start = doc?.startViewTransition;
30
+ if (!doc || options.skip || typeof start !== 'function' || reducedMotion()) {
31
+ await update();
32
+ return;
33
+ }
34
+ let transition;
35
+ active += 1;
36
+ doc.documentElement.setAttribute(VIEW_TRANSITION_ATTRIBUTE, '');
37
+ const release = () => {
38
+ active = Math.max(0, active - 1);
39
+ if (active === 0)
40
+ doc.documentElement.removeAttribute(VIEW_TRANSITION_ATTRIBUTE);
41
+ };
42
+ try {
43
+ transition = start.call(doc, update);
44
+ }
45
+ catch {
46
+ release();
47
+ await update();
48
+ return;
49
+ }
50
+ // Aborts reject `ready` / `finished`; they are not errors.
51
+ transition.ready?.catch(() => { });
52
+ void Promise.resolve(transition.finished).then(release, release);
53
+ await transition.updateCallbackDone;
54
+ }
55
+ /**
56
+ * Adapter for SvelteKit's `onNavigate`:
57
+ *
58
+ * ```ts
59
+ * onNavigate(createOnNavigateViewTransition());
60
+ * ```
61
+ *
62
+ * Returns a promise that resolves once the transition has captured the old
63
+ * view, which is what `onNavigate` awaits before updating the DOM.
64
+ */
65
+ export function createOnNavigateViewTransition(options = {}) {
66
+ return (navigation) => {
67
+ if (navigation.willUnload || navigation.type === 'leave')
68
+ return;
69
+ return new Promise((resolve) => {
70
+ runViewTransition(async () => {
71
+ resolve();
72
+ await navigation.complete;
73
+ }, options).then(resolve, resolve);
74
+ });
75
+ };
76
+ }
@@ -80,7 +80,7 @@ function apply() {
80
80
  }
81
81
  </script>
82
82
 
83
- <section aria-label={t(M['ui.audit.list'])}>
83
+ <section aria-label={t(M['ui.audit.list'])} data-smrt-component="AuditList">
84
84
  {#if showFilters}
85
85
  <Form onsubmit={apply} class="smrt-audit-filters">
86
86
  <FormGroup label={t(M['ui.audit.person'])}><Input bind:value={profileId} /></FormGroup>
@@ -103,5 +103,8 @@ function apply() {
103
103
  </section>
104
104
 
105
105
  <style>
106
+ @layer smrt.reset, smrt.structure, smrt.theme;
107
+ @layer smrt.theme {
106
108
  .smrt-audit-filters { display: flex; flex-wrap: wrap; gap: var(--smrt-spacing-3); align-items: end; }
109
+ }
107
110
  </style>
@@ -146,7 +146,7 @@ function date(value: string): string {
146
146
  }
147
147
  </script>
148
148
 
149
- <section aria-label={label ?? t(M['ui.audit.history'])} aria-busy={loading} class="smrt-record-history">
149
+ <section aria-label={label ?? t(M['ui.audit.history'])} aria-busy={loading} class="smrt-record-history" data-smrt-component="RecordHistory">
150
150
  {#if error}<p role="alert">{error}</p>{/if}
151
151
  {#if loading}<p role="status">{t(M['ui.audit.loading'])}</p>{/if}
152
152
  {#if !loading && visible.length === 0}<p>{t(M['ui.audit.empty'])}</p>{/if}
@@ -180,6 +180,8 @@ function date(value: string): string {
180
180
  </section>
181
181
 
182
182
  <style>
183
+ @layer smrt.reset, smrt.structure, smrt.theme;
184
+ @layer smrt.theme {
183
185
  .smrt-record-history > ol {
184
186
  display: grid;
185
187
  margin: 0;
@@ -231,4 +233,5 @@ function date(value: string): string {
231
233
  background: var(--smrt-color-surface-container-low);
232
234
  list-style: none;
233
235
  }
236
+ }
234
237
  </style>
@@ -212,7 +212,7 @@ function toggleColumn(columnId: string): void {
212
212
  }
213
213
  </script>
214
214
 
215
- <section bind:this={root} class="smrt-board" aria-label={label ?? t(M['ui.board.label'])} aria-roledescription="board">
215
+ <section bind:this={root} class="smrt-board" aria-label={label ?? t(M['ui.board.label'])} aria-roledescription="board" data-smrt-component="Board">
216
216
  <div class="smrt-board__lanes">
217
217
  {#each columns as column, columnIndex (column.id)}
218
218
  {@const items = cardsInColumn(column.id)}
@@ -291,6 +291,8 @@ function toggleColumn(columnId: string): void {
291
291
  </section>
292
292
 
293
293
  <style>
294
+ @layer smrt.reset, smrt.structure, smrt.theme;
295
+ @layer smrt.theme {
294
296
  .smrt-board { min-width: 0; }
295
297
  .smrt-board__lanes { display: flex; gap: var(--smrt-spacing-4); overflow-x: auto; overscroll-behavior-x: contain; padding-block-end: var(--smrt-spacing-2); }
296
298
  .smrt-board__lane { display: grid; grid-template-rows: auto minmax(0, 1fr); flex: 0 0 min(18rem, 82vw); min-block-size: 12rem; max-block-size: min(42rem, 70vh); border: 1px solid var(--smrt-color-outline-variant); border-radius: var(--smrt-radius-md); background: var(--smrt-color-surface-container); overflow: hidden; }
@@ -307,4 +309,5 @@ function toggleColumn(columnId: string): void {
307
309
  .smrt-board__empty { margin: 0; color: var(--smrt-color-on-surface-variant); font: var(--smrt-typography-body-small-font); }
308
310
  .smrt-board__live { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
309
311
  @media (prefers-reduced-motion: reduce) { .smrt-board__card { scroll-behavior: auto; } }
312
+ }
310
313
  </style>
@@ -34,6 +34,8 @@ interface Props {
34
34
  hotkeys?: readonly string[] | false;
35
35
  /** Trigger text and dialog name (default "Search"). */
36
36
  label?: string;
37
+ /** Search box placeholder in the dialog. */
38
+ placeholder?: string;
37
39
  /** Show only the glyph in the trigger. */
38
40
  compact?: boolean;
39
41
  /** Render the dialog and shortcut without a trigger. */
@@ -46,6 +48,7 @@ let {
46
48
  navigate,
47
49
  hotkeys = DEFAULT_PALETTE_HOTKEYS,
48
50
  label,
51
+ placeholder,
49
52
  compact = false,
50
53
  hideTrigger = false,
51
54
  }: Props = $props();
@@ -72,4 +75,4 @@ const palette = $derived(
72
75
  hotkeys={hotkeys === false ? [] : hotkeys}
73
76
  />
74
77
  {/if}
75
- <CommandPaletteDialog {palette} {hotkeys} {label} />
78
+ <CommandPaletteDialog {palette} {hotkeys} {label} {placeholder} />
@@ -11,6 +11,8 @@ interface Props {
11
11
  hotkeys?: readonly string[] | false;
12
12
  /** Trigger text and dialog name (default "Search"). */
13
13
  label?: string;
14
+ /** Search box placeholder in the dialog. */
15
+ placeholder?: string;
14
16
  /** Show only the glyph in the trigger. */
15
17
  compact?: boolean;
16
18
  /** Render the dialog and shortcut without a trigger. */
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/command-palette/CommandPalette.svelte.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,UAAU,KAAK;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACvC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7C,2DAA2D;IAC3D,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAAC;IACpC,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA2CD,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"CommandPalette.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/command-palette/CommandPalette.svelte.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,UAAU,KAAK;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACvC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7C,2DAA2D;IAC3D,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAAC;IACpC,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA4CD,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -256,6 +256,8 @@ const inputLabel = $derived(label ?? t(M['ui.command_palette.input_label']));
256
256
  </Modal>
257
257
 
258
258
  <style>
259
+ @layer smrt.reset, smrt.structure, smrt.theme;
260
+ @layer smrt.theme {
259
261
  .smrt-command-palette {
260
262
  display: flex;
261
263
  flex-direction: column;
@@ -403,4 +405,5 @@ const inputLabel = $derived(label ?? t(M['ui.command_palette.input_label']));
403
405
  clip-path: inset(50%);
404
406
  white-space: nowrap;
405
407
  }
408
+ }
406
409
  </style>
@@ -69,6 +69,8 @@ const hint = $derived(hotkeys[0] ? formatPaletteHotkey(hotkeys[0], apple) : '');
69
69
  </Button>
70
70
 
71
71
  <style>
72
+ @layer smrt.reset, smrt.structure, smrt.theme;
73
+ @layer smrt.theme {
72
74
  :global(.smrt-command-palette-trigger) {
73
75
  gap: 0.5rem;
74
76
  }
@@ -88,4 +90,5 @@ const hint = $derived(hotkeys[0] ? formatPaletteHotkey(hotkeys[0], apple) : '');
88
90
  display: none;
89
91
  }
90
92
  }
93
+ }
91
94
  </style>
@@ -41,6 +41,7 @@ let {
41
41
  sectionPath,
42
42
  href,
43
43
  title,
44
+ navMode = 'sections-with-items',
44
45
  slotItems = [],
45
46
  children,
46
47
  ...shellProps
@@ -220,7 +221,7 @@ setCookbookContext({
220
221
  <AppShell
221
222
  {...shellProps}
222
223
  title={shell.title}
223
- navMode="sections"
224
+ {navMode}
224
225
  navGroups={shell.navGroups}
225
226
  {layout}
226
227
  onlayoutchange={(next) => {
@@ -1 +1 @@
1
- {"version":3,"file":"CookbookApp.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/cookbook/CookbookApp.svelte.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAsNnD,QAAA,MAAM,WAAW,sDAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"CookbookApp.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/cookbook/CookbookApp.svelte.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAuNnD,QAAA,MAAM,WAAW,sDAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -43,7 +43,7 @@ const store = {
43
43
  {#if title}<title>{title}</title>{/if}
44
44
  </svelte:head>
45
45
 
46
- <main class="cookbook-section">
46
+ <main class="cookbook-section" data-smrt-component="CookbookSectionPage">
47
47
  {#if section}
48
48
  <header>
49
49
  <span class="mark"><ShellSectionIcon name={icon} size={28} /></span>
@@ -82,6 +82,8 @@ const store = {
82
82
  </main>
83
83
 
84
84
  <style>
85
+ @layer smrt.reset, smrt.structure, smrt.theme;
86
+ @layer smrt.theme {
85
87
  .cookbook-section {
86
88
  display: grid;
87
89
  gap: var(--smrt-spacing-6);
@@ -130,4 +132,5 @@ const store = {
130
132
  margin: 0;
131
133
  font-size: var(--smrt-typography-title-medium-size, 1rem);
132
134
  }
135
+ }
133
136
  </style>
@@ -1 +1 @@
1
- {"version":3,"file":"brand-theme.d.ts","sourceRoot":"","sources":["../../../src/components/cookbook/brand-theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAIxD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,GAAG,WAAW,CAiB5E"}
1
+ {"version":3,"file":"brand-theme.d.ts","sourceRoot":"","sources":["../../../src/components/cookbook/brand-theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAIxD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,GAAG,WAAW,CAqC5E"}
@@ -1,4 +1,4 @@
1
- import { createThemeFromColor, isValidPreset, registerTheme, } from '@happyvertical/smrt-ui/themes';
1
+ import { createThemeFromColor, getTheme, isValidPreset, registerTheme, } from '@happyvertical/smrt-ui/themes';
2
2
  import { DEFAULT_THEME_PRESET, THEME_FONTS } from './theme.js';
3
3
  const registered = new Set();
4
4
  /**
@@ -20,5 +20,24 @@ export function applyCookbookTheme(theme) {
20
20
  }
21
21
  return theme.preset;
22
22
  }
23
- return (isValidPreset(theme.preset) ? theme.preset : DEFAULT_THEME_PRESET);
23
+ const basePreset = (isValidPreset(theme.preset) ? theme.preset : DEFAULT_THEME_PRESET);
24
+ const font = theme.fontFamily && THEME_FONTS[theme.fontFamily];
25
+ if (!font)
26
+ return basePreset;
27
+ const id = `cookbook-preset-${basePreset}-${theme.fontFamily?.toLowerCase().replace(/[^a-z0-9]/g, '')}`;
28
+ if (!registered.has(id)) {
29
+ const base = getTheme(basePreset);
30
+ const typography = Object.fromEntries(Object.entries(base.typography).map(([key, token]) => [
31
+ key,
32
+ { ...token, fontFamily: 'var(--smrt-font-family)' },
33
+ ]));
34
+ registerTheme({
35
+ ...base,
36
+ id: id,
37
+ fontFamily: font,
38
+ typography,
39
+ });
40
+ registered.add(id);
41
+ }
42
+ return id;
24
43
  }
@@ -258,7 +258,7 @@ export function buildCookbookShell(options) {
258
258
  }
259
259
  return {
260
260
  title: options.title ?? cookbook.name ?? 'SMRT',
261
- navMode: 'sections',
261
+ navMode: 'sections-with-items',
262
262
  navGroups,
263
263
  layout,
264
264
  sections,
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/components/cookbook/theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,eAAO,MAAM,oBAAoB,EAAG,QAAiB,CAAC;AAEtD,gGAAgG;AAChG,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxD,CAAC;AAIF,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAO1D;AAED,6FAA6F;AAC7F,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,GAAG,SAAS,GAC/B,qBAAqB,CAmBvB"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/components/cookbook/theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,eAAO,MAAM,oBAAoB,EAAG,QAAiB,CAAC;AAEtD,gGAAgG;AAChG,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxD,CAAC;AAIF,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAO1D;AAED,6FAA6F;AAC7F,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,GAAG,SAAS,GAC/B,qBAAqB,CAuBvB"}
@@ -38,16 +38,20 @@ export function resolveCookbookTheme(theme) {
38
38
  ? theme.colorScheme
39
39
  : DEFAULT_COLOR_SCHEME;
40
40
  const primary = theme?.custom ? normalizeHex(theme.custom.primary) : null;
41
+ const font = theme?.fontFamily ?? theme?.custom?.fontFamily;
42
+ const fontFamily = typeof font === 'string' && Object.hasOwn(THEME_FONTS, font)
43
+ ? font
44
+ : undefined;
41
45
  if (theme?.custom && primary) {
42
- const font = theme.custom.fontFamily;
43
- const fontFamily = typeof font === 'string' && Object.hasOwn(THEME_FONTS, font)
44
- ? font
45
- : undefined;
46
46
  return {
47
47
  preset: brandThemeId(primary, fontFamily),
48
48
  colorScheme,
49
49
  brand: { primary, ...(fontFamily ? { fontFamily } : {}) },
50
50
  };
51
51
  }
52
- return { preset: theme?.preset || DEFAULT_THEME_PRESET, colorScheme };
52
+ return {
53
+ preset: theme?.preset || DEFAULT_THEME_PRESET,
54
+ colorScheme,
55
+ ...(fontFamily ? { fontFamily } : {}),
56
+ };
53
57
  }
@@ -96,6 +96,8 @@ export interface ResolvedCookbookTheme {
96
96
  /** Preset id: a built-in smrt-ui preset, or the brand theme's id. */
97
97
  preset: string;
98
98
  colorScheme: 'light' | 'dark' | 'system';
99
+ /** Known font key applied without changing a built-in preset's palette. */
100
+ fontFamily?: string;
99
101
  /** Present when the cookbook names a brand colour (it wins over `preset`). */
100
102
  brand?: {
101
103
  primary: string;
@@ -142,7 +144,7 @@ export interface BuildCookbookShellOptions {
142
144
  /** Everything `AppShell` and the section pages need, derived from a cookbook. */
143
145
  export interface CookbookShell {
144
146
  title: string;
145
- navMode: 'sections';
147
+ navMode: 'sections-with-items';
146
148
  /** Sections as the shell takes them (layout is applied by the shell). */
147
149
  navGroups: ShellNavGroup[];
148
150
  /** The cookbook's layout, or `null` when it has none. */
@@ -183,6 +185,8 @@ export interface CookbookSectionPageProps {
183
185
  export interface CookbookAppProps extends Omit<ComponentProps<typeof AppShell>, 'navGroups' | 'nav' | 'navMode' | 'layout' | 'onlayoutchange' | 'preset' | 'colorScheme' | 'sectionHref' | 'title' | 'children'>, Pick<BuildCookbookShellOptions, 'recipeOrder' | 'entryPath' | 'sectionPath' | 'href' | 'title'> {
184
186
  cookbook: Cookbook;
185
187
  catalog: CookbookCatalog;
188
+ /** Expanded section entries are the default; use `sections` for headings only. */
189
+ navMode?: 'sections' | 'sections-with-items';
186
190
  /**
187
191
  * Data loaders for the `metric`, `records` and `chart` widgets. With
188
192
  * `metric` and `records`, section pages also show a record count and the
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/cookbook/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/cookbook/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACV,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,gBAAgB,EAChB,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAClC,GACC,OAAO,CACL,IAAI,CACF,gBAAgB,EAChB,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAC9D,CACF,CAAC;AAEJ,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6FAA6F;IAC7F,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IACnC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACtC;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;IACzB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,qEAAqE;IACrE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mDAAmD;IACnD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,iDAAiD;AACjD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,iEAAiE;IACjE,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wFAAwF;AACxF,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACzC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,QAAQ,CAAC;IACnB,qEAAqE;IACrE,OAAO,EAAE,eAAe,CAAC;IACzB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,KAAK,MAAM,CAAC;IACb,2DAA2D;IAC3D,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,uEAAuE;IACvE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,qBAAqB,CAAC;IAC/B,yEAAyE;IACzE,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,yDAAyD;IACzD,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,qCAAqC;IACrC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5C,KAAK,EAAE,qBAAqB,CAAC;IAC7B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAChD,gFAAgF;IAChF,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,6DAA6D;IAC7D,OAAO,EAAE,KAAK,CACZ,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG;QAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAA;KAAE,CACnE,CAAC;IACF,0EAA0E;IAC1E,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,2EAA2E;IAC3E,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,sCAAsC;AACtC,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC;CACrC;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBACf,SAAQ,IAAI,CACR,cAAc,CAAC,OAAO,QAAQ,CAAC,EAC7B,WAAW,GACX,KAAK,GACL,SAAS,GACT,QAAQ,GACR,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,aAAa,GACb,OAAO,GACP,UAAU,CACb,EACD,IAAI,CACF,yBAAyB,EACzB,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,MAAM,GAAG,OAAO,CAC/D;IACH,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,kFAAkF;IAClF,OAAO,CAAC,EAAE,UAAU,GAAG,qBAAqB,CAAC;IAC7C;;;;OAIG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC/C,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C;;;;OAIG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,QAAQ,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC;CACpC"}