@superblocksteam/library 2.0.3-next.182 → 2.0.3-next.183

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,5 +1,5 @@
1
- import { W as clientExports } from "./index-B-M5Bcwv.js";
2
- import { X, Y, R, K, L, Z, J, $, a0, a1, a2, a3, a4, w, a5, a6, a7, a8, a9, V, aa, P, ab, ac, ad, ae, U, v, S, m, d, e, l, n, k, M, x, q, s, f, i, g, w as w2, c, o, j, h, u, t, A, af, ag, ah, ai, aj, T, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, y, aJ, aK, aL, aM, aN, aO, aP, aQ, aR, aS, aT, H, aU, aV, aW, aX, aY, aZ, C, a_, a$, b0, b1, b2, E, b3, b4, z, b5, b6, b7, r, G, F, b8, b9, ba, Q, B, D, bb, bc, bd, be, bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, bA, bB, bC, bD, bE, bF, bG, bH, O, N, bI } from "./index-B-M5Bcwv.js";
1
+ import { W as clientExports } from "./index-Nu3j1GdK.js";
2
+ import { X, Y, R, K, L, Z, J, $, a0, a1, a2, a3, a4, w, a5, a6, a7, a8, a9, V, aa, P, ab, ac, ad, ae, U, v, S, m, d, e, l, n, k, M, x, q, s, f, i, g, w as w2, c, o, j, h, u, t, A, af, ag, ah, ai, aj, T, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, y, aJ, aK, aL, aM, aN, aO, aP, aQ, aR, aS, aT, H, aU, aV, aW, aX, aY, aZ, C, a_, a$, b0, b1, b2, E, b3, b4, z, b5, b6, b7, r, G, F, b8, b9, ba, Q, B, D, bb, bc, bd, be, bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, bA, bB, bC, bD, bE, bF, bG, bH, O, N, bI } from "./index-Nu3j1GdK.js";
3
3
  const createRoot = clientExports.createRoot;
4
4
  export {
5
5
  X as Await,
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter, a as __generator, p as pascalCase, b as IconSize } from "./index-B-M5Bcwv.js";
1
+ import { _ as __awaiter, a as __generator, p as pascalCase, b as IconSize } from "./index-Nu3j1GdK.js";
2
2
  var splitPathsBySizeLoader = function(name, size) {
3
3
  return __awaiter(void 0, void 0, void 0, function() {
4
4
  var key, pathsRecord;
@@ -31,4 +31,4 @@ var splitPathsBySizeLoader = function(name, size) {
31
31
  export {
32
32
  splitPathsBySizeLoader
33
33
  };
34
- //# sourceMappingURL=splitPathsBySizeLoader-CQtgBxNo.js.map
34
+ //# sourceMappingURL=splitPathsBySizeLoader-C98-Cucs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"splitPathsBySizeLoader-CQtgBxNo.js","sources":["../../../node_modules/.pnpm/@blueprintjs+icons@5.20.0_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@blueprintjs/icons/lib/esm/paths-loaders/splitPathsBySizeLoader.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __awaiter, __generator } from \"tslib\";\nimport { pascalCase } from \"change-case\";\nimport { IconSize } from \"../iconTypes\";\n/**\n * A dynamic loader for icon paths that generates separate chunks for the two size variants.\n */\nexport var splitPathsBySizeLoader = function (name, size) { return __awaiter(void 0, void 0, void 0, function () {\n var key, pathsRecord;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n key = pascalCase(name);\n if (!(size === IconSize.STANDARD)) return [3 /*break*/, 2];\n return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-16px-paths\" */\n \"../generated/16px/paths\")];\n case 1:\n pathsRecord = _a.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-20px-paths\" */\n \"../generated/20px/paths\")];\n case 3:\n pathsRecord = _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/, pathsRecord[key]];\n }\n });\n}); };\n//# sourceMappingURL=splitPathsBySizeLoader.js.map"],"names":[],"mappings":";AAqBU,IAAC,yBAAyB,SAAU,MAAM,MAAM;AAAE,SAAO,UAAU,QAAQ,QAAQ,QAAQ,WAAY;AAC7G,QAAI,KAAK;AACT,WAAO,YAAY,MAAM,SAAU,IAAI;AACnC,cAAQ,GAAG,OAAK;AAAA,QACZ,KAAK;AACD,gBAAM,WAAW,IAAI;AACrB,cAAI,EAAE,SAAS,SAAS,UAAW,QAAO,CAAC,GAAa,CAAC;AACzD,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEjB;AAAA,UAAyB,kBAAC;AAAA,QAClC,KAAK;AACD,wBAAc,GAAG,KAAM;AACvB,iBAAO,CAAC,GAAa,CAAC;AAAA,QAC1B,KAAK;AAAG,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEzB;AAAA,UAAyB,kBAAC;AAAA,QAC9B,KAAK;AACD,wBAAc,GAAG,KAAM;AACvB,aAAG,QAAQ;AAAA,QACf,KAAK;AAAG,iBAAO,CAAC,GAAc,YAAY,GAAG,CAAC;AAAA,MAC1D;AAAA,IACA,CAAK;AAAA,EACL,CAAC;AAAE;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"splitPathsBySizeLoader-C98-Cucs.js","sources":["../../../node_modules/.pnpm/@blueprintjs+icons@5.20.0_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@blueprintjs/icons/lib/esm/paths-loaders/splitPathsBySizeLoader.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __awaiter, __generator } from \"tslib\";\nimport { pascalCase } from \"change-case\";\nimport { IconSize } from \"../iconTypes\";\n/**\n * A dynamic loader for icon paths that generates separate chunks for the two size variants.\n */\nexport var splitPathsBySizeLoader = function (name, size) { return __awaiter(void 0, void 0, void 0, function () {\n var key, pathsRecord;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n key = pascalCase(name);\n if (!(size === IconSize.STANDARD)) return [3 /*break*/, 2];\n return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-16px-paths\" */\n \"../generated/16px/paths\")];\n case 1:\n pathsRecord = _a.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-20px-paths\" */\n \"../generated/20px/paths\")];\n case 3:\n pathsRecord = _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/, pathsRecord[key]];\n }\n });\n}); };\n//# sourceMappingURL=splitPathsBySizeLoader.js.map"],"names":[],"mappings":";AAqBU,IAAC,yBAAyB,SAAU,MAAM,MAAM;AAAE,SAAO,UAAU,QAAQ,QAAQ,QAAQ,WAAY;AAC7G,QAAI,KAAK;AACT,WAAO,YAAY,MAAM,SAAU,IAAI;AACnC,cAAQ,GAAG,OAAK;AAAA,QACZ,KAAK;AACD,gBAAM,WAAW,IAAI;AACrB,cAAI,EAAE,SAAS,SAAS,UAAW,QAAO,CAAC,GAAa,CAAC;AACzD,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEjB;AAAA,UAAyB,kBAAC;AAAA,QAClC,KAAK;AACD,wBAAc,GAAG,KAAM;AACvB,iBAAO,CAAC,GAAa,CAAC;AAAA,QAC1B,KAAK;AAAG,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEzB;AAAA,UAAyB,kBAAC;AAAA,QAC9B,KAAK;AACD,wBAAc,GAAG,KAAM;AACvB,aAAG,QAAQ;AAAA,QACf,KAAK;AAAG,iBAAO,CAAC,GAAc,YAAY,GAAG,CAAC;AAAA,MAC1D;AAAA,IACA,CAAK;AAAA,EACL,CAAC;AAAE;","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter, a as __generator, p as pascalCase, I as IconSize } from "./index-B-M5Bcwv.js";
1
+ import { _ as __awaiter, a as __generator, p as pascalCase, I as IconSize } from "./index-Nu3j1GdK.js";
2
2
  var splitPathsBySizeLoader = function(name, size) {
3
3
  return __awaiter(void 0, void 0, void 0, function() {
4
4
  var key, pathsRecord;
@@ -31,4 +31,4 @@ var splitPathsBySizeLoader = function(name, size) {
31
31
  export {
32
32
  splitPathsBySizeLoader
33
33
  };
34
- //# sourceMappingURL=splitPathsBySizeLoader-BzOueL7K.js.map
34
+ //# sourceMappingURL=splitPathsBySizeLoader-Crh7bR9m.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"splitPathsBySizeLoader-BzOueL7K.js","sources":["../../../node_modules/.pnpm/@blueprintjs+icons@5.18.1_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@blueprintjs/icons/lib/esm/paths-loaders/splitPathsBySizeLoader.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __awaiter, __generator } from \"tslib\";\nimport { pascalCase } from \"change-case\";\nimport { IconSize } from \"../iconTypes\";\n/**\n * A dynamic loader for icon paths that generates separate chunks for the two size variants.\n */\nexport var splitPathsBySizeLoader = function (name, size) { return __awaiter(void 0, void 0, void 0, function () {\n var key, pathsRecord;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n key = pascalCase(name);\n if (!(size === IconSize.STANDARD)) return [3 /*break*/, 2];\n return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-16px-paths\" */\n \"../generated/16px/paths\")];\n case 1:\n pathsRecord = _a.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-20px-paths\" */\n \"../generated/20px/paths\")];\n case 3:\n pathsRecord = _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/, pathsRecord[key]];\n }\n });\n}); };\n//# sourceMappingURL=splitPathsBySizeLoader.js.map"],"names":[],"mappings":";AAqBU,IAAC,yBAAyB,SAAU,MAAM,MAAM;AAAE,SAAO,UAAU,QAAQ,QAAQ,QAAQ,WAAY;AAC7G,QAAI,KAAK;AACT,WAAO,YAAY,MAAM,SAAU,IAAI;AACnC,cAAQ,GAAG,OAAK;AAAA,QACZ,KAAK;AACD,gBAAM,WAAW,IAAI;AACrB,cAAI,EAAE,SAAS,SAAS,UAAW,QAAO,CAAC,GAAa,CAAC;AACzD,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEjB;AAAA,UAAyB,kBAAC;AAAA,QAClC,KAAK;AACD,wBAAc,GAAG,KAAM;AACvB,iBAAO,CAAC,GAAa,CAAC;AAAA,QAC1B,KAAK;AAAG,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEzB;AAAA,UAAyB,kBAAC;AAAA,QAC9B,KAAK;AACD,wBAAc,GAAG,KAAM;AACvB,aAAG,QAAQ;AAAA,QACf,KAAK;AAAG,iBAAO,CAAC,GAAc,YAAY,GAAG,CAAC;AAAA,MAC1D;AAAA,IACA,CAAK;AAAA,EACL,CAAC;AAAE;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"splitPathsBySizeLoader-Crh7bR9m.js","sources":["../../../node_modules/.pnpm/@blueprintjs+icons@5.18.1_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@blueprintjs/icons/lib/esm/paths-loaders/splitPathsBySizeLoader.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __awaiter, __generator } from \"tslib\";\nimport { pascalCase } from \"change-case\";\nimport { IconSize } from \"../iconTypes\";\n/**\n * A dynamic loader for icon paths that generates separate chunks for the two size variants.\n */\nexport var splitPathsBySizeLoader = function (name, size) { return __awaiter(void 0, void 0, void 0, function () {\n var key, pathsRecord;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n key = pascalCase(name);\n if (!(size === IconSize.STANDARD)) return [3 /*break*/, 2];\n return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-16px-paths\" */\n \"../generated/16px/paths\")];\n case 1:\n pathsRecord = _a.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-20px-paths\" */\n \"../generated/20px/paths\")];\n case 3:\n pathsRecord = _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/, pathsRecord[key]];\n }\n });\n}); };\n//# sourceMappingURL=splitPathsBySizeLoader.js.map"],"names":[],"mappings":";AAqBU,IAAC,yBAAyB,SAAU,MAAM,MAAM;AAAE,SAAO,UAAU,QAAQ,QAAQ,QAAQ,WAAY;AAC7G,QAAI,KAAK;AACT,WAAO,YAAY,MAAM,SAAU,IAAI;AACnC,cAAQ,GAAG,OAAK;AAAA,QACZ,KAAK;AACD,gBAAM,WAAW,IAAI;AACrB,cAAI,EAAE,SAAS,SAAS,UAAW,QAAO,CAAC,GAAa,CAAC;AACzD,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEjB;AAAA,UAAyB,kBAAC;AAAA,QAClC,KAAK;AACD,wBAAc,GAAG,KAAM;AACvB,iBAAO,CAAC,GAAa,CAAC;AAAA,QAC1B,KAAK;AAAG,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEzB;AAAA,UAAyB,kBAAC;AAAA,QAC9B,KAAK;AACD,wBAAc,GAAG,KAAM;AACvB,aAAG,QAAQ;AAAA,QACf,KAAK;AAAG,iBAAO,CAAC,GAAc,YAAY,GAAG,CAAC;AAAA,MAC1D;AAAA,IACA,CAAK;AAAA,EACL,CAAC;AAAE;","x_google_ignoreList":[0]}
@@ -2,10 +2,6 @@ import type { ValidStepDef } from "./triggers/registry.js";
2
2
  import type { TriggerStepType } from "@superblocksteam/library-shared/types";
3
3
  type ApplicationScope = "APP" | "PAGE";
4
4
  type WidgetTypes = string;
5
- export type SelectedStateVarProps = {
6
- name: string;
7
- scope?: ApplicationScope;
8
- };
9
5
  export type SelectedEventProps = {
10
6
  id: string;
11
7
  name: string;
@@ -1,20 +1,16 @@
1
1
  import { TriggerStepType } from "@superblocksteam/library-shared/types";
2
- import type { BaseStepDef, SelectedStateVarProps } from "../../../sb-trigger.js";
2
+ import type { BaseStepDef } from "../../../sb-trigger.js";
3
3
  import type { ExecutionContext } from "../../base.js";
4
4
  import type { WithBindingIdentifier } from "@superblocksteam/library-shared/types";
5
5
  export interface ResetStateVarStep extends BaseStepDef {
6
6
  type: typeof TriggerStepType.RESET_STATE_VAR;
7
- state?: SelectedStateVarProps;
7
+ state?: WithBindingIdentifier;
8
8
  }
9
9
  export declare const ResetStateVarTrigger: {
10
10
  type: "resetStateVar";
11
- execute(context: ExecutionContext, _step: ResetStateVarStep): Promise<void>;
11
+ execute(context: ExecutionContext, step: ResetStateVarStep): Promise<void>;
12
12
  create(stateVar?: WithBindingIdentifier): {
13
13
  type: "resetStateVar";
14
- state: {
15
- name: string;
16
- scopeId: any;
17
- scope: any;
18
- } | undefined;
14
+ state: WithBindingIdentifier | undefined;
19
15
  };
20
16
  };
@@ -1,23 +1,19 @@
1
1
  import { TriggerStepType } from "@superblocksteam/library-shared/types";
2
2
  import type { ValueInputProp } from "../../../internal-details/lib/evaluator/base-entity-manager.js";
3
- import type { BaseStepDef, SelectedStateVarProps } from "../../../sb-trigger.js";
3
+ import type { BaseStepDef } from "../../../sb-trigger.js";
4
4
  import type { ExecutionContext } from "../../base.js";
5
5
  import type { WithBindingIdentifier } from "@superblocksteam/library-shared/types";
6
6
  export interface SetStateVarStep extends BaseStepDef {
7
7
  type: typeof TriggerStepType.SET_STATE_VAR;
8
- state?: SelectedStateVarProps;
8
+ state?: WithBindingIdentifier;
9
9
  value?: ValueInputProp;
10
10
  }
11
11
  export declare const SetStateVarTrigger: {
12
12
  type: "setStateVar";
13
- execute(context: ExecutionContext, _step: SetStateVarStep): Promise<void>;
13
+ execute(context: ExecutionContext, step: SetStateVarStep): Promise<void>;
14
14
  create(stateVar?: WithBindingIdentifier, value?: ValueInputProp): {
15
15
  type: "setStateVar";
16
- state: {
17
- name: string;
18
- scopeId: any;
19
- scope: any;
20
- } | undefined;
16
+ state: WithBindingIdentifier | undefined;
21
17
  value: ValueInputProp;
22
18
  };
23
19
  };
@@ -115,14 +115,10 @@ declare const EventRegistry: {
115
115
  };
116
116
  readonly setStateVar: {
117
117
  type: "setStateVar";
118
- execute(context: import("./base.js").ExecutionContext, _step: import("./implementations/state/set-state-var.js").SetStateVarStep): Promise<void>;
118
+ execute(context: import("./base.js").ExecutionContext, step: import("./implementations/state/set-state-var.js").SetStateVarStep): Promise<void>;
119
119
  create(stateVar?: import("@superblocksteam/library-shared/types").WithBindingIdentifier, value?: import("../internal-details/lib/evaluator/base-entity-manager.js").ValueInputProp): {
120
120
  type: "setStateVar";
121
- state: {
122
- name: string;
123
- scopeId: any;
124
- scope: any;
125
- } | undefined;
121
+ state: import("@superblocksteam/library-shared/types").WithBindingIdentifier | undefined;
126
122
  value: import("../internal-details/lib/evaluator/base-entity-manager.js").ValueInputProp;
127
123
  };
128
124
  };
@@ -138,14 +134,10 @@ declare const EventRegistry: {
138
134
  };
139
135
  readonly resetStateVar: {
140
136
  type: "resetStateVar";
141
- execute(context: import("./base.js").ExecutionContext, _step: import("./implementations/state/reset-state-var.js").ResetStateVarStep): Promise<void>;
137
+ execute(context: import("./base.js").ExecutionContext, step: import("./implementations/state/reset-state-var.js").ResetStateVarStep): Promise<void>;
142
138
  create(stateVar?: import("@superblocksteam/library-shared/types").WithBindingIdentifier): {
143
139
  type: "resetStateVar";
144
- state: {
145
- name: string;
146
- scopeId: any;
147
- scope: any;
148
- } | undefined;
140
+ state: import("@superblocksteam/library-shared/types").WithBindingIdentifier | undefined;
149
141
  };
150
142
  };
151
143
  readonly controlTimer: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superblocksteam/library",
3
- "version": "2.0.3-next.182",
3
+ "version": "2.0.3-next.183",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -33,7 +33,7 @@
33
33
  "@react-hook/resize-observer": "1.2.6",
34
34
  "@superblocksteam/fast-deep-equal": "3.1.4",
35
35
  "@superblocksteam/iso-currency": "2.0.0",
36
- "@superblocksteam/library-shared": "2.0.3-next.182",
36
+ "@superblocksteam/library-shared": "2.0.3-next.183",
37
37
  "@superblocksteam/shared": "0.9160.0",
38
38
  "antd": "4.24.15",
39
39
  "apca-w3": "^0.1.9",