@companion-surface/base 1.1.3 → 1.2.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.2.1](https://github.com/bitfocus/companion-surface-api/compare/companion-surface-base-v1.2.0...companion-surface-base-v1.2.1) (2026-04-25)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * expose supportsNonSquareButtons capability ([3e5a059](https://github.com/bitfocus/companion-surface-api/commit/3e5a059fac1c85eba69b4b7250f21e7b709635e9))
9
+
10
+ ## [1.2.0](https://github.com/bitfocus/companion-surface-api/compare/companion-surface-base-v1.1.3...companion-surface-base-v1.2.0) (2026-04-06)
11
+
12
+
13
+ ### Features
14
+
15
+ * allow surfacs to request ability to change the page ([f18c8bc](https://github.com/bitfocus/companion-surface-api/commit/f18c8bc156b503f0706aa35c3a51f1bdba0d36d7))
16
+ * expose pagenumber to surface draw ([359de34](https://github.com/bitfocus/companion-surface-api/commit/359de342f49dab1e1b13411acd55ab64e90c76c5))
17
+
3
18
  ## [1.1.3](https://github.com/bitfocus/companion-surface-api/compare/companion-surface-base-v1.1.2...companion-surface-base-v1.1.3) (2026-03-21)
4
19
 
5
20
 
@@ -1,4 +1,8 @@
1
1
  export interface HostCapabilities {
2
+ /**
3
+ * Indicates whether the host supports non-square buttons.
4
+ */
5
+ supportsNonSquareButtons: boolean | undefined;
2
6
  }
3
7
  /**
4
8
  * The context provided to a surface module when running
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/surface-api/context.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,gBAAgB;CAGhC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAAA;IAEvB;;OAEG;IACH,IAAI,YAAY,IAAI,gBAAgB,CAAA;IAEpC;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IAE9B;;;OAGG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC;;;OAGG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAExC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAElC;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAA;CACrD"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/surface-api/context.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,wBAAwB,EAAE,OAAO,GAAG,SAAS,CAAA;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAAA;IAEvB;;OAEG;IACH,IAAI,YAAY,IAAI,gBAAgB,CAAA;IAEpC;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IAE9B;;;OAGG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC;;;OAGG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAExC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAElC;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAA;CACrD"}
@@ -4,8 +4,9 @@ export interface SurfacePluginDetectionEvents<TInfo> {
4
4
  /** Emitted when surfaces are detected */
5
5
  surfacesAdded: [surfaceInfos: DetectionSurfaceInfo<TInfo>[]];
6
6
  /**
7
- * Emitted when discovered surfaces are lost
8
- * Note: This is important to call, to allow the id to be reused by a newly detected surface later on
7
+ * Emitted when discovered surfaces are lost.
8
+ * This does not trigger a disconnection of the surface, that must be done through the open surface instance.
9
+ * Note: This is important to call, otherwise the unique id reserved by `surfacesAdded` will be held until the plugin is stopped
9
10
  */
10
11
  surfacesRemoved: [deviceHandles: string[]];
11
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../src/surface-api/detection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,WAAW,4BAA4B,CAAC,KAAK;IAClD,yCAAyC;IACzC,aAAa,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC5D;;;OAGG;IACH,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,KAAK,CAAE,SAAQ,YAAY,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACvG;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5B;;;;OAIG;IACH,aAAa,CAAC,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;CAC7D"}
1
+ {"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../src/surface-api/detection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,WAAW,4BAA4B,CAAC,KAAK;IAClD,yCAAyC;IACzC,aAAa,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC5D;;;;OAIG;IACH,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,KAAK,CAAE,SAAQ,YAAY,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACvG;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5B;;;;OAIG;IACH,aAAa,CAAC,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;CAC7D"}
@@ -73,6 +73,15 @@ export interface SurfaceRegisterProps {
73
73
  * Any configuration fields for the surface
74
74
  */
75
75
  configFields: SomeCompanionInputField[] | null;
76
+ /**
77
+ * When set, enables the `changePage` context method and provides a user-facing label describing
78
+ * the gesture or action that triggers it (e.g. `'Horizontal Swipe Changes Page'`).
79
+ * Omit or set to `undefined` to disable page-changing entirely for this surface.
80
+ * Note: The user must enable this in the surface settings before it will be accepted
81
+ */
82
+ canChangePage?: {
83
+ label: string;
84
+ };
76
85
  }
77
86
  export interface OpenSurfaceResult {
78
87
  surface: SurfaceInstance;
@@ -80,6 +89,10 @@ export interface OpenSurfaceResult {
80
89
  }
81
90
  export interface SurfaceDrawProps {
82
91
  controlId: string;
92
+ /**
93
+ * The Companion page number that the surface is currently on, if this is applicable.
94
+ */
95
+ pageNumber?: number;
83
96
  /**
84
97
  * If the surface requested an image to be drawn, this Uint8Array will contain the pixel data in the requested dimensions and format
85
98
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/surface-api/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAA;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAExE;;;GAGG;AACH,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AACD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,aAAa,EAAE,6BAA6B,CAAA;IAC5C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,CAAA;IACvE;;;OAGG;IACH,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAEpC;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvB;;OAEG;IACH,YAAY,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAA;CAC9C;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,eAAe,CAAA;IACxB,aAAa,EAAE,oBAAoB,CAAA;CACnC;AAED,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,2BAA2B;IAC3C,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,aAAa,CAAA;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/surface-api/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAA;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAExE;;;GAGG;AACH,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AACD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,aAAa,EAAE,6BAA6B,CAAA;IAC5C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,CAAA;IACvE;;;OAGG;IACH,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAEpC;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvB;;OAEG;IACH,YAAY,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAA;IAE9C;;;;;OAKG;IACH,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACjC;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,eAAe,CAAA;IACxB,aAAa,EAAE,oBAAoB,CAAA;CACnC;AAED,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,2BAA2B;IAC3C,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,aAAa,CAAA;CACrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@companion-surface/base",
3
- "version": "1.1.3",
3
+ "version": "1.2.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": "https://github.com/bitfocus/companion-surface-api",
@@ -33,6 +33,6 @@
33
33
  },
34
34
  "devDependencies": {
35
35
  "ajv": "^8.18.0",
36
- "typedoc": "^0.28.17"
36
+ "typedoc": "^0.28.18"
37
37
  }
38
38
  }