@servicetitan/ko-bridge 23.2.3 → 23.4.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.
@@ -12,6 +12,6 @@ export declare class HtmlComment extends Component<CommentProps> {
12
12
  componentDidMount(): void;
13
13
  componentDidUpdate(): void;
14
14
  componentWillUnmount(): void;
15
- render(): JSX.Element;
15
+ render(): import("react/jsx-runtime").JSX.Element;
16
16
  }
17
17
  //# sourceMappingURL=html-comment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"html-comment.d.ts","sourceRoot":"","sources":["../src/html-comment.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7C,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAY,SAAQ,SAAS,CAAC,YAAY,CAAC;IACpD,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,GAAG,CAA4B;IAEvC,iBAAiB;IAUjB,kBAAkB;IAWlB,oBAAoB;IAWpB,MAAM,IAAI,GAAG,CAAC,OAAO;CAIxB"}
1
+ {"version":3,"file":"html-comment.d.ts","sourceRoot":"","sources":["../src/html-comment.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7C,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAY,SAAQ,SAAS,CAAC,YAAY,CAAC;IACpD,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,GAAG,CAA4B;IAEvC,iBAAiB;IAUjB,kBAAkB;IAWlB,oBAAoB;IAWpB,MAAM;CAIT"}
@@ -16,11 +16,12 @@ export declare class KnockoutComponent extends Component<KnockoutComponentProps>
16
16
  getSnapshotBeforeUpdate(): null;
17
17
  componentDidUpdate(): void;
18
18
  componentWillUnmount(): void;
19
- render(): JSX.Element;
19
+ render(): import("react/jsx-runtime").JSX.Element;
20
20
  private isModelValid;
21
21
  private initNode;
22
22
  private initOrigVisibility;
23
23
  private updateNodeVisibility;
24
+ private restoreOrigVisibility;
24
25
  private cleanNode;
25
26
  private applyBinding;
26
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"knockout-component.d.ts","sourceRoot":"","sources":["../src/knockout-component.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EAET,yBAAyB,EACzB,eAAe,EACf,aAAa,EAChB,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,aAAK,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,GAAG,EAAE,IAE/C,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAErE,qBAAa,iBAAkB,SAAQ,SAAS,CAAC,sBAAsB,CAAC;IACpE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAElD;IACF,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,GAAG,CAA4B;IACvC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,iBAAiB;IAMjB,qBAAqB,CAAC,SAAS,EAAE,sBAAsB;IAkBvD,uBAAuB;IAIvB,kBAAkB;IAIlB,oBAAoB;IAGpB,MAAM,IAAI,GAAG,CAAC,OAAO;IAKrB,OAAO,CAAC,YAAY;IAGpB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,kBAAkB;IAG1B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,YAAY;CASvB"}
1
+ {"version":3,"file":"knockout-component.d.ts","sourceRoot":"","sources":["../src/knockout-component.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EAET,yBAAyB,EACzB,eAAe,EACf,aAAa,EAChB,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,aAAK,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,GAAG,EAAE,IAE/C,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAErE,qBAAa,iBAAkB,SAAQ,SAAS,CAAC,sBAAsB,CAAC;IACpE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAElD;IACF,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,GAAG,CAA4B;IACvC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,iBAAiB;IAMjB,qBAAqB,CAAC,SAAS,EAAE,sBAAsB;IAkBvD,uBAAuB;IAIvB,kBAAkB;IAIlB,oBAAoB;IAIpB,MAAM;IAKN,OAAO,CAAC,YAAY;IAGpB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,kBAAkB;IAG1B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,YAAY;CAOvB"}
@@ -63,6 +63,7 @@ export class KnockoutComponent extends Component {
63
63
  }
64
64
  componentWillUnmount() {
65
65
  this.cleanNode();
66
+ this.restoreOrigVisibility();
66
67
  }
67
68
  render() {
68
69
  const { koTemplate: KoTemplate } = this.props;
@@ -86,16 +87,19 @@ export class KnockoutComponent extends Component {
86
87
  const isValid = this.isModelValid(this.props.koModel);
87
88
  this.node.style.visibility = isValid ? this.origVisibility : 'hidden';
88
89
  }
90
+ restoreOrigVisibility() {
91
+ this.node.style.visibility = this.origVisibility;
92
+ this.origVisibility = undefined;
93
+ }
89
94
  cleanNode() {
90
95
  if (!this.isBindingApplied) {
91
96
  return;
92
97
  }
93
98
  ko.cleanNode(this.node);
99
+ this.isBindingApplied = false;
94
100
  }
95
101
  applyBinding() {
96
- const koModel = Object.prototype.hasOwnProperty.call(this.props, 'koModel')
97
- ? this.props.koModel
98
- : null;
102
+ const koModel = Object.hasOwn(this.props, 'koModel') ? this.props.koModel : null;
99
103
  if (this.isModelValid(koModel)) {
100
104
  ko.applyBindings(koModel, this.node);
101
105
  this.isBindingApplied = true;
@@ -1 +1 @@
1
- {"version":3,"file":"knockout-component.js","sourceRoot":"","sources":["../src/knockout-component.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knockout-component.js","sourceRoot":"","sources":["../src/knockout-component.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/ko-bridge",
3
- "version": "23.2.3",
3
+ "version": "23.4.0",
4
4
  "description": "",
5
5
  "homepage": "https://docs.st.dev/docs/frontend/ko-bridge",
6
6
  "repository": {
@@ -17,18 +17,18 @@
17
17
  ],
18
18
  "devDependencies": {
19
19
  "@testing-library/jest-dom": "^6.4.2",
20
- "@testing-library/react": "^14.2.1",
20
+ "@testing-library/react": "^14.2.2",
21
21
  "@types/knockout": "~3.4.71",
22
22
  "@types/react": "~18.2.55",
23
23
  "@types/react-dom": "~18.2.19",
24
24
  "knockout": "~3.0.0",
25
- "mobx": "~6.10.0",
25
+ "mobx": "~6.10.2",
26
26
  "react": "~18.2.0",
27
27
  "react-dom": "~18.2.0"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "knockout": "~3.0.0",
31
- "mobx": "~6.10.0",
31
+ "mobx": ">=6.10.0",
32
32
  "react": ">=17.0.2",
33
33
  "react-dom": ">=17.0.2"
34
34
  },
@@ -38,5 +38,5 @@
38
38
  "cli": {
39
39
  "webpack": false
40
40
  },
41
- "gitHead": "407e7aa04ac387275315d43d1f369df83ef3c520"
41
+ "gitHead": "94612136ff4d645bc38ae6b13fffad2ab0358666"
42
42
  }
@@ -51,6 +51,8 @@ describe('[ko-bridge] koBindingHandlers', () => {
51
51
  const originalRender = ReactDOM.render;
52
52
 
53
53
  test('uses legacy API to render Component', async () => {
54
+ jest.spyOn(console, 'error').mockImplementation(jest.fn()); // suppress "ReactDOM.render deprecated" error
55
+
54
56
  const renderSpy = jest
55
57
  .spyOn(ReactDOM, 'render')
56
58
  .mockImplementation((...args: Parameters<ReactDOM.Renderer>) =>
@@ -44,7 +44,7 @@ export class HtmlComment extends Component<CommentProps> {
44
44
  }
45
45
  }
46
46
 
47
- render(): JSX.Element {
47
+ render() {
48
48
  const ElementType = getElementType(this.props);
49
49
  return <ElementType ref={this.ref as any} />;
50
50
  }
@@ -61,8 +61,9 @@ export class KnockoutComponent extends Component<KnockoutComponentProps> {
61
61
  }
62
62
  componentWillUnmount() {
63
63
  this.cleanNode();
64
+ this.restoreOrigVisibility();
64
65
  }
65
- render(): JSX.Element {
66
+ render() {
66
67
  const { koTemplate: KoTemplate } = this.props;
67
68
 
68
69
  return <KoTemplate ref={this.ref} />;
@@ -89,16 +90,19 @@ export class KnockoutComponent extends Component<KnockoutComponentProps> {
89
90
  const isValid = this.isModelValid(this.props.koModel);
90
91
  this.node!.style.visibility = isValid ? this.origVisibility! : 'hidden';
91
92
  }
93
+ private restoreOrigVisibility() {
94
+ this.node!.style.visibility = this.origVisibility!;
95
+ this.origVisibility = undefined;
96
+ }
92
97
  private cleanNode() {
93
98
  if (!this.isBindingApplied) {
94
99
  return;
95
100
  }
96
101
  ko.cleanNode(this.node!);
102
+ this.isBindingApplied = false;
97
103
  }
98
104
  private applyBinding() {
99
- const koModel = Object.prototype.hasOwnProperty.call(this.props, 'koModel')
100
- ? this.props.koModel
101
- : null;
105
+ const koModel = Object.hasOwn(this.props, 'koModel') ? this.props.koModel : null;
102
106
  if (this.isModelValid(koModel)) {
103
107
  ko.applyBindings(koModel, this.node!);
104
108
  this.isBindingApplied = true;