@sentropic/design-system-vue 0.36.57 → 0.36.59

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.
@@ -3,6 +3,7 @@ export type AppShellVariant = "site" | "workspace";
3
3
  export type AppShellUtilityMode = "reserve" | "overlay" | "floating";
4
4
  export type AppShellUtilitySide = "left" | "right" | "bottom";
5
5
  export type AppShellPanelCollapse = "stack" | "accordion";
6
+ export type AppShellPanelKey = "navigationPanel" | "contextPanel" | "utilityPanel";
6
7
  export type AppShellProps = {
7
8
  variant?: AppShellVariant;
8
9
  mainId?: string;
@@ -30,6 +31,18 @@ export type AppShellProps = {
30
31
  contextPanelLabel?: string;
31
32
  /** Disclosure label for `utilityPanel` when `panelCollapse="accordion"`. Defaults to `utilityLabel`. */
32
33
  utilityPanelLabel?: string;
34
+ /** Enables drag-to-resize handles on side panels above 48rem. Default false — zero regression. */
35
+ panelResize?: boolean;
36
+ /** Controlled panel widths in px. When provided the component never mutates width itself. */
37
+ panelWidths?: Partial<Record<AppShellPanelKey, number>>;
38
+ /** Seeds uncontrolled widths in px. */
39
+ defaultPanelWidths?: Partial<Record<AppShellPanelKey, number>>;
40
+ /** Fired on every committed resize. Persistence is the CONSUMER's job — the DS stays presentational. */
41
+ onPanelResize?: (key: AppShellPanelKey, width: number) => void;
42
+ /** Lower clamp in px. Default 180. */
43
+ panelMinWidth?: number;
44
+ /** Upper clamp in px. Default 640. */
45
+ panelMaxWidth?: number;
33
46
  class?: string;
34
47
  };
35
48
  export declare const AppShell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -81,13 +94,37 @@ export declare const AppShell: import("vue").DefineComponent<import("vue").Extra
81
94
  type: StringConstructor;
82
95
  default: undefined;
83
96
  };
97
+ panelResize: {
98
+ type: BooleanConstructor;
99
+ default: boolean;
100
+ };
101
+ panelWidths: {
102
+ type: () => Partial<Record<AppShellPanelKey, number>>;
103
+ default: undefined;
104
+ };
105
+ defaultPanelWidths: {
106
+ type: () => Partial<Record<AppShellPanelKey, number>>;
107
+ default: undefined;
108
+ };
109
+ onPanelResize: {
110
+ type: () => (key: AppShellPanelKey, width: number) => void;
111
+ default: undefined;
112
+ };
113
+ panelMinWidth: {
114
+ type: NumberConstructor;
115
+ default: number;
116
+ };
117
+ panelMaxWidth: {
118
+ type: NumberConstructor;
119
+ default: number;
120
+ };
84
121
  class: {
85
122
  type: StringConstructor;
86
123
  default: undefined;
87
124
  };
88
125
  }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
89
126
  [key: string]: any;
90
- }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
127
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "panelResize"[], "panelResize", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
91
128
  variant: {
92
129
  type: PropType<AppShellVariant>;
93
130
  default: string;
@@ -136,12 +173,39 @@ export declare const AppShell: import("vue").DefineComponent<import("vue").Extra
136
173
  type: StringConstructor;
137
174
  default: undefined;
138
175
  };
176
+ panelResize: {
177
+ type: BooleanConstructor;
178
+ default: boolean;
179
+ };
180
+ panelWidths: {
181
+ type: () => Partial<Record<AppShellPanelKey, number>>;
182
+ default: undefined;
183
+ };
184
+ defaultPanelWidths: {
185
+ type: () => Partial<Record<AppShellPanelKey, number>>;
186
+ default: undefined;
187
+ };
188
+ onPanelResize: {
189
+ type: () => (key: AppShellPanelKey, width: number) => void;
190
+ default: undefined;
191
+ };
192
+ panelMinWidth: {
193
+ type: NumberConstructor;
194
+ default: number;
195
+ };
196
+ panelMaxWidth: {
197
+ type: NumberConstructor;
198
+ default: number;
199
+ };
139
200
  class: {
140
201
  type: StringConstructor;
141
202
  default: undefined;
142
203
  };
143
- }>> & Readonly<{}>, {
204
+ }>> & Readonly<{
205
+ onPanelResize?: ((...args: any[]) => any) | undefined;
206
+ }>, {
144
207
  class: string;
208
+ panelResize: boolean;
145
209
  variant: AppShellVariant;
146
210
  mainId: string;
147
211
  navigationLabel: string;
@@ -154,5 +218,10 @@ export declare const AppShell: import("vue").DefineComponent<import("vue").Extra
154
218
  navigationPanelLabel: string;
155
219
  contextPanelLabel: string;
156
220
  utilityPanelLabel: string;
221
+ panelWidths: Partial<Record<AppShellPanelKey, number>>;
222
+ defaultPanelWidths: Partial<Record<AppShellPanelKey, number>>;
223
+ onPanelResize: (key: AppShellPanelKey, width: number) => void;
224
+ panelMinWidth: number;
225
+ panelMaxWidth: number;
157
226
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
158
227
  //# sourceMappingURL=AppShell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../src/AppShell.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,KAAK,CAAC;AAIzE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,CAAC;AACnD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AACrE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC9D,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,WAAW,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8GAA8G;IAC9G,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wGAAwG;IACxG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wGAAwG;IACxG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,QAAQ;;cAGU,QAAQ,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;cAKrB,QAAQ,CAAC,mBAAmB,CAAC;;;;cAC7B,QAAQ,CAAC,mBAAmB,CAAC;;;;cAC3B,QAAQ,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;cAPrC,QAAQ,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;cAKrB,QAAQ,CAAC,mBAAmB,CAAC;;;;cAC7B,QAAQ,CAAC,mBAAmB,CAAC;;;;cAC3B,QAAQ,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAoJlE,CAAC"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../src/AppShell.ts"],"names":[],"mappings":"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"}
package/dist/AppShell.js CHANGED
@@ -1,6 +1,29 @@
1
1
  import { defineComponent, h, ref } from "vue";
2
2
  import { ChevronDown } from "lucide-vue-next";
3
3
  import { classNames } from "./classNames.js";
4
+ // CSS custom property each resizable panel is sized by (see the
5
+ // `.st-appShell__navigationPanel` / `__contextPanel` / `__utilityPanel` rules
6
+ // in styles.css) — setting it inline on the shell root is the intended resize
7
+ // mechanism, it simply out-specificities the token-driven default declared
8
+ // there.
9
+ const PANEL_VAR = {
10
+ navigationPanel: "--st-appShell-navigation-width",
11
+ contextPanel: "--st-appShell-context-width",
12
+ utilityPanel: "--st-appShell-utility-width",
13
+ };
14
+ // Nominal px equivalent of each panel's own CSS-token default — used ONLY as
15
+ // a display/ARIA fallback (aria-valuenow, drag-start anchor) before any width
16
+ // has ever been supplied or committed. Never written back as an inline
17
+ // style, so a themed override of the underlying token is never fought until
18
+ // the consumer/user actually establishes a concrete width.
19
+ // NOTE: `primaryRail` is intentionally NOT a resizable panel — it is a
20
+ // fixed-width icon rail (à la VS Code's activity bar), not a splittable
21
+ // pane; see `AppShellPanelKey` above.
22
+ const PANEL_NOMINAL_PX = {
23
+ navigationPanel: 320,
24
+ contextPanel: 352,
25
+ utilityPanel: 384,
26
+ };
4
27
  export const AppShell = defineComponent({
5
28
  name: "AppShell",
6
29
  props: {
@@ -16,9 +39,19 @@ export const AppShell = defineComponent({
16
39
  navigationPanelLabel: { type: String, default: undefined },
17
40
  contextPanelLabel: { type: String, default: undefined },
18
41
  utilityPanelLabel: { type: String, default: undefined },
42
+ panelResize: { type: Boolean, default: false },
43
+ panelWidths: { type: Object, default: undefined },
44
+ defaultPanelWidths: { type: Object, default: undefined },
45
+ onPanelResize: {
46
+ type: Function,
47
+ default: undefined,
48
+ },
49
+ panelMinWidth: { type: Number, default: 180 },
50
+ panelMaxWidth: { type: Number, default: 640 },
19
51
  class: { type: String, default: undefined },
20
52
  },
21
- setup(props, { slots, attrs }) {
53
+ emits: ["panelResize"],
54
+ setup(props, { slots, attrs, emit }) {
22
55
  // Uncontrolled per-panel disclosure state (v1) — each accordion panel
23
56
  // starts collapsed. Desktop rendering never reads these (CSS scopes the
24
57
  // collapse to `@media (max-width: 48rem)`), so they have zero effect
@@ -27,20 +60,139 @@ export const AppShell = defineComponent({
27
60
  const navigationPanelOpen = ref(false);
28
61
  const contextPanelOpen = ref(false);
29
62
  const utilityPanelOpen = ref(false);
63
+ // ── Resizable panels (panelResize) ──────────────────────────────────────
64
+ // Controlled/uncontrolled mirrors RangeSlider.ts: `panelWidths` present
65
+ // (even as `{}`) means controlled — the component reads it but never
66
+ // writes it; otherwise widths live in `internalWidths`, seeded ONCE (at
67
+ // setup time) from `defaultPanelWidths`.
68
+ const internalWidths = ref({ ...props.defaultPanelWidths });
69
+ const navigationPanelEl = ref(null);
70
+ const contextPanelEl = ref(null);
71
+ const utilityPanelEl = ref(null);
72
+ function isWidthControlled() {
73
+ return props.panelWidths !== undefined;
74
+ }
75
+ function widthFor(key) {
76
+ const source = isWidthControlled() ? props.panelWidths : internalWidths.value;
77
+ return source?.[key];
78
+ }
79
+ function clampWidth(n) {
80
+ return Math.min(Math.max(n, props.panelMinWidth), props.panelMaxWidth);
81
+ }
82
+ // Current width for rendering/ARIA — always a concrete, clamped number so
83
+ // aria-valuenow is never NaN and is always within [aria-valuemin, aria-valuemax].
84
+ function displayWidth(key) {
85
+ return clampWidth(widthFor(key) ?? PANEL_NOMINAL_PX[key]);
86
+ }
87
+ function panelElFor(key) {
88
+ if (key === "navigationPanel")
89
+ return navigationPanelEl.value;
90
+ if (key === "contextPanel")
91
+ return contextPanelEl.value;
92
+ return utilityPanelEl.value;
93
+ }
94
+ function commitWidth(key, next) {
95
+ const clamped = clampWidth(next);
96
+ if (!isWidthControlled())
97
+ internalWidths.value = { ...internalWidths.value, [key]: clamped };
98
+ // `emit("panelResize")` already routes to an `onPanelResize` handler prop
99
+ // (Vue maps emitted events to their `onX` listeners), so calling
100
+ // `props.onPanelResize` here as well would fire the callback twice.
101
+ // Emit only.
102
+ emit("panelResize", key, clamped);
103
+ }
104
+ // Pointer-drag bookkeeping — plain (non-reactive) fields, never read from
105
+ // the render function, only from the pointer handlers below.
106
+ let dragKey = null;
107
+ let dragPositive = true;
108
+ let dragStartX = 0;
109
+ let dragStartWidth = 0;
110
+ function onHandlePointerDown(event, key, positive) {
111
+ const handle = event.currentTarget;
112
+ handle.setPointerCapture?.(event.pointerId);
113
+ dragKey = key;
114
+ dragPositive = positive;
115
+ dragStartX = event.clientX;
116
+ const measured = panelElFor(key)?.getBoundingClientRect().width ?? 0;
117
+ dragStartWidth = measured > 0 ? measured : displayWidth(key);
118
+ event.preventDefault();
119
+ }
120
+ function onHandlePointerMove(event) {
121
+ if (dragKey === null)
122
+ return;
123
+ const dx = event.clientX - dragStartX;
124
+ const delta = dragPositive ? dx : -dx;
125
+ commitWidth(dragKey, dragStartWidth + delta);
126
+ }
127
+ function onHandlePointerUp(event) {
128
+ if (dragKey === null)
129
+ return;
130
+ const handle = event.currentTarget;
131
+ if (handle.hasPointerCapture?.(event.pointerId))
132
+ handle.releasePointerCapture?.(event.pointerId);
133
+ dragKey = null;
134
+ }
135
+ // Arrow keys move the splitter itself (WAI-ARIA window-splitter pattern):
136
+ // for a "positive" (left-edge) panel, moving the splitter right grows it;
137
+ // for a "negative" (right-edge) panel, moving the splitter right shrinks
138
+ // it. Home/End always jump to the absolute clamp bounds.
139
+ function onHandleKeydown(event, key, positive) {
140
+ const current = displayWidth(key);
141
+ let next;
142
+ switch (event.key) {
143
+ case "ArrowLeft":
144
+ next = current + (positive ? -16 : 16);
145
+ break;
146
+ case "ArrowRight":
147
+ next = current + (positive ? 16 : -16);
148
+ break;
149
+ case "Home":
150
+ next = props.panelMinWidth;
151
+ break;
152
+ case "End":
153
+ next = props.panelMaxWidth;
154
+ break;
155
+ default:
156
+ return;
157
+ }
158
+ event.preventDefault();
159
+ commitWidth(key, next);
160
+ }
161
+ function renderResizeHandle(key, positive, ariaLabel) {
162
+ return h("div", {
163
+ class: "st-appShell__resizeHandle",
164
+ role: "separator",
165
+ "aria-orientation": "vertical",
166
+ tabindex: 0,
167
+ "aria-valuenow": displayWidth(key),
168
+ "aria-valuemin": props.panelMinWidth,
169
+ "aria-valuemax": props.panelMaxWidth,
170
+ "aria-label": `Resize ${ariaLabel}`,
171
+ onPointerdown: (event) => onHandlePointerDown(event, key, positive),
172
+ onPointermove: onHandlePointerMove,
173
+ onPointerup: onHandlePointerUp,
174
+ onPointercancel: onHandlePointerUp,
175
+ onKeydown: (event) => onHandleKeydown(event, key, positive),
176
+ });
177
+ }
30
178
  // Renders a panel's `<aside>`. In `"accordion"` mode it wraps the slot
31
179
  // content in a disclosure `<button>` + a SINGLE always-mounted
32
180
  // `st-appShell__panelRegion` — the region is never conditionally
33
181
  // unmounted, only resized/hidden via CSS, so panel content never
34
182
  // remounts when it collapses/expands.
35
183
  function renderPanel(opts) {
36
- const { asideClass, ariaLabel, key, label, isOpen, toggle, content } = opts;
184
+ const { asideClass, ariaLabel, key, label, isOpen, toggle, content, elRef, resizeHandle } = opts;
37
185
  const triggerId = `st-appShell-${key}-trigger`;
38
186
  const regionId = `st-appShell-${key}-region`;
187
+ const asideProps = { class: asideClass, "aria-label": ariaLabel };
188
+ if (elRef)
189
+ asideProps.ref = elRef;
39
190
  if (props.panelCollapse !== "accordion") {
40
- return h("aside", { class: asideClass, "aria-label": ariaLabel }, content);
191
+ const children = resizeHandle ? [...content, resizeHandle] : content;
192
+ return h("aside", asideProps, children);
41
193
  }
42
194
  const open = isOpen();
43
- return h("aside", { class: asideClass, "aria-label": ariaLabel }, [
195
+ const children = [
44
196
  h("button", {
45
197
  type: "button",
46
198
  class: "st-appShell__panelDisclosure",
@@ -60,7 +212,10 @@ export const AppShell = defineComponent({
60
212
  role: "region",
61
213
  "aria-labelledby": triggerId,
62
214
  }, content),
63
- ]);
215
+ ];
216
+ if (resizeHandle)
217
+ children.push(resizeHandle);
218
+ return h("aside", asideProps, children);
64
219
  }
65
220
  return () => {
66
221
  if (props.variant === "site") {
@@ -69,6 +224,24 @@ export const AppShell = defineComponent({
69
224
  const navigationPanelLabelResolved = props.navigationPanelLabel ?? props.navigationLabel;
70
225
  const contextPanelLabelResolved = props.contextPanelLabel ?? props.contextLabel;
71
226
  const utilityPanelLabelResolved = props.utilityPanelLabel ?? props.utilityLabel;
227
+ // Only the CSS vars for panels with an explicit (controlled or
228
+ // committed) width are emitted — an untouched panel keeps deferring to
229
+ // its token default (styles.css), so a theme's own width override is
230
+ // never silently overridden just because `panelResize` is on.
231
+ let panelStyle;
232
+ if (props.panelResize) {
233
+ const style = {};
234
+ for (const key of Object.keys(PANEL_VAR)) {
235
+ const width = widthFor(key);
236
+ if (width !== undefined)
237
+ style[PANEL_VAR[key]] = `${clampWidth(width)}px`;
238
+ }
239
+ panelStyle = Object.keys(style).length ? style : undefined;
240
+ }
241
+ // `utilityPanel` mirrors a left panel (grow-on-drag-right) unless it
242
+ // sits on the right edge; the "bottom" side never renders a handle at
243
+ // all, so its `positive` value is never read.
244
+ const utilityPositive = props.utilitySide !== "right";
72
245
  return h("div", {
73
246
  ...attrs,
74
247
  class: classNames("st-appShell st-appShell--workspace", props.class),
@@ -76,6 +249,7 @@ export const AppShell = defineComponent({
76
249
  "data-utility-mode": props.utilityMode,
77
250
  "data-utility-side": props.utilitySide,
78
251
  "data-panel-collapse": props.panelCollapse,
252
+ style: panelStyle,
79
253
  }, [
80
254
  slots.topChrome ? h("div", { class: "st-appShell__topChrome" }, slots.topChrome()) : null,
81
255
  h("div", { class: "st-appShell__body" }, [
@@ -88,6 +262,9 @@ export const AppShell = defineComponent({
88
262
  isOpen: () => primaryRailPanelOpen.value,
89
263
  toggle: () => (primaryRailPanelOpen.value = !primaryRailPanelOpen.value),
90
264
  content: slots.primaryRail(),
265
+ // No resize handle here: `primaryRail` is a fixed-width icon
266
+ // rail (à la VS Code's activity bar), not a resizable panel —
267
+ // see `AppShellPanelKey`.
91
268
  })
92
269
  : null,
93
270
  slots.navigationPanel
@@ -99,6 +276,8 @@ export const AppShell = defineComponent({
99
276
  isOpen: () => navigationPanelOpen.value,
100
277
  toggle: () => (navigationPanelOpen.value = !navigationPanelOpen.value),
101
278
  content: slots.navigationPanel(),
279
+ elRef: navigationPanelEl,
280
+ resizeHandle: props.panelResize ? renderResizeHandle("navigationPanel", true, props.navigationLabel) : null,
102
281
  })
103
282
  : null,
104
283
  h("main", { class: "st-appShell__main", id: props.mainId }, slots.main?.() ?? slots.default?.()),
@@ -111,6 +290,8 @@ export const AppShell = defineComponent({
111
290
  isOpen: () => contextPanelOpen.value,
112
291
  toggle: () => (contextPanelOpen.value = !contextPanelOpen.value),
113
292
  content: slots.contextPanel(),
293
+ elRef: contextPanelEl,
294
+ resizeHandle: props.panelResize ? renderResizeHandle("contextPanel", false, props.contextLabel) : null,
114
295
  })
115
296
  : null,
116
297
  slots.utilityPanel
@@ -122,6 +303,10 @@ export const AppShell = defineComponent({
122
303
  isOpen: () => utilityPanelOpen.value,
123
304
  toggle: () => (utilityPanelOpen.value = !utilityPanelOpen.value),
124
305
  content: slots.utilityPanel(),
306
+ elRef: utilityPanelEl,
307
+ resizeHandle: props.panelResize && props.utilitySide !== "bottom"
308
+ ? renderResizeHandle("utilityPanel", utilityPositive, props.utilityLabel)
309
+ : null,
125
310
  })
126
311
  : null,
127
312
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../src/AppShell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../src/AppShell.ts"],"names":[],"mappings":"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"}
@@ -284,7 +284,7 @@ export declare const BarChart: import("vue").DefineComponent<import("vue").Extra
284
284
  onSelect: (key: string) => void;
285
285
  height: number;
286
286
  width: number;
287
- orientation: "horizontal" | "vertical";
287
+ orientation: "vertical" | "horizontal";
288
288
  scale: ChartScale;
289
289
  annotations: ChartAnnotation[];
290
290
  dataLabels: DataLabelsProp;
@@ -69,6 +69,6 @@ export declare const BulletChart: import("vue").DefineComponent<import("vue").Ex
69
69
  data: BulletChartDatum[];
70
70
  height: number;
71
71
  width: number;
72
- orientation: "horizontal" | "vertical";
72
+ orientation: "vertical" | "horizontal";
73
73
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
74
74
  //# sourceMappingURL=BulletChart.d.ts.map
@@ -103,7 +103,7 @@ export declare const CheckboxGroup: import("vue").DefineComponent<import("vue").
103
103
  name: string;
104
104
  onChange: (value: string[]) => void;
105
105
  disabled: boolean;
106
- orientation: "horizontal" | "vertical";
106
+ orientation: "vertical" | "horizontal";
107
107
  value: string[];
108
108
  helperText: string;
109
109
  options: CheckboxGroupOption[];
@@ -85,7 +85,7 @@ export declare const ColumnRangeChart: import("vue").DefineComponent<import("vue
85
85
  data: ColumnRangeChartDatum[];
86
86
  height: number;
87
87
  width: number;
88
- orientation: "horizontal" | "vertical";
88
+ orientation: "vertical" | "horizontal";
89
89
  domain: [number, number];
90
90
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
91
91
  //# sourceMappingURL=ColumnRangeChart.d.ts.map
@@ -96,7 +96,7 @@ export declare const FunnelChart: import("vue").DefineComponent<import("vue").Ex
96
96
  legend: boolean;
97
97
  height: number;
98
98
  width: number;
99
- orientation: "horizontal" | "vertical";
99
+ orientation: "vertical" | "horizontal";
100
100
  showPercentages: boolean;
101
101
  percentMode: "ofFirst" | "ofPrevious";
102
102
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -84,7 +84,7 @@ export declare const LollipopChart: import("vue").DefineComponent<import("vue").
84
84
  data: LollipopChartDatum[];
85
85
  height: number;
86
86
  width: number;
87
- orientation: "horizontal" | "vertical";
87
+ orientation: "vertical" | "horizontal";
88
88
  domain: [number, number];
89
89
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
90
90
  //# sourceMappingURL=LollipopChart.d.ts.map
@@ -1,12 +1,18 @@
1
1
  import type { MenuItem } from "./Menu.js";
2
2
  export type MenuPopoverPlacement = "top-start" | "top-end" | "bottom-start" | "bottom-end";
3
+ export type MenuPopoverAlign = "start" | "end" | "center";
3
4
  export type MenuPopoverProps = {
4
5
  items?: MenuItem[];
5
6
  open?: boolean;
7
+ /** Anchor element used for position computation and outside-click exclusion (Svelte-canonical). */
8
+ trigger?: HTMLElement | null;
6
9
  placement?: MenuPopoverPlacement;
10
+ align?: MenuPopoverAlign;
7
11
  /** Accessible name for the panel (Svelte-canonical: applied as aria-label on role="dialog"). */
8
12
  label?: string;
9
13
  class?: string;
14
+ closeOnOutside?: boolean;
15
+ closeOnEscape?: boolean;
10
16
  };
11
17
  export type { MenuItem };
12
18
  export declare const MenuPopover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -16,12 +22,20 @@ export declare const MenuPopover: import("vue").DefineComponent<import("vue").Ex
16
22
  };
17
23
  open: {
18
24
  type: BooleanConstructor;
19
- default: boolean;
25
+ default: undefined;
26
+ };
27
+ trigger: {
28
+ type: () => HTMLElement | null;
29
+ default: null;
20
30
  };
21
31
  placement: {
22
32
  type: () => MenuPopoverPlacement;
23
33
  default: string;
24
34
  };
35
+ align: {
36
+ type: () => MenuPopoverAlign | undefined;
37
+ default: undefined;
38
+ };
25
39
  label: {
26
40
  type: StringConstructor;
27
41
  default: undefined;
@@ -30,21 +44,37 @@ export declare const MenuPopover: import("vue").DefineComponent<import("vue").Ex
30
44
  type: StringConstructor;
31
45
  default: undefined;
32
46
  };
47
+ closeOnOutside: {
48
+ type: BooleanConstructor;
49
+ default: boolean;
50
+ };
51
+ closeOnEscape: {
52
+ type: BooleanConstructor;
53
+ default: boolean;
54
+ };
33
55
  }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
34
56
  [key: string]: any;
35
- }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
57
+ }> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:open"[], "update:open", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
36
58
  items: {
37
59
  type: () => MenuItem[];
38
60
  default: () => never[];
39
61
  };
40
62
  open: {
41
63
  type: BooleanConstructor;
42
- default: boolean;
64
+ default: undefined;
65
+ };
66
+ trigger: {
67
+ type: () => HTMLElement | null;
68
+ default: null;
43
69
  };
44
70
  placement: {
45
71
  type: () => MenuPopoverPlacement;
46
72
  default: string;
47
73
  };
74
+ align: {
75
+ type: () => MenuPopoverAlign | undefined;
76
+ default: undefined;
77
+ };
48
78
  label: {
49
79
  type: StringConstructor;
50
80
  default: undefined;
@@ -53,11 +83,25 @@ export declare const MenuPopover: import("vue").DefineComponent<import("vue").Ex
53
83
  type: StringConstructor;
54
84
  default: undefined;
55
85
  };
56
- }>> & Readonly<{}>, {
86
+ closeOnOutside: {
87
+ type: BooleanConstructor;
88
+ default: boolean;
89
+ };
90
+ closeOnEscape: {
91
+ type: BooleanConstructor;
92
+ default: boolean;
93
+ };
94
+ }>> & Readonly<{
95
+ "onUpdate:open"?: ((...args: any[]) => any) | undefined;
96
+ }>, {
57
97
  items: MenuItem[];
58
98
  open: boolean;
99
+ align: MenuPopoverAlign | undefined;
59
100
  class: string;
60
101
  label: string;
61
102
  placement: MenuPopoverPlacement;
103
+ trigger: HTMLElement | null;
104
+ closeOnOutside: boolean;
105
+ closeOnEscape: boolean;
62
106
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
63
107
  //# sourceMappingURL=MenuPopover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../src/MenuPopover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,CAAC;AAE3F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,gGAAgG;IAChG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB,eAAO,MAAM,WAAW;;cAGI,MAAM,QAAQ,EAAE;;;;;;;;cAEX,MAAM,oBAAoB;;;;;;;;;;;;;;;cAF/B,MAAM,QAAQ,EAAE;;;;;;;;cAEX,MAAM,oBAAoB;;;;;;;;;;;;;;;;;4EAiCzD,CAAC"}
1
+ {"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../src/MenuPopover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,CAAC;AAC3F,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mGAAmG;IACnG,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,gGAAgG;IAChG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,YAAY,EAAE,QAAQ,EAAE,CAAC;AAqBzB,eAAO,MAAM,WAAW;;cAGI,MAAM,QAAQ,EAAE;;;;;;;;cAEF,MAAM,WAAW,GAAG,IAAI;;;;cACjC,MAAM,oBAAoB;;;;cAC9B,MAAM,gBAAgB,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;cAJnC,MAAM,QAAQ,EAAE;;;;;;;;cAEF,MAAM,WAAW,GAAG,IAAI;;;;cACjC,MAAM,oBAAoB;;;;cAC9B,MAAM,gBAAgB,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAuI7D,CAAC"}