@window-splitter/state 0.2.2 → 0.2.3--canary.823a479.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.
Files changed (43) hide show
  1. package/.tshy/commonjs.json +1 -0
  2. package/.tshy/esm.json +1 -0
  3. package/.tshy-build/esm/index.d.ts +327 -0
  4. package/.tshy-build/esm/index.d.ts.map +1 -0
  5. package/.tshy-build/esm/index.js +964 -0
  6. package/.tshy-build/esm/index.js.map +1 -0
  7. package/.tshy-build/esm/package.json +3 -0
  8. package/.turbo/turbo-build.log +1 -1
  9. package/.turbo/turbo-lint.log +1 -1
  10. package/.turbo/turbo-test.log +1023 -129
  11. package/coverage/clover.xml +358 -345
  12. package/coverage/coverage-final.json +1 -1
  13. package/coverage/index.html +18 -18
  14. package/coverage/index.ts.html +624 -402
  15. package/dist/commonjs/index.d.ts +22 -9
  16. package/dist/commonjs/index.d.ts.map +1 -1
  17. package/dist/commonjs/index.js +189 -134
  18. package/dist/commonjs/index.js.map +1 -1
  19. package/dist/esm/index.d.ts +22 -9
  20. package/dist/esm/index.d.ts.map +1 -1
  21. package/dist/esm/index.js +188 -114
  22. package/dist/esm/index.js.map +1 -1
  23. package/package.json +6 -6
  24. package/src/index.ts +279 -153
  25. package/src/machine.test.ts +174 -85
  26. package/src/package.json +3 -0
  27. package/src/utils.test.ts +22 -9
  28. package/dist/commonjs/machine.test.d.ts +0 -5
  29. package/dist/commonjs/machine.test.d.ts.map +0 -1
  30. package/dist/commonjs/machine.test.js +0 -1038
  31. package/dist/commonjs/machine.test.js.map +0 -1
  32. package/dist/commonjs/utils.test.d.ts +0 -2
  33. package/dist/commonjs/utils.test.d.ts.map +0 -1
  34. package/dist/commonjs/utils.test.js +0 -79
  35. package/dist/commonjs/utils.test.js.map +0 -1
  36. package/dist/esm/machine.test.d.ts +0 -5
  37. package/dist/esm/machine.test.d.ts.map +0 -1
  38. package/dist/esm/machine.test.js +0 -1036
  39. package/dist/esm/machine.test.js.map +0 -1
  40. package/dist/esm/utils.test.d.ts +0 -2
  41. package/dist/esm/utils.test.d.ts.map +0 -1
  42. package/dist/esm/utils.test.js +0 -77
  43. package/dist/esm/utils.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"machine.test.js","sourceRoot":"","sources":["../../src/machine.test.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @vitest-environment jsdom\n */\n\nimport { expect, test, describe, vi } from \"vitest\";\nimport {\n buildTemplate,\n dragHandlePayload,\n groupMachine,\n GroupMachineEvent,\n initializePanel,\n isPanelHandle,\n} from \"./index.js\";\nimport { Actor, createActor } from \"xstate\";\n// import { spring } from \"framer-motion\";\n\nfunction getTemplate(actor: Actor<typeof groupMachine>) {\n return buildTemplate(actor.getSnapshot().context);\n}\n\nconst handleSize = {\n type: \"pixel\" as const,\n value: 10,\n};\n\nfunction dragHandle(\n actor: Actor<typeof groupMachine>,\n options: {\n delta: number;\n orientation?: \"horizontal\" | \"vertical\";\n id: string;\n shiftKey?: boolean;\n }\n) {\n for (let i = 0; i < Math.abs(options.delta); i++) {\n actor.send({\n type: \"dragHandle\",\n handleId: options.id,\n value: dragHandlePayload({\n orientation: options.orientation || \"horizontal\",\n delta: options.delta > 0 ? 1 : -1,\n shiftKey: options.shiftKey,\n }),\n });\n }\n}\n\nfunction sendAll(\n actor: Actor<typeof groupMachine>,\n events: GroupMachineEvent[]\n) {\n for (const event of events) {\n actor.send(event);\n }\n}\n\nfunction capturePixelValues(actor: Actor<typeof groupMachine>, cb: () => void) {\n const firstHandle = actor\n .getSnapshot()\n .context.items.find((i) => isPanelHandle(i));\n\n if (firstHandle) {\n actor.send({ type: \"dragHandleStart\", handleId: firstHandle.id });\n }\n\n cb();\n\n if (firstHandle) {\n actor.send({ type: \"dragHandleEnd\", handleId: firstHandle.id });\n }\n}\n\nfunction waitForIdle(actor: Actor<typeof groupMachine>) {\n return new Promise<void>((resolve) => {\n setInterval(() => {\n const snapshot = actor.getSnapshot();\n\n if (snapshot.value === \"idle\") {\n resolve();\n }\n }, 100);\n });\n}\n\nfunction initializeSizes(\n actor: Actor<typeof groupMachine>,\n options: {\n width: number;\n height: number;\n }\n) {\n const context = actor.getSnapshot().context;\n const { orientation, items } = context;\n const template = buildTemplate(context);\n const div = document.createElement(\"div\");\n\n div.style.width = `${options.width}px`;\n div.style.height = `${options.height}px`;\n div.style.display = \"grid\";\n div.id = \"group\";\n\n if (orientation === \"horizontal\") {\n div.style.gridTemplateColumns = template;\n } else {\n div.style.gridTemplateRows = template;\n }\n\n for (let i = 0; i < items.length; i++) {\n div.appendChild(document.createElement(\"div\"));\n }\n\n document.body.appendChild(div);\n\n const childrenSizes: Record<string, { width: number; height: number }> = {};\n\n div.childNodes.forEach((node, index) => {\n const item = items[index];\n\n if (node instanceof HTMLElement && item) {\n const rect = node.getBoundingClientRect();\n\n childrenSizes[item.id] = {\n width: rect.width,\n height: rect.height,\n };\n }\n });\n\n actor.send({\n type: \"setSize\",\n size: { width: options.width, height: options.height },\n });\n actor.send({\n type: \"setActualItemsSize\",\n childrenSizes,\n });\n}\n\ndescribe(\"constraints\", () => {\n test(\"works with 2 simple panels - horizontal\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-2\" }) },\n ]);\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, 1fr) 10px minmax(0px, 1fr)\"`\n );\n initializeSizes(actor, { width: 500, height: 200 });\n\n // Drag the resizer to the right\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n dragHandle(actor, { id: \"resizer-1\", delta: 10 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"255px 10px 235px\"`);\n });\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, min(calc(0.5204081632653061 * (100% - 10px)), 100%)) 10px minmax(0px, min(calc(0.47959183673469385 * (100% - 10px)), 100%))\"`\n );\n\n // Drag the resizer to the left\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"255px 10px 235px\"`);\n dragHandle(actor, { id: \"resizer-1\", delta: -20 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"235px 10px 255px\"`);\n });\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, min(calc(0.47959183673469385 * (100% - 10px)), 100%)) 10px minmax(0px, min(calc(0.5204081632653061 * (100% - 10px)), 100%))\"`\n );\n });\n\n test(\"works with 2 simple panels - vertical\", () => {\n const actor = createActor(groupMachine, {\n input: { orientation: \"vertical\", groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-2\" }) },\n ]);\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, 1fr) 10px minmax(0px, 1fr)\"`\n );\n initializeSizes(actor, { width: 200, height: 500 });\n\n // Drag the resizer down\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n dragHandle(actor, {\n id: \"resizer-1\",\n delta: 10,\n orientation: \"vertical\",\n });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"255px 10px 235px\"`);\n });\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, min(calc(0.5204081632653061 * (100% - 10px)), 100%)) 10px minmax(0px, min(calc(0.47959183673469385 * (100% - 10px)), 100%))\"`\n );\n\n // Drag the resizer to the up\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"255px 10px 235px\"`);\n dragHandle(actor, {\n id: \"resizer-1\",\n delta: -20,\n orientation: \"vertical\",\n });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"235px 10px 255px\"`);\n });\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, min(calc(0.47959183673469385 * (100% - 10px)), 100%)) 10px minmax(0px, min(calc(0.5204081632653061 * (100% - 10px)), 100%))\"`\n );\n });\n\n test(\"doesn't register a panel with the same id twice\", () => {\n const actor = createActor(groupMachine, {\n input: {\n groupId: \"group\",\n initialItems: [initializePanel({ id: \"panel-1\" })],\n },\n }).start();\n\n actor.send({\n type: \"registerPanel\",\n data: initializePanel({ id: \"panel-1\" }),\n });\n\n expect(actor.getSnapshot().context.items).toHaveLength(1);\n });\n\n test(\"works with 2 simple panels as input\", () => {\n const actor = createActor(groupMachine, {\n input: {\n groupId: \"group\",\n initialItems: [\n initializePanel({ id: \"panel-1\" }),\n {\n type: \"handle\",\n id: \"resizer-1\",\n size: { type: \"pixel\", value: 10 },\n },\n initializePanel({ id: \"panel-2\" }),\n ],\n },\n }).start();\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, 1fr) 10px minmax(0px, 1fr)\"`\n );\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n });\n });\n\n test(\"no delta does nothing\", () => {\n const actor = createActor(groupMachine, {\n input: {\n groupId: \"group\",\n initialItems: [\n initializePanel({ id: \"panel-1\" }),\n {\n type: \"handle\",\n id: \"resizer-1\",\n size: { type: \"pixel\", value: 10 },\n },\n initializePanel({ id: \"panel-2\" }),\n ],\n },\n }).start();\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n actor.send({\n type: \"dragHandle\",\n handleId: \"resizer-1\",\n value: dragHandlePayload({ delta: 0, orientation: \"horizontal\" }),\n });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n });\n });\n\n test(\"shift key makes it drag more\", () => {\n const actor = createActor(groupMachine, {\n input: {\n groupId: \"group\",\n initialItems: [\n initializePanel({ id: \"panel-1\" }),\n {\n type: \"handle\",\n id: \"resizer-1\",\n size: { type: \"pixel\", value: 10 },\n },\n initializePanel({ id: \"panel-2\" }),\n ],\n },\n }).start();\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n dragHandle(actor, { id: \"resizer-1\", delta: -1, shiftKey: true });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"230px 10px 260px\"`);\n });\n });\n\n test(\"works with percentages\", () => {\n const actor = createActor(groupMachine, {\n input: {\n groupId: \"group\",\n initialItems: [\n initializePanel({ id: \"panel-1\", min: \"40%\" }),\n {\n type: \"handle\",\n id: \"resizer-1\",\n size: { type: \"pixel\", value: 10 },\n },\n initializePanel({ id: \"panel-2\", min: \"10%\", default: \"30%\" }),\n ],\n },\n }).start();\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(40%, 1fr) 10px 30%\"`\n );\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"340px 10px 150px\"`);\n dragHandle(actor, { id: \"resizer-1\", delta: -200 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"200px 10px 290px\"`);\n });\n });\n\n test(\"supports max\", () => {\n const actor = createActor(groupMachine, {\n input: {\n groupId: \"group\",\n initialItems: [\n initializePanel({ id: \"panel-1\", max: \"90%\" }),\n {\n type: \"handle\",\n id: \"resizer-1\",\n size: { type: \"pixel\", value: 10 },\n },\n initializePanel({ id: \"panel-2\", default: \"30%\" }),\n ],\n },\n }).start();\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, 90%) 10px 30%\"`\n );\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n dragHandle(actor, { id: \"resizer-1\", delta: 400 });\n });\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, min(calc(0.9183673469387755 * (100% - 10px)), 90%)) 10px minmax(0px, min(calc(0.08163265306122448 * (100% - 10px)), 100%))\"`\n );\n });\n\n test(\"panel can have a min\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({ id: \"panel-2\", min: \"100px\" }),\n },\n ]);\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, 1fr) 10px minmax(100px, 1fr)\"`\n );\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n dragHandle(actor, { id: \"resizer-1\", delta: 200 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"390px 10px 100px\"`);\n });\n });\n\n test(\"panel can have a max\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({ id: \"panel-2\", max: \"300px\" }),\n },\n ]);\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, 1fr) 10px minmax(0px, 300px)\"`\n );\n initializeSizes(actor, { width: 500, height: 200 });\n\n // Drag the resizer to the right\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"190px 10px 300px\"`);\n dragHandle(actor, { id: \"resizer-1\", delta: -200 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"190px 10px 300px\"`);\n });\n });\n\n test(\"panel can have a default size\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({ id: \"panel-2\", default: \"300px\" }),\n },\n ]);\n initializeSizes(actor, { width: 500, height: 200 });\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, min(calc(1 * (100% - 310px)), 100%)) 10px minmax(0px, min(calc(1.5789473684210527 * (100% - 310px)), 100%))\"`\n );\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"190px 10px 300px\"`);\n });\n });\n\n test(\"dragging eats space from multiple panels in front of it\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({\n id: \"panel-2\",\n min: \"200px\",\n default: \"300px\",\n }),\n },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-2\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({ id: \"panel-3\", min: \"100px\" }),\n },\n ]);\n\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"80px 10px 300px 10px 100px\"`\n );\n dragHandle(actor, { id: \"resizer-1\", delta: 160 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"180px 10px 200px 10px 100px\"`\n );\n });\n });\n\n test(\"can set a panel's size\", () => {\n const actor = createActor(groupMachine, {\n input: {\n groupId: \"group\",\n initialItems: [\n initializePanel({ id: \"panel-1\" }),\n {\n type: \"handle\",\n id: \"resizer-1\",\n size: { type: \"pixel\", value: 10 },\n },\n initializePanel({ id: \"panel-2\" }),\n ],\n },\n }).start();\n initializeSizes(actor, { width: 500, height: 200 });\n\n actor.send({\n type: \"setPanelPixelSize\",\n panelId: \"panel-1\",\n size: \"100px\",\n });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"100px 10px 390px\"`);\n });\n\n actor.send({\n type: \"setPanelPixelSize\",\n panelId: \"panel-1\",\n size: \"25%\",\n });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"125px 10px 365px\"`);\n });\n });\n\n test(\"can update orientation at runtime\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-2\" }) },\n ]);\n\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n });\n\n actor.send({ type: \"setOrientation\", orientation: \"vertical\" });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"95px 10px 95px\"`);\n });\n });\n});\n\ndescribe(\"collapsible panel\", () => {\n // const springAnimation = spring({\n // keyframes: [0, 1],\n // velocity: 1,\n // stiffness: 100,\n // damping: 10,\n // mass: 1.0,\n // });\n // const springEasing = (t: number) => springAnimation.next(t * 1000).value;\n\n test.each([\n undefined,\n \"ease-in-out\" as const,\n // The math is wrong, enable after Decimal128\n // { duration: 1000, easing: springEasing },\n ])(\"panel can be collapsible: %s\", async (animation) => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({\n id: \"panel-2\",\n collapsible: true,\n min: \"100px\",\n collapseAnimation: animation,\n }),\n },\n ]);\n\n expect(getTemplate(actor)).toBe(\"minmax(0px, 1fr) 10px minmax(100px, 1fr)\");\n initializeSizes(actor, { width: 500, height: 200 });\n\n // Test dragging to collapse the panel\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toBe(\"245px 10px 245px\");\n\n // Drag into the drag buffer but not past it\n dragHandle(actor, { id: \"resizer-1\", delta: 160 });\n expect(getTemplate(actor)).toBe(\"390px 10px 100px\");\n\n // Drag past the drag buffer and collapse the panel\n dragHandle(actor, { id: \"resizer-1\", delta: 100 });\n expect(getTemplate(actor)).toBe(\"490px 10px 0px\");\n });\n\n expect(getTemplate(actor)).toBe(\n \"minmax(0px, min(calc(1 * (100% - 10px)), 100%)) 10px 0px\"\n );\n\n // Test dragging to expand the panel\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toBe(\"490px 10px 0px\");\n\n // Stays oollapsed in the buffer\n dragHandle(actor, { id: \"resizer-1\", delta: -30 });\n expect(getTemplate(actor)).toBe(\"490px 10px 0px\");\n\n // Opens once the buffer is cleared\n dragHandle(actor, { id: \"resizer-1\", delta: -20 });\n expect(getTemplate(actor)).toBe(\"390px 10px 100px\");\n });\n\n actor.send({ type: \"collapsePanel\", panelId: \"panel-2\" });\n await waitForIdle(actor);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toBe(\"490px 10px 0px\");\n });\n });\n\n test(\"collapsible panel can have collapsed size - right\", async () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({\n id: \"panel-2\",\n collapsible: true,\n defaultCollapsed: true,\n min: \"200px\",\n collapsedSize: \"60px\",\n }),\n },\n ]);\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, 1fr) 10px 60px\"`\n );\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"430px 10px 60px\"`);\n\n // Drag into the the panel\n dragHandle(actor, { id: \"resizer-1\", delta: 50 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"430px 10px 60px\"`);\n\n // Drag into the start\n dragHandle(actor, { id: \"resizer-1\", delta: -50 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"430px 10px 60px\"`);\n\n // Drag into the drag buffer but not past it\n dragHandle(actor, { id: \"resizer-1\", delta: -25 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"430px 10px 60px\"`);\n\n // Drag past the buffer\n dragHandle(actor, { id: \"resizer-1\", delta: -25 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"290px 10px 200px\"`);\n });\n });\n\n test(\"can expand default collapsed panel via event\", async () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({\n id: \"panel-2\",\n collapsible: true,\n defaultCollapsed: true,\n min: \"200px\",\n collapsedSize: \"60px\",\n }),\n },\n ]);\n\n initializeSizes(actor, { width: 500, height: 200 });\n actor.send({ type: \"expandPanel\", panelId: \"panel-2\" });\n await waitForIdle(actor);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"290px 10px 200px\"`);\n });\n });\n\n test(\"collapsible panel can have collapsed size - left\", async () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n {\n type: \"registerPanel\",\n data: initializePanel({\n id: \"panel-2\",\n collapsible: true,\n defaultCollapsed: true,\n min: \"200px\",\n collapsedSize: \"60px\",\n }),\n },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n ]);\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"60px 10px minmax(0px, 1fr)\"`\n );\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"60px 10px 430px\"`);\n\n // Drag into the the panel\n dragHandle(actor, { id: \"resizer-1\", delta: -50 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"60px 10px 430px\"`);\n\n // Drag to the start\n dragHandle(actor, { id: \"resizer-1\", delta: 50 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"60px 10px 430px\"`);\n\n // Drag into the drag buffer but not past it\n dragHandle(actor, { id: \"resizer-1\", delta: 25 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"60px 10px 430px\"`);\n\n // Drag past the buffer\n dragHandle(actor, { id: \"resizer-1\", delta: 25 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"200px 10px 290px\"`);\n });\n });\n\n test(\"collapsible remembers last position\", async () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({\n id: \"panel-2\",\n collapsible: true,\n min: \"200px\",\n collapsedSize: \"60px\",\n }),\n },\n ]);\n\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n dragHandle(actor, { id: \"resizer-1\", delta: -50 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"195px 10px 295px\"`);\n });\n\n actor.send({ type: \"collapsePanel\", panelId: \"panel-2\" });\n await waitForIdle(actor);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"430px 10px 60px\"`);\n });\n\n actor.send({ type: \"expandPanel\", panelId: \"panel-2\" });\n await waitForIdle(actor);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"195px 10px 295px\"`);\n });\n });\n\n test(\"panel can collapse can subscribe to collapsed state\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n const spy = vi.fn();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({\n id: \"panel-2\",\n collapsible: true,\n min: \"100px\",\n onCollapseChange: {\n current: spy,\n },\n }),\n },\n ]);\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, 1fr) 10px minmax(100px, 1fr)\"`\n );\n initializeSizes(actor, { width: 500, height: 200 });\n\n // collapse the panel\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n\n // Drag into the drag buffer but not past it\n dragHandle(actor, { id: \"resizer-1\", delta: 160 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"390px 10px 100px\"`);\n\n // Drag past the drag buffer and collapse the panel\n dragHandle(actor, { id: \"resizer-1\", delta: 100 });\n expect(spy).toHaveBeenCalledWith(true);\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"490px 10px 0px\"`);\n });\n\n spy.mockReset();\n\n // expand the panel\n capturePixelValues(actor, () => {\n // The panel doesn't actually expand yet\n dragHandle(actor, { id: \"resizer-1\", delta: -150 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"290px 10px 200px\"`);\n\n expect(spy).toHaveBeenCalledWith(false);\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"290px 10px 200px\"`);\n\n // Actually collapse the panel\n actor.send({\n type: \"expandPanel\",\n panelId: \"panel-2\",\n controlled: true,\n });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"290px 10px 200px\"`);\n });\n });\n\n test(\"should be able to trigger collapse/expand via event\", async () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({\n id: \"panel-2\",\n collapsible: true,\n min: \"100px\",\n default: \"100px\",\n }),\n },\n ]);\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, 1fr) 10px 100px\"`\n );\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"390px 10px 100px\"`);\n });\n\n actor.send({ type: \"collapsePanel\", panelId: \"panel-2\" });\n await waitForIdle(actor);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"490px 10px 0px\"`);\n });\n\n actor.send({ type: \"expandPanel\", panelId: \"panel-2\" });\n await waitForIdle(actor);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"390px 10px 100px\"`);\n });\n });\n\n test(\"panel collapse can be controlled\", async () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n const spy = vi.fn();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({\n id: \"panel-2\",\n collapsible: true,\n min: \"100px\",\n // This marks the collapse as controlled\n collapsed: false,\n collapsedSize: \"20px\",\n onCollapseChange: {\n current: spy,\n },\n }),\n },\n ]);\n\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"minmax(0px, 1fr) 10px minmax(100px, 1fr)\"`\n );\n initializeSizes(actor, { width: 500, height: 200 });\n\n // collapse the panel via drag\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n\n dragHandle(actor, { id: \"resizer-1\", delta: 160 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"390px 10px 100px\"`);\n\n // The panel doesn't actually collapse yet\n dragHandle(actor, { id: \"resizer-1\", delta: 100 });\n expect(spy).toHaveBeenCalledWith(true);\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"390px 10px 100px\"`);\n\n // Actually collapse the panel\n actor.send({\n type: \"collapsePanel\",\n panelId: \"panel-2\",\n controlled: true,\n });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"470px 10px 20px\"`);\n });\n\n spy.mockReset();\n\n // expand the panel via drag\n capturePixelValues(actor, () => {\n // The panel doesn't actually expand yet\n dragHandle(actor, { id: \"resizer-1\", delta: -150 });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"470px 10px 20px\"`);\n\n expect(spy).toHaveBeenCalledWith(false);\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"470px 10px 20px\"`);\n\n // Actually collapse the panel\n actor.send({\n type: \"expandPanel\",\n panelId: \"panel-2\",\n controlled: true,\n });\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"319px 10px 171px\"`);\n });\n\n spy.mockReset();\n\n actor.send({ type: \"collapsePanel\", panelId: \"panel-2\" });\n await waitForIdle(actor);\n\n // collapse the panel via drag\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"319px 10px 171px\"`);\n });\n\n actor.send({ type: \"expandPanel\", panelId: \"panel-2\" });\n await waitForIdle(actor);\n\n // collapse the panel via drag\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"319px 10px 171px\"`);\n });\n });\n});\n\ndescribe(\"conditional panel\", () => {\n test(\"panel can be conditionally rendered\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-2\" }) },\n ]);\n\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n });\n\n sendAll(actor, [\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-2\", size: handleSize },\n },\n {\n type: \"registerDynamicPanel\",\n data: initializePanel({ id: \"panel-3\", min: \"100px\" }),\n },\n ]);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"240px 10px 140px 10px 100px\"`\n );\n });\n\n sendAll(actor, [\n { type: \"unregisterPanelHandle\", id: \"resizer-2\" },\n { type: \"unregisterPanel\", id: \"panel-3\" },\n ]);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"240px 10px 250px\"`);\n });\n });\n\n test(\"collapsed panel can be conditionally rendered\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({ id: \"panel-2\" }),\n },\n ]);\n\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n });\n\n sendAll(actor, [\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-2\", size: handleSize },\n },\n {\n type: \"registerDynamicPanel\",\n data: initializePanel({\n id: \"panel-3\",\n min: \"100px\",\n collapsible: true,\n defaultCollapsed: true,\n }),\n },\n ]);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"240px 10px 240px 10px 0px\"`\n );\n });\n\n sendAll(actor, [\n { type: \"unregisterPanelHandle\", id: \"resizer-2\" },\n { type: \"unregisterPanel\", id: \"panel-3\" },\n ]);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"240px 10px 250px\"`);\n });\n });\n\n test(\"panel can be conditionally rendered at default width\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n {\n type: \"registerPanel\",\n data: initializePanel({ id: \"panel-2\" }),\n },\n ]);\n\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n });\n\n sendAll(actor, [\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-2\", size: handleSize },\n },\n {\n type: \"registerDynamicPanel\",\n data: initializePanel({\n id: \"panel-3\",\n default: \"125px\",\n }),\n },\n ]);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"240px 10px 115px 10px 125px\"`\n );\n });\n\n sendAll(actor, [\n { type: \"unregisterPanelHandle\", id: \"resizer-2\" },\n { type: \"unregisterPanel\", id: \"panel-3\" },\n ]);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"240px 10px 250px\"`);\n });\n });\n\n test(\"panel can be conditionally rendered w/order\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-1\" }) },\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-1\", size: handleSize },\n },\n { type: \"registerPanel\", data: initializePanel({ id: \"panel-2\" }) },\n ]);\n\n initializeSizes(actor, { width: 500, height: 200 });\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"245px 10px 245px\"`);\n });\n\n sendAll(actor, [\n {\n type: \"registerPanelHandle\",\n data: { id: \"resizer-2\", size: handleSize, order: 1 },\n },\n {\n type: \"registerDynamicPanel\",\n data: {\n ...initializePanel({ id: \"panel-3\", min: \"100px\" }),\n order: 2,\n },\n },\n ]);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(\n `\"240px 10px 100px 10px 140px\"`\n );\n });\n\n sendAll(actor, [\n { type: \"unregisterPanelHandle\", id: \"resizer-2\" },\n { type: \"unregisterPanel\", id: \"panel-3\" },\n ]);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"240px 10px 250px\"`);\n });\n\n sendAll(actor, [\n { type: \"unregisterPanelHandle\", id: \"resizer-2\" },\n { type: \"unregisterPanel\", id: \"panel-3\" },\n ]);\n\n capturePixelValues(actor, () => {\n expect(getTemplate(actor)).toMatchInlineSnapshot(`\"240px 10px 250px\"`);\n });\n });\n});\n\ndescribe(\"errors\", () => {\n test(\"throws for invalid units\", () => {\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n expect(() =>\n actor.send({\n type: \"registerPanel\",\n // @ts-expect-error Testing the error\n data: initializePanel({ id: \"panel-1\", min: \"40fr\" }),\n })\n ).toThrowErrorMatchingInlineSnapshot(`[Error: Invalid unit: 40fr]`);\n });\n\n test(\"throws when using invalid panel IDs\", () => {\n const spy = vi.fn();\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n actor.subscribe({ error: spy });\n\n actor.send({\n type: \"registerPanel\",\n data: initializePanel({ id: \"panel-1\" }),\n });\n\n actor.send({\n type: \"setPanelPixelSize\",\n panelId: \"panel-2\",\n size: \"100px\",\n });\n\n expect(spy).toHaveBeenCalledWith(\n new Error(\"Expected panel with id: panel-2\")\n );\n });\n\n test(\"throws when using invalid handle IDs\", () => {\n const spy = vi.fn();\n const actor = createActor(groupMachine, {\n input: { groupId: \"group\" },\n }).start();\n\n actor.subscribe({ error: spy });\n\n sendAll(actor, [\n { type: \"registerPanel\", data: initializePanel({ id: \"handle-2\" }) },\n { type: \"dragHandleStart\", handleId: \"handle-2\" },\n {\n type: \"dragHandle\",\n handleId: \"handle-2\",\n value: dragHandlePayload({ delta: 100, orientation: \"horizontal\" }),\n },\n ]);\n\n expect(spy).toHaveBeenCalledWith(\n new Error(\"Expected panel handle with id: handle-2\")\n );\n });\n});\n"]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../src/utils.test.ts"],"names":[],"mappings":""}
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const index_js_1 = require("./index.js");
5
- const xstate_1 = require("xstate");
6
- (0, vitest_1.describe)("getUnitPercentageValue", () => {
7
- (0, vitest_1.test)("works with pixels", () => {
8
- (0, vitest_1.expect)((0, index_js_1.getUnitPercentageValue)(100, { type: "pixel", value: 100 })).toBe(1);
9
- (0, vitest_1.expect)((0, index_js_1.getUnitPercentageValue)(100, { type: "pixel", value: 50 })).toBe(0.5);
10
- });
11
- (0, vitest_1.test)("works with percentages", () => {
12
- (0, vitest_1.expect)((0, index_js_1.getUnitPercentageValue)(100, { type: "percent", value: 1 })).toBe(1);
13
- (0, vitest_1.expect)((0, index_js_1.getUnitPercentageValue)(100, { type: "percent", value: 0.5 })).toBe(0.5);
14
- });
15
- });
16
- (0, vitest_1.describe)("getCollapsiblePanelForHandleId", () => {
17
- (0, vitest_1.test)("works with left collapsible panel", () => {
18
- const actor = (0, xstate_1.createActor)(index_js_1.groupMachine, {
19
- input: {
20
- groupId: "group",
21
- initialItems: [
22
- (0, index_js_1.initializePanel)({ id: "panel-1", collapsible: true }),
23
- {
24
- type: "handle",
25
- id: "resizer-1",
26
- size: { type: "pixel", value: 10 },
27
- },
28
- (0, index_js_1.initializePanel)({ id: "panel-2" }),
29
- ],
30
- },
31
- }).start();
32
- (0, vitest_1.expect)((0, index_js_1.getCollapsiblePanelForHandleId)(actor.getSnapshot().context, "resizer-1")
33
- ?.id).toBe("panel-1");
34
- });
35
- (0, vitest_1.test)("works with right collapsible panel", () => {
36
- const actor = (0, xstate_1.createActor)(index_js_1.groupMachine, {
37
- input: {
38
- groupId: "group",
39
- initialItems: [
40
- (0, index_js_1.initializePanel)({ id: "panel-1" }),
41
- {
42
- type: "handle",
43
- id: "resizer-1",
44
- size: { type: "pixel", value: 10 },
45
- },
46
- (0, index_js_1.initializePanel)({ id: "panel-2", collapsible: true }),
47
- ],
48
- },
49
- }).start();
50
- (0, vitest_1.expect)((0, index_js_1.getCollapsiblePanelForHandleId)(actor.getSnapshot().context, "resizer-1")
51
- ?.id).toBe("panel-2");
52
- });
53
- (0, vitest_1.test)("throws when no items", () => {
54
- const actor = (0, xstate_1.createActor)(index_js_1.groupMachine, {
55
- input: {
56
- groupId: "group",
57
- initialItems: [],
58
- },
59
- }).start();
60
- (0, vitest_1.expect)(() => (0, index_js_1.getCollapsiblePanelForHandleId)(actor.getSnapshot().context, "resizer-1")).toThrowErrorMatchingInlineSnapshot(`[Error: No items in group]`);
61
- });
62
- (0, vitest_1.test)("throws when no collapsible panel", () => {
63
- const actor = (0, xstate_1.createActor)(index_js_1.groupMachine, {
64
- input: {
65
- groupId: "group",
66
- initialItems: [
67
- (0, index_js_1.initializePanel)({ id: "panel-1" }),
68
- {
69
- type: "handle",
70
- id: "resizer-1",
71
- size: { type: "pixel", value: 10 },
72
- },
73
- ],
74
- },
75
- }).start();
76
- (0, vitest_1.expect)(() => (0, index_js_1.getCollapsiblePanelForHandleId)(actor.getSnapshot().context, "resizer-1")).toThrowErrorMatchingInlineSnapshot(`[Error: No collapsible panel found for handle: resizer-1]`);
77
- });
78
- });
79
- //# sourceMappingURL=utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/utils.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, test, describe } from \"vitest\";\n\nimport {\n getUnitPercentageValue,\n getCollapsiblePanelForHandleId,\n groupMachine,\n initializePanel,\n} from \"./index.js\";\nimport { createActor } from \"xstate\";\n\ndescribe(\"getUnitPercentageValue\", () => {\n test(\"works with pixels\", () => {\n expect(getUnitPercentageValue(100, { type: \"pixel\", value: 100 })).toBe(1);\n expect(getUnitPercentageValue(100, { type: \"pixel\", value: 50 })).toBe(0.5);\n });\n\n test(\"works with percentages\", () => {\n expect(getUnitPercentageValue(100, { type: \"percent\", value: 1 })).toBe(1);\n expect(getUnitPercentageValue(100, { type: \"percent\", value: 0.5 })).toBe(\n 0.5\n );\n });\n});\n\ndescribe(\"getCollapsiblePanelForHandleId\", () => {\n test(\"works with left collapsible panel\", () => {\n const actor = createActor(groupMachine, {\n input: {\n groupId: \"group\",\n initialItems: [\n initializePanel({ id: \"panel-1\", collapsible: true }),\n {\n type: \"handle\",\n id: \"resizer-1\",\n size: { type: \"pixel\", value: 10 },\n },\n initializePanel({ id: \"panel-2\" }),\n ],\n },\n }).start();\n\n expect(\n getCollapsiblePanelForHandleId(actor.getSnapshot().context, \"resizer-1\")\n ?.id\n ).toBe(\"panel-1\");\n });\n\n test(\"works with right collapsible panel\", () => {\n const actor = createActor(groupMachine, {\n input: {\n groupId: \"group\",\n initialItems: [\n initializePanel({ id: \"panel-1\" }),\n {\n type: \"handle\",\n id: \"resizer-1\",\n size: { type: \"pixel\", value: 10 },\n },\n initializePanel({ id: \"panel-2\", collapsible: true }),\n ],\n },\n }).start();\n\n expect(\n getCollapsiblePanelForHandleId(actor.getSnapshot().context, \"resizer-1\")\n ?.id\n ).toBe(\"panel-2\");\n });\n\n test(\"throws when no items\", () => {\n const actor = createActor(groupMachine, {\n input: {\n groupId: \"group\",\n initialItems: [],\n },\n }).start();\n\n expect(() =>\n getCollapsiblePanelForHandleId(actor.getSnapshot().context, \"resizer-1\")\n ).toThrowErrorMatchingInlineSnapshot(`[Error: No items in group]`);\n });\n\n test(\"throws when no collapsible panel\", () => {\n const actor = createActor(groupMachine, {\n input: {\n groupId: \"group\",\n initialItems: [\n initializePanel({ id: \"panel-1\" }),\n {\n type: \"handle\",\n id: \"resizer-1\",\n size: { type: \"pixel\", value: 10 },\n },\n ],\n },\n }).start();\n\n expect(() =>\n getCollapsiblePanelForHandleId(actor.getSnapshot().context, \"resizer-1\")\n ).toThrowErrorMatchingInlineSnapshot(\n `[Error: No collapsible panel found for handle: resizer-1]`\n );\n });\n});\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- * @vitest-environment jsdom
3
- */
4
- export {};
5
- //# sourceMappingURL=machine.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"machine.test.d.ts","sourceRoot":"","sources":["../../src/machine.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}