@contraagent/ui 0.1.0 → 0.2.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 +9 -2
- package/custom-elements.json +3300 -3098
- package/dist/adapters/check-rows.d.ts +2 -0
- package/dist/adapters/check-rows.d.ts.map +1 -1
- package/dist/adapters/check-rows.js +2 -0
- package/dist/adapters/check-rows.js.map +1 -1
- package/dist/adapters/panel-body.d.ts +15 -1
- package/dist/adapters/panel-body.d.ts.map +1 -1
- package/dist/adapters/panel-body.js +27 -0
- package/dist/adapters/panel-body.js.map +1 -1
- package/dist/contraagent-ui.js +684 -641
- package/dist/elements/lists/ca-panel-body.d.ts +16 -3
- package/dist/elements/lists/ca-panel-body.d.ts.map +1 -1
- package/dist/elements/lists/ca-panel-body.js +74 -8
- package/dist/elements/lists/ca-panel-body.js.map +1 -1
- package/dist/elements/overview/ca-overview.d.ts +2 -1
- package/dist/elements/overview/ca-overview.d.ts.map +1 -1
- package/dist/elements/overview/ca-overview.js +8 -1
- package/dist/elements/overview/ca-overview.js.map +1 -1
- package/dist/elements/overview/ca-services.d.ts +25 -0
- package/dist/elements/overview/ca-services.d.ts.map +1 -0
- package/dist/elements/overview/ca-services.js +77 -0
- package/dist/elements/overview/ca-services.js.map +1 -0
- package/dist/elements/overview/index.d.ts +1 -0
- package/dist/elements/overview/index.d.ts.map +1 -1
- package/dist/elements/overview/index.js +1 -0
- package/dist/elements/overview/index.js.map +1 -1
- package/dist/elements/shared/contract-parts.d.ts.map +1 -1
- package/dist/elements/shared/contract-parts.js +18 -2
- package/dist/elements/shared/contract-parts.js.map +1 -1
- package/dist/elements/shell/ca-monitor.d.ts +4 -2
- package/dist/elements/shell/ca-monitor.d.ts.map +1 -1
- package/dist/elements/shell/ca-monitor.js +4 -2
- package/dist/elements/shell/ca-monitor.js.map +1 -1
- package/dist/elements/task/header.d.ts.map +1 -1
- package/dist/elements/task/header.js +7 -3
- package/dist/elements/task/header.js.map +1 -1
- package/dist/locales/ja.d.ts +24 -0
- package/dist/locales/ja.d.ts.map +1 -1
- package/dist/locales/ja.js +24 -0
- package/dist/locales/ja.js.map +1 -1
- package/dist/words/changes.d.ts +2 -2
- package/dist/words/changes.d.ts.map +1 -1
- package/dist/words/changes.js +2 -0
- package/dist/words/changes.js.map +1 -1
- package/dist/words/index.d.ts +1 -0
- package/dist/words/index.d.ts.map +1 -1
- package/dist/words/index.js +1 -0
- package/dist/words/index.js.map +1 -1
- package/dist/words/panels.d.ts +6 -0
- package/dist/words/panels.d.ts.map +1 -1
- package/dist/words/panels.js +13 -0
- package/dist/words/panels.js.map +1 -1
- package/dist/words/services.d.ts +16 -0
- package/dist/words/services.d.ts.map +1 -0
- package/dist/words/services.js +45 -0
- package/dist/words/services.js.map +1 -0
- package/docs/embed.md +4 -1
- package/package.json +3 -3
- package/src/adapters/check-rows.ts +3 -0
- package/src/adapters/panel-body.ts +40 -2
- package/src/elements/lists/ca-panel-body.ts +70 -9
- package/src/elements/overview/ca-overview.ts +8 -1
- package/src/elements/overview/ca-services.ts +66 -0
- package/src/elements/overview/index.ts +1 -0
- package/src/elements/shared/contract-parts.ts +18 -2
- package/src/elements/shell/ca-monitor.ts +4 -2
- package/src/elements/task/header.ts +7 -3
- package/src/locales/ja.ts +24 -0
- package/src/words/changes.ts +4 -2
- package/src/words/index.ts +1 -0
- package/src/words/panels.ts +18 -0
- package/src/words/services.ts +57 -0
- package/dist/core/clock.d.ts +0 -20
- package/dist/core/clock.d.ts.map +0 -1
- package/dist/core/clock.js +0 -45
- package/dist/core/clock.js.map +0 -1
- package/dist/core/route.d.ts +0 -62
- package/dist/core/route.d.ts.map +0 -1
- package/dist/core/route.js +0 -143
- package/dist/core/route.js.map +0 -1
- package/dist/core/router.d.ts +0 -27
- package/dist/core/router.d.ts.map +0 -1
- package/dist/core/router.js +0 -57
- package/dist/core/router.js.map +0 -1
- package/dist/elements/lists/filters.d.ts +0 -28
- package/dist/elements/lists/filters.d.ts.map +0 -1
- package/dist/elements/lists/filters.js +0 -71
- package/dist/elements/lists/filters.js.map +0 -1
- package/dist/elements/overview/ca-pipeline-progress.d.ts +0 -17
- package/dist/elements/overview/ca-pipeline-progress.d.ts.map +0 -1
- package/dist/elements/overview/ca-pipeline-progress.js +0 -119
- package/dist/elements/overview/ca-pipeline-progress.js.map +0 -1
- package/dist/elements/overview/ca-plan-matrix.d.ts +0 -27
- package/dist/elements/overview/ca-plan-matrix.d.ts.map +0 -1
- package/dist/elements/overview/ca-plan-matrix.js +0 -113
- package/dist/elements/overview/ca-plan-matrix.js.map +0 -1
- package/dist/elements/overview/flow-types.d.ts +0 -2
- package/dist/elements/overview/flow-types.d.ts.map +0 -1
- package/dist/elements/overview/flow-types.js +0 -2
- package/dist/elements/overview/flow-types.js.map +0 -1
- package/dist/elements/overview/graph/arrange.d.ts +0 -16
- package/dist/elements/overview/graph/arrange.d.ts.map +0 -1
- package/dist/elements/overview/graph/arrange.js +0 -152
- package/dist/elements/overview/graph/arrange.js.map +0 -1
- package/dist/elements/overview/graph/card.d.ts +0 -64
- package/dist/elements/overview/graph/card.d.ts.map +0 -1
- package/dist/elements/overview/graph/card.js +0 -160
- package/dist/elements/overview/graph/card.js.map +0 -1
- package/dist/elements/overview/graph/flow-index.d.ts +0 -52
- package/dist/elements/overview/graph/flow-index.d.ts.map +0 -1
- package/dist/elements/overview/graph/flow-index.js +0 -121
- package/dist/elements/overview/graph/flow-index.js.map +0 -1
- package/dist/elements/overview/graph/highlight.d.ts +0 -14
- package/dist/elements/overview/graph/highlight.d.ts.map +0 -1
- package/dist/elements/overview/graph/highlight.js +0 -33
- package/dist/elements/overview/graph/highlight.js.map +0 -1
- package/dist/elements/overview/graph/layer.d.ts +0 -32
- package/dist/elements/overview/graph/layer.d.ts.map +0 -1
- package/dist/elements/overview/graph/layer.js +0 -92
- package/dist/elements/overview/graph/layer.js.map +0 -1
- package/dist/elements/overview/graph/layout.d.ts +0 -80
- package/dist/elements/overview/graph/layout.d.ts.map +0 -1
- package/dist/elements/overview/graph/layout.js +0 -261
- package/dist/elements/overview/graph/layout.js.map +0 -1
- package/dist/elements/overview/graph/marks.d.ts +0 -18
- package/dist/elements/overview/graph/marks.d.ts.map +0 -1
- package/dist/elements/overview/graph/marks.js +0 -17
- package/dist/elements/overview/graph/marks.js.map +0 -1
- package/dist/elements/overview/graph/matrix.d.ts +0 -58
- package/dist/elements/overview/graph/matrix.d.ts.map +0 -1
- package/dist/elements/overview/graph/matrix.js +0 -93
- package/dist/elements/overview/graph/matrix.js.map +0 -1
- package/dist/elements/overview/graph/nav.d.ts +0 -15
- package/dist/elements/overview/graph/nav.d.ts.map +0 -1
- package/dist/elements/overview/graph/nav.js +0 -80
- package/dist/elements/overview/graph/nav.js.map +0 -1
- package/dist/elements/overview/graph/pan-zoom.d.ts +0 -83
- package/dist/elements/overview/graph/pan-zoom.d.ts.map +0 -1
- package/dist/elements/overview/graph/pan-zoom.js +0 -189
- package/dist/elements/overview/graph/pan-zoom.js.map +0 -1
- package/dist/elements/overview/graph/paths.d.ts +0 -9
- package/dist/elements/overview/graph/paths.d.ts.map +0 -1
- package/dist/elements/overview/graph/paths.js +0 -44
- package/dist/elements/overview/graph/paths.js.map +0 -1
- package/dist/elements/overview/graph/place-card.d.ts +0 -36
- package/dist/elements/overview/graph/place-card.d.ts.map +0 -1
- package/dist/elements/overview/graph/place-card.js +0 -68
- package/dist/elements/overview/graph/place-card.js.map +0 -1
- package/dist/elements/overview/graph/project.d.ts +0 -31
- package/dist/elements/overview/graph/project.d.ts.map +0 -1
- package/dist/elements/overview/graph/project.js +0 -455
- package/dist/elements/overview/graph/project.js.map +0 -1
- package/dist/elements/overview/graph/selection.d.ts +0 -31
- package/dist/elements/overview/graph/selection.d.ts.map +0 -1
- package/dist/elements/overview/graph/selection.js +0 -44
- package/dist/elements/overview/graph/selection.js.map +0 -1
- package/dist/elements/overview/graph/states.d.ts +0 -6
- package/dist/elements/overview/graph/states.d.ts.map +0 -1
- package/dist/elements/overview/graph/states.js +0 -5
- package/dist/elements/overview/graph/states.js.map +0 -1
- package/dist/elements/overview/graph/types.d.ts +0 -124
- package/dist/elements/overview/graph/types.d.ts.map +0 -1
- package/dist/elements/overview/graph/types.js +0 -3
- package/dist/elements/overview/graph/types.js.map +0 -1
- package/dist/elements/overview/graph/view.d.ts +0 -16
- package/dist/elements/overview/graph/view.d.ts.map +0 -1
- package/dist/elements/overview/graph/view.js +0 -20
- package/dist/elements/overview/graph/view.js.map +0 -1
- package/dist/elements/overview/kpis-model.d.ts +0 -31
- package/dist/elements/overview/kpis-model.d.ts.map +0 -1
- package/dist/elements/overview/kpis-model.js +0 -30
- package/dist/elements/overview/kpis-model.js.map +0 -1
- package/dist/elements/overview/logic.d.ts +0 -442
- package/dist/elements/overview/logic.d.ts.map +0 -1
- package/dist/elements/overview/logic.js +0 -1431
- package/dist/elements/overview/logic.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/dag.d.ts +0 -4
- package/dist/elements/overview/pipeline-graph/dag.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/dag.js +0 -259
- package/dist/elements/overview/pipeline-graph/dag.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/icons.d.ts +0 -5
- package/dist/elements/overview/pipeline-graph/icons.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/icons.js +0 -13
- package/dist/elements/overview/pipeline-graph/icons.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/legend.d.ts +0 -9
- package/dist/elements/overview/pipeline-graph/legend.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/legend.js +0 -59
- package/dist/elements/overview/pipeline-graph/legend.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/matrix.d.ts +0 -4
- package/dist/elements/overview/pipeline-graph/matrix.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/matrix.js +0 -193
- package/dist/elements/overview/pipeline-graph/matrix.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/table.d.ts +0 -11
- package/dist/elements/overview/pipeline-graph/table.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/table.js +0 -74
- package/dist/elements/overview/pipeline-graph/table.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/tools.d.ts +0 -5
- package/dist/elements/overview/pipeline-graph/tools.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/tools.js +0 -48
- package/dist/elements/overview/pipeline-graph/tools.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/words.d.ts +0 -45
- package/dist/elements/overview/pipeline-graph/words.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/words.js +0 -108
- package/dist/elements/overview/pipeline-graph/words.js.map +0 -1
- package/dist/elements/overview/place-card.d.ts +0 -36
- package/dist/elements/overview/place-card.d.ts.map +0 -1
- package/dist/elements/overview/place-card.js +0 -68
- package/dist/elements/overview/place-card.js.map +0 -1
- package/dist/elements/overview/timeline-model.d.ts +0 -44
- package/dist/elements/overview/timeline-model.d.ts.map +0 -1
- package/dist/elements/overview/timeline-model.js +0 -53
- package/dist/elements/overview/timeline-model.js.map +0 -1
- package/dist/elements/shared/ca-count.d.ts +0 -17
- package/dist/elements/shared/ca-count.d.ts.map +0 -1
- package/dist/elements/shared/ca-count.js +0 -59
- package/dist/elements/shared/ca-count.js.map +0 -1
- package/dist/elements/shared/ca-elapsed.d.ts +0 -14
- package/dist/elements/shared/ca-elapsed.d.ts.map +0 -1
- package/dist/elements/shared/ca-elapsed.js +0 -33
- package/dist/elements/shared/ca-elapsed.js.map +0 -1
- package/dist/elements/shared/ca-json-tree.d.ts +0 -16
- package/dist/elements/shared/ca-json-tree.d.ts.map +0 -1
- package/dist/elements/shared/ca-json-tree.js +0 -52
- package/dist/elements/shared/ca-json-tree.js.map +0 -1
- package/dist/elements/shared/ca-markdown.d.ts +0 -19
- package/dist/elements/shared/ca-markdown.d.ts.map +0 -1
- package/dist/elements/shared/ca-markdown.js +0 -59
- package/dist/elements/shared/ca-markdown.js.map +0 -1
- package/dist/elements/shared/fact-line.d.ts +0 -4
- package/dist/elements/shared/fact-line.d.ts.map +0 -1
- package/dist/elements/shared/fact-line.js +0 -8
- package/dist/elements/shared/fact-line.js.map +0 -1
- package/dist/elements/task/rounds.d.ts +0 -14
- package/dist/elements/task/rounds.d.ts.map +0 -1
- package/dist/elements/task/rounds.js +0 -59
- package/dist/elements/task/rounds.js.map +0 -1
- package/dist/elements/task/transcript-model.d.ts +0 -106
- package/dist/elements/task/transcript-model.d.ts.map +0 -1
- package/dist/elements/task/transcript-model.js +0 -280
- package/dist/elements/task/transcript-model.js.map +0 -1
- package/dist/elements/task/who.d.ts +0 -5
- package/dist/elements/task/who.d.ts.map +0 -1
- package/dist/elements/task/who.js +0 -30
- package/dist/elements/task/who.js.map +0 -1
- package/dist/events.d.ts +0 -107
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js +0 -5
- package/dist/events.js.map +0 -1
- package/dist/i18n.d.ts +0 -16
- package/dist/i18n.d.ts.map +0 -1
- package/dist/i18n.js +0 -48
- package/dist/i18n.js.map +0 -1
- package/dist/lib/clock.d.ts +0 -20
- package/dist/lib/clock.d.ts.map +0 -1
- package/dist/lib/clock.js +0 -45
- package/dist/lib/clock.js.map +0 -1
- package/dist/lib/format.d.ts +0 -35
- package/dist/lib/format.d.ts.map +0 -1
- package/dist/lib/format.js +0 -117
- package/dist/lib/format.js.map +0 -1
- package/dist/lib/highlight.d.ts +0 -5
- package/dist/lib/highlight.d.ts.map +0 -1
- package/dist/lib/highlight.js +0 -86
- package/dist/lib/highlight.js.map +0 -1
- package/dist/lib/labels.d.ts +0 -103
- package/dist/lib/labels.d.ts.map +0 -1
- package/dist/lib/labels.js +0 -249
- package/dist/lib/labels.js.map +0 -1
- package/dist/lib/markdown.d.ts +0 -13
- package/dist/lib/markdown.d.ts.map +0 -1
- package/dist/lib/markdown.js +0 -118
- package/dist/lib/markdown.js.map +0 -1
- package/dist/lib/memory.d.ts +0 -27
- package/dist/lib/memory.d.ts.map +0 -1
- package/dist/lib/memory.js +0 -117
- package/dist/lib/memory.js.map +0 -1
- package/dist/lib/quota-format.d.ts +0 -28
- package/dist/lib/quota-format.d.ts.map +0 -1
- package/dist/lib/quota-format.js +0 -67
- package/dist/lib/quota-format.js.map +0 -1
- package/dist/lib/scroll.d.ts +0 -16
- package/dist/lib/scroll.d.ts.map +0 -1
- package/dist/lib/scroll.js +0 -70
- package/dist/lib/scroll.js.map +0 -1
- package/dist/lib/status.d.ts +0 -25
- package/dist/lib/status.d.ts.map +0 -1
- package/dist/lib/status.js +0 -40
- package/dist/lib/status.js.map +0 -1
- package/dist/route.d.ts +0 -46
- package/dist/route.d.ts.map +0 -1
- package/dist/route.js +0 -102
- package/dist/route.js.map +0 -1
- package/dist/router.d.ts +0 -23
- package/dist/router.d.ts.map +0 -1
- package/dist/router.js +0 -55
- package/dist/router.js.map +0 -1
- package/dist/styles/base.d.ts +0 -11
- package/dist/styles/base.d.ts.map +0 -1
- package/dist/styles/base.js +0 -241
- package/dist/styles/base.js.map +0 -1
- package/dist/styles/chips.d.ts +0 -2
- package/dist/styles/chips.d.ts.map +0 -1
- package/dist/styles/chips.js +0 -18
- package/dist/styles/chips.js.map +0 -1
- package/dist/styles/executor-icon.d.ts +0 -3
- package/dist/styles/executor-icon.d.ts.map +0 -1
- package/dist/styles/executor-icon.js +0 -9
- package/dist/styles/executor-icon.js.map +0 -1
- package/dist/styles/facts.d.ts +0 -2
- package/dist/styles/facts.d.ts.map +0 -1
- package/dist/styles/facts.js +0 -7
- package/dist/styles/facts.js.map +0 -1
- package/dist/styles/index.d.ts +0 -17
- package/dist/styles/index.d.ts.map +0 -1
- package/dist/styles/index.js +0 -16
- package/dist/styles/index.js.map +0 -1
- package/dist/styles/layout.d.ts +0 -2
- package/dist/styles/layout.d.ts.map +0 -1
- package/dist/styles/layout.js +0 -30
- package/dist/styles/layout.js.map +0 -1
- package/dist/styles/legend.d.ts +0 -2
- package/dist/styles/legend.d.ts.map +0 -1
- package/dist/styles/legend.js +0 -8
- package/dist/styles/legend.js.map +0 -1
- package/dist/styles/meter.d.ts +0 -3
- package/dist/styles/meter.d.ts.map +0 -1
- package/dist/styles/meter.js +0 -9
- package/dist/styles/meter.js.map +0 -1
- package/dist/styles/motion.d.ts +0 -2
- package/dist/styles/motion.d.ts.map +0 -1
- package/dist/styles/motion.js +0 -27
- package/dist/styles/motion.js.map +0 -1
- package/dist/styles/prose.d.ts +0 -3
- package/dist/styles/prose.d.ts.map +0 -1
- package/dist/styles/prose.js +0 -59
- package/dist/styles/prose.js.map +0 -1
- package/dist/styles/reset.d.ts +0 -2
- package/dist/styles/reset.d.ts.map +0 -1
- package/dist/styles/reset.js +0 -13
- package/dist/styles/reset.js.map +0 -1
- package/dist/styles/status.d.ts +0 -2
- package/dist/styles/status.d.ts.map +0 -1
- package/dist/styles/status.js +0 -52
- package/dist/styles/status.js.map +0 -1
- package/dist/styles/text.d.ts +0 -2
- package/dist/styles/text.d.ts.map +0 -1
- package/dist/styles/text.js +0 -21
- package/dist/styles/text.js.map +0 -1
- package/dist/styles/theme-sheet.d.ts +0 -12
- package/dist/styles/theme-sheet.d.ts.map +0 -1
- package/dist/styles/theme-sheet.js +0 -24
- package/dist/styles/theme-sheet.js.map +0 -1
- package/dist/styles/themes.d.ts +0 -75
- package/dist/styles/themes.d.ts.map +0 -1
- package/dist/styles/themes.js +0 -452
- package/dist/styles/themes.js.map +0 -1
- package/dist/styles/tokens.d.ts +0 -8
- package/dist/styles/tokens.d.ts.map +0 -1
- package/dist/styles/tokens.js +0 -32
- package/dist/styles/tokens.js.map +0 -1
- package/dist/themes/boot.d.ts +0 -7
- package/dist/themes/boot.d.ts.map +0 -1
- package/dist/themes/boot.js +0 -14
- package/dist/themes/boot.js.map +0 -1
- package/dist/themes/choice.d.ts +0 -16
- package/dist/themes/choice.d.ts.map +0 -1
- package/dist/themes/choice.js +0 -45
- package/dist/themes/choice.js.map +0 -1
- package/dist/themes/data.d.ts +0 -42
- package/dist/themes/data.d.ts.map +0 -1
- package/dist/themes/data.js +0 -356
- package/dist/themes/data.js.map +0 -1
- package/dist/themes/index.d.ts +0 -5
- package/dist/themes/index.d.ts.map +0 -1
- package/dist/themes/index.js +0 -8
- package/dist/themes/index.js.map +0 -1
- package/dist/themes/sheet.d.ts +0 -12
- package/dist/themes/sheet.d.ts.map +0 -1
- package/dist/themes/sheet.js +0 -24
- package/dist/themes/sheet.js.map +0 -1
- package/dist/themes/tokens-list.d.ts +0 -15
- package/dist/themes/tokens-list.d.ts.map +0 -1
- package/dist/themes/tokens-list.js +0 -62
- package/dist/themes/tokens-list.js.map +0 -1
- package/dist/words/units.d.ts +0 -9
- package/dist/words/units.d.ts.map +0 -1
- package/dist/words/units.js +0 -12
- package/dist/words/units.js.map +0 -1
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import type { ReactiveController, ReactiveControllerHost } from 'lit';
|
|
2
|
-
import { type View } from './view.js';
|
|
3
|
-
/** The frame is at most this share of the window's height, and at least `FRAME_MIN` px. */
|
|
4
|
-
export declare const FRAME_SHARE = 0.7;
|
|
5
|
-
export declare const FRAME_MIN = 360;
|
|
6
|
-
/** How far the view zooms: from half of the whole-drawing view (or of 1) up to this. */
|
|
7
|
-
export declare const ZOOM_MAX = 2.5;
|
|
8
|
-
/** A pointer moved this far is a pan, not a click. */
|
|
9
|
-
export declare const DRAG = 4;
|
|
10
|
-
/** The transform that shows `v`. */
|
|
11
|
-
export declare const transformOf: (v: View) => string;
|
|
12
|
-
/** What there is to fit: the drawing's size, whether it runs top to bottom, and the least frame height (the selection's card). */
|
|
13
|
-
export interface Drawing {
|
|
14
|
-
w: number;
|
|
15
|
-
h: number;
|
|
16
|
-
down: boolean;
|
|
17
|
-
room: number;
|
|
18
|
-
}
|
|
19
|
-
export interface PanZoomOptions {
|
|
20
|
-
/** The frame, and the stage in it that the view moves. */
|
|
21
|
-
frame: () => HTMLElement | null;
|
|
22
|
-
stage: () => HTMLElement | null;
|
|
23
|
-
/** What to fit, or null while there is nothing to fit (a view without the drawing). */
|
|
24
|
-
drawing: () => Drawing | null;
|
|
25
|
-
/** Ctrl (or ⌘) and the wheel zoom: the drawing is shown. */
|
|
26
|
-
wheel: () => boolean;
|
|
27
|
-
/** The drawing runs top to bottom: a touch scrolls the page, a mouse still pans. */
|
|
28
|
-
down: () => boolean;
|
|
29
|
-
/** After the view moved. */
|
|
30
|
-
onMove: () => void;
|
|
31
|
-
/** After the host's size changed. */
|
|
32
|
-
onResize: () => void;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* The zoom and pan of a drawing in its frame, and the frame's height. Until the
|
|
36
|
-
* reader zooms or pans (`moved`), the view shows the whole drawing. The host
|
|
37
|
-
* renders again only when what it draws changes: the frame's height, and whether
|
|
38
|
-
* "Show all" does anything (`moved`, `fitK`).
|
|
39
|
-
*/
|
|
40
|
-
export declare class PanZoomController implements ReactiveController {
|
|
41
|
-
private readonly host;
|
|
42
|
-
private readonly o;
|
|
43
|
-
/** The zoom and pan, written on the stage. */
|
|
44
|
-
view: View;
|
|
45
|
-
/** The frame's height. */
|
|
46
|
-
frameH: number;
|
|
47
|
-
/** The scale that shows the whole drawing. */
|
|
48
|
-
fitK: number;
|
|
49
|
-
/** The reader has zoomed or panned away from the whole drawing. */
|
|
50
|
-
moved: boolean;
|
|
51
|
-
/** A pointer is down on the frame. */
|
|
52
|
-
pressed: boolean;
|
|
53
|
-
/** A pan in progress, and whether it went far enough to swallow the click that ends it. */
|
|
54
|
-
private pan;
|
|
55
|
-
private swallowClick;
|
|
56
|
-
private resize?;
|
|
57
|
-
constructor(host: ReactiveControllerHost & HTMLElement, o: PanZoomOptions);
|
|
58
|
-
hostConnected(): void;
|
|
59
|
-
hostDisconnected(): void;
|
|
60
|
-
hostUpdated(): void;
|
|
61
|
-
/** The stage's style: the view, as the host renders it. */
|
|
62
|
-
get transform(): string;
|
|
63
|
-
/** Back to the whole drawing, on a new layer. */
|
|
64
|
-
reset(): void;
|
|
65
|
-
/** The frame's height and, until the reader zooms or pans, the view of the whole drawing. */
|
|
66
|
-
fit(): void;
|
|
67
|
-
/** Back to the whole drawing. */
|
|
68
|
-
showAll(): void;
|
|
69
|
-
zoomBy(factor: number, cx?: number, cy?: number): void;
|
|
70
|
-
/** Bring `el` into the frame when zoom or pan left it outside. */
|
|
71
|
-
reveal(el: HTMLElement): void;
|
|
72
|
-
readonly onPointerDown: (e: PointerEvent) => void;
|
|
73
|
-
readonly onPointerMove: (e: PointerEvent) => void;
|
|
74
|
-
readonly onPointerUp: (e: PointerEvent) => void;
|
|
75
|
-
private readonly onWheel;
|
|
76
|
-
/** The click that ends a pan opens nothing. */
|
|
77
|
-
private readonly onClickCapture;
|
|
78
|
-
private setMoved;
|
|
79
|
-
private setHeight;
|
|
80
|
-
/** Write the view on the stage; the host's next render writes the same. */
|
|
81
|
-
private setView;
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=pan-zoom.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pan-zoom.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/graph/pan-zoom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,KAAK,CAAC;AACtE,OAAO,EAAqB,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAEzD,2FAA2F;AAC3F,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,SAAS,MAAM,CAAC;AAC7B,wFAAwF;AACxF,eAAO,MAAM,QAAQ,MAAM,CAAC;AAC5B,sDAAsD;AACtD,eAAO,MAAM,IAAI,IAAI,CAAC;AAEtB,oCAAoC;AACpC,eAAO,MAAM,WAAW,GAAI,GAAG,IAAI,KAAG,MAAsD,CAAC;AAE7F,kIAAkI;AAClI,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IAChC,uFAAuF;IACvF,OAAO,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;IAC9B,4DAA4D;IAC5D,KAAK,EAAE,MAAM,OAAO,CAAC;IACrB,oFAAoF;IACpF,IAAI,EAAE,MAAM,OAAO,CAAC;IACpB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAiBxD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAjBpB,8CAA8C;IAC9C,IAAI,EAAE,IAAI,CAAwB;IAClC,0BAA0B;IAC1B,MAAM,SAAK;IACX,8CAA8C;IAC9C,IAAI,SAAK;IACT,mEAAmE;IACnE,KAAK,UAAS;IACd,sCAAsC;IACtC,OAAO,UAAS;IAChB,2FAA2F;IAC3F,OAAO,CAAC,GAAG,CAA2F;IACtG,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAGb,IAAI,EAAE,sBAAsB,GAAG,WAAW,EAC1C,CAAC,EAAE,cAAc;IAKpC,aAAa,IAAI,IAAI;IAMrB,gBAAgB,IAAI,IAAI;IAOxB,WAAW,IAAI,IAAI;IAMnB,2DAA2D;IAC3D,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,iDAAiD;IACjD,KAAK,IAAI,IAAI;IAIb,6FAA6F;IAC7F,GAAG,IAAI,IAAI;IAmBX,iCAAiC;IACjC,OAAO,IAAI,IAAI;IAMf,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAA6D,EAAE,EAAE,SAAkB,GAAG,IAAI;IAKnH,kEAAkE;IAClE,MAAM,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAkB7B,QAAQ,CAAC,aAAa,GAAI,GAAG,YAAY,KAAG,IAAI,CAM9C;IAEF,QAAQ,CAAC,aAAa,GAAI,GAAG,YAAY,KAAG,IAAI,CAa9C;IAEF,QAAQ,CAAC,WAAW,GAAI,GAAG,YAAY,KAAG,IAAI,CAM5C;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAOtB;IAEF,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;IAEF,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,SAAS;IAMjB,2EAA2E;IAC3E,OAAO,CAAC,OAAO;CAMhB"}
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
import { fitView, zoomView } from './view.js';
|
|
2
|
-
/** The frame is at most this share of the window's height, and at least `FRAME_MIN` px. */
|
|
3
|
-
export const FRAME_SHARE = 0.7;
|
|
4
|
-
export const FRAME_MIN = 360;
|
|
5
|
-
/** How far the view zooms: from half of the whole-drawing view (or of 1) up to this. */
|
|
6
|
-
export const ZOOM_MAX = 2.5;
|
|
7
|
-
/** A pointer moved this far is a pan, not a click. */
|
|
8
|
-
export const DRAG = 4;
|
|
9
|
-
/** The transform that shows `v`. */
|
|
10
|
-
export const transformOf = (v) => `translate(${v.x}px,${v.y}px) scale(${v.k})`;
|
|
11
|
-
/**
|
|
12
|
-
* The zoom and pan of a drawing in its frame, and the frame's height. Until the
|
|
13
|
-
* reader zooms or pans (`moved`), the view shows the whole drawing. The host
|
|
14
|
-
* renders again only when what it draws changes: the frame's height, and whether
|
|
15
|
-
* "Show all" does anything (`moved`, `fitK`).
|
|
16
|
-
*/
|
|
17
|
-
export class PanZoomController {
|
|
18
|
-
constructor(host, o) {
|
|
19
|
-
this.host = host;
|
|
20
|
-
this.o = o;
|
|
21
|
-
/** The zoom and pan, written on the stage. */
|
|
22
|
-
this.view = { k: 1, x: 0, y: 0 };
|
|
23
|
-
/** The frame's height. */
|
|
24
|
-
this.frameH = 0;
|
|
25
|
-
/** The scale that shows the whole drawing. */
|
|
26
|
-
this.fitK = 1;
|
|
27
|
-
/** The reader has zoomed or panned away from the whole drawing. */
|
|
28
|
-
this.moved = false;
|
|
29
|
-
/** A pointer is down on the frame. */
|
|
30
|
-
this.pressed = false;
|
|
31
|
-
/** A pan in progress, and whether it went far enough to swallow the click that ends it. */
|
|
32
|
-
this.pan = null;
|
|
33
|
-
this.swallowClick = false;
|
|
34
|
-
this.onPointerDown = (e) => {
|
|
35
|
-
this.pressed = true;
|
|
36
|
-
globalThis.addEventListener('pointerup', () => (this.pressed = false), { once: true });
|
|
37
|
-
// On a narrow screen a touch scrolls the page; a mouse still pans.
|
|
38
|
-
if (e.button !== 0 || e.target.closest('.tools') || (this.o.down() && e.pointerType !== 'mouse'))
|
|
39
|
-
return;
|
|
40
|
-
this.pan = { id: e.pointerId, px: e.clientX, py: e.clientY, x: this.view.x, y: this.view.y, far: false };
|
|
41
|
-
};
|
|
42
|
-
this.onPointerMove = (e) => {
|
|
43
|
-
const p = this.pan;
|
|
44
|
-
if (!p || p.id !== e.pointerId)
|
|
45
|
-
return;
|
|
46
|
-
const dx = e.clientX - p.px;
|
|
47
|
-
const dy = e.clientY - p.py;
|
|
48
|
-
if (!p.far && Math.hypot(dx, dy) < DRAG)
|
|
49
|
-
return;
|
|
50
|
-
if (!p.far) {
|
|
51
|
-
p.far = true;
|
|
52
|
-
e.currentTarget.setPointerCapture(e.pointerId);
|
|
53
|
-
e.currentTarget.classList.add('drag');
|
|
54
|
-
}
|
|
55
|
-
this.setMoved();
|
|
56
|
-
this.setView({ ...this.view, x: p.x + dx, y: p.y + dy });
|
|
57
|
-
};
|
|
58
|
-
this.onPointerUp = (e) => {
|
|
59
|
-
const p = this.pan;
|
|
60
|
-
if (!p || p.id !== e.pointerId)
|
|
61
|
-
return;
|
|
62
|
-
this.pan = null;
|
|
63
|
-
e.currentTarget.classList.remove('drag');
|
|
64
|
-
if (p.far)
|
|
65
|
-
this.swallowClick = true;
|
|
66
|
-
};
|
|
67
|
-
this.onWheel = (e) => {
|
|
68
|
-
if (!this.o.wheel() || !(e.ctrlKey || e.metaKey))
|
|
69
|
-
return;
|
|
70
|
-
const frame = this.o.frame();
|
|
71
|
-
if (!frame)
|
|
72
|
-
return;
|
|
73
|
-
e.preventDefault();
|
|
74
|
-
const r = frame.getBoundingClientRect();
|
|
75
|
-
this.zoomBy(Math.exp(-e.deltaY * 0.0015), e.clientX - r.left, e.clientY - r.top);
|
|
76
|
-
};
|
|
77
|
-
/** The click that ends a pan opens nothing. */
|
|
78
|
-
this.onClickCapture = (e) => {
|
|
79
|
-
if (!this.swallowClick)
|
|
80
|
-
return;
|
|
81
|
-
this.swallowClick = false;
|
|
82
|
-
e.stopPropagation();
|
|
83
|
-
e.preventDefault();
|
|
84
|
-
};
|
|
85
|
-
host.addController(this);
|
|
86
|
-
}
|
|
87
|
-
hostConnected() {
|
|
88
|
-
// Ctrl (or ⌘) and the wheel zoom; the wheel alone still scrolls the page.
|
|
89
|
-
this.host.addEventListener('wheel', this.onWheel, { passive: false });
|
|
90
|
-
this.host.addEventListener('click', this.onClickCapture, { capture: true });
|
|
91
|
-
}
|
|
92
|
-
hostDisconnected() {
|
|
93
|
-
this.host.removeEventListener('wheel', this.onWheel);
|
|
94
|
-
this.host.removeEventListener('click', this.onClickCapture, { capture: true });
|
|
95
|
-
this.resize?.disconnect();
|
|
96
|
-
this.resize = undefined;
|
|
97
|
-
}
|
|
98
|
-
hostUpdated() {
|
|
99
|
-
if (this.resize)
|
|
100
|
-
return;
|
|
101
|
-
this.resize = new ResizeObserver(() => this.o.onResize());
|
|
102
|
-
this.resize.observe(this.host);
|
|
103
|
-
}
|
|
104
|
-
/** The stage's style: the view, as the host renders it. */
|
|
105
|
-
get transform() {
|
|
106
|
-
return transformOf(this.view);
|
|
107
|
-
}
|
|
108
|
-
/** Back to the whole drawing, on a new layer. */
|
|
109
|
-
reset() {
|
|
110
|
-
this.moved = false;
|
|
111
|
-
}
|
|
112
|
-
/** The frame's height and, until the reader zooms or pans, the view of the whole drawing. */
|
|
113
|
-
fit() {
|
|
114
|
-
const d = this.o.drawing();
|
|
115
|
-
if (!d)
|
|
116
|
-
return;
|
|
117
|
-
// The frame is beside the inspector, or above it on a narrow screen.
|
|
118
|
-
const width = this.o.frame()?.clientWidth || this.host.clientWidth;
|
|
119
|
-
// Top to bottom, the drawing is as tall as it needs at the frame's width.
|
|
120
|
-
const whole = fitView(d.w, d.h, width, d.down ? Infinity : Math.max(FRAME_MIN, FRAME_SHARE * globalThis.innerHeight));
|
|
121
|
-
if (whole.k !== this.fitK) {
|
|
122
|
-
this.fitK = whole.k;
|
|
123
|
-
this.host.requestUpdate();
|
|
124
|
-
}
|
|
125
|
-
// A short drawing's frame grows down to hold the selection's card; the drawing stays where it is.
|
|
126
|
-
const h = d.down ? whole.h : Math.max(whole.h, d.room);
|
|
127
|
-
if (!this.moved) {
|
|
128
|
-
this.setHeight(h);
|
|
129
|
-
if (whole.k !== this.view.k || whole.x !== this.view.x || whole.y !== this.view.y)
|
|
130
|
-
this.setView({ k: whole.k, x: whole.x, y: whole.y });
|
|
131
|
-
}
|
|
132
|
-
else if (h > this.frameH)
|
|
133
|
-
this.setHeight(h);
|
|
134
|
-
}
|
|
135
|
-
/** Back to the whole drawing. */
|
|
136
|
-
showAll() {
|
|
137
|
-
this.moved = false;
|
|
138
|
-
this.fit();
|
|
139
|
-
this.host.requestUpdate();
|
|
140
|
-
}
|
|
141
|
-
zoomBy(factor, cx = (this.o.frame()?.clientWidth ?? this.host.clientWidth) / 2, cy = this.frameH / 2) {
|
|
142
|
-
this.setMoved();
|
|
143
|
-
this.setView(zoomView(this.view, factor, cx, cy, Math.min(1, this.fitK) / 2, ZOOM_MAX));
|
|
144
|
-
}
|
|
145
|
-
/** Bring `el` into the frame when zoom or pan left it outside. */
|
|
146
|
-
reveal(el) {
|
|
147
|
-
const frame = this.o.frame();
|
|
148
|
-
if (!frame)
|
|
149
|
-
return;
|
|
150
|
-
const f = frame.getBoundingClientRect();
|
|
151
|
-
const r = el.getBoundingClientRect();
|
|
152
|
-
const pad = 24;
|
|
153
|
-
let dx = 0;
|
|
154
|
-
let dy = 0;
|
|
155
|
-
if (r.left < f.left + pad)
|
|
156
|
-
dx = f.left + pad - r.left;
|
|
157
|
-
else if (r.right > f.right - pad)
|
|
158
|
-
dx = f.right - pad - r.right;
|
|
159
|
-
if (r.top < f.top + pad)
|
|
160
|
-
dy = f.top + pad - r.top;
|
|
161
|
-
else if (r.bottom > f.bottom - pad)
|
|
162
|
-
dy = f.bottom - pad - r.bottom;
|
|
163
|
-
if (dx || dy) {
|
|
164
|
-
this.setMoved();
|
|
165
|
-
this.setView({ ...this.view, x: this.view.x + dx, y: this.view.y + dy });
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
setMoved() {
|
|
169
|
-
if (this.moved)
|
|
170
|
-
return;
|
|
171
|
-
this.moved = true;
|
|
172
|
-
this.host.requestUpdate();
|
|
173
|
-
}
|
|
174
|
-
setHeight(h) {
|
|
175
|
-
if (h === this.frameH)
|
|
176
|
-
return;
|
|
177
|
-
this.frameH = h;
|
|
178
|
-
this.host.requestUpdate();
|
|
179
|
-
}
|
|
180
|
-
/** Write the view on the stage; the host's next render writes the same. */
|
|
181
|
-
setView(v) {
|
|
182
|
-
this.view = v;
|
|
183
|
-
const stage = this.o.stage();
|
|
184
|
-
if (stage)
|
|
185
|
-
stage.style.transform = this.transform;
|
|
186
|
-
this.o.onMove();
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
//# sourceMappingURL=pan-zoom.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pan-zoom.js","sourceRoot":"","sources":["../../../../src/elements/overview/graph/pan-zoom.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type LoopReturn, type Run } from './layout.js';
|
|
2
|
-
/**
|
|
3
|
-
* A loop box's return as an SVG path: out from its last layer to the band, back along
|
|
4
|
-
* it with rounded corners, and in to its first layer, stopping `gap` short of each item.
|
|
5
|
-
*/
|
|
6
|
-
export declare function returnPath(r: LoopReturn, down?: boolean, gap?: number): string;
|
|
7
|
-
/** An edge's line as an SVG path: its runs, joined by a curve in each gap where it bends. */
|
|
8
|
-
export declare function edgePath(runs: readonly Run[], down?: boolean): string;
|
|
9
|
-
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/graph/paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AAElE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,UAAQ,EAAE,GAAG,SAAI,GAAG,MAAM,CAYvE;AAED,6FAA6F;AAC7F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,IAAI,UAAQ,GAAG,MAAM,CAkBnE"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// Edges and loop returns as SVG paths.
|
|
2
|
-
import { RETURN_R } from './layout.js';
|
|
3
|
-
/**
|
|
4
|
-
* A loop box's return as an SVG path: out from its last layer to the band, back along
|
|
5
|
-
* it with rounded corners, and in to its first layer, stopping `gap` short of each item.
|
|
6
|
-
*/
|
|
7
|
-
export function returnPath(r, down = false, gap = 3) {
|
|
8
|
-
const r2 = (n) => Math.round(n * 2) / 2;
|
|
9
|
-
const pt = (u, v) => (down ? `${r2(v)},${r2(u)}` : `${r2(u)},${r2(v)}`);
|
|
10
|
-
const k = Math.max(0, Math.min(RETURN_R, (r.from - r.to) / 2, r.band - r.v0 - gap, r.band - r.v1 - gap));
|
|
11
|
-
return [
|
|
12
|
-
`M${pt(r.from, r.v0 + gap)}`,
|
|
13
|
-
`L${pt(r.from, r.band - k)}`,
|
|
14
|
-
`Q${pt(r.from, r.band)} ${pt(r.from - k, r.band)}`,
|
|
15
|
-
`L${pt(r.to + k, r.band)}`,
|
|
16
|
-
`Q${pt(r.to, r.band)} ${pt(r.to, r.band - k)}`,
|
|
17
|
-
`L${pt(r.to, r.v1 + gap)}`,
|
|
18
|
-
].join(' ');
|
|
19
|
-
}
|
|
20
|
-
/** An edge's line as an SVG path: its runs, joined by a curve in each gap where it bends. */
|
|
21
|
-
export function edgePath(runs, down = false) {
|
|
22
|
-
const r2 = (n) => Math.round(n * 2) / 2;
|
|
23
|
-
const pt = (u, v) => (down ? `${r2(v)},${r2(u)}` : `${r2(u)},${r2(v)}`);
|
|
24
|
-
const first = runs[0];
|
|
25
|
-
if (!first)
|
|
26
|
-
return '';
|
|
27
|
-
let d = `M${pt(first.a, first.at)}`;
|
|
28
|
-
runs.forEach((r, i) => {
|
|
29
|
-
if (r.b !== r.a)
|
|
30
|
-
d += ` L${pt(r.b, r.at)}`;
|
|
31
|
-
const next = runs[i + 1];
|
|
32
|
-
if (!next)
|
|
33
|
-
return;
|
|
34
|
-
if (Math.abs(next.at - r.at) < 0.5) {
|
|
35
|
-
if (next.a !== r.b)
|
|
36
|
-
d += ` L${pt(next.a, next.at)}`;
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const m = (r.b + next.a) / 2;
|
|
40
|
-
d += ` C${pt(m, r.at)} ${pt(m, next.at)} ${pt(next.a, next.at)}`;
|
|
41
|
-
});
|
|
42
|
-
return d;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=paths.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../../src/elements/overview/graph/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export interface Box {
|
|
2
|
-
left: number;
|
|
3
|
-
top: number;
|
|
4
|
-
width: number;
|
|
5
|
-
height: number;
|
|
6
|
-
}
|
|
7
|
-
export type Side = 'right' | 'left' | 'below' | 'above';
|
|
8
|
-
export interface Placement {
|
|
9
|
-
/** The item is in view: the card shows. */
|
|
10
|
-
shown: boolean;
|
|
11
|
-
/** The card's corner, in the same coordinates as the boxes given. */
|
|
12
|
-
x: number;
|
|
13
|
-
y: number;
|
|
14
|
-
/** The side of the item the card is on: its pointer is on the card's opposite edge. */
|
|
15
|
-
side: Side;
|
|
16
|
-
/** Where the pointer is along that edge, from the card's top (left, right) or left (below, above). */
|
|
17
|
-
arrow: number;
|
|
18
|
-
/** A side had room for the whole card: it covers none of the item. */
|
|
19
|
-
fits: boolean;
|
|
20
|
-
}
|
|
21
|
-
/** The space between the item and the card (the pointer sits in it), and between the card and the frame's edge. */
|
|
22
|
-
export declare const GAP = 12;
|
|
23
|
-
export declare const PAD = 8;
|
|
24
|
-
/**
|
|
25
|
-
* The card's place beside `item` within `frame`: right of it first, then left,
|
|
26
|
-
* below and above, the first side with room for the whole card. When no side
|
|
27
|
-
* has room, the side with the most, the card kept inside the frame (it may then
|
|
28
|
-
* cover part of a large item). The card points at `aim` (a mark inside the item:
|
|
29
|
-
* the card keeps clear of the whole node it is in) and hides while `aim` is
|
|
30
|
-
* outside the frame.
|
|
31
|
-
*/
|
|
32
|
-
export declare function placeCard(item: Box, frame: Box, card: {
|
|
33
|
-
width: number;
|
|
34
|
-
height: number;
|
|
35
|
-
}, aim?: Box): Placement;
|
|
36
|
-
//# sourceMappingURL=place-card.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"place-card.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/graph/place-card.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,uFAAuF;IACvF,IAAI,EAAE,IAAI,CAAC;IACX,sGAAsG;IACtG,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,IAAI,EAAE,OAAO,CAAC;CACf;AAED,mHAAmH;AACnH,eAAO,MAAM,GAAG,KAAK,CAAC;AACtB,eAAO,MAAM,GAAG,IAAI,CAAC;AAerB;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,GAAE,GAAU,GAAG,SAAS,CAyCpH"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
// Where the pipeline graph's inspector card goes: beside the selected item,
|
|
2
|
-
// inside the frame, never over the item. Pure: rectangles in, a position out.
|
|
3
|
-
/** The space between the item and the card (the pointer sits in it), and between the card and the frame's edge. */
|
|
4
|
-
export const GAP = 12;
|
|
5
|
-
export const PAD = 8;
|
|
6
|
-
/** The pointer keeps this far from the card's corners. */
|
|
7
|
-
const ARROW_INSET = 14;
|
|
8
|
-
const clamp = (v, lo, hi) => (hi < lo ? lo : Math.min(hi, Math.max(lo, v)));
|
|
9
|
-
/** The part of `a` inside `b`, or null when they do not meet. */
|
|
10
|
-
function within(a, b) {
|
|
11
|
-
const left = Math.max(a.left, b.left);
|
|
12
|
-
const top = Math.max(a.top, b.top);
|
|
13
|
-
const right = Math.min(a.left + a.width, b.left + b.width);
|
|
14
|
-
const bottom = Math.min(a.top + a.height, b.top + b.height);
|
|
15
|
-
return right > left && bottom > top ? { left, top, width: right - left, height: bottom - top } : null;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* The card's place beside `item` within `frame`: right of it first, then left,
|
|
19
|
-
* below and above, the first side with room for the whole card. When no side
|
|
20
|
-
* has room, the side with the most, the card kept inside the frame (it may then
|
|
21
|
-
* cover part of a large item). The card points at `aim` (a mark inside the item:
|
|
22
|
-
* the card keeps clear of the whole node it is in) and hides while `aim` is
|
|
23
|
-
* outside the frame.
|
|
24
|
-
*/
|
|
25
|
-
export function placeCard(item, frame, card, aim = item) {
|
|
26
|
-
const seen = within(aim, frame);
|
|
27
|
-
if (!seen)
|
|
28
|
-
return { shown: false, x: 0, y: 0, side: 'right', arrow: 0, fits: false };
|
|
29
|
-
const { width: w, height: h } = card;
|
|
30
|
-
const fl = frame.left + PAD;
|
|
31
|
-
const ft = frame.top + PAD;
|
|
32
|
-
const fr = frame.left + frame.width - PAD;
|
|
33
|
-
const fb = frame.top + frame.height - PAD;
|
|
34
|
-
const ir = item.left + item.width;
|
|
35
|
-
const ib = item.top + item.height;
|
|
36
|
-
// Centred on the part of the item in view, kept in the frame.
|
|
37
|
-
const cy = seen.top + seen.height / 2;
|
|
38
|
-
const cx = seen.left + seen.width / 2;
|
|
39
|
-
const yAt = clamp(cy - h / 2, ft, fb - h);
|
|
40
|
-
const xAt = clamp(cx - w / 2, fl, fr - w);
|
|
41
|
-
const room = {
|
|
42
|
-
right: fr - (ir + GAP) - w,
|
|
43
|
-
left: item.left - GAP - w - fl,
|
|
44
|
-
below: fb - (ib + GAP) - h,
|
|
45
|
-
above: item.top - GAP - h - ft,
|
|
46
|
-
};
|
|
47
|
-
const order = ['right', 'left', 'below', 'above'];
|
|
48
|
-
const side = order.find((s) => room[s] >= 0) ?? order.reduce((a, b) => (room[b] > room[a] ? b : a));
|
|
49
|
-
let x;
|
|
50
|
-
let y;
|
|
51
|
-
switch (side) {
|
|
52
|
-
case 'right':
|
|
53
|
-
[x, y] = [clamp(ir + GAP, fl, fr - w), yAt];
|
|
54
|
-
break;
|
|
55
|
-
case 'left':
|
|
56
|
-
[x, y] = [clamp(item.left - GAP - w, fl, fr - w), yAt];
|
|
57
|
-
break;
|
|
58
|
-
case 'below':
|
|
59
|
-
[x, y] = [xAt, clamp(ib + GAP, ft, fb - h)];
|
|
60
|
-
break;
|
|
61
|
-
case 'above':
|
|
62
|
-
[x, y] = [xAt, clamp(item.top - GAP - h, ft, fb - h)];
|
|
63
|
-
break;
|
|
64
|
-
}
|
|
65
|
-
const along = side === 'right' || side === 'left' ? clamp(cy - y, ARROW_INSET, h - ARROW_INSET) : clamp(cx - x, ARROW_INSET, w - ARROW_INSET);
|
|
66
|
-
return { shown: true, x, y, side, arrow: along, fits: room[side] >= 0 };
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=place-card.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"place-card.js","sourceRoot":"","sources":["../../../../src/elements/overview/graph/place-card.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type FlowCallNode, type Plan } from '@contraagent/api';
|
|
2
|
-
import { type FlowIndex, type FlowTask } from './flow-index.js';
|
|
3
|
-
import { type GraphMark, type LayerGraph, type LayerOrder } from './types.js';
|
|
4
|
-
export declare function taskMark(ts: readonly FlowTask[], unit: string): GraphMark;
|
|
5
|
-
export interface Marks {
|
|
6
|
-
byUnit: Map<string, GraphMark>;
|
|
7
|
-
single: GraphMark[];
|
|
8
|
-
/** A function node's flow calls, and those that raised or were closed. */
|
|
9
|
-
calls?: number;
|
|
10
|
-
errors?: number;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* A function node's marks: its flow calls, one mark per unit when a call's tasks share one unit, else one per call.
|
|
14
|
-
* A call's state is the most severe of its own (raised or closed: failed) and its tasks' (those of the calls it
|
|
15
|
-
* started included), so a call that caught a task's failure and returned still shows it.
|
|
16
|
-
*/
|
|
17
|
-
export declare function flowMarks(ts: readonly FlowTask[], d: number, name: string, calls: Map<string, FlowCallNode> | null): Marks;
|
|
18
|
-
export interface Draft {
|
|
19
|
-
id: string;
|
|
20
|
-
type: 'kind' | 'flow';
|
|
21
|
-
name: string;
|
|
22
|
-
loops: number[];
|
|
23
|
-
tasks: FlowTask[];
|
|
24
|
-
}
|
|
25
|
-
export interface Projection {
|
|
26
|
-
graph: LayerGraph;
|
|
27
|
-
drafts: Map<string, Draft>;
|
|
28
|
-
ix: FlowIndex;
|
|
29
|
-
}
|
|
30
|
-
export declare function project(plan: Plan, path: readonly string[], prev?: LayerOrder, down?: boolean): Projection;
|
|
31
|
-
//# sourceMappingURL=project.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/graph/project.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAY,KAAK,YAAY,EAAE,KAAK,IAAI,EAAiC,MAAM,kBAAkB,CAAC;AAEzG,OAAO,EAA+F,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE7J,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,UAAU,EAIhB,MAAM,YAAY,CAAC;AAapB,wBAAgB,QAAQ,CAAC,EAAE,EAAE,SAAS,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAIzE;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAmCD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,SAAS,QAAQ,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,GAAG,KAAK,CAwB1H;AAiCD,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,EAAE,EAAE,SAAS,CAAC;CACf;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,UAAQ,GAAG,UAAU,CA2TxG"}
|