@zag-js/splitter 0.70.0 → 0.71.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/dist/index.js CHANGED
@@ -1,49 +1,16 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ 'use strict';
19
2
 
20
- // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
23
- anatomy: () => anatomy,
24
- connect: () => connect,
25
- machine: () => machine,
26
- panelProps: () => panelProps,
27
- props: () => props,
28
- resizeTriggerProps: () => resizeTriggerProps,
29
- splitPanelProps: () => splitPanelProps,
30
- splitProps: () => splitProps,
31
- splitResizeTriggerProps: () => splitResizeTriggerProps
32
- });
33
- module.exports = __toCommonJS(src_exports);
3
+ var anatomy$1 = require('@zag-js/anatomy');
4
+ var domEvent = require('@zag-js/dom-event');
5
+ var domQuery = require('@zag-js/dom-query');
6
+ var core = require('@zag-js/core');
7
+ var utils = require('@zag-js/utils');
8
+ var types = require('@zag-js/types');
34
9
 
35
10
  // src/splitter.anatomy.ts
36
- var import_anatomy = require("@zag-js/anatomy");
37
- var anatomy = (0, import_anatomy.createAnatomy)("splitter").parts("root", "panel", "resizeTrigger");
11
+ var anatomy = anatomy$1.createAnatomy("splitter").parts("root", "panel", "resizeTrigger");
38
12
  var parts = anatomy.build();
39
-
40
- // src/splitter.connect.ts
41
- var import_dom_event = require("@zag-js/dom-event");
42
- var import_dom_query2 = require("@zag-js/dom-query");
43
-
44
- // src/splitter.dom.ts
45
- var import_dom_query = require("@zag-js/dom-query");
46
- var dom = (0, import_dom_query.createScope)({
13
+ var dom = domQuery.createScope({
47
14
  getRootId: (ctx) => ctx.ids?.root ?? `splitter:${ctx.id}`,
48
15
  getResizeTriggerId: (ctx, id) => ctx.ids?.resizeTrigger?.(id) ?? `splitter:${ctx.id}:splitter:${id}`,
49
16
  getLabelId: (ctx) => ctx.ids?.label ?? `splitter:${ctx.id}:label`,
@@ -75,7 +42,7 @@ var dom = (0, import_dom_query.createScope)({
75
42
  },
76
43
  getResizeTriggerEls(ctx) {
77
44
  const ownerId = CSS.escape(dom.getRootId(ctx));
78
- return (0, import_dom_query.queryAll)(dom.getRootEl(ctx), `[role=separator][data-ownedby='${ownerId}']`);
45
+ return domQuery.queryAll(dom.getRootEl(ctx), `[role=separator][data-ownedby='${ownerId}']`);
79
46
  },
80
47
  setupGlobalCursor(ctx) {
81
48
  const styleEl = dom.getById(ctx, dom.getGlobalCursorId(ctx));
@@ -290,8 +257,8 @@ function connect(state, send, normalize) {
290
257
  "data-orientation": state.context.orientation,
291
258
  "aria-orientation": state.context.orientation,
292
259
  "aria-controls": triggerState.panelIds.join(" "),
293
- "data-focus": (0, import_dom_query2.dataAttr)(triggerState.focused),
294
- "data-disabled": (0, import_dom_query2.dataAttr)(disabled),
260
+ "data-focus": domQuery.dataAttr(triggerState.focused),
261
+ "data-disabled": domQuery.dataAttr(disabled),
295
262
  style: {
296
263
  touchAction: "none",
297
264
  userSelect: "none",
@@ -338,7 +305,7 @@ function connect(state, send, normalize) {
338
305
  onKeyDown(event) {
339
306
  if (event.defaultPrevented) return;
340
307
  if (disabled) return;
341
- const moveStep = (0, import_dom_event.getEventStep)(event) * step;
308
+ const moveStep = domEvent.getEventStep(event) * step;
342
309
  const keyMap = {
343
310
  Enter() {
344
311
  send("ENTER");
@@ -362,7 +329,7 @@ function connect(state, send, normalize) {
362
329
  send("END");
363
330
  }
364
331
  };
365
- const key = (0, import_dom_event.getEventKey)(event, state.context);
332
+ const key = domEvent.getEventKey(event, state.context);
366
333
  const exec = keyMap[key];
367
334
  if (exec) {
368
335
  exec(event);
@@ -373,15 +340,9 @@ function connect(state, send, normalize) {
373
340
  }
374
341
  };
375
342
  }
376
-
377
- // src/splitter.machine.ts
378
- var import_core = require("@zag-js/core");
379
- var import_dom_event2 = require("@zag-js/dom-event");
380
- var import_dom_query3 = require("@zag-js/dom-query");
381
- var import_utils = require("@zag-js/utils");
382
343
  function machine(userContext) {
383
- const ctx = (0, import_utils.compact)(userContext);
384
- return (0, import_core.createMachine)(
344
+ const ctx = utils.compact(userContext);
345
+ return core.createMachine(
385
346
  {
386
347
  id: "splitter",
387
348
  initial: "idle",
@@ -505,7 +466,7 @@ function machine(userContext) {
505
466
  activities: {
506
467
  trackPointerMove: (ctx2, _evt, { send }) => {
507
468
  const doc = dom.getDoc(ctx2);
508
- return (0, import_dom_event2.trackPointerMove)(doc, {
469
+ return domEvent.trackPointerMove(doc, {
509
470
  onPointerMove(info) {
510
471
  send({ type: "POINTER_MOVE", point: info.point });
511
472
  },
@@ -592,12 +553,12 @@ function machine(userContext) {
592
553
  ctx2.size[after.index].size = ctx2.initialSize[after.index].size;
593
554
  },
594
555
  focusResizeHandle(ctx2) {
595
- (0, import_dom_query3.raf)(() => {
556
+ domQuery.raf(() => {
596
557
  dom.getActiveHandleEl(ctx2)?.focus({ preventScroll: true });
597
558
  });
598
559
  },
599
560
  blurResizeHandle(ctx2) {
600
- (0, import_dom_query3.raf)(() => {
561
+ domQuery.raf(() => {
601
562
  dom.getActiveHandleEl(ctx2)?.blur();
602
563
  });
603
564
  },
@@ -619,7 +580,7 @@ function machine(userContext) {
619
580
  if (!panels || !bounds) return;
620
581
  const rootEl = dom.getRootEl(ctx2);
621
582
  if (!rootEl) return;
622
- const relativePoint = (0, import_dom_event2.getRelativePoint)(evt.point, rootEl);
583
+ const relativePoint = domEvent.getRelativePoint(evt.point, rootEl);
623
584
  const percentValue = relativePoint.getPercentValue({
624
585
  dir: ctx2.dir,
625
586
  orientation: ctx2.orientation
@@ -639,11 +600,7 @@ function machine(userContext) {
639
600
  }
640
601
  );
641
602
  }
642
-
643
- // src/splitter.props.ts
644
- var import_types = require("@zag-js/types");
645
- var import_utils2 = require("@zag-js/utils");
646
- var props = (0, import_types.createProps)()([
603
+ var props = types.createProps()([
647
604
  "dir",
648
605
  "getRootNode",
649
606
  "id",
@@ -653,21 +610,18 @@ var props = (0, import_types.createProps)()([
653
610
  "orientation",
654
611
  "size"
655
612
  ]);
656
- var splitProps = (0, import_utils2.createSplitProps)(props);
657
- var panelProps = (0, import_types.createProps)()(["id", "snapSize"]);
658
- var splitPanelProps = (0, import_utils2.createSplitProps)(panelProps);
659
- var resizeTriggerProps = (0, import_types.createProps)()(["disabled", "id", "step"]);
660
- var splitResizeTriggerProps = (0, import_utils2.createSplitProps)(resizeTriggerProps);
661
- // Annotate the CommonJS export names for ESM import in node:
662
- 0 && (module.exports = {
663
- anatomy,
664
- connect,
665
- machine,
666
- panelProps,
667
- props,
668
- resizeTriggerProps,
669
- splitPanelProps,
670
- splitProps,
671
- splitResizeTriggerProps
672
- });
673
- //# sourceMappingURL=index.js.map
613
+ var splitProps = utils.createSplitProps(props);
614
+ var panelProps = types.createProps()(["id", "snapSize"]);
615
+ var splitPanelProps = utils.createSplitProps(panelProps);
616
+ var resizeTriggerProps = types.createProps()(["disabled", "id", "step"]);
617
+ var splitResizeTriggerProps = utils.createSplitProps(resizeTriggerProps);
618
+
619
+ exports.anatomy = anatomy;
620
+ exports.connect = connect;
621
+ exports.machine = machine;
622
+ exports.panelProps = panelProps;
623
+ exports.props = props;
624
+ exports.resizeTriggerProps = resizeTriggerProps;
625
+ exports.splitPanelProps = splitPanelProps;
626
+ exports.splitProps = splitProps;
627
+ exports.splitResizeTriggerProps = splitResizeTriggerProps;
package/dist/index.mjs CHANGED
@@ -1,14 +1,13 @@
1
+ import { createAnatomy } from '@zag-js/anatomy';
2
+ import { getEventStep, getEventKey, trackPointerMove, getRelativePoint } from '@zag-js/dom-event';
3
+ import { createScope, queryAll, dataAttr, raf } from '@zag-js/dom-query';
4
+ import { createMachine } from '@zag-js/core';
5
+ import { createSplitProps, compact } from '@zag-js/utils';
6
+ import { createProps } from '@zag-js/types';
7
+
1
8
  // src/splitter.anatomy.ts
2
- import { createAnatomy } from "@zag-js/anatomy";
3
9
  var anatomy = createAnatomy("splitter").parts("root", "panel", "resizeTrigger");
4
10
  var parts = anatomy.build();
5
-
6
- // src/splitter.connect.ts
7
- import { getEventKey, getEventStep } from "@zag-js/dom-event";
8
- import { dataAttr } from "@zag-js/dom-query";
9
-
10
- // src/splitter.dom.ts
11
- import { createScope, queryAll } from "@zag-js/dom-query";
12
11
  var dom = createScope({
13
12
  getRootId: (ctx) => ctx.ids?.root ?? `splitter:${ctx.id}`,
14
13
  getResizeTriggerId: (ctx, id) => ctx.ids?.resizeTrigger?.(id) ?? `splitter:${ctx.id}:splitter:${id}`,
@@ -339,12 +338,6 @@ function connect(state, send, normalize) {
339
338
  }
340
339
  };
341
340
  }
342
-
343
- // src/splitter.machine.ts
344
- import { createMachine } from "@zag-js/core";
345
- import { getRelativePoint, trackPointerMove } from "@zag-js/dom-event";
346
- import { raf } from "@zag-js/dom-query";
347
- import { compact } from "@zag-js/utils";
348
341
  function machine(userContext) {
349
342
  const ctx = compact(userContext);
350
343
  return createMachine(
@@ -605,10 +598,6 @@ function machine(userContext) {
605
598
  }
606
599
  );
607
600
  }
608
-
609
- // src/splitter.props.ts
610
- import { createProps } from "@zag-js/types";
611
- import { createSplitProps } from "@zag-js/utils";
612
601
  var props = createProps()([
613
602
  "dir",
614
603
  "getRootNode",
@@ -624,15 +613,5 @@ var panelProps = createProps()(["id", "snapSize"]);
624
613
  var splitPanelProps = createSplitProps(panelProps);
625
614
  var resizeTriggerProps = createProps()(["disabled", "id", "step"]);
626
615
  var splitResizeTriggerProps = createSplitProps(resizeTriggerProps);
627
- export {
628
- anatomy,
629
- connect,
630
- machine,
631
- panelProps,
632
- props,
633
- resizeTriggerProps,
634
- splitPanelProps,
635
- splitProps,
636
- splitResizeTriggerProps
637
- };
638
- //# sourceMappingURL=index.mjs.map
616
+
617
+ export { anatomy, connect, machine, panelProps, props, resizeTriggerProps, splitPanelProps, splitProps, splitResizeTriggerProps };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zag-js/splitter",
3
- "version": "0.70.0",
3
+ "version": "0.71.0",
4
4
  "description": "Core logic for the splitter widget implemented as a state machine",
5
5
  "keywords": [
6
6
  "js",
@@ -18,8 +18,7 @@
18
18
  "repository": "https://github.com/chakra-ui/zag/tree/main/packages/splitter",
19
19
  "sideEffects": false,
20
20
  "files": [
21
- "dist",
22
- "src"
21
+ "dist"
23
22
  ],
24
23
  "publishConfig": {
25
24
  "access": "public"
@@ -28,13 +27,13 @@
28
27
  "url": "https://github.com/chakra-ui/zag/issues"
29
28
  },
30
29
  "dependencies": {
31
- "@zag-js/anatomy": "0.70.0",
32
- "@zag-js/core": "0.70.0",
33
- "@zag-js/types": "0.70.0",
34
- "@zag-js/dom-query": "0.70.0",
35
- "@zag-js/dom-event": "0.70.0",
36
- "@zag-js/number-utils": "0.70.0",
37
- "@zag-js/utils": "0.70.0"
30
+ "@zag-js/anatomy": "0.71.0",
31
+ "@zag-js/core": "0.71.0",
32
+ "@zag-js/types": "0.71.0",
33
+ "@zag-js/dom-query": "0.71.0",
34
+ "@zag-js/dom-event": "0.71.0",
35
+ "@zag-js/number-utils": "0.71.0",
36
+ "@zag-js/utils": "0.71.0"
38
37
  },
39
38
  "devDependencies": {
40
39
  "clean-package": "2.2.0"
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts","../src/splitter.anatomy.ts","../src/splitter.connect.ts","../src/splitter.dom.ts","../src/splitter.utils.ts","../src/splitter.machine.ts","../src/splitter.props.ts"],"sourcesContent":["export { anatomy } from \"./splitter.anatomy\"\nexport { connect } from \"./splitter.connect\"\nexport { machine } from \"./splitter.machine\"\nexport * from \"./splitter.props\"\nexport type {\n MachineApi as Api,\n UserDefinedContext as Context,\n MachineState,\n PanelProps,\n PanelSizeData,\n ResizeTriggerProps,\n Service,\n SizeChangeDetails,\n} from \"./splitter.types\"\n","import { createAnatomy } from \"@zag-js/anatomy\"\n\nexport const anatomy = createAnatomy(\"splitter\").parts(\"root\", \"panel\", \"resizeTrigger\")\n\nexport const parts = anatomy.build()\n","import { getEventKey, getEventStep, type EventKeyMap } from \"@zag-js/dom-event\"\nimport { dataAttr } from \"@zag-js/dom-query\"\nimport type { NormalizeProps, PropTypes } from \"@zag-js/types\"\nimport { parts } from \"./splitter.anatomy\"\nimport { dom } from \"./splitter.dom\"\nimport type { MachineApi, ResizeTriggerProps, ResizeTriggerState, Send, State } from \"./splitter.types\"\nimport { getHandleBounds } from \"./splitter.utils\"\n\nexport function connect<T extends PropTypes>(state: State, send: Send, normalize: NormalizeProps<T>): MachineApi<T> {\n const horizontal = state.context.isHorizontal\n const focused = state.hasTag(\"focus\")\n const dragging = state.matches(\"dragging\")\n const panels = state.context.panels\n\n function getResizeTriggerState(props: ResizeTriggerProps): ResizeTriggerState {\n const { id, disabled } = props\n const ids = id.split(\":\")\n const panelIds = ids.map((id) => dom.getPanelId(state.context, id))\n const panels = getHandleBounds(state.context, id)\n\n return {\n disabled: !!disabled,\n focused: state.context.activeResizeId === id && focused,\n panelIds,\n min: panels?.min,\n max: panels?.max,\n value: 0,\n }\n }\n\n return {\n focused: focused,\n dragging: dragging,\n getResizeTriggerState,\n bounds: getHandleBounds(state.context),\n setToMinSize(id) {\n const panel = panels.find((panel) => panel.id === id)\n send({ type: \"SET_PANEL_SIZE\", id, size: panel?.minSize, src: \"setToMinSize\" })\n },\n setToMaxSize(id) {\n const panel = panels.find((panel) => panel.id === id)\n send({ type: \"SET_PANEL_SIZE\", id, size: panel?.maxSize, src: \"setToMaxSize\" })\n },\n setSize(id, size) {\n send({ type: \"SET_PANEL_SIZE\", id, size })\n },\n\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n \"data-orientation\": state.context.orientation,\n id: dom.getRootId(state.context),\n dir: state.context.dir,\n style: {\n display: \"flex\",\n flexDirection: horizontal ? \"row\" : \"column\",\n height: \"100%\",\n width: \"100%\",\n overflow: \"hidden\",\n },\n })\n },\n\n getPanelProps(props) {\n const { id } = props\n return normalize.element({\n ...parts.panel.attrs,\n \"data-orientation\": state.context.orientation,\n dir: state.context.dir,\n id: dom.getPanelId(state.context, id),\n \"data-ownedby\": dom.getRootId(state.context),\n style: dom.getPanelStyle(state.context, id),\n })\n },\n\n getResizeTriggerProps(props) {\n const { id, disabled, step = 1 } = props\n const triggerState = getResizeTriggerState(props)\n\n return normalize.element({\n ...parts.resizeTrigger.attrs,\n dir: state.context.dir,\n id: dom.getResizeTriggerId(state.context, id),\n role: \"separator\",\n \"data-ownedby\": dom.getRootId(state.context),\n tabIndex: disabled ? undefined : 0,\n \"aria-valuenow\": triggerState.value,\n \"aria-valuemin\": triggerState.min,\n \"aria-valuemax\": triggerState.max,\n \"data-orientation\": state.context.orientation,\n \"aria-orientation\": state.context.orientation,\n \"aria-controls\": triggerState.panelIds.join(\" \"),\n \"data-focus\": dataAttr(triggerState.focused),\n \"data-disabled\": dataAttr(disabled),\n style: {\n touchAction: \"none\",\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n flex: \"0 0 auto\",\n pointerEvents: dragging && !triggerState.focused ? \"none\" : undefined,\n cursor: horizontal ? \"col-resize\" : \"row-resize\",\n [horizontal ? \"minHeight\" : \"minWidth\"]: \"0\",\n },\n onPointerDown(event) {\n if (disabled) {\n event.preventDefault()\n return\n }\n send({ type: \"POINTER_DOWN\", id })\n event.currentTarget.setPointerCapture(event.pointerId)\n event.preventDefault()\n event.stopPropagation()\n },\n onPointerUp(event) {\n if (disabled) return\n if (event.currentTarget.hasPointerCapture(event.pointerId)) {\n event.currentTarget.releasePointerCapture(event.pointerId)\n }\n },\n onPointerOver() {\n if (disabled) return\n send({ type: \"POINTER_OVER\", id })\n },\n onPointerLeave() {\n if (disabled) return\n send({ type: \"POINTER_LEAVE\", id })\n },\n onBlur() {\n send(\"BLUR\")\n },\n onFocus() {\n send({ type: \"FOCUS\", id })\n },\n onDoubleClick() {\n if (disabled) return\n send({ type: \"DOUBLE_CLICK\", id })\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return\n if (disabled) return\n\n const moveStep = getEventStep(event) * step\n\n const keyMap: EventKeyMap = {\n Enter() {\n send(\"ENTER\")\n },\n ArrowUp() {\n send({ type: \"ARROW_UP\", step: moveStep })\n },\n ArrowDown() {\n send({ type: \"ARROW_DOWN\", step: moveStep })\n },\n ArrowLeft() {\n send({ type: \"ARROW_LEFT\", step: moveStep })\n },\n ArrowRight() {\n send({ type: \"ARROW_RIGHT\", step: moveStep })\n },\n Home() {\n send(\"HOME\")\n },\n End() {\n send(\"END\")\n },\n }\n\n const key = getEventKey(event, state.context)\n const exec = keyMap[key]\n\n if (exec) {\n exec(event)\n event.preventDefault()\n }\n },\n })\n },\n }\n}\n","import { createScope, queryAll } from \"@zag-js/dom-query\"\nimport type { JSX, Style } from \"@zag-js/types\"\nimport type { MachineContext as Ctx, PanelId } from \"./splitter.types\"\n\nexport const dom = createScope({\n getRootId: (ctx: Ctx) => ctx.ids?.root ?? `splitter:${ctx.id}`,\n getResizeTriggerId: (ctx: Ctx, id: string) => ctx.ids?.resizeTrigger?.(id) ?? `splitter:${ctx.id}:splitter:${id}`,\n getLabelId: (ctx: Ctx) => ctx.ids?.label ?? `splitter:${ctx.id}:label`,\n getPanelId: (ctx: Ctx, id: string | number) => ctx.ids?.panel?.(id) ?? `splitter:${ctx.id}:panel:${id}`,\n getGlobalCursorId: (ctx: Ctx) => `splitter:${ctx.id}:global-cursor`,\n\n getRootEl: (ctx: Ctx) => dom.getById(ctx, dom.getRootId(ctx)),\n getResizeTriggerEl: (ctx: Ctx, id: string) => dom.getById(ctx, dom.getResizeTriggerId(ctx, id)),\n getPanelEl: (ctx: Ctx, id: string | number) => dom.getById(ctx, dom.getPanelId(ctx, id)),\n\n getCursor(ctx: Ctx) {\n const x = ctx.isHorizontal\n let cursor: Style[\"cursor\"] = x ? \"col-resize\" : \"row-resize\"\n if (ctx.activeResizeState.isAtMin) cursor = x ? \"e-resize\" : \"s-resize\"\n if (ctx.activeResizeState.isAtMax) cursor = x ? \"w-resize\" : \"n-resize\"\n return cursor\n },\n\n getPanelStyle(ctx: Ctx, id: PanelId): JSX.CSSProperties {\n const flexGrow = ctx.panels.find((panel) => panel.id === id)?.size ?? \"0\"\n return {\n flexBasis: 0,\n flexGrow,\n flexShrink: 1,\n overflow: \"hidden\",\n }\n },\n\n getActiveHandleEl(ctx: Ctx) {\n const activeId = ctx.activeResizeId\n if (activeId == null) return\n return dom.getById(ctx, dom.getResizeTriggerId(ctx, activeId))\n },\n\n getResizeTriggerEls(ctx: Ctx) {\n const ownerId = CSS.escape(dom.getRootId(ctx))\n return queryAll(dom.getRootEl(ctx), `[role=separator][data-ownedby='${ownerId}']`)\n },\n\n setupGlobalCursor(ctx: Ctx) {\n const styleEl = dom.getById(ctx, dom.getGlobalCursorId(ctx))\n const textContent = `* { cursor: ${dom.getCursor(ctx)} !important; }`\n if (styleEl) {\n styleEl.textContent = textContent\n } else {\n const style = dom.getDoc(ctx).createElement(\"style\")\n style.id = dom.getGlobalCursorId(ctx)\n style.textContent = textContent\n dom.getDoc(ctx).head.appendChild(style)\n }\n },\n\n removeGlobalCursor(ctx: Ctx) {\n dom.getById(ctx, dom.getGlobalCursorId(ctx))?.remove()\n },\n})\n","import type { MachineContext as Ctx, NormalizedPanelData } from \"./splitter.types\"\n\nfunction validateSize(key: string, size: number) {\n if (Math.floor(size) > 100) {\n throw new Error(`Total ${key} of panels cannot be greater than 100`)\n }\n}\n\nexport function getNormalizedPanels(ctx: Ctx): NormalizedPanelData {\n let numOfPanelsWithoutSize = 0\n let totalSize = 0\n let totalMinSize = 0\n\n const panels = ctx.size.map((panel) => {\n const minSize = panel.minSize ?? 0\n const maxSize = panel.maxSize ?? 100\n\n totalMinSize += minSize\n\n if (panel.size == null) {\n numOfPanelsWithoutSize++\n } else {\n totalSize += panel.size\n }\n\n return {\n ...panel,\n minSize,\n maxSize,\n }\n })\n\n validateSize(\"minSize\", totalMinSize)\n validateSize(\"size\", totalSize)\n\n let end = 0\n let remainingSize = 0\n\n const result = panels.map((panel) => {\n let start = end\n\n if (panel.size != null) {\n end += panel.size\n remainingSize = panel.size - panel.minSize\n return {\n ...panel,\n start,\n end,\n remainingSize,\n }\n }\n\n const size = (100 - totalSize) / numOfPanelsWithoutSize\n end += size\n remainingSize = size - panel.minSize\n\n return { ...panel, size, start, end, remainingSize }\n })\n\n return result as NormalizedPanelData\n}\n\nexport function getHandlePanels(ctx: Ctx, id = ctx.activeResizeId) {\n const [beforeId, afterId] = id?.split(\":\") ?? []\n if (!beforeId || !afterId) return\n\n const beforeIndex = ctx.previousPanels.findIndex((panel) => panel.id === beforeId)\n const afterIndex = ctx.previousPanels.findIndex((panel) => panel.id === afterId)\n if (beforeIndex === -1 || afterIndex === -1) return\n\n const before = ctx.previousPanels[beforeIndex]\n const after = ctx.previousPanels[afterIndex]\n\n return {\n before: {\n ...before,\n index: beforeIndex,\n },\n after: {\n ...after,\n index: afterIndex,\n },\n }\n}\n\nexport function getHandleBounds(ctx: Ctx, id = ctx.activeResizeId) {\n const panels = getHandlePanels(ctx, id)\n if (!panels) return\n\n const { before, after } = panels\n\n return {\n min: Math.max(before.start + before.minSize, after.end - after.maxSize),\n max: Math.min(after.end - after.minSize, before.maxSize + before.start),\n }\n}\n\nexport function getPanelBounds(ctx: Ctx, id?: string | null) {\n const bounds = getHandleBounds(ctx, id)\n const panels = getHandlePanels(ctx, id)\n\n if (!bounds || !panels) return\n const { before, after } = panels\n\n const beforeMin = Math.abs(before.start - bounds.min)\n const afterMin = after.size + (before.size - beforeMin)\n\n const beforeMax = Math.abs(before.start - bounds.max)\n const afterMax = after.size - (beforeMax - before.size)\n\n return {\n before: {\n index: before.index,\n min: beforeMin,\n max: beforeMax,\n isAtMin: beforeMin === before.size,\n isAtMax: beforeMax === before.size,\n up(step: number) {\n return Math.min(before.size + step, beforeMax)\n },\n down(step: number) {\n return Math.max(before.size - step, beforeMin)\n },\n },\n after: {\n index: after.index,\n min: afterMin,\n max: afterMax,\n isAtMin: afterMin === after.size,\n isAtMax: afterMax === after.size,\n up(step: number) {\n return Math.min(after.size + step, afterMin)\n },\n down(step: number) {\n return Math.max(after.size - step, afterMax)\n },\n },\n }\n}\n\nexport function clamp(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max)\n}\n","import { createMachine } from \"@zag-js/core\"\nimport { getRelativePoint, trackPointerMove } from \"@zag-js/dom-event\"\nimport { raf } from \"@zag-js/dom-query\"\nimport { compact } from \"@zag-js/utils\"\nimport { dom } from \"./splitter.dom\"\nimport type { MachineContext, MachineState, UserDefinedContext } from \"./splitter.types\"\nimport { clamp, getHandleBounds, getHandlePanels, getNormalizedPanels, getPanelBounds } from \"./splitter.utils\"\n\nexport function machine(userContext: UserDefinedContext) {\n const ctx = compact(userContext)\n return createMachine<MachineContext, MachineState>(\n {\n id: \"splitter\",\n initial: \"idle\",\n context: {\n orientation: \"horizontal\",\n activeResizeId: null,\n previousPanels: [],\n size: [],\n initialSize: [],\n activeResizeState: {\n isAtMin: false,\n isAtMax: false,\n },\n ...ctx,\n },\n\n created: [\"setPreviousPanels\", \"setInitialSize\"],\n\n watch: {\n size: [\"setActiveResizeState\"],\n },\n\n computed: {\n isHorizontal: (ctx) => ctx.orientation === \"horizontal\",\n panels: (ctx) => getNormalizedPanels(ctx),\n },\n\n on: {\n SET_PANEL_SIZE: {\n actions: \"setPanelSize\",\n },\n },\n states: {\n idle: {\n entry: [\"clearActiveHandleId\"],\n on: {\n POINTER_OVER: {\n target: \"hover:temp\",\n actions: [\"setActiveHandleId\"],\n },\n FOCUS: {\n target: \"focused\",\n actions: [\"setActiveHandleId\"],\n },\n DOUBLE_CLICK: {\n actions: [\"resetStartPanel\", \"setPreviousPanels\"],\n },\n },\n },\n\n \"hover:temp\": {\n after: {\n HOVER_DELAY: \"hover\",\n },\n on: {\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setActiveHandleId\"],\n },\n POINTER_LEAVE: \"idle\",\n },\n },\n\n hover: {\n tags: [\"focus\"],\n on: {\n POINTER_DOWN: \"dragging\",\n POINTER_LEAVE: \"idle\",\n },\n },\n\n focused: {\n tags: [\"focus\"],\n on: {\n BLUR: \"idle\",\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setActiveHandleId\"],\n },\n ARROW_LEFT: {\n guard: \"isHorizontal\",\n actions: [\"shrinkStartPanel\", \"setPreviousPanels\"],\n },\n ARROW_RIGHT: {\n guard: \"isHorizontal\",\n actions: [\"expandStartPanel\", \"setPreviousPanels\"],\n },\n ARROW_UP: {\n guard: \"isVertical\",\n actions: [\"shrinkStartPanel\", \"setPreviousPanels\"],\n },\n ARROW_DOWN: {\n guard: \"isVertical\",\n actions: [\"expandStartPanel\", \"setPreviousPanels\"],\n },\n ENTER: [\n {\n guard: \"isStartPanelAtMax\",\n actions: [\"setStartPanelToMin\", \"setPreviousPanels\"],\n },\n { actions: [\"setStartPanelToMax\", \"setPreviousPanels\"] },\n ],\n HOME: {\n actions: [\"setStartPanelToMin\", \"setPreviousPanels\"],\n },\n END: {\n actions: [\"setStartPanelToMax\", \"setPreviousPanels\"],\n },\n },\n },\n\n dragging: {\n tags: [\"focus\"],\n entry: \"focusResizeHandle\",\n activities: [\"trackPointerMove\"],\n on: {\n POINTER_MOVE: {\n actions: [\"setPointerValue\", \"setGlobalCursor\", \"invokeOnResize\"],\n },\n POINTER_UP: {\n target: \"focused\",\n actions: [\"setPreviousPanels\", \"clearGlobalCursor\", \"blurResizeHandle\", \"invokeOnResizeEnd\"],\n },\n },\n },\n },\n },\n {\n activities: {\n trackPointerMove: (ctx, _evt, { send }) => {\n const doc = dom.getDoc(ctx)\n return trackPointerMove(doc, {\n onPointerMove(info) {\n send({ type: \"POINTER_MOVE\", point: info.point })\n },\n onPointerUp() {\n send(\"POINTER_UP\")\n },\n })\n },\n },\n guards: {\n isStartPanelAtMin: (ctx) => ctx.activeResizeState.isAtMin,\n isStartPanelAtMax: (ctx) => ctx.activeResizeState.isAtMax,\n isHorizontal: (ctx) => ctx.isHorizontal,\n isVertical: (ctx) => !ctx.isHorizontal,\n },\n delays: {\n HOVER_DELAY: 250,\n },\n actions: {\n setGlobalCursor(ctx) {\n dom.setupGlobalCursor(ctx)\n },\n clearGlobalCursor(ctx) {\n dom.removeGlobalCursor(ctx)\n },\n invokeOnResize(ctx) {\n ctx.onSizeChange?.({ size: Array.from(ctx.size), activeHandleId: ctx.activeResizeId })\n },\n invokeOnResizeEnd(ctx) {\n ctx.onSizeChangeEnd?.({ size: Array.from(ctx.size), activeHandleId: ctx.activeResizeId })\n },\n setActiveHandleId(ctx, evt) {\n ctx.activeResizeId = evt.id\n },\n clearActiveHandleId(ctx) {\n ctx.activeResizeId = null\n },\n setInitialSize(ctx) {\n ctx.initialSize = ctx.panels.slice().map((panel) => ({\n id: panel.id,\n size: panel.size,\n }))\n },\n setPanelSize(ctx, evt) {\n const { id, size } = evt\n ctx.size = ctx.size.map((panel) => {\n const panelSize = clamp(size, panel.minSize ?? 0, panel.maxSize ?? 100)\n return panel.id === id ? { ...panel, size: panelSize } : panel\n })\n },\n setStartPanelToMin(ctx) {\n const bounds = getPanelBounds(ctx)\n if (!bounds) return\n const { before, after } = bounds\n ctx.size[before.index].size = before.min\n ctx.size[after.index].size = after.min\n },\n setStartPanelToMax(ctx) {\n const bounds = getPanelBounds(ctx)\n if (!bounds) return\n const { before, after } = bounds\n ctx.size[before.index].size = before.max\n ctx.size[after.index].size = after.max\n },\n expandStartPanel(ctx, evt) {\n const bounds = getPanelBounds(ctx)\n if (!bounds) return\n const { before, after } = bounds\n ctx.size[before.index].size = before.up(evt.step)\n ctx.size[after.index].size = after.down(evt.step)\n },\n shrinkStartPanel(ctx, evt) {\n const bounds = getPanelBounds(ctx)\n if (!bounds) return\n const { before, after } = bounds\n ctx.size[before.index].size = before.down(evt.step)\n ctx.size[after.index].size = after.up(evt.step)\n },\n resetStartPanel(ctx, evt) {\n const bounds = getPanelBounds(ctx, evt.id)\n if (!bounds) return\n const { before, after } = bounds\n ctx.size[before.index].size = ctx.initialSize[before.index].size\n ctx.size[after.index].size = ctx.initialSize[after.index].size\n },\n focusResizeHandle(ctx) {\n raf(() => {\n dom.getActiveHandleEl(ctx)?.focus({ preventScroll: true })\n })\n },\n blurResizeHandle(ctx) {\n raf(() => {\n dom.getActiveHandleEl(ctx)?.blur()\n })\n },\n setPreviousPanels(ctx) {\n ctx.previousPanels = ctx.panels.slice()\n },\n setActiveResizeState(ctx) {\n const panels = getPanelBounds(ctx)\n if (!panels) return\n const { before } = panels\n ctx.activeResizeState = {\n isAtMin: before.isAtMin,\n isAtMax: before.isAtMax,\n }\n },\n setPointerValue(ctx, evt) {\n const panels = getHandlePanels(ctx)\n const bounds = getHandleBounds(ctx)\n\n if (!panels || !bounds) return\n\n const rootEl = dom.getRootEl(ctx)\n if (!rootEl) return\n\n const relativePoint = getRelativePoint(evt.point, rootEl)\n const percentValue = relativePoint.getPercentValue({\n dir: ctx.dir,\n orientation: ctx.orientation,\n })\n\n let pointValue = percentValue * 100\n\n // update active resize state here because we use `previousPanels` in the calculations\n ctx.activeResizeState = {\n isAtMin: pointValue < bounds.min,\n isAtMax: pointValue > bounds.max,\n }\n\n pointValue = clamp(pointValue, bounds.min, bounds.max)\n\n const { before, after } = panels\n\n const offset = pointValue - before.end\n ctx.size[before.index].size = before.size + offset\n ctx.size[after.index].size = after.size - offset\n },\n },\n },\n )\n}\n","import { createProps } from \"@zag-js/types\"\nimport { createSplitProps } from \"@zag-js/utils\"\nimport type { PanelProps, ResizeTriggerProps, UserDefinedContext } from \"./splitter.types\"\n\nexport const props = createProps<UserDefinedContext>()([\n \"dir\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"onSizeChange\",\n \"onSizeChangeEnd\",\n \"orientation\",\n \"size\",\n])\n\nexport const splitProps = createSplitProps<Partial<UserDefinedContext>>(props)\n\nexport const panelProps = createProps<PanelProps>()([\"id\", \"snapSize\"])\nexport const splitPanelProps = createSplitProps<PanelProps>(panelProps)\n\nexport const resizeTriggerProps = createProps<ResizeTriggerProps>()([\"disabled\", \"id\", \"step\"])\nexport const splitResizeTriggerProps = createSplitProps<ResizeTriggerProps>(resizeTriggerProps)\n"],"mappings":"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","names":["import_dom_query","props","id","panels","panel","import_dom_event","import_dom_query","ctx","import_utils"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/splitter.anatomy.ts","../src/splitter.connect.ts","../src/splitter.dom.ts","../src/splitter.utils.ts","../src/splitter.machine.ts","../src/splitter.props.ts"],"sourcesContent":["import { createAnatomy } from \"@zag-js/anatomy\"\n\nexport const anatomy = createAnatomy(\"splitter\").parts(\"root\", \"panel\", \"resizeTrigger\")\n\nexport const parts = anatomy.build()\n","import { getEventKey, getEventStep, type EventKeyMap } from \"@zag-js/dom-event\"\nimport { dataAttr } from \"@zag-js/dom-query\"\nimport type { NormalizeProps, PropTypes } from \"@zag-js/types\"\nimport { parts } from \"./splitter.anatomy\"\nimport { dom } from \"./splitter.dom\"\nimport type { MachineApi, ResizeTriggerProps, ResizeTriggerState, Send, State } from \"./splitter.types\"\nimport { getHandleBounds } from \"./splitter.utils\"\n\nexport function connect<T extends PropTypes>(state: State, send: Send, normalize: NormalizeProps<T>): MachineApi<T> {\n const horizontal = state.context.isHorizontal\n const focused = state.hasTag(\"focus\")\n const dragging = state.matches(\"dragging\")\n const panels = state.context.panels\n\n function getResizeTriggerState(props: ResizeTriggerProps): ResizeTriggerState {\n const { id, disabled } = props\n const ids = id.split(\":\")\n const panelIds = ids.map((id) => dom.getPanelId(state.context, id))\n const panels = getHandleBounds(state.context, id)\n\n return {\n disabled: !!disabled,\n focused: state.context.activeResizeId === id && focused,\n panelIds,\n min: panels?.min,\n max: panels?.max,\n value: 0,\n }\n }\n\n return {\n focused: focused,\n dragging: dragging,\n getResizeTriggerState,\n bounds: getHandleBounds(state.context),\n setToMinSize(id) {\n const panel = panels.find((panel) => panel.id === id)\n send({ type: \"SET_PANEL_SIZE\", id, size: panel?.minSize, src: \"setToMinSize\" })\n },\n setToMaxSize(id) {\n const panel = panels.find((panel) => panel.id === id)\n send({ type: \"SET_PANEL_SIZE\", id, size: panel?.maxSize, src: \"setToMaxSize\" })\n },\n setSize(id, size) {\n send({ type: \"SET_PANEL_SIZE\", id, size })\n },\n\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n \"data-orientation\": state.context.orientation,\n id: dom.getRootId(state.context),\n dir: state.context.dir,\n style: {\n display: \"flex\",\n flexDirection: horizontal ? \"row\" : \"column\",\n height: \"100%\",\n width: \"100%\",\n overflow: \"hidden\",\n },\n })\n },\n\n getPanelProps(props) {\n const { id } = props\n return normalize.element({\n ...parts.panel.attrs,\n \"data-orientation\": state.context.orientation,\n dir: state.context.dir,\n id: dom.getPanelId(state.context, id),\n \"data-ownedby\": dom.getRootId(state.context),\n style: dom.getPanelStyle(state.context, id),\n })\n },\n\n getResizeTriggerProps(props) {\n const { id, disabled, step = 1 } = props\n const triggerState = getResizeTriggerState(props)\n\n return normalize.element({\n ...parts.resizeTrigger.attrs,\n dir: state.context.dir,\n id: dom.getResizeTriggerId(state.context, id),\n role: \"separator\",\n \"data-ownedby\": dom.getRootId(state.context),\n tabIndex: disabled ? undefined : 0,\n \"aria-valuenow\": triggerState.value,\n \"aria-valuemin\": triggerState.min,\n \"aria-valuemax\": triggerState.max,\n \"data-orientation\": state.context.orientation,\n \"aria-orientation\": state.context.orientation,\n \"aria-controls\": triggerState.panelIds.join(\" \"),\n \"data-focus\": dataAttr(triggerState.focused),\n \"data-disabled\": dataAttr(disabled),\n style: {\n touchAction: \"none\",\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n flex: \"0 0 auto\",\n pointerEvents: dragging && !triggerState.focused ? \"none\" : undefined,\n cursor: horizontal ? \"col-resize\" : \"row-resize\",\n [horizontal ? \"minHeight\" : \"minWidth\"]: \"0\",\n },\n onPointerDown(event) {\n if (disabled) {\n event.preventDefault()\n return\n }\n send({ type: \"POINTER_DOWN\", id })\n event.currentTarget.setPointerCapture(event.pointerId)\n event.preventDefault()\n event.stopPropagation()\n },\n onPointerUp(event) {\n if (disabled) return\n if (event.currentTarget.hasPointerCapture(event.pointerId)) {\n event.currentTarget.releasePointerCapture(event.pointerId)\n }\n },\n onPointerOver() {\n if (disabled) return\n send({ type: \"POINTER_OVER\", id })\n },\n onPointerLeave() {\n if (disabled) return\n send({ type: \"POINTER_LEAVE\", id })\n },\n onBlur() {\n send(\"BLUR\")\n },\n onFocus() {\n send({ type: \"FOCUS\", id })\n },\n onDoubleClick() {\n if (disabled) return\n send({ type: \"DOUBLE_CLICK\", id })\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return\n if (disabled) return\n\n const moveStep = getEventStep(event) * step\n\n const keyMap: EventKeyMap = {\n Enter() {\n send(\"ENTER\")\n },\n ArrowUp() {\n send({ type: \"ARROW_UP\", step: moveStep })\n },\n ArrowDown() {\n send({ type: \"ARROW_DOWN\", step: moveStep })\n },\n ArrowLeft() {\n send({ type: \"ARROW_LEFT\", step: moveStep })\n },\n ArrowRight() {\n send({ type: \"ARROW_RIGHT\", step: moveStep })\n },\n Home() {\n send(\"HOME\")\n },\n End() {\n send(\"END\")\n },\n }\n\n const key = getEventKey(event, state.context)\n const exec = keyMap[key]\n\n if (exec) {\n exec(event)\n event.preventDefault()\n }\n },\n })\n },\n }\n}\n","import { createScope, queryAll } from \"@zag-js/dom-query\"\nimport type { JSX, Style } from \"@zag-js/types\"\nimport type { MachineContext as Ctx, PanelId } from \"./splitter.types\"\n\nexport const dom = createScope({\n getRootId: (ctx: Ctx) => ctx.ids?.root ?? `splitter:${ctx.id}`,\n getResizeTriggerId: (ctx: Ctx, id: string) => ctx.ids?.resizeTrigger?.(id) ?? `splitter:${ctx.id}:splitter:${id}`,\n getLabelId: (ctx: Ctx) => ctx.ids?.label ?? `splitter:${ctx.id}:label`,\n getPanelId: (ctx: Ctx, id: string | number) => ctx.ids?.panel?.(id) ?? `splitter:${ctx.id}:panel:${id}`,\n getGlobalCursorId: (ctx: Ctx) => `splitter:${ctx.id}:global-cursor`,\n\n getRootEl: (ctx: Ctx) => dom.getById(ctx, dom.getRootId(ctx)),\n getResizeTriggerEl: (ctx: Ctx, id: string) => dom.getById(ctx, dom.getResizeTriggerId(ctx, id)),\n getPanelEl: (ctx: Ctx, id: string | number) => dom.getById(ctx, dom.getPanelId(ctx, id)),\n\n getCursor(ctx: Ctx) {\n const x = ctx.isHorizontal\n let cursor: Style[\"cursor\"] = x ? \"col-resize\" : \"row-resize\"\n if (ctx.activeResizeState.isAtMin) cursor = x ? \"e-resize\" : \"s-resize\"\n if (ctx.activeResizeState.isAtMax) cursor = x ? \"w-resize\" : \"n-resize\"\n return cursor\n },\n\n getPanelStyle(ctx: Ctx, id: PanelId): JSX.CSSProperties {\n const flexGrow = ctx.panels.find((panel) => panel.id === id)?.size ?? \"0\"\n return {\n flexBasis: 0,\n flexGrow,\n flexShrink: 1,\n overflow: \"hidden\",\n }\n },\n\n getActiveHandleEl(ctx: Ctx) {\n const activeId = ctx.activeResizeId\n if (activeId == null) return\n return dom.getById(ctx, dom.getResizeTriggerId(ctx, activeId))\n },\n\n getResizeTriggerEls(ctx: Ctx) {\n const ownerId = CSS.escape(dom.getRootId(ctx))\n return queryAll(dom.getRootEl(ctx), `[role=separator][data-ownedby='${ownerId}']`)\n },\n\n setupGlobalCursor(ctx: Ctx) {\n const styleEl = dom.getById(ctx, dom.getGlobalCursorId(ctx))\n const textContent = `* { cursor: ${dom.getCursor(ctx)} !important; }`\n if (styleEl) {\n styleEl.textContent = textContent\n } else {\n const style = dom.getDoc(ctx).createElement(\"style\")\n style.id = dom.getGlobalCursorId(ctx)\n style.textContent = textContent\n dom.getDoc(ctx).head.appendChild(style)\n }\n },\n\n removeGlobalCursor(ctx: Ctx) {\n dom.getById(ctx, dom.getGlobalCursorId(ctx))?.remove()\n },\n})\n","import type { MachineContext as Ctx, NormalizedPanelData } from \"./splitter.types\"\n\nfunction validateSize(key: string, size: number) {\n if (Math.floor(size) > 100) {\n throw new Error(`Total ${key} of panels cannot be greater than 100`)\n }\n}\n\nexport function getNormalizedPanels(ctx: Ctx): NormalizedPanelData {\n let numOfPanelsWithoutSize = 0\n let totalSize = 0\n let totalMinSize = 0\n\n const panels = ctx.size.map((panel) => {\n const minSize = panel.minSize ?? 0\n const maxSize = panel.maxSize ?? 100\n\n totalMinSize += minSize\n\n if (panel.size == null) {\n numOfPanelsWithoutSize++\n } else {\n totalSize += panel.size\n }\n\n return {\n ...panel,\n minSize,\n maxSize,\n }\n })\n\n validateSize(\"minSize\", totalMinSize)\n validateSize(\"size\", totalSize)\n\n let end = 0\n let remainingSize = 0\n\n const result = panels.map((panel) => {\n let start = end\n\n if (panel.size != null) {\n end += panel.size\n remainingSize = panel.size - panel.minSize\n return {\n ...panel,\n start,\n end,\n remainingSize,\n }\n }\n\n const size = (100 - totalSize) / numOfPanelsWithoutSize\n end += size\n remainingSize = size - panel.minSize\n\n return { ...panel, size, start, end, remainingSize }\n })\n\n return result as NormalizedPanelData\n}\n\nexport function getHandlePanels(ctx: Ctx, id = ctx.activeResizeId) {\n const [beforeId, afterId] = id?.split(\":\") ?? []\n if (!beforeId || !afterId) return\n\n const beforeIndex = ctx.previousPanels.findIndex((panel) => panel.id === beforeId)\n const afterIndex = ctx.previousPanels.findIndex((panel) => panel.id === afterId)\n if (beforeIndex === -1 || afterIndex === -1) return\n\n const before = ctx.previousPanels[beforeIndex]\n const after = ctx.previousPanels[afterIndex]\n\n return {\n before: {\n ...before,\n index: beforeIndex,\n },\n after: {\n ...after,\n index: afterIndex,\n },\n }\n}\n\nexport function getHandleBounds(ctx: Ctx, id = ctx.activeResizeId) {\n const panels = getHandlePanels(ctx, id)\n if (!panels) return\n\n const { before, after } = panels\n\n return {\n min: Math.max(before.start + before.minSize, after.end - after.maxSize),\n max: Math.min(after.end - after.minSize, before.maxSize + before.start),\n }\n}\n\nexport function getPanelBounds(ctx: Ctx, id?: string | null) {\n const bounds = getHandleBounds(ctx, id)\n const panels = getHandlePanels(ctx, id)\n\n if (!bounds || !panels) return\n const { before, after } = panels\n\n const beforeMin = Math.abs(before.start - bounds.min)\n const afterMin = after.size + (before.size - beforeMin)\n\n const beforeMax = Math.abs(before.start - bounds.max)\n const afterMax = after.size - (beforeMax - before.size)\n\n return {\n before: {\n index: before.index,\n min: beforeMin,\n max: beforeMax,\n isAtMin: beforeMin === before.size,\n isAtMax: beforeMax === before.size,\n up(step: number) {\n return Math.min(before.size + step, beforeMax)\n },\n down(step: number) {\n return Math.max(before.size - step, beforeMin)\n },\n },\n after: {\n index: after.index,\n min: afterMin,\n max: afterMax,\n isAtMin: afterMin === after.size,\n isAtMax: afterMax === after.size,\n up(step: number) {\n return Math.min(after.size + step, afterMin)\n },\n down(step: number) {\n return Math.max(after.size - step, afterMax)\n },\n },\n }\n}\n\nexport function clamp(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max)\n}\n","import { createMachine } from \"@zag-js/core\"\nimport { getRelativePoint, trackPointerMove } from \"@zag-js/dom-event\"\nimport { raf } from \"@zag-js/dom-query\"\nimport { compact } from \"@zag-js/utils\"\nimport { dom } from \"./splitter.dom\"\nimport type { MachineContext, MachineState, UserDefinedContext } from \"./splitter.types\"\nimport { clamp, getHandleBounds, getHandlePanels, getNormalizedPanels, getPanelBounds } from \"./splitter.utils\"\n\nexport function machine(userContext: UserDefinedContext) {\n const ctx = compact(userContext)\n return createMachine<MachineContext, MachineState>(\n {\n id: \"splitter\",\n initial: \"idle\",\n context: {\n orientation: \"horizontal\",\n activeResizeId: null,\n previousPanels: [],\n size: [],\n initialSize: [],\n activeResizeState: {\n isAtMin: false,\n isAtMax: false,\n },\n ...ctx,\n },\n\n created: [\"setPreviousPanels\", \"setInitialSize\"],\n\n watch: {\n size: [\"setActiveResizeState\"],\n },\n\n computed: {\n isHorizontal: (ctx) => ctx.orientation === \"horizontal\",\n panels: (ctx) => getNormalizedPanels(ctx),\n },\n\n on: {\n SET_PANEL_SIZE: {\n actions: \"setPanelSize\",\n },\n },\n states: {\n idle: {\n entry: [\"clearActiveHandleId\"],\n on: {\n POINTER_OVER: {\n target: \"hover:temp\",\n actions: [\"setActiveHandleId\"],\n },\n FOCUS: {\n target: \"focused\",\n actions: [\"setActiveHandleId\"],\n },\n DOUBLE_CLICK: {\n actions: [\"resetStartPanel\", \"setPreviousPanels\"],\n },\n },\n },\n\n \"hover:temp\": {\n after: {\n HOVER_DELAY: \"hover\",\n },\n on: {\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setActiveHandleId\"],\n },\n POINTER_LEAVE: \"idle\",\n },\n },\n\n hover: {\n tags: [\"focus\"],\n on: {\n POINTER_DOWN: \"dragging\",\n POINTER_LEAVE: \"idle\",\n },\n },\n\n focused: {\n tags: [\"focus\"],\n on: {\n BLUR: \"idle\",\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setActiveHandleId\"],\n },\n ARROW_LEFT: {\n guard: \"isHorizontal\",\n actions: [\"shrinkStartPanel\", \"setPreviousPanels\"],\n },\n ARROW_RIGHT: {\n guard: \"isHorizontal\",\n actions: [\"expandStartPanel\", \"setPreviousPanels\"],\n },\n ARROW_UP: {\n guard: \"isVertical\",\n actions: [\"shrinkStartPanel\", \"setPreviousPanels\"],\n },\n ARROW_DOWN: {\n guard: \"isVertical\",\n actions: [\"expandStartPanel\", \"setPreviousPanels\"],\n },\n ENTER: [\n {\n guard: \"isStartPanelAtMax\",\n actions: [\"setStartPanelToMin\", \"setPreviousPanels\"],\n },\n { actions: [\"setStartPanelToMax\", \"setPreviousPanels\"] },\n ],\n HOME: {\n actions: [\"setStartPanelToMin\", \"setPreviousPanels\"],\n },\n END: {\n actions: [\"setStartPanelToMax\", \"setPreviousPanels\"],\n },\n },\n },\n\n dragging: {\n tags: [\"focus\"],\n entry: \"focusResizeHandle\",\n activities: [\"trackPointerMove\"],\n on: {\n POINTER_MOVE: {\n actions: [\"setPointerValue\", \"setGlobalCursor\", \"invokeOnResize\"],\n },\n POINTER_UP: {\n target: \"focused\",\n actions: [\"setPreviousPanels\", \"clearGlobalCursor\", \"blurResizeHandle\", \"invokeOnResizeEnd\"],\n },\n },\n },\n },\n },\n {\n activities: {\n trackPointerMove: (ctx, _evt, { send }) => {\n const doc = dom.getDoc(ctx)\n return trackPointerMove(doc, {\n onPointerMove(info) {\n send({ type: \"POINTER_MOVE\", point: info.point })\n },\n onPointerUp() {\n send(\"POINTER_UP\")\n },\n })\n },\n },\n guards: {\n isStartPanelAtMin: (ctx) => ctx.activeResizeState.isAtMin,\n isStartPanelAtMax: (ctx) => ctx.activeResizeState.isAtMax,\n isHorizontal: (ctx) => ctx.isHorizontal,\n isVertical: (ctx) => !ctx.isHorizontal,\n },\n delays: {\n HOVER_DELAY: 250,\n },\n actions: {\n setGlobalCursor(ctx) {\n dom.setupGlobalCursor(ctx)\n },\n clearGlobalCursor(ctx) {\n dom.removeGlobalCursor(ctx)\n },\n invokeOnResize(ctx) {\n ctx.onSizeChange?.({ size: Array.from(ctx.size), activeHandleId: ctx.activeResizeId })\n },\n invokeOnResizeEnd(ctx) {\n ctx.onSizeChangeEnd?.({ size: Array.from(ctx.size), activeHandleId: ctx.activeResizeId })\n },\n setActiveHandleId(ctx, evt) {\n ctx.activeResizeId = evt.id\n },\n clearActiveHandleId(ctx) {\n ctx.activeResizeId = null\n },\n setInitialSize(ctx) {\n ctx.initialSize = ctx.panels.slice().map((panel) => ({\n id: panel.id,\n size: panel.size,\n }))\n },\n setPanelSize(ctx, evt) {\n const { id, size } = evt\n ctx.size = ctx.size.map((panel) => {\n const panelSize = clamp(size, panel.minSize ?? 0, panel.maxSize ?? 100)\n return panel.id === id ? { ...panel, size: panelSize } : panel\n })\n },\n setStartPanelToMin(ctx) {\n const bounds = getPanelBounds(ctx)\n if (!bounds) return\n const { before, after } = bounds\n ctx.size[before.index].size = before.min\n ctx.size[after.index].size = after.min\n },\n setStartPanelToMax(ctx) {\n const bounds = getPanelBounds(ctx)\n if (!bounds) return\n const { before, after } = bounds\n ctx.size[before.index].size = before.max\n ctx.size[after.index].size = after.max\n },\n expandStartPanel(ctx, evt) {\n const bounds = getPanelBounds(ctx)\n if (!bounds) return\n const { before, after } = bounds\n ctx.size[before.index].size = before.up(evt.step)\n ctx.size[after.index].size = after.down(evt.step)\n },\n shrinkStartPanel(ctx, evt) {\n const bounds = getPanelBounds(ctx)\n if (!bounds) return\n const { before, after } = bounds\n ctx.size[before.index].size = before.down(evt.step)\n ctx.size[after.index].size = after.up(evt.step)\n },\n resetStartPanel(ctx, evt) {\n const bounds = getPanelBounds(ctx, evt.id)\n if (!bounds) return\n const { before, after } = bounds\n ctx.size[before.index].size = ctx.initialSize[before.index].size\n ctx.size[after.index].size = ctx.initialSize[after.index].size\n },\n focusResizeHandle(ctx) {\n raf(() => {\n dom.getActiveHandleEl(ctx)?.focus({ preventScroll: true })\n })\n },\n blurResizeHandle(ctx) {\n raf(() => {\n dom.getActiveHandleEl(ctx)?.blur()\n })\n },\n setPreviousPanels(ctx) {\n ctx.previousPanels = ctx.panels.slice()\n },\n setActiveResizeState(ctx) {\n const panels = getPanelBounds(ctx)\n if (!panels) return\n const { before } = panels\n ctx.activeResizeState = {\n isAtMin: before.isAtMin,\n isAtMax: before.isAtMax,\n }\n },\n setPointerValue(ctx, evt) {\n const panels = getHandlePanels(ctx)\n const bounds = getHandleBounds(ctx)\n\n if (!panels || !bounds) return\n\n const rootEl = dom.getRootEl(ctx)\n if (!rootEl) return\n\n const relativePoint = getRelativePoint(evt.point, rootEl)\n const percentValue = relativePoint.getPercentValue({\n dir: ctx.dir,\n orientation: ctx.orientation,\n })\n\n let pointValue = percentValue * 100\n\n // update active resize state here because we use `previousPanels` in the calculations\n ctx.activeResizeState = {\n isAtMin: pointValue < bounds.min,\n isAtMax: pointValue > bounds.max,\n }\n\n pointValue = clamp(pointValue, bounds.min, bounds.max)\n\n const { before, after } = panels\n\n const offset = pointValue - before.end\n ctx.size[before.index].size = before.size + offset\n ctx.size[after.index].size = after.size - offset\n },\n },\n },\n )\n}\n","import { createProps } from \"@zag-js/types\"\nimport { createSplitProps } from \"@zag-js/utils\"\nimport type { PanelProps, ResizeTriggerProps, UserDefinedContext } from \"./splitter.types\"\n\nexport const props = createProps<UserDefinedContext>()([\n \"dir\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"onSizeChange\",\n \"onSizeChangeEnd\",\n \"orientation\",\n \"size\",\n])\n\nexport const splitProps = createSplitProps<Partial<UserDefinedContext>>(props)\n\nexport const panelProps = createProps<PanelProps>()([\"id\", \"snapSize\"])\nexport const splitPanelProps = createSplitProps<PanelProps>(panelProps)\n\nexport const resizeTriggerProps = createProps<ResizeTriggerProps>()([\"disabled\", \"id\", \"step\"])\nexport const splitResizeTriggerProps = createSplitProps<ResizeTriggerProps>(resizeTriggerProps)\n"],"mappings":"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","names":["props","id","panels","panel","ctx"]}
package/src/index.ts DELETED
@@ -1,14 +0,0 @@
1
- export { anatomy } from "./splitter.anatomy"
2
- export { connect } from "./splitter.connect"
3
- export { machine } from "./splitter.machine"
4
- export * from "./splitter.props"
5
- export type {
6
- MachineApi as Api,
7
- UserDefinedContext as Context,
8
- MachineState,
9
- PanelProps,
10
- PanelSizeData,
11
- ResizeTriggerProps,
12
- Service,
13
- SizeChangeDetails,
14
- } from "./splitter.types"
@@ -1,5 +0,0 @@
1
- import { createAnatomy } from "@zag-js/anatomy"
2
-
3
- export const anatomy = createAnatomy("splitter").parts("root", "panel", "resizeTrigger")
4
-
5
- export const parts = anatomy.build()