@ds-mo/ui 11.0.0 → 12.0.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/README.md +1 -1
- package/dist/.build-stamp +1 -1
- package/dist/agent-patterns.json +150 -9
- package/dist/agent.json +940 -220
- package/dist/angular/ds-bar-title.d.ts +28 -0
- package/dist/angular/ds-bar-title.js +48 -0
- package/dist/angular/ds-button-filled.d.ts +1 -1
- package/dist/angular/ds-button-filled.js +3 -3
- package/dist/angular/ds-chart-donut.d.ts +1 -1
- package/dist/angular/ds-chart-donut.js +3 -3
- package/dist/angular/ds-panel-nav.d.ts +1 -1
- package/dist/angular/{ds-app-shell.d.ts → ds-shell-app.d.ts} +5 -5
- package/dist/angular/{ds-app-shell.js → ds-shell-app.js} +10 -10
- package/dist/angular/ds-shell-page.d.ts +12 -0
- package/dist/angular/ds-shell-page.js +38 -0
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +3 -1
- package/dist/angular/proxies.d.ts +3 -1
- package/dist/angular/proxies.js +3 -1
- package/dist/components/ds-agent-activity.js +1 -1
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-agent-response.js.map +1 -1
- package/dist/components/ds-agent-source-list.js +1 -1
- package/dist/components/ds-agent-tool-call.js +1 -1
- package/dist/components/ds-attachment-list.js +1 -1
- package/dist/components/ds-avatar.js +1 -1
- package/dist/components/ds-avatar.js.map +1 -1
- package/dist/components/ds-badge.js +1 -1
- package/dist/components/ds-bar-nav.js +1 -1
- package/dist/components/ds-bar-nav.js.map +1 -1
- package/dist/components/{ds-app-shell.d.ts → ds-bar-title.d.ts} +4 -4
- package/dist/components/ds-bar-title.js +2 -0
- package/dist/components/ds-bar-title.js.map +1 -0
- package/dist/components/ds-button-filled.js +1 -1
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/ds-card-data-viz-donut.js +1 -1
- package/dist/components/ds-card-data-viz-donut.js.map +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-card-shell-data-viz.js +1 -1
- package/dist/components/ds-chart-bar.js +1 -1
- package/dist/components/ds-chart-donut.js +1 -1
- package/dist/components/ds-chart-donut.js.map +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart-line.js +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list-item.js +1 -1
- package/dist/components/ds-conversation-list-item.js.map +1 -1
- package/dist/components/ds-conversation-list-section.js +1 -1
- package/dist/components/ds-conversation-list.js +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-composer.js.map +1 -1
- package/dist/components/ds-message-scroller.js +1 -1
- package/dist/components/ds-message-scroller.js.map +1 -1
- package/dist/components/ds-message.js +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-modal.js.map +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-nav.js.map +1 -1
- package/dist/components/ds-panel-sub-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js.map +1 -1
- package/dist/components/ds-panel-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tool-search.js.map +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-panel-tools.js.map +1 -1
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-select-multi.js +1 -1
- package/dist/components/ds-select-multi.js.map +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-select.js.map +1 -1
- package/dist/components/ds-shell-app.d.ts +11 -0
- package/dist/components/ds-shell-app.js +2 -0
- package/dist/components/ds-shell-app.js.map +1 -0
- package/dist/components/ds-shell-gradient-picker.js +1 -1
- package/dist/components/ds-shell-gradient-swatch.js +1 -1
- package/dist/components/ds-shell-page.d.ts +11 -0
- package/dist/components/ds-shell-page.js +2 -0
- package/dist/components/ds-shell-page.js.map +1 -0
- package/dist/components/ds-skeleton.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-slider.js.map +1 -1
- package/dist/components/ds-swatch-picker.js +1 -1
- package/dist/components/ds-switch.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-text.js +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-toast.js.map +1 -1
- package/dist/components/ds-tooltip-data-viz.js +1 -1
- package/dist/components/ds-tooltip-data-viz.js.map +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/{p-DJ78wdNv.js → p-6vj4kh70.js} +2 -2
- package/dist/components/p-B3YvoGjS.js +2 -0
- package/dist/components/p-B3YvoGjS.js.map +1 -0
- package/dist/components/{p-BEWtqFX7.js → p-BH3es4p7.js} +2 -2
- package/dist/components/p-BUmDHPr3.js +2 -0
- package/dist/components/p-BUmDHPr3.js.map +1 -0
- package/dist/components/p-BYHKdFzV.js +2 -0
- package/dist/components/p-BYHKdFzV.js.map +1 -0
- package/dist/components/p-BZZwQfmN.js +2 -0
- package/dist/components/{p-CbckeueL.js.map → p-BZZwQfmN.js.map} +1 -1
- package/dist/components/{p-Dh4q5TSS.js → p-BhKhX1er.js} +2 -2
- package/dist/components/{p-CZZYGqKz.js → p-Bs6SS34m.js} +2 -2
- package/dist/components/p-CUik7PCi.js +2 -0
- package/dist/components/p-CUik7PCi.js.map +1 -0
- package/dist/components/{p-M5pt9I13.js → p-Cf-i-6aE.js} +2 -2
- package/dist/components/{p-C8e2A66f.js → p-Cf2J9MEo.js} +2 -2
- package/dist/components/{p-bDx_rlLm.js → p-CwTVEAl2.js} +2 -2
- package/dist/components/p-Cy04lXlc.js +2 -0
- package/dist/components/p-Cy04lXlc.js.map +1 -0
- package/dist/components/{p-BKhG2xrW.js → p-D2x17ei-.js} +1 -1
- package/dist/components/{p-BKhG2xrW.js.map → p-D2x17ei-.js.map} +1 -1
- package/dist/components/{p-CjP8sYlo.js → p-DABj3qTX.js} +2 -2
- package/dist/components/{p-DTqCBjUj.js → p-DUHcJWTQ.js} +2 -2
- package/dist/components/{p-CPPAndX2.js → p-DVk0wxxX.js} +2 -2
- package/dist/components/p-DfIch2Dk.js +2 -0
- package/dist/components/{p-BMwnjAIq.js.map → p-DfIch2Dk.js.map} +1 -1
- package/dist/components/p-Dg3xLna0.js +2 -0
- package/dist/components/{p-C_0Q8Cnp.js.map → p-Dg3xLna0.js.map} +1 -1
- package/dist/components/{p-DrDHC7V6.js → p-DxeHimqk.js} +2 -2
- package/dist/components/{p-DrDHC7V6.js.map → p-DxeHimqk.js.map} +1 -1
- package/dist/components/{p-CLn7QnE0.js → p-Dy_sZ-dI.js} +2 -2
- package/dist/components/{p-0kEg-Z4f.js → p-liMPkhUP.js} +2 -2
- package/dist/components/p-xFbUt9Tc.js +2 -0
- package/dist/components/p-xFbUt9Tc.js.map +1 -0
- package/dist/docs/components.json +1139 -255
- package/dist/lib/shell/chrome-transition.d.ts +1 -1
- package/dist/lib/shell/index.js +1 -1
- package/dist/lib/shell/index.js.map +1 -1
- package/dist/lib/shell/shell-gradient.d.ts +2 -2
- package/dist/mcp/cli.js +8 -12
- package/dist/mcp-data/registry/avatar.json +1 -1
- package/dist/mcp-data/registry/badge.json +4 -4
- package/dist/mcp-data/registry/bar-nav.json +8 -8
- package/dist/mcp-data/registry/bar-title.json +431 -0
- package/dist/mcp-data/registry/button-filled.json +38 -2
- package/dist/mcp-data/registry/card-data-viz-donut.json +73 -4
- package/dist/mcp-data/registry/chart-bar.json +67 -3
- package/dist/mcp-data/registry/chart-donut.json +94 -8
- package/dist/mcp-data/registry/chart-legend.json +73 -3
- package/dist/mcp-data/registry/chart-line.json +67 -3
- package/dist/mcp-data/registry/code-block.json +4 -3
- package/dist/mcp-data/registry/menu.json +1 -1
- package/dist/mcp-data/registry/message-composer.json +7 -5
- package/dist/mcp-data/registry/message-scroller.json +4 -3
- package/dist/mcp-data/registry/modal.json +5 -4
- package/dist/mcp-data/registry/panel-nav.json +8 -8
- package/dist/mcp-data/registry/panel-sub-nav.json +1 -1
- package/dist/mcp-data/registry/panel-tool-header.json +4 -3
- package/dist/mcp-data/registry/panel-tool-search.json +6 -5
- package/dist/mcp-data/registry/panel-tools.json +13 -13
- package/dist/mcp-data/registry/registry.json +921 -195
- package/dist/mcp-data/registry/select-multi.json +2 -1
- package/dist/mcp-data/registry/select.json +2 -1
- package/dist/mcp-data/registry/shell-app.json +213 -0
- package/dist/mcp-data/registry/shell-gradient-picker.json +8 -8
- package/dist/mcp-data/registry/shell-gradient-swatch.json +2 -2
- package/dist/mcp-data/registry/shell-page.json +199 -0
- package/dist/mcp-data/registry/swatch-picker.json +1 -1
- package/dist/mcp-data/registry/tooltip-data-viz.json +68 -4
- package/dist/react/components.d.ts +3 -1
- package/dist/react/components.js +3 -1
- package/dist/react/ds-bar-title.d.ts +14 -0
- package/dist/react/ds-bar-title.js +16 -0
- package/dist/react/{ds-app-shell.d.ts → ds-shell-app.d.ts} +3 -3
- package/dist/react/ds-shell-app.js +12 -0
- package/dist/react/ds-shell-page.d.ts +9 -0
- package/dist/react/ds-shell-page.js +12 -0
- package/dist/types/components/Badge/Badge.d.ts +1 -1
- package/dist/types/components/BarTitle/BarTitle.d.ts +71 -0
- package/dist/types/components/BarTitle/bar-title-types.d.ts +29 -0
- package/dist/types/components/BarTitle/index.d.ts +2 -0
- package/dist/types/components/ButtonFilled/ButtonFilled.d.ts +9 -0
- package/dist/types/components/ButtonFilled/index.d.ts +1 -1
- package/dist/types/components/CardDataVizDonut/CardDataVizDonut.d.ts +1 -0
- package/dist/types/components/ChartDonut/ChartDonut.d.ts +12 -2
- package/dist/types/components/Menu/Menu.d.ts +5 -0
- package/dist/types/components/PanelNav/PanelNav.d.ts +1 -1
- package/dist/types/components/{AppShell/AppShell.d.ts → ShellApp/ShellApp.d.ts} +3 -3
- package/dist/types/components/ShellPage/ShellPage.d.ts +37 -0
- package/dist/types/components/ShellPage/index.d.ts +3 -0
- package/dist/types/components/ShellPage/shell-page-responsive.d.ts +12 -0
- package/dist/types/components/ShellPage/shell-page-types.d.ts +5 -0
- package/dist/types/components/TooltipDataViz/TooltipDataViz.d.ts +3 -2
- package/dist/types/components.d.ts +314 -67
- package/dist/types/shell/chrome-transition.d.ts +1 -1
- package/dist/types/shell/shell-gradient.d.ts +2 -2
- package/dist/types/shell/shell-shortcuts.d.ts +1 -1
- package/package.json +1 -1
- package/dist/components/ds-app-shell.js +0 -2
- package/dist/components/ds-app-shell.js.map +0 -1
- package/dist/components/p-BHtg1fh3.js +0 -2
- package/dist/components/p-BHtg1fh3.js.map +0 -1
- package/dist/components/p-BMwnjAIq.js +0 -2
- package/dist/components/p-C3nDIMX5.js +0 -2
- package/dist/components/p-C3nDIMX5.js.map +0 -1
- package/dist/components/p-CKaJx0IX.js +0 -2
- package/dist/components/p-CKaJx0IX.js.map +0 -1
- package/dist/components/p-CTFBf97-.js +0 -2
- package/dist/components/p-CTFBf97-.js.map +0 -1
- package/dist/components/p-C_0Q8Cnp.js +0 -2
- package/dist/components/p-CbckeueL.js +0 -2
- package/dist/components/p-DirD-b2y.js +0 -2
- package/dist/components/p-DirD-b2y.js.map +0 -1
- package/dist/components/p-Hw-HMjCk.js +0 -2
- package/dist/components/p-Hw-HMjCk.js.map +0 -1
- package/dist/mcp-data/registry/app-shell.json +0 -210
- package/dist/react/ds-app-shell.js +0 -12
- /package/dist/components/{p-DJ78wdNv.js.map → p-6vj4kh70.js.map} +0 -0
- /package/dist/components/{p-BEWtqFX7.js.map → p-BH3es4p7.js.map} +0 -0
- /package/dist/components/{p-Dh4q5TSS.js.map → p-BhKhX1er.js.map} +0 -0
- /package/dist/components/{p-CZZYGqKz.js.map → p-Bs6SS34m.js.map} +0 -0
- /package/dist/components/{p-M5pt9I13.js.map → p-Cf-i-6aE.js.map} +0 -0
- /package/dist/components/{p-C8e2A66f.js.map → p-Cf2J9MEo.js.map} +0 -0
- /package/dist/components/{p-bDx_rlLm.js.map → p-CwTVEAl2.js.map} +0 -0
- /package/dist/components/{p-CjP8sYlo.js.map → p-DABj3qTX.js.map} +0 -0
- /package/dist/components/{p-DTqCBjUj.js.map → p-DUHcJWTQ.js.map} +0 -0
- /package/dist/components/{p-CPPAndX2.js.map → p-DVk0wxxX.js.map} +0 -0
- /package/dist/components/{p-CLn7QnE0.js.map → p-Dy_sZ-dI.js.map} +0 -0
- /package/dist/components/{p-0kEg-Z4f.js.map → p-liMPkhUP.js.map} +0 -0
|
@@ -2,15 +2,79 @@
|
|
|
2
2
|
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
3
|
"name": "tooltip-data-viz",
|
|
4
4
|
"title": "TooltipDataViz",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Chart-owned, non-interactive label and value callout positioned from pointer or focused-mark coordinates inside a visualization wrapper.",
|
|
6
6
|
"type": "registry:ui",
|
|
7
7
|
"meta": {
|
|
8
8
|
"library": "@ds-mo/ui",
|
|
9
9
|
"distribution": "npm",
|
|
10
10
|
"storybook": "https://zainadeel.github.io/compomo/?path=/story/tooltip-data-viz",
|
|
11
11
|
"source": "src/wc/components/TooltipDataViz/TooltipDataViz.tsx",
|
|
12
|
-
"intentStatus": "
|
|
13
|
-
"intent":
|
|
12
|
+
"intentStatus": "complete",
|
|
13
|
+
"intent": {
|
|
14
|
+
"audience": "specialized",
|
|
15
|
+
"status": "experimental",
|
|
16
|
+
"summary": "Chart-owned, non-interactive label and value callout positioned from pointer or focused-mark coordinates inside a visualization wrapper.",
|
|
17
|
+
"useWhen": [
|
|
18
|
+
"A chart needs immediate visual value feedback for a genuinely hovered or keyboard-focused mark.",
|
|
19
|
+
"The anchor lives inside SVG or chart coordinates rather than on a slotted HTML trigger.",
|
|
20
|
+
"The owning chart can mount the callout for one interaction session and update its coordinates while tracking."
|
|
21
|
+
],
|
|
22
|
+
"avoidWhen": [
|
|
23
|
+
"A normal control or text trigger needs supplemental explanation; use Tooltip.",
|
|
24
|
+
"The content needs links, actions, focus, or touch-primary disclosure.",
|
|
25
|
+
"An externally synchronized highlight has no genuine local pointer or keyboard interaction.",
|
|
26
|
+
"The callout would be the only accessible source of an essential value."
|
|
27
|
+
],
|
|
28
|
+
"alternatives": [
|
|
29
|
+
{
|
|
30
|
+
"when": "A slotted control or text trigger needs a conventional tooltip.",
|
|
31
|
+
"component": "component:ds-tooltip",
|
|
32
|
+
"reason": "Tooltip owns trigger semantics, focus behavior, and anchored overlay lifecycle."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"when": "Donut details should remain continuously visible beside the chart.",
|
|
36
|
+
"component": "component:ds-chart-legend",
|
|
37
|
+
"reason": "A visible legend avoids redundant transient slice callouts."
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"commonlyComposedWith": [
|
|
41
|
+
"component:ds-chart-bar",
|
|
42
|
+
"component:ds-chart-line",
|
|
43
|
+
"component:ds-chart-donut"
|
|
44
|
+
],
|
|
45
|
+
"accessibility": [
|
|
46
|
+
"The callout is presentation-only and never replaces the owning chart mark's accessible label or an adjacent data summary.",
|
|
47
|
+
"Keyboard-focused marks receive the same visual feedback as pointer-hovered marks.",
|
|
48
|
+
"The callout never receives focus or contains interactive descendants."
|
|
49
|
+
],
|
|
50
|
+
"states": [
|
|
51
|
+
"The owning chart mounts the callout when a local interaction starts and unmounts it when that interaction ends.",
|
|
52
|
+
"Coordinate updates track within one mounted interaction session without restarting the show delay.",
|
|
53
|
+
"Placement flips horizontally or vertically when the rendered callout approaches a viewport edge.",
|
|
54
|
+
"Reduced motion preserves the final visible state without an opacity transition."
|
|
55
|
+
],
|
|
56
|
+
"responsiveBehavior": [
|
|
57
|
+
"Render inside a positioned chart wrapper and pass coordinates relative to that wrapper.",
|
|
58
|
+
"Keep labels concise enough for the single-line callout; persistent or long explanations belong outside the chart."
|
|
59
|
+
],
|
|
60
|
+
"frameworkCaveats": {
|
|
61
|
+
"customElements": [
|
|
62
|
+
"The owning chart computes coordinates and conditionally mounts the component; applications should not use it as a standalone overlay."
|
|
63
|
+
],
|
|
64
|
+
"react": [
|
|
65
|
+
"Keep callout lifecycle and coordinates inside the chart wrapper rather than application-global tooltip state."
|
|
66
|
+
],
|
|
67
|
+
"angular": [
|
|
68
|
+
"Keep callout lifecycle and coordinates inside the chart wrapper rather than application-global tooltip state."
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
"references": [
|
|
72
|
+
{
|
|
73
|
+
"label": "Storybook example",
|
|
74
|
+
"path": "src/wc/components/TooltipDataViz/TooltipDataViz.stories.ts"
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
},
|
|
14
78
|
"api": {
|
|
15
79
|
"props": {
|
|
16
80
|
"delay": {
|
|
@@ -151,7 +215,7 @@
|
|
|
151
215
|
},
|
|
152
216
|
{
|
|
153
217
|
"path": "src/wc/components/TooltipDataViz/TooltipDataViz.tsx",
|
|
154
|
-
"content": "import { Component, Prop, State, Element, Watch, h, Host } from '@stencil/core';\nimport { resolveCssTimeMs, TOKEN_DEFAULTS } from '../../utils';\n\nconst CURSOR_OFFSET_PX = 12;\nconst VIEWPORT_PAD_PX = 8;\n\nexport type TooltipDataVizSide = 'left' | 'right';\nexport type TooltipDataVizAlign = 'top' | 'bottom';\n\n/**\n * Positioned value/label callout for chart hover interactions (bar, line point, …)
|
|
218
|
+
"content": "import { Component, Prop, State, Element, Watch, h, Host } from '@stencil/core';\nimport { resolveCssTimeMs, TOKEN_DEFAULTS } from '../../utils';\n\nconst CURSOR_OFFSET_PX = 12;\nconst VIEWPORT_PAD_PX = 8;\n\nexport type TooltipDataVizSide = 'left' | 'right';\nexport type TooltipDataVizAlign = 'top' | 'bottom';\n\n/**\n * Positioned value/label callout for chart hover interactions (bar, line point,\n * standalone donut slice, …). Donut compositions suppress it when a visible\n * legend already surfaces the hovered slice.\n * Unlike `ds-tooltip`, this doesn't bind to a slotted anchor element —\n * charts hover-highlight data that lives inside an SVG, so the chart itself computes\n * the anchor point (e.g. the cursor position while hovering) and passes it in as `x`/`y`.\n *\n * Renders `position: absolute` — place inside a `position: relative` chart wrapper,\n * with `x`/`y` as pixel coordinates within that wrapper. Defaults to sitting below-right\n * of the anchor (matching cursor-following tooltips), flipping to whichever side/edge\n * keeps it on-screen.\n *\n * Mount (or remount) when a hover session starts so `delay` applies once per hover;\n * keep the instance mounted while the cursor moves so tracking stays instant.\n */\n@Component({\n tag: 'ds-tooltip-data-viz',\n styleUrl: 'TooltipDataViz.css',\n scoped: true,\n})\nexport class TooltipDataViz {\n @Element() el!: HTMLElement;\n\n @Prop() value: string | number = '';\n @Prop() label: string = '';\n /** Anchor point in px, relative to the nearest `position: relative` ancestor — e.g. the cursor. */\n @Prop() x: number = 0;\n @Prop() y: number = 0;\n\n /**\n * Show delay after mount before the callout appears.\n * Default: `--effect-animation-delay-instant` (0ms). Accepts a number (ms)\n * or a TokoMo time token / `var(--effect-animation-delay-*)`. Charts need\n * immediate feedback while scrubbing; prefer the default. Mount once per\n * hover session so any non-zero delay runs once, then track `x`/`y` instantly.\n */\n @Prop() delay: number | string = TOKEN_DEFAULTS.animationDelayInstant;\n\n @State() private side: TooltipDataVizSide = 'right';\n @State() private align: TooltipDataVizAlign = 'bottom';\n @State() private visible: boolean = false;\n\n private delayTimer: ReturnType<typeof setTimeout> | null = null;\n\n componentDidLoad() {\n this.scheduleShow();\n this.calculatePlacement();\n }\n\n disconnectedCallback() {\n this.clearDelayTimer();\n }\n\n @Watch('x')\n @Watch('y')\n onAnchorChange() {\n requestAnimationFrame(() => this.calculatePlacement());\n }\n\n @Watch('delay')\n onDelayChange() {\n if (!this.visible) this.scheduleShow();\n }\n\n private get showDelayMs(): number {\n return resolveCssTimeMs(this.delay, TOKEN_DEFAULTS.animationDelayInstant);\n }\n\n private clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n\n private scheduleShow() {\n this.clearDelayTimer();\n this.visible = false;\n const ms = this.showDelayMs;\n if (ms <= 0) {\n this.visible = true;\n return;\n }\n this.delayTimer = setTimeout(() => {\n this.delayTimer = null;\n this.visible = true;\n requestAnimationFrame(() => this.calculatePlacement());\n }, ms);\n }\n\n private calculatePlacement() {\n const rect = this.el.getBoundingClientRect();\n if (!rect.width || !rect.height) return;\n\n const nextSide: TooltipDataVizSide = rect.right > window.innerWidth - VIEWPORT_PAD_PX ? 'left' : 'right';\n const nextAlign: TooltipDataVizAlign = rect.bottom > window.innerHeight - VIEWPORT_PAD_PX ? 'top' : 'bottom';\n\n if (nextSide !== this.side) this.side = nextSide;\n if (nextAlign !== this.align) this.align = nextAlign;\n }\n\n render() {\n const translateX = this.side === 'right' ? `${CURSOR_OFFSET_PX}px` : `calc(-100% - ${CURSOR_OFFSET_PX}px)`;\n const translateY = this.align === 'bottom' ? `${CURSOR_OFFSET_PX}px` : `calc(-100% - ${CURSOR_OFFSET_PX}px)`;\n\n return (\n <Host\n class={{\n 'tooltip-data-viz': true,\n 'tooltip-data-viz--visible': this.visible,\n }}\n style={{ left: `${this.x}px`, top: `${this.y}px`, transform: `translate(${translateX}, ${translateY})` }}\n >\n <div class=\"tooltip-data-viz__item ds-control--md\">\n <ds-text\n class=\"tooltip-data-viz__label\"\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"var(--color-translucent-foreground-secondary)\"\n >\n {this.label}\n </ds-text>\n <ds-text\n class=\"tooltip-data-viz__value\"\n as=\"span\"\n variant=\"text-body-medium\"\n emphasis\n color=\"var(--color-translucent-foreground-primary)\"\n >\n {this.value}\n </ds-text>\n </div>\n </Host>\n );\n }\n}\n",
|
|
155
219
|
"type": "registry:ui"
|
|
156
220
|
}
|
|
157
221
|
]
|
|
@@ -6,11 +6,11 @@ export { DsAgentActivity } from "./ds-agent-activity.js";
|
|
|
6
6
|
export { DsAgentResponse } from "./ds-agent-response.js";
|
|
7
7
|
export { DsAgentSourceList } from "./ds-agent-source-list.js";
|
|
8
8
|
export { DsAgentToolCall } from "./ds-agent-tool-call.js";
|
|
9
|
-
export { DsAppShell } from "./ds-app-shell.js";
|
|
10
9
|
export { DsAttachmentList } from "./ds-attachment-list.js";
|
|
11
10
|
export { DsAvatar } from "./ds-avatar.js";
|
|
12
11
|
export { DsBadge } from "./ds-badge.js";
|
|
13
12
|
export { DsBarNav } from "./ds-bar-nav.js";
|
|
13
|
+
export { DsBarTitle } from "./ds-bar-title.js";
|
|
14
14
|
export { DsButtonFilled } from "./ds-button-filled.js";
|
|
15
15
|
export { DsButtonUnfilled } from "./ds-button-unfilled.js";
|
|
16
16
|
export { DsCardDataVizDonut } from "./ds-card-data-viz-donut.js";
|
|
@@ -47,8 +47,10 @@ export { DsPanelTools } from "./ds-panel-tools.js";
|
|
|
47
47
|
export { DsRadio } from "./ds-radio.js";
|
|
48
48
|
export { DsSelectMulti } from "./ds-select-multi.js";
|
|
49
49
|
export { DsSelect } from "./ds-select.js";
|
|
50
|
+
export { DsShellApp } from "./ds-shell-app.js";
|
|
50
51
|
export { DsShellGradientPicker } from "./ds-shell-gradient-picker.js";
|
|
51
52
|
export { DsShellGradientSwatch } from "./ds-shell-gradient-swatch.js";
|
|
53
|
+
export { DsShellPage } from "./ds-shell-page.js";
|
|
52
54
|
export { DsSkeleton } from "./ds-skeleton.js";
|
|
53
55
|
export { DsSlider } from "./ds-slider.js";
|
|
54
56
|
export { DsSwatchPicker } from "./ds-swatch-picker.js";
|
package/dist/react/components.js
CHANGED
|
@@ -7,11 +7,11 @@ export { DsAgentActivity } from "./ds-agent-activity.js";
|
|
|
7
7
|
export { DsAgentResponse } from "./ds-agent-response.js";
|
|
8
8
|
export { DsAgentSourceList } from "./ds-agent-source-list.js";
|
|
9
9
|
export { DsAgentToolCall } from "./ds-agent-tool-call.js";
|
|
10
|
-
export { DsAppShell } from "./ds-app-shell.js";
|
|
11
10
|
export { DsAttachmentList } from "./ds-attachment-list.js";
|
|
12
11
|
export { DsAvatar } from "./ds-avatar.js";
|
|
13
12
|
export { DsBadge } from "./ds-badge.js";
|
|
14
13
|
export { DsBarNav } from "./ds-bar-nav.js";
|
|
14
|
+
export { DsBarTitle } from "./ds-bar-title.js";
|
|
15
15
|
export { DsButtonFilled } from "./ds-button-filled.js";
|
|
16
16
|
export { DsButtonUnfilled } from "./ds-button-unfilled.js";
|
|
17
17
|
export { DsCardDataVizDonut } from "./ds-card-data-viz-donut.js";
|
|
@@ -48,8 +48,10 @@ export { DsPanelTools } from "./ds-panel-tools.js";
|
|
|
48
48
|
export { DsRadio } from "./ds-radio.js";
|
|
49
49
|
export { DsSelectMulti } from "./ds-select-multi.js";
|
|
50
50
|
export { DsSelect } from "./ds-select.js";
|
|
51
|
+
export { DsShellApp } from "./ds-shell-app.js";
|
|
51
52
|
export { DsShellGradientPicker } from "./ds-shell-gradient-picker.js";
|
|
52
53
|
export { DsShellGradientSwatch } from "./ds-shell-gradient-swatch.js";
|
|
54
|
+
export { DsShellPage } from "./ds-shell-page.js";
|
|
53
55
|
export { DsSkeleton } from "./ds-skeleton.js";
|
|
54
56
|
export { DsSlider } from "./ds-slider.js";
|
|
55
57
|
export { DsSwatchPicker } from "./ds-swatch-picker.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was automatically generated by the Stencil React Output Target.
|
|
3
|
+
* Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
|
|
4
|
+
*/
|
|
5
|
+
import type { EventName, StencilReactComponent } from '@stencil/react-output-target/runtime';
|
|
6
|
+
import { type DsBarTitleCustomEvent } from "@ds-mo/ui";
|
|
7
|
+
import type { Components } from "@ds-mo/ui/dist/components";
|
|
8
|
+
import { DsBarTitle as DsBarTitleElement } from "@ds-mo/ui/dist/components/ds-bar-title.js";
|
|
9
|
+
export type DsBarTitleEvents = {
|
|
10
|
+
onDsBack: EventName<DsBarTitleCustomEvent<MouseEvent>>;
|
|
11
|
+
onDsSectionChange: EventName<DsBarTitleCustomEvent<string>>;
|
|
12
|
+
onDsAction: EventName<DsBarTitleCustomEvent<string>>;
|
|
13
|
+
};
|
|
14
|
+
export declare const DsBarTitle: StencilReactComponent<DsBarTitleElement, DsBarTitleEvents, Components.DsBarTitle, 'heading'>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { createComponent } from '@stencil/react-output-target/runtime';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { DsBarTitle as DsBarTitleElement, defineCustomElement as defineDsBarTitle } from "@ds-mo/ui/dist/components/ds-bar-title.js";
|
|
5
|
+
export const DsBarTitle = /*@__PURE__*/ createComponent({
|
|
6
|
+
tagName: 'ds-bar-title',
|
|
7
|
+
elementClass: DsBarTitleElement,
|
|
8
|
+
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
9
|
+
react: React,
|
|
10
|
+
events: {
|
|
11
|
+
onDsBack: 'dsBack',
|
|
12
|
+
onDsSectionChange: 'dsSectionChange',
|
|
13
|
+
onDsAction: 'dsAction'
|
|
14
|
+
},
|
|
15
|
+
defineCustomElement: defineDsBarTitle
|
|
16
|
+
});
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { StencilReactComponent } from '@stencil/react-output-target/runtime';
|
|
6
6
|
import type { Components } from "@ds-mo/ui/dist/components";
|
|
7
|
-
import {
|
|
8
|
-
export type
|
|
9
|
-
export declare const
|
|
7
|
+
import { DsShellApp as DsShellAppElement } from "@ds-mo/ui/dist/components/ds-shell-app.js";
|
|
8
|
+
export type DsShellAppEvents = NonNullable<unknown>;
|
|
9
|
+
export declare const DsShellApp: StencilReactComponent<DsShellAppElement, DsShellAppEvents, Components.DsShellApp>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { createComponent } from '@stencil/react-output-target/runtime';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { DsShellApp as DsShellAppElement, defineCustomElement as defineDsShellApp } from "@ds-mo/ui/dist/components/ds-shell-app.js";
|
|
5
|
+
export const DsShellApp = /*@__PURE__*/ createComponent({
|
|
6
|
+
tagName: 'ds-shell-app',
|
|
7
|
+
elementClass: DsShellAppElement,
|
|
8
|
+
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
9
|
+
react: React,
|
|
10
|
+
events: {},
|
|
11
|
+
defineCustomElement: defineDsShellApp
|
|
12
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was automatically generated by the Stencil React Output Target.
|
|
3
|
+
* Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
|
|
4
|
+
*/
|
|
5
|
+
import type { StencilReactComponent } from '@stencil/react-output-target/runtime';
|
|
6
|
+
import type { Components } from "@ds-mo/ui/dist/components";
|
|
7
|
+
import { DsShellPage as DsShellPageElement } from "@ds-mo/ui/dist/components/ds-shell-page.js";
|
|
8
|
+
export type DsShellPageEvents = NonNullable<unknown>;
|
|
9
|
+
export declare const DsShellPage: StencilReactComponent<DsShellPageElement, DsShellPageEvents, Components.DsShellPage>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { createComponent } from '@stencil/react-output-target/runtime';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { DsShellPage as DsShellPageElement, defineCustomElement as defineDsShellPage } from "@ds-mo/ui/dist/components/ds-shell-page.js";
|
|
5
|
+
export const DsShellPage = /*@__PURE__*/ createComponent({
|
|
6
|
+
tagName: 'ds-shell-page',
|
|
7
|
+
elementClass: DsShellPageElement,
|
|
8
|
+
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
9
|
+
react: React,
|
|
10
|
+
events: {},
|
|
11
|
+
defineCustomElement: defineDsShellPage
|
|
12
|
+
});
|
|
@@ -16,7 +16,7 @@ export declare class Badge {
|
|
|
16
16
|
hasRing: boolean;
|
|
17
17
|
/**
|
|
18
18
|
* Ring samples the shell gradient stack (base fill + wash) instead of a flat
|
|
19
|
-
* `box-shadow`. Auto-enabled under an
|
|
19
|
+
* `box-shadow`. Auto-enabled under an ShellApp with an active gradient preset;
|
|
20
20
|
* set `gradient-background` to opt in/out explicitly.
|
|
21
21
|
*
|
|
22
22
|
* The attribute must NOT start with `on` — Stencil's setAccessor routes any
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import { type BarTitleActionItem, type BarTitlePrimaryAction, type BarTitleSectionItem, type BarTitleVariant } from './bar-title-types';
|
|
3
|
+
export declare class BarTitle {
|
|
4
|
+
/** The page's single visible h1. */
|
|
5
|
+
heading: string;
|
|
6
|
+
/** Optional supporting copy shown in the expanded presentation. */
|
|
7
|
+
description: string;
|
|
8
|
+
/** Show the leading page-level Back action. */
|
|
9
|
+
showBack: boolean;
|
|
10
|
+
/** Accessible name for the leading Back action. */
|
|
11
|
+
backAriaLabel: string;
|
|
12
|
+
/** Visible parent-page label used by the expanded Back breadcrumb. */
|
|
13
|
+
backLabel: string;
|
|
14
|
+
/** Optional page sections exposed through the active-section menu. */
|
|
15
|
+
sections: BarTitleSectionItem[];
|
|
16
|
+
/** Id of the active page section. */
|
|
17
|
+
value: string;
|
|
18
|
+
/** Accessible name for the page-section menu. */
|
|
19
|
+
sectionsAriaLabel: string;
|
|
20
|
+
/** The one highest-emphasis page action. */
|
|
21
|
+
primaryAction: BarTitlePrimaryAction | null;
|
|
22
|
+
/** Secondary page actions shown in the overflow menu. Dividers create groups. */
|
|
23
|
+
actions: BarTitleActionItem[];
|
|
24
|
+
/** Accessible name for the page-actions menu. */
|
|
25
|
+
actionsAriaLabel: string;
|
|
26
|
+
/** Explicit visual/capacity variant. ShellPage owns automatic selection. */
|
|
27
|
+
variant: BarTitleVariant;
|
|
28
|
+
/** Emitted when the leading Back action is activated. */
|
|
29
|
+
dsBack: EventEmitter<MouseEvent>;
|
|
30
|
+
/** Emitted with the newly selected page-section id. */
|
|
31
|
+
dsSectionChange: EventEmitter<string>;
|
|
32
|
+
/** Emitted with the activated primary or overflow action id. */
|
|
33
|
+
dsAction: EventEmitter<string>;
|
|
34
|
+
private sectionMenuOpen;
|
|
35
|
+
private actionMenuOpen;
|
|
36
|
+
private sectionMenuInitialFocusVisible;
|
|
37
|
+
private actionMenuInitialFocusVisible;
|
|
38
|
+
private readonly instanceId;
|
|
39
|
+
private readonly sectionMenuTriggerId;
|
|
40
|
+
private readonly sectionMenuId;
|
|
41
|
+
private readonly actionMenuTriggerId;
|
|
42
|
+
private readonly actionMenuId;
|
|
43
|
+
private sectionTriggerEl;
|
|
44
|
+
private actionTriggerEl;
|
|
45
|
+
handleSectionsChange(): void;
|
|
46
|
+
handleActionsChange(): void;
|
|
47
|
+
private get compact();
|
|
48
|
+
private get primaryCollapsed();
|
|
49
|
+
private get selectableSections();
|
|
50
|
+
private get hasSectionSelector();
|
|
51
|
+
private get effectiveValue();
|
|
52
|
+
private get selectedSectionLabel();
|
|
53
|
+
private get sectionTriggerAriaLabel();
|
|
54
|
+
private groupsFromItems;
|
|
55
|
+
private get sectionMenuSections();
|
|
56
|
+
private get selectableActions();
|
|
57
|
+
private get showActionMenuTrigger();
|
|
58
|
+
private actionMenuItem;
|
|
59
|
+
private get actionMenuSections();
|
|
60
|
+
private toggleSectionMenu;
|
|
61
|
+
private closeSectionMenu;
|
|
62
|
+
private handleSectionSelect;
|
|
63
|
+
private toggleActionMenu;
|
|
64
|
+
private closeActionMenu;
|
|
65
|
+
private handleActionSelect;
|
|
66
|
+
private renderSectionSelector;
|
|
67
|
+
private renderActions;
|
|
68
|
+
private renderBack;
|
|
69
|
+
render(): any;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=BarTitle.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ButtonFilledContrast, ButtonFilledIntent } from '../ButtonFilled/ButtonFilled';
|
|
2
|
+
export interface BarTitleSection {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
isInactive?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface BarTitleDivider {
|
|
8
|
+
type: 'divider';
|
|
9
|
+
}
|
|
10
|
+
export type BarTitleSectionItem = BarTitleSection | BarTitleDivider;
|
|
11
|
+
export interface BarTitleAction {
|
|
12
|
+
id: string;
|
|
13
|
+
label: string;
|
|
14
|
+
isInactive?: boolean;
|
|
15
|
+
isDestructive?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface BarTitlePrimaryAction extends BarTitleAction {
|
|
18
|
+
icon?: string;
|
|
19
|
+
intent?: ButtonFilledIntent;
|
|
20
|
+
contrast?: ButtonFilledContrast;
|
|
21
|
+
isLoading?: boolean;
|
|
22
|
+
type?: 'button' | 'submit' | 'reset';
|
|
23
|
+
collapse?: BarTitlePrimaryActionCollapse;
|
|
24
|
+
}
|
|
25
|
+
export type BarTitleActionItem = BarTitleAction | BarTitleDivider;
|
|
26
|
+
export type BarTitleVariant = 'expanded' | 'compact' | 'constrained';
|
|
27
|
+
export type BarTitlePrimaryActionCollapse = 'auto' | 'never';
|
|
28
|
+
export declare function isBarTitleDivider(item: BarTitleSectionItem | BarTitleActionItem): item is BarTitleDivider;
|
|
29
|
+
//# sourceMappingURL=bar-title-types.d.ts.map
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
import { type ControlWidth } from '../../utils';
|
|
3
|
+
import type { ChoiceBackground } from '../../utils/choice-list';
|
|
3
4
|
export type ButtonFilledIntent = 'neutral' | 'brand' | 'ai' | 'negative' | 'warning' | 'caution' | 'positive' | 'guide' | 'walkthrough';
|
|
4
5
|
export type ButtonFilledContrast = 'bold' | 'strong' | 'medium' | 'faint';
|
|
6
|
+
export type ButtonFilledBackground = ChoiceBackground;
|
|
5
7
|
export type ButtonFilledVariant = 'icon' | 'label' | 'icon-label';
|
|
6
8
|
export type ButtonFilledSize = 'md' | 'sm' | 'xs';
|
|
7
9
|
export type ButtonFilledWidth = ControlWidth;
|
|
@@ -27,6 +29,13 @@ export declare class ButtonFilled {
|
|
|
27
29
|
* bold → faint, strong → medium, medium → strong, faint → bold.
|
|
28
30
|
*/
|
|
29
31
|
contrast: ButtonFilledContrast;
|
|
32
|
+
/** Show a 1px secondary inset border. */
|
|
33
|
+
hasBorder: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Actual parent surface context for the optional inset border color only.
|
|
36
|
+
* Omit on primary and secondary surfaces.
|
|
37
|
+
*/
|
|
38
|
+
background: ButtonFilledBackground | undefined;
|
|
30
39
|
/** Use the half-radius treatment instead of the default control radius. */
|
|
31
40
|
rounded: boolean;
|
|
32
41
|
/** Disables interaction. */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { ButtonFilledContrast, ButtonFilledIntent, ButtonFilledSize, ButtonFilledVariant, ButtonFilledWidth, } from './ButtonFilled';
|
|
1
|
+
export type { ButtonFilledBackground, ButtonFilledContrast, ButtonFilledIntent, ButtonFilledSize, ButtonFilledVariant, ButtonFilledWidth, } from './ButtonFilled';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -19,6 +19,11 @@ export declare class ChartDonut {
|
|
|
19
19
|
cornerRadius: number | string;
|
|
20
20
|
/** Gap between slices, in degrees. */
|
|
21
21
|
gap: number;
|
|
22
|
+
/**
|
|
23
|
+
* Show a chart-owned value callout for genuine pointer or keyboard focus.
|
|
24
|
+
* Disable when a visible legend already owns persistent label and value detail.
|
|
25
|
+
*/
|
|
26
|
+
showTooltip: boolean;
|
|
22
27
|
/** Primary center value; defaults to the sum of `data` values (e.g. "187", "40.9%"). */
|
|
23
28
|
centerValue: string | undefined;
|
|
24
29
|
/** Secondary caption below the center value (e.g. "Total", "Normal"). Rendered uppercase. */
|
|
@@ -27,8 +32,8 @@ export declare class ChartDonut {
|
|
|
27
32
|
* Externally controlled highlight, matched by `label` — e.g. drive this from a sibling
|
|
28
33
|
* `ds-chart-legend`'s `dsItemHover` event to keep chart and legend hover in sync.
|
|
29
34
|
* Falls back to this component's own pointer/focus hover when unset.
|
|
30
|
-
* Slice hover dims peer slices and emits `dsSliceHover` for legend sync
|
|
31
|
-
*
|
|
35
|
+
* Slice hover dims peer slices and emits `dsSliceHover` for legend sync. External
|
|
36
|
+
* highlight never opens the local tooltip.
|
|
32
37
|
*/
|
|
33
38
|
activeLabel: string | null;
|
|
34
39
|
private hoveredLabel;
|
|
@@ -37,6 +42,8 @@ export declare class ChartDonut {
|
|
|
37
42
|
private displayedCaptionText;
|
|
38
43
|
/** Measured fill diameter when `size` is unset. */
|
|
39
44
|
private measuredSize;
|
|
45
|
+
private tooltipX;
|
|
46
|
+
private tooltipY;
|
|
40
47
|
/** Fires with the hovered/focused slice's datum, or `null` on leave/blur. */
|
|
41
48
|
dsSliceHover: EventEmitter<ChartDatum | null>;
|
|
42
49
|
private valueTextEl?;
|
|
@@ -56,6 +63,9 @@ export declare class ChartDonut {
|
|
|
56
63
|
private applyAvailableSize;
|
|
57
64
|
private teardownResizeObserver;
|
|
58
65
|
private handleHover;
|
|
66
|
+
private get tooltipDatum();
|
|
67
|
+
private updateTooltipFromPointer;
|
|
68
|
+
private updateTooltipFromSvgPoint;
|
|
59
69
|
componentDidRender(): void;
|
|
60
70
|
render(): any;
|
|
61
71
|
}
|
|
@@ -48,11 +48,13 @@ export declare class Menu {
|
|
|
48
48
|
private closeTimer;
|
|
49
49
|
private itemEls;
|
|
50
50
|
private positionRetryRaf;
|
|
51
|
+
private livePositionRaf;
|
|
51
52
|
private listenersReady;
|
|
52
53
|
/** Last content actually painted while open; retained unchanged through exit motion. */
|
|
53
54
|
private lastRenderedSections;
|
|
54
55
|
private closingSections;
|
|
55
56
|
componentDidLoad(): void;
|
|
57
|
+
componentDidRender(): void;
|
|
56
58
|
disconnectedCallback(): void;
|
|
57
59
|
onOpenChange(isOpen: boolean): void;
|
|
58
60
|
onAnchorChange(): void;
|
|
@@ -75,6 +77,9 @@ export declare class Menu {
|
|
|
75
77
|
/** Rich preference content is a non-modal dialog, not an ARIA action menu. */
|
|
76
78
|
private get hasCompositeSections();
|
|
77
79
|
private cancelPositionRetry;
|
|
80
|
+
private cancelLivePositionUpdate;
|
|
81
|
+
/** Reposition after the current scroll/layout frame without hiding the open popup. */
|
|
82
|
+
private scheduleLivePositionUpdate;
|
|
78
83
|
/** Retry until anchor + popup exist — do not reveal at 0,0 on a failed first pass. */
|
|
79
84
|
private schedulePositionUpdate;
|
|
80
85
|
/** @returns `true` when anchor and popup were found and `pos` was updated. */
|
|
@@ -47,7 +47,7 @@ export declare class PanelNav {
|
|
|
47
47
|
dsNavSelect: EventEmitter<string>;
|
|
48
48
|
/** Emitted when the collapse toggle is clicked. Detail = new collapsed state. */
|
|
49
49
|
dsNavToggle: EventEmitter<boolean>;
|
|
50
|
-
/** Bubbling lifecycle — `ds-app
|
|
50
|
+
/** Bubbling lifecycle — `ds-shell-app` pauses chrome metrics during width motion. */
|
|
51
51
|
dsChromeTransitionStart: EventEmitter<ChromeTransitionDetail>;
|
|
52
52
|
dsChromeTransitionEnd: EventEmitter<ChromeTransitionDetail>;
|
|
53
53
|
/** Emitted when the footer left button (gear / dashboard) is clicked. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { NavChromeStyle } from '../../shell/nav-chrome';
|
|
2
2
|
import { type ShellGradientPreset } from '../../shell/shell-gradient-presets';
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class ShellApp {
|
|
4
4
|
/** Chrome style propagated to slotted `ds-panel-nav` and `ds-bar-nav`. */
|
|
5
5
|
navStyle: NavChromeStyle;
|
|
6
6
|
/**
|
|
@@ -8,7 +8,7 @@ export declare class AppShell {
|
|
|
8
8
|
* presets use token-based washes that adapt to the active color theme.
|
|
9
9
|
*/
|
|
10
10
|
gradientPreset: ShellGradientPreset;
|
|
11
|
-
/** When `true` (default), registers global shell keyboard shortcuts. `[` toggles panel nav; `]` closes tools; K
|
|
11
|
+
/** When `true` (default), registers global shell keyboard shortcuts. `[` toggles panel nav; `]` closes tools; K, A, S, M, N, and / toggle tool drawers. Modifiers are ignored so browser chords like ⌘N stay native. */
|
|
12
12
|
shortcutsEnabled: boolean;
|
|
13
13
|
el: HTMLElement;
|
|
14
14
|
private toolsFullscreen;
|
|
@@ -47,4 +47,4 @@ export declare class AppShell {
|
|
|
47
47
|
private syncChrome;
|
|
48
48
|
render(): any;
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=ShellApp.d.ts.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ShellPageContentInset, ShellPageHeaderPresentation } from './shell-page-types';
|
|
2
|
+
export declare class ShellPage {
|
|
3
|
+
el: HTMLElement;
|
|
4
|
+
/** Automatic container/scroll behavior, or an explicit header variant override. */
|
|
5
|
+
headerPresentation: ShellPageHeaderPresentation;
|
|
6
|
+
/** Standard page gutters, or no inset for full-bleed page content. */
|
|
7
|
+
contentInset: ShellPageContentInset;
|
|
8
|
+
private capacity;
|
|
9
|
+
private pageTopVisible;
|
|
10
|
+
private sentinelEl;
|
|
11
|
+
private spacerEl;
|
|
12
|
+
private headerEl;
|
|
13
|
+
private expandedHeaderHeight;
|
|
14
|
+
private resizeObserver;
|
|
15
|
+
private headerResizeObserver;
|
|
16
|
+
private scrollRoot;
|
|
17
|
+
private readonly layoutCoalescer;
|
|
18
|
+
componentDidLoad(): void;
|
|
19
|
+
componentDidRender(): void;
|
|
20
|
+
disconnectedCallback(): void;
|
|
21
|
+
private get effectiveVariant();
|
|
22
|
+
private get isScrollCompacted();
|
|
23
|
+
private connectObservers;
|
|
24
|
+
private composedParent;
|
|
25
|
+
private findScrollRoot;
|
|
26
|
+
private connectScrollRoot;
|
|
27
|
+
private handleScroll;
|
|
28
|
+
private findHeader;
|
|
29
|
+
private syncCapacity;
|
|
30
|
+
private get compactHeaderHeight();
|
|
31
|
+
private setSpacerHeight;
|
|
32
|
+
private syncHeaderVariant;
|
|
33
|
+
private observeHeader;
|
|
34
|
+
private handleHeaderSlotChange;
|
|
35
|
+
render(): any;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=ShellPage.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ShellPageCapacity, ShellPageHeaderPresentation } from './shell-page-types';
|
|
2
|
+
import type { BarTitleVariant } from '../BarTitle/bar-title-types';
|
|
3
|
+
export interface ShellPageCapacityOptions {
|
|
4
|
+
inlineSize: number;
|
|
5
|
+
compactAt: number;
|
|
6
|
+
constrainedAt: number;
|
|
7
|
+
hysteresis: number;
|
|
8
|
+
previous: ShellPageCapacity | null;
|
|
9
|
+
}
|
|
10
|
+
export declare function resolveShellPageCapacity({ inlineSize, compactAt, constrainedAt, hysteresis, previous, }: ShellPageCapacityOptions): ShellPageCapacity;
|
|
11
|
+
export declare function resolveShellPageHeaderVariant(presentation: ShellPageHeaderPresentation, capacity: ShellPageCapacity, pageTopVisible: boolean): BarTitleVariant;
|
|
12
|
+
//# sourceMappingURL=shell-page-responsive.d.ts.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BarTitleVariant } from '../BarTitle/bar-title-types';
|
|
2
|
+
export type ShellPageHeaderPresentation = 'auto' | BarTitleVariant;
|
|
3
|
+
export type ShellPageContentInset = 'default' | 'none';
|
|
4
|
+
export type ShellPageCapacity = 'roomy' | 'compact' | 'constrained';
|
|
5
|
+
//# sourceMappingURL=shell-page-types.d.ts.map
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export type TooltipDataVizSide = 'left' | 'right';
|
|
2
2
|
export type TooltipDataVizAlign = 'top' | 'bottom';
|
|
3
3
|
/**
|
|
4
|
-
* Positioned value/label callout for chart hover interactions (bar, line point,
|
|
5
|
-
*
|
|
4
|
+
* Positioned value/label callout for chart hover interactions (bar, line point,
|
|
5
|
+
* standalone donut slice, …). Donut compositions suppress it when a visible
|
|
6
|
+
* legend already surfaces the hovered slice.
|
|
6
7
|
* Unlike `ds-tooltip`, this doesn't bind to a slotted anchor element —
|
|
7
8
|
* charts hover-highlight data that lives inside an SVG, so the chart itself computes
|
|
8
9
|
* the anchor point (e.g. the cursor position while hovering) and passes it in as `x`/`y`.
|