@superblocksteam/library 2.0.6-next.15 → 2.0.6-next.16

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 (23) hide show
  1. package/dist/{allPaths-DtvsApm-.js → allPaths-C3m8JKL1.js} +2 -2
  2. package/dist/{allPaths-DtvsApm-.js.map → allPaths-C3m8JKL1.js.map} +1 -1
  3. package/dist/{allPaths-M4QKMhth.js → allPaths-IhoxI4IW.js} +2 -2
  4. package/dist/{allPaths-M4QKMhth.js.map → allPaths-IhoxI4IW.js.map} +1 -1
  5. package/dist/{allPathsLoader-DWRf9vI8.js → allPathsLoader-5w2Df9lN.js} +3 -3
  6. package/dist/{allPathsLoader-DWRf9vI8.js.map → allPathsLoader-5w2Df9lN.js.map} +1 -1
  7. package/dist/{allPathsLoader-y8dng2pY.js → allPathsLoader-BAwHv7e7.js} +3 -3
  8. package/dist/{allPathsLoader-y8dng2pY.js.map → allPathsLoader-BAwHv7e7.js.map} +1 -1
  9. package/dist/{devtools-consolidated-BroJzOhM.js → devtools-consolidated-Eo3xuD81.js} +2 -2
  10. package/dist/{devtools-consolidated-BroJzOhM.js.map → devtools-consolidated-Eo3xuD81.js.map} +1 -1
  11. package/dist/{index-DpJmI9r2.js → index-Bnnq0M9f.js} +43 -35
  12. package/dist/{index-DpJmI9r2.js.map → index-Bnnq0M9f.js.map} +1 -1
  13. package/dist/index.js +2 -2
  14. package/dist/{splitPathsBySizeLoader-BYJOOIz4.js → splitPathsBySizeLoader-CUJrKt9p.js} +2 -2
  15. package/dist/{splitPathsBySizeLoader-BYJOOIz4.js.map → splitPathsBySizeLoader-CUJrKt9p.js.map} +1 -1
  16. package/dist/{splitPathsBySizeLoader-vZ47ilp6.js → splitPathsBySizeLoader-DALk2KWT.js} +2 -2
  17. package/dist/{splitPathsBySizeLoader-vZ47ilp6.js.map → splitPathsBySizeLoader-DALk2KWT.js.map} +1 -1
  18. package/dist-types/lib/triggers/implementations/state/reset-state-var.d.ts +3 -3
  19. package/dist-types/lib/triggers/implementations/state/set-state-var.d.ts +3 -3
  20. package/dist-types/lib/triggers/implementations/timers/control-timer.d.ts +4 -3
  21. package/dist-types/lib/triggers/registry.d.ts +6 -6
  22. package/dist-types/lib/user-facing/sb-event-flow.d.ts +2 -2
  23. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import { I as IconSvgPaths16 } from "./index-BxzKdlqH.js";
2
2
  import { I as IconSvgPaths20 } from "./index-DIn-fanT.js";
3
- import { p as pascalCase, b as IconSize } from "./index-DpJmI9r2.js";
3
+ import { p as pascalCase, b as IconSize } from "./index-Bnnq0M9f.js";
4
4
  function getIconPaths(name, size) {
5
5
  var key = pascalCase(name);
6
6
  return size === IconSize.STANDARD ? IconSvgPaths16[key] : IconSvgPaths20[key];
@@ -14,4 +14,4 @@ export {
14
14
  getIconPaths,
15
15
  iconNameToPathsRecordKey
16
16
  };
17
- //# sourceMappingURL=allPaths-DtvsApm-.js.map
17
+ //# sourceMappingURL=allPaths-C3m8JKL1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"allPaths-DtvsApm-.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/allPaths.js"],"sourcesContent":["/*\n * Copyright 2021 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 { pascalCase } from \"change-case\";\nimport * as IconSvgPaths16 from \"./generated/16px/paths\";\nimport * as IconSvgPaths20 from \"./generated/20px/paths\";\nimport { IconSize } from \"./iconTypes\";\nexport { IconSvgPaths16, IconSvgPaths20 };\n/**\n * Get the list of vector paths that define a given icon. These path strings are used to render `<path>`\n * elements inside an `<svg>` icon element. For full implementation details and nuances, see the icon component\n * handlebars template and `generate-icon-components` script in the __@blueprintjs/icons__ package.\n *\n * Note: this function loads all icon definitions __statically__, which means every icon is included in your\n * JS bundle. Only use this API if your app is likely to use all Blueprint icons at runtime. If you are looking for a\n * dynamic icon loader which loads icon definitions on-demand, use `{ Icons } from \"@blueprintjs/icons\"` instead.\n */\nexport function getIconPaths(name, size) {\n var key = pascalCase(name);\n return size === IconSize.STANDARD ? IconSvgPaths16[key] : IconSvgPaths20[key];\n}\n/**\n * Type safe string literal conversion of snake-case icon names to PascalCase icon names.\n * This is useful for indexing into the SVG paths record to extract a single icon's SVG path definition.\n *\n * @deprecated use `getIconPaths` instead\n */\nexport function iconNameToPathsRecordKey(name) {\n return pascalCase(name);\n}\n//# sourceMappingURL=allPaths.js.map"],"names":[],"mappings":";;;AA6BO,SAAS,aAAa,MAAM,MAAM;AACrC,MAAI,MAAM,WAAW,IAAI;AACzB,SAAO,SAAS,SAAS,WAAW,eAAe,GAAG,IAAI,eAAe,GAAG;AAChF;AAOO,SAAS,yBAAyB,MAAM;AAC3C,SAAO,WAAW,IAAI;AAC1B;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"allPaths-C3m8JKL1.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/allPaths.js"],"sourcesContent":["/*\n * Copyright 2021 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 { pascalCase } from \"change-case\";\nimport * as IconSvgPaths16 from \"./generated/16px/paths\";\nimport * as IconSvgPaths20 from \"./generated/20px/paths\";\nimport { IconSize } from \"./iconTypes\";\nexport { IconSvgPaths16, IconSvgPaths20 };\n/**\n * Get the list of vector paths that define a given icon. These path strings are used to render `<path>`\n * elements inside an `<svg>` icon element. For full implementation details and nuances, see the icon component\n * handlebars template and `generate-icon-components` script in the __@blueprintjs/icons__ package.\n *\n * Note: this function loads all icon definitions __statically__, which means every icon is included in your\n * JS bundle. Only use this API if your app is likely to use all Blueprint icons at runtime. If you are looking for a\n * dynamic icon loader which loads icon definitions on-demand, use `{ Icons } from \"@blueprintjs/icons\"` instead.\n */\nexport function getIconPaths(name, size) {\n var key = pascalCase(name);\n return size === IconSize.STANDARD ? IconSvgPaths16[key] : IconSvgPaths20[key];\n}\n/**\n * Type safe string literal conversion of snake-case icon names to PascalCase icon names.\n * This is useful for indexing into the SVG paths record to extract a single icon's SVG path definition.\n *\n * @deprecated use `getIconPaths` instead\n */\nexport function iconNameToPathsRecordKey(name) {\n return pascalCase(name);\n}\n//# sourceMappingURL=allPaths.js.map"],"names":[],"mappings":";;;AA6BO,SAAS,aAAa,MAAM,MAAM;AACrC,MAAI,MAAM,WAAW,IAAI;AACzB,SAAO,SAAS,SAAS,WAAW,eAAe,GAAG,IAAI,eAAe,GAAG;AAChF;AAOO,SAAS,yBAAyB,MAAM;AAC3C,SAAO,WAAW,IAAI;AAC1B;","x_google_ignoreList":[0]}
@@ -1,6 +1,6 @@
1
1
  import { I as IconSvgPaths16 } from "./index-DIJYif9G.js";
2
2
  import { I as IconSvgPaths20 } from "./index-LHtbj0-V.js";
3
- import { p as pascalCase, I as IconSize } from "./index-DpJmI9r2.js";
3
+ import { p as pascalCase, I as IconSize } from "./index-Bnnq0M9f.js";
4
4
  function getIconPaths(name, size) {
5
5
  var key = pascalCase(name);
6
6
  return size === IconSize.STANDARD ? IconSvgPaths16[key] : IconSvgPaths20[key];
@@ -14,4 +14,4 @@ export {
14
14
  getIconPaths,
15
15
  iconNameToPathsRecordKey
16
16
  };
17
- //# sourceMappingURL=allPaths-M4QKMhth.js.map
17
+ //# sourceMappingURL=allPaths-IhoxI4IW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"allPaths-M4QKMhth.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/allPaths.js"],"sourcesContent":["/*\n * Copyright 2021 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 { pascalCase } from \"change-case\";\nimport * as IconSvgPaths16 from \"./generated/16px/paths\";\nimport * as IconSvgPaths20 from \"./generated/20px/paths\";\nimport { IconSize } from \"./iconTypes\";\nexport { IconSvgPaths16, IconSvgPaths20 };\n/**\n * Get the list of vector paths that define a given icon. These path strings are used to render `<path>`\n * elements inside an `<svg>` icon element. For full implementation details and nuances, see the icon component\n * handlebars template and `generate-icon-components` script in the __@blueprintjs/icons__ package.\n *\n * Note: this function loads all icon definitions __statically__, which means every icon is included in your\n * JS bundle. Only use this API if your app is likely to use all Blueprint icons at runtime. If you are looking for a\n * dynamic icon loader which loads icon definitions on-demand, use `{ Icons } from \"@blueprintjs/icons\"` instead.\n */\nexport function getIconPaths(name, size) {\n var key = pascalCase(name);\n return size === IconSize.STANDARD ? IconSvgPaths16[key] : IconSvgPaths20[key];\n}\n/**\n * Type safe string literal conversion of snake-case icon names to PascalCase icon names.\n * This is useful for indexing into the SVG paths record to extract a single icon's SVG path definition.\n *\n * @deprecated use `getIconPaths` instead\n */\nexport function iconNameToPathsRecordKey(name) {\n return pascalCase(name);\n}\n//# sourceMappingURL=allPaths.js.map"],"names":[],"mappings":";;;AA6BO,SAAS,aAAa,MAAM,MAAM;AACrC,MAAI,MAAM,WAAW,IAAI;AACzB,SAAO,SAAS,SAAS,WAAW,eAAe,GAAG,IAAI,eAAe,GAAG;AAChF;AAOO,SAAS,yBAAyB,MAAM;AAC3C,SAAO,WAAW,IAAI;AAC1B;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"allPaths-IhoxI4IW.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/allPaths.js"],"sourcesContent":["/*\n * Copyright 2021 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 { pascalCase } from \"change-case\";\nimport * as IconSvgPaths16 from \"./generated/16px/paths\";\nimport * as IconSvgPaths20 from \"./generated/20px/paths\";\nimport { IconSize } from \"./iconTypes\";\nexport { IconSvgPaths16, IconSvgPaths20 };\n/**\n * Get the list of vector paths that define a given icon. These path strings are used to render `<path>`\n * elements inside an `<svg>` icon element. For full implementation details and nuances, see the icon component\n * handlebars template and `generate-icon-components` script in the __@blueprintjs/icons__ package.\n *\n * Note: this function loads all icon definitions __statically__, which means every icon is included in your\n * JS bundle. Only use this API if your app is likely to use all Blueprint icons at runtime. If you are looking for a\n * dynamic icon loader which loads icon definitions on-demand, use `{ Icons } from \"@blueprintjs/icons\"` instead.\n */\nexport function getIconPaths(name, size) {\n var key = pascalCase(name);\n return size === IconSize.STANDARD ? IconSvgPaths16[key] : IconSvgPaths20[key];\n}\n/**\n * Type safe string literal conversion of snake-case icon names to PascalCase icon names.\n * This is useful for indexing into the SVG paths record to extract a single icon's SVG path definition.\n *\n * @deprecated use `getIconPaths` instead\n */\nexport function iconNameToPathsRecordKey(name) {\n return pascalCase(name);\n}\n//# sourceMappingURL=allPaths.js.map"],"names":[],"mappings":";;;AA6BO,SAAS,aAAa,MAAM,MAAM;AACrC,MAAI,MAAM,WAAW,IAAI;AACzB,SAAO,SAAS,SAAS,WAAW,eAAe,GAAG,IAAI,eAAe,GAAG;AAChF;AAOO,SAAS,yBAAyB,MAAM;AAC3C,SAAO,WAAW,IAAI;AAC1B;","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter, a as __generator } from "./index-DpJmI9r2.js";
1
+ import { _ as __awaiter, a as __generator } from "./index-Bnnq0M9f.js";
2
2
  var allPathsLoader = function(name, size) {
3
3
  return __awaiter(void 0, void 0, void 0, function() {
4
4
  var getIconPaths;
@@ -7,7 +7,7 @@ var allPathsLoader = function(name, size) {
7
7
  case 0:
8
8
  return [4, import(
9
9
  /* webpackChunkName: "blueprint-icons-all-paths" */
10
- "./allPaths-M4QKMhth.js"
10
+ "./allPaths-IhoxI4IW.js"
11
11
  )];
12
12
  case 1:
13
13
  getIconPaths = _a.sent().getIconPaths;
@@ -19,4 +19,4 @@ var allPathsLoader = function(name, size) {
19
19
  export {
20
20
  allPathsLoader
21
21
  };
22
- //# sourceMappingURL=allPathsLoader-DWRf9vI8.js.map
22
+ //# sourceMappingURL=allPathsLoader-5w2Df9lN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"allPathsLoader-DWRf9vI8.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/allPathsLoader.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\";\n/**\n * A simple module loader which concatenates all icon paths into a single chunk.\n */\nexport var allPathsLoader = function (name, size) { return __awaiter(void 0, void 0, void 0, function () {\n var getIconPaths;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-all-paths\" */\n \"../allPaths\")];\n case 1:\n getIconPaths = (_a.sent()).getIconPaths;\n return [2 /*return*/, getIconPaths(name, size)];\n }\n });\n}); };\n//# sourceMappingURL=allPathsLoader.js.map"],"names":[],"mappings":";AAmBU,IAAC,iBAAiB,SAAU,MAAM,MAAM;AAAE,SAAO,UAAU,QAAQ,QAAQ,QAAQ,WAAY;AACrG,QAAI;AACJ,WAAO,YAAY,MAAM,SAAU,IAAI;AACnC,cAAQ,GAAG,OAAK;AAAA,QACZ,KAAK;AAAG,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEzB;AAAA,UAAa,CAAC;AAAA,QAClB,KAAK;AACD,yBAAgB,GAAG,KAAI,EAAI;AAC3B,iBAAO,CAAC,GAAc,aAAa,MAAM,IAAI,CAAC;AAAA,MAC9D;AAAA,IACA,CAAK;AAAA,EACL,CAAC;AAAE;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"allPathsLoader-5w2Df9lN.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/allPathsLoader.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\";\n/**\n * A simple module loader which concatenates all icon paths into a single chunk.\n */\nexport var allPathsLoader = function (name, size) { return __awaiter(void 0, void 0, void 0, function () {\n var getIconPaths;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-all-paths\" */\n \"../allPaths\")];\n case 1:\n getIconPaths = (_a.sent()).getIconPaths;\n return [2 /*return*/, getIconPaths(name, size)];\n }\n });\n}); };\n//# sourceMappingURL=allPathsLoader.js.map"],"names":[],"mappings":";AAmBU,IAAC,iBAAiB,SAAU,MAAM,MAAM;AAAE,SAAO,UAAU,QAAQ,QAAQ,QAAQ,WAAY;AACrG,QAAI;AACJ,WAAO,YAAY,MAAM,SAAU,IAAI;AACnC,cAAQ,GAAG,OAAK;AAAA,QACZ,KAAK;AAAG,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEzB;AAAA,UAAa,CAAC;AAAA,QAClB,KAAK;AACD,yBAAgB,GAAG,KAAI,EAAI;AAC3B,iBAAO,CAAC,GAAc,aAAa,MAAM,IAAI,CAAC;AAAA,MAC9D;AAAA,IACA,CAAK;AAAA,EACL,CAAC;AAAE;","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter, a as __generator } from "./index-DpJmI9r2.js";
1
+ import { _ as __awaiter, a as __generator } from "./index-Bnnq0M9f.js";
2
2
  var allPathsLoader = function(name, size) {
3
3
  return __awaiter(void 0, void 0, void 0, function() {
4
4
  var getIconPaths;
@@ -7,7 +7,7 @@ var allPathsLoader = function(name, size) {
7
7
  case 0:
8
8
  return [4, import(
9
9
  /* webpackChunkName: "blueprint-icons-all-paths" */
10
- "./allPaths-DtvsApm-.js"
10
+ "./allPaths-C3m8JKL1.js"
11
11
  )];
12
12
  case 1:
13
13
  getIconPaths = _a.sent().getIconPaths;
@@ -19,4 +19,4 @@ var allPathsLoader = function(name, size) {
19
19
  export {
20
20
  allPathsLoader
21
21
  };
22
- //# sourceMappingURL=allPathsLoader-y8dng2pY.js.map
22
+ //# sourceMappingURL=allPathsLoader-BAwHv7e7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"allPathsLoader-y8dng2pY.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/allPathsLoader.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\";\n/**\n * A simple module loader which concatenates all icon paths into a single chunk.\n */\nexport var allPathsLoader = function (name, size) { return __awaiter(void 0, void 0, void 0, function () {\n var getIconPaths;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-all-paths\" */\n \"../allPaths\")];\n case 1:\n getIconPaths = (_a.sent()).getIconPaths;\n return [2 /*return*/, getIconPaths(name, size)];\n }\n });\n}); };\n//# sourceMappingURL=allPathsLoader.js.map"],"names":[],"mappings":";AAmBU,IAAC,iBAAiB,SAAU,MAAM,MAAM;AAAE,SAAO,UAAU,QAAQ,QAAQ,QAAQ,WAAY;AACrG,QAAI;AACJ,WAAO,YAAY,MAAM,SAAU,IAAI;AACnC,cAAQ,GAAG,OAAK;AAAA,QACZ,KAAK;AAAG,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEzB;AAAA,UAAa,CAAC;AAAA,QAClB,KAAK;AACD,yBAAgB,GAAG,KAAI,EAAI;AAC3B,iBAAO,CAAC,GAAc,aAAa,MAAM,IAAI,CAAC;AAAA,MAC9D;AAAA,IACA,CAAK;AAAA,EACL,CAAC;AAAE;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"allPathsLoader-BAwHv7e7.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/allPathsLoader.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\";\n/**\n * A simple module loader which concatenates all icon paths into a single chunk.\n */\nexport var allPathsLoader = function (name, size) { return __awaiter(void 0, void 0, void 0, function () {\n var getIconPaths;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-all-paths\" */\n \"../allPaths\")];\n case 1:\n getIconPaths = (_a.sent()).getIconPaths;\n return [2 /*return*/, getIconPaths(name, size)];\n }\n });\n}); };\n//# sourceMappingURL=allPathsLoader.js.map"],"names":[],"mappings":";AAmBU,IAAC,iBAAiB,SAAU,MAAM,MAAM;AAAE,SAAO,UAAU,QAAQ,QAAQ,QAAQ,WAAY;AACrG,QAAI;AACJ,WAAO,YAAY,MAAM,SAAU,IAAI;AACnC,cAAQ,GAAG,OAAK;AAAA,QACZ,KAAK;AAAG,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEzB;AAAA,UAAa,CAAC;AAAA,QAClB,KAAK;AACD,yBAAgB,GAAG,KAAI,EAAI;AAC3B,iBAAO,CAAC,GAAc,aAAa,MAAM,IAAI,CAAC;AAAA,MAC9D;AAAA,IACA,CAAK;AAAA,EACL,CAAC;AAAE;","x_google_ignoreList":[0]}
@@ -1,7 +1,7 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { t as toJS, o as observer, j as jsxRuntimeExports, m as makeAutoObservable } from "./index-DpJmI9r2.js";
4
+ import { t as toJS, o as observer, j as jsxRuntimeExports, m as makeAutoObservable } from "./index-Bnnq0M9f.js";
5
5
  import { useRef, createElement, useState, useEffect, useId, useCallback } from "react";
6
6
  import { createPortal } from "react-dom";
7
7
  const isBoolean = (data) => {
@@ -587,4 +587,4 @@ export {
587
587
  initializeCustomDevTools,
588
588
  setRegisteredStores
589
589
  };
590
- //# sourceMappingURL=devtools-consolidated-BroJzOhM.js.map
590
+ //# sourceMappingURL=devtools-consolidated-Eo3xuD81.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devtools-consolidated-BroJzOhM.js","sources":["../../../node_modules/.pnpm/react-json-view-lite@2.4.1_react@18.3.1/node_modules/react-json-view-lite/dist/index.modern.js","../src/lib/internal-details/lib/devtools/serialize-store-data.tsx","../src/lib/internal-details/lib/devtools/devtools-consolidated.tsx"],"sourcesContent":["import { createElement, useRef, useState, useEffect, useId } from 'react';\n\nconst isBoolean = data => {\n return typeof data === 'boolean' || data instanceof Boolean;\n};\nconst isNumber = data => {\n return typeof data === 'number' || data instanceof Number;\n};\nconst isBigInt = data => {\n return typeof data === 'bigint' || data instanceof BigInt;\n};\nconst isDate = data => {\n return !!data && data instanceof Date;\n};\nconst isString = data => {\n return typeof data === 'string' || data instanceof String;\n};\nconst isArray = data => {\n return Array.isArray(data);\n};\nconst isObject = data => {\n return typeof data === 'object' && data !== null;\n};\nconst isFunction = data => {\n return !!data && data instanceof Object && typeof data === 'function';\n};\n\nfunction quoteString(value, quoted) {\n if (quoted === void 0) {\n quoted = false;\n }\n return !value || quoted ? `\"${value}\"` : value;\n}\nfunction quoteStringValue(value, quoted, stringify) {\n if (stringify) {\n return JSON.stringify(value);\n }\n return quoted ? `\"${value}\"` : value;\n}\nfunction ExpandableObject(_ref) {\n let {\n field,\n value,\n data,\n lastElement,\n openBracket,\n closeBracket,\n level,\n style,\n shouldExpandNode,\n clickToExpandNode,\n outerRef,\n beforeExpandChange\n } = _ref;\n const shouldExpandNodeCalledRef = useRef(false);\n const [expanded, setExpanded] = useState(() => shouldExpandNode(level, value, field));\n const expanderButtonRef = useRef(null);\n useEffect(() => {\n if (!shouldExpandNodeCalledRef.current) {\n shouldExpandNodeCalledRef.current = true;\n } else {\n setExpanded(shouldExpandNode(level, value, field));\n }\n }, [shouldExpandNode]);\n const contentsId = useId();\n if (data.length === 0) {\n return EmptyObject({\n field,\n openBracket,\n closeBracket,\n lastElement,\n style\n });\n }\n const expanderIconStyle = expanded ? style.collapseIcon : style.expandIcon;\n const ariaLabel = expanded ? style.ariaLables.collapseJson : style.ariaLables.expandJson;\n const childLevel = level + 1;\n const lastIndex = data.length - 1;\n const setExpandWithCallback = newExpandValue => {\n if (expanded !== newExpandValue && (!beforeExpandChange || beforeExpandChange({\n level,\n value,\n field,\n newExpandValue\n }))) {\n setExpanded(newExpandValue);\n }\n };\n const onKeyDown = e => {\n if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {\n e.preventDefault();\n setExpandWithCallback(e.key === 'ArrowRight');\n } else if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n e.preventDefault();\n const direction = e.key === 'ArrowUp' ? -1 : 1;\n if (!outerRef.current) return;\n const buttonElements = outerRef.current.querySelectorAll('[role=button]');\n let currentIndex = -1;\n for (let i = 0; i < buttonElements.length; i++) {\n if (buttonElements[i].tabIndex === 0) {\n currentIndex = i;\n break;\n }\n }\n if (currentIndex < 0) {\n return;\n }\n const nextIndex = (currentIndex + direction + buttonElements.length) % buttonElements.length;\n buttonElements[currentIndex].tabIndex = -1;\n buttonElements[nextIndex].tabIndex = 0;\n buttonElements[nextIndex].focus();\n }\n };\n const onClick = () => {\n var _outerRef$current;\n setExpandWithCallback(!expanded);\n const buttonElement = expanderButtonRef.current;\n if (!buttonElement) return;\n const prevButtonElement = (_outerRef$current = outerRef.current) === null || _outerRef$current === void 0 ? void 0 : _outerRef$current.querySelector('[role=button][tabindex=\"0\"]');\n if (prevButtonElement) {\n prevButtonElement.tabIndex = -1;\n }\n buttonElement.tabIndex = 0;\n buttonElement.focus();\n };\n return /*#__PURE__*/createElement(\"div\", {\n className: style.basicChildStyle,\n role: 'treeitem',\n \"aria-expanded\": expanded,\n \"aria-selected\": undefined\n }, /*#__PURE__*/createElement(\"span\", {\n className: expanderIconStyle,\n onClick: onClick,\n onKeyDown: onKeyDown,\n role: 'button',\n \"aria-label\": ariaLabel,\n \"aria-expanded\": expanded,\n \"aria-controls\": expanded ? contentsId : undefined,\n ref: expanderButtonRef,\n tabIndex: level === 0 ? 0 : -1\n }), (field || field === '') && (clickToExpandNode ? (\n /*#__PURE__*/\n createElement(\"span\", {\n className: style.clickableLabel,\n onClick: onClick,\n onKeyDown: onKeyDown\n }, quoteString(field, style.quotesForFieldNames), \":\")) : (/*#__PURE__*/createElement(\"span\", {\n className: style.label\n }, quoteString(field, style.quotesForFieldNames), \":\"))), /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, openBracket), expanded ? (/*#__PURE__*/createElement(\"ul\", {\n id: contentsId,\n role: 'group',\n className: style.childFieldsContainer\n }, data.map((dataElement, index) => (/*#__PURE__*/createElement(DataRender, {\n key: dataElement[0] || index,\n field: dataElement[0],\n value: dataElement[1],\n style: style,\n lastElement: index === lastIndex,\n level: childLevel,\n shouldExpandNode: shouldExpandNode,\n clickToExpandNode: clickToExpandNode,\n outerRef: outerRef\n }))))) : (\n /*#__PURE__*/\n createElement(\"span\", {\n className: style.collapsedContent,\n onClick: onClick,\n onKeyDown: onKeyDown\n })), /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, closeBracket), !lastElement && /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, \",\"));\n}\nfunction EmptyObject(_ref2) {\n let {\n field,\n openBracket,\n closeBracket,\n lastElement,\n style\n } = _ref2;\n return /*#__PURE__*/createElement(\"div\", {\n className: style.basicChildStyle,\n role: 'treeitem',\n \"aria-selected\": undefined\n }, (field || field === '') && (/*#__PURE__*/createElement(\"span\", {\n className: style.label\n }, quoteString(field, style.quotesForFieldNames), \":\")), /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, openBracket), /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, closeBracket), !lastElement && /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, \",\"));\n}\nfunction JsonObject(_ref3) {\n let {\n field,\n value,\n style,\n lastElement,\n shouldExpandNode,\n clickToExpandNode,\n level,\n outerRef,\n beforeExpandChange\n } = _ref3;\n return ExpandableObject({\n field,\n value,\n lastElement: lastElement || false,\n level,\n openBracket: '{',\n closeBracket: '}',\n style,\n shouldExpandNode,\n clickToExpandNode,\n data: Object.keys(value).map(key => [key, value[key]]),\n outerRef,\n beforeExpandChange\n });\n}\nfunction JsonArray(_ref4) {\n let {\n field,\n value,\n style,\n lastElement,\n level,\n shouldExpandNode,\n clickToExpandNode,\n outerRef,\n beforeExpandChange\n } = _ref4;\n return ExpandableObject({\n field,\n value,\n lastElement: lastElement || false,\n level,\n openBracket: '[',\n closeBracket: ']',\n style,\n shouldExpandNode,\n clickToExpandNode,\n data: value.map(element => [undefined, element]),\n outerRef,\n beforeExpandChange\n });\n}\nfunction JsonPrimitiveValue(_ref5) {\n let {\n field,\n value,\n style,\n lastElement\n } = _ref5;\n let stringValue;\n let valueStyle = style.otherValue;\n if (value === null) {\n stringValue = 'null';\n valueStyle = style.nullValue;\n } else if (value === undefined) {\n stringValue = 'undefined';\n valueStyle = style.undefinedValue;\n } else if (isString(value)) {\n stringValue = quoteStringValue(value, !style.noQuotesForStringValues, style.stringifyStringValues);\n valueStyle = style.stringValue;\n } else if (isBoolean(value)) {\n stringValue = value ? 'true' : 'false';\n valueStyle = style.booleanValue;\n } else if (isNumber(value)) {\n stringValue = value.toString();\n valueStyle = style.numberValue;\n } else if (isBigInt(value)) {\n stringValue = `${value.toString()}n`;\n valueStyle = style.numberValue;\n } else if (isDate(value)) {\n stringValue = value.toISOString();\n } else if (isFunction(value)) {\n stringValue = 'function() { }';\n } else {\n stringValue = value.toString();\n }\n return /*#__PURE__*/createElement(\"div\", {\n className: style.basicChildStyle,\n role: 'treeitem',\n \"aria-selected\": undefined\n }, (field || field === '') && (/*#__PURE__*/createElement(\"span\", {\n className: style.label\n }, quoteString(field, style.quotesForFieldNames), \":\")), /*#__PURE__*/createElement(\"span\", {\n className: valueStyle\n }, stringValue), !lastElement && /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, \",\"));\n}\nfunction DataRender(props) {\n const value = props.value;\n if (isArray(value)) {\n return /*#__PURE__*/createElement(JsonArray, Object.assign({}, props));\n }\n if (isObject(value) && !isDate(value) && !isFunction(value)) {\n return /*#__PURE__*/createElement(JsonObject, Object.assign({}, props));\n }\n return /*#__PURE__*/createElement(JsonPrimitiveValue, Object.assign({}, props));\n}\n\nvar styles = {\"container-base\":\"_GzYRV\",\"punctuation-base\":\"_3eOF8\",\"pointer\":\"_1MFti\",\"expander-base\":\"_f10Tu _1MFti\",\"expand-icon\":\"_1UmXx\",\"collapse-icon\":\"_1LId0\",\"collapsed-content-base\":\"_1pNG9 _1MFti\",\"container-light\":\"_2IvMF _GzYRV\",\"basic-element-style\":\"_2bkNM\",\"child-fields-container\":\"_1BXBN\",\"label-light\":\"_1MGIk\",\"clickable-label-light\":\"_2YKJg _1MGIk _1MFti\",\"punctuation-light\":\"_3uHL6 _3eOF8\",\"value-null-light\":\"_2T6PJ\",\"value-undefined-light\":\"_1Gho6\",\"value-string-light\":\"_vGjyY\",\"value-number-light\":\"_1bQdo\",\"value-boolean-light\":\"_3zQKs\",\"value-other-light\":\"_1xvuR\",\"collapse-icon-light\":\"_oLqym _f10Tu _1MFti _1LId0\",\"expand-icon-light\":\"_2AXVT _f10Tu _1MFti _1UmXx\",\"collapsed-content-light\":\"_2KJWg _1pNG9 _1MFti\",\"container-dark\":\"_11RoI _GzYRV\",\"expand-icon-dark\":\"_17H2C _f10Tu _1MFti _1UmXx\",\"collapse-icon-dark\":\"_3QHg2 _f10Tu _1MFti _1LId0\",\"collapsed-content-dark\":\"_3fDAz _1pNG9 _1MFti\",\"label-dark\":\"_2bSDX\",\"clickable-label-dark\":\"_1RQEj _2bSDX _1MFti\",\"punctuation-dark\":\"_gsbQL _3eOF8\",\"value-null-dark\":\"_LaAZe\",\"value-undefined-dark\":\"_GTKgm\",\"value-string-dark\":\"_Chy1W\",\"value-number-dark\":\"_2bveF\",\"value-boolean-dark\":\"_2vRm-\",\"value-other-dark\":\"_1prJR\"};\n\nconst defaultAriaLables = {\n collapseJson: 'collapse JSON',\n expandJson: 'expand JSON'\n};\nconst defaultStyles = {\n container: styles['container-light'],\n basicChildStyle: styles['basic-element-style'],\n childFieldsContainer: styles['child-fields-container'],\n label: styles['label-light'],\n clickableLabel: styles['clickable-label-light'],\n nullValue: styles['value-null-light'],\n undefinedValue: styles['value-undefined-light'],\n stringValue: styles['value-string-light'],\n booleanValue: styles['value-boolean-light'],\n numberValue: styles['value-number-light'],\n otherValue: styles['value-other-light'],\n punctuation: styles['punctuation-light'],\n collapseIcon: styles['collapse-icon-light'],\n expandIcon: styles['expand-icon-light'],\n collapsedContent: styles['collapsed-content-light'],\n noQuotesForStringValues: false,\n quotesForFieldNames: false,\n ariaLables: defaultAriaLables,\n stringifyStringValues: false\n};\nconst darkStyles = {\n container: styles['container-dark'],\n basicChildStyle: styles['basic-element-style'],\n childFieldsContainer: styles['child-fields-container'],\n label: styles['label-dark'],\n clickableLabel: styles['clickable-label-dark'],\n nullValue: styles['value-null-dark'],\n undefinedValue: styles['value-undefined-dark'],\n stringValue: styles['value-string-dark'],\n booleanValue: styles['value-boolean-dark'],\n numberValue: styles['value-number-dark'],\n otherValue: styles['value-other-dark'],\n punctuation: styles['punctuation-dark'],\n collapseIcon: styles['collapse-icon-dark'],\n expandIcon: styles['expand-icon-dark'],\n collapsedContent: styles['collapsed-content-dark'],\n noQuotesForStringValues: false,\n quotesForFieldNames: false,\n ariaLables: defaultAriaLables,\n stringifyStringValues: false\n};\nconst allExpanded = () => true;\nconst collapseAllNested = level => level < 1;\nconst JsonView = _ref => {\n let {\n data,\n style = defaultStyles,\n shouldExpandNode = allExpanded,\n clickToExpandNode = false,\n beforeExpandChange,\n ...ariaAttrs\n } = _ref;\n const outerRef = useRef(null);\n return /*#__PURE__*/createElement(\"div\", Object.assign({\n \"aria-label\": 'JSON view'\n }, ariaAttrs, {\n className: style.container,\n ref: outerRef,\n role: 'tree'\n }), /*#__PURE__*/createElement(DataRender, {\n value: data,\n style: {\n ...defaultStyles,\n ...style\n },\n lastElement: true,\n level: 0,\n shouldExpandNode: shouldExpandNode,\n clickToExpandNode: clickToExpandNode,\n outerRef: outerRef,\n beforeExpandChange: beforeExpandChange\n }));\n};\n\nexport { JsonView, allExpanded, collapseAllNested, darkStyles, defaultStyles };\n//# sourceMappingURL=index.modern.js.map\n","import { toJS } from \"mobx\";\n\nexport function serializeStoreData(\n stores_: Record<string, any>,\n): Record<string, any> {\n try {\n const stores = toJS(stores_);\n const seen = new Set();\n function serialize(obj: any): any {\n if (obj === null || typeof obj !== \"object\") {\n return obj;\n }\n\n if (seen.has(obj)) {\n return \"[Already Seen]\";\n }\n\n // Create new path for this branch of recursion\n seen.add(obj);\n\n if (Array.isArray(obj)) {\n return obj.map(serialize);\n }\n\n const result: any = {};\n\n for (const key of Object.keys(obj)) {\n if (typeof obj[key] === \"function\") {\n result[key] = \"[Function]\";\n }\n\n try {\n const descriptor = Object.getOwnPropertyDescriptor(obj, key);\n if (descriptor && descriptor.get) {\n try {\n result[key] = serialize(obj[key]);\n } catch {\n result[key] = \"[Getter Error]\";\n }\n } else {\n result[key] = serialize(obj[key]);\n }\n } catch {\n result[key] = \"[Access Error]\";\n }\n }\n\n // Add type information\n if (obj.constructor && obj.constructor.name !== \"Object\") {\n result.__type__ = obj.constructor.name;\n }\n\n return result;\n }\n\n return serialize(stores);\n } catch (error) {\n return {\n error: `Error serializing data: ${error instanceof Error ? error.message : \"Unknown error\"}`,\n };\n }\n}\n","import { makeAutoObservable } from \"mobx\";\nimport { observer } from \"mobx-react-lite\";\nimport React, { useCallback, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { JsonView } from \"react-json-view-lite\";\nimport \"react-json-view-lite/dist/index.css\";\nimport { serializeStoreData } from \"./serialize-store-data.js\";\n\n// ============================================================================\n// STATE MANAGEMENT\n// ============================================================================\n\nclass DevToolsState {\n isVisible = false;\n\n constructor() {\n makeAutoObservable(this);\n }\n\n show() {\n this.isVisible = true;\n }\n\n hide() {\n this.isVisible = false;\n }\n\n toggle() {\n this.isVisible = !this.isVisible;\n }\n}\n\nconst devToolsState = new DevToolsState();\n\n// ============================================================================\n// KEYBOARD SHORTCUT MANAGER\n// ============================================================================\n\nclass KeyboardShortcutManager {\n private isListening = false;\n private shortcutKeys = {\n key: \"KeyD\",\n ctrlKey: true,\n shiftKey: true,\n altKey: false,\n };\n\n constructor() {\n this.handleKeyDown = this.handleKeyDown.bind(this);\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n const { ctrlKey, shiftKey, altKey, metaKey } = event;\n const isModifierMatch = (ctrlKey || metaKey) && shiftKey && !altKey;\n const isKeyMatch = event.code === this.shortcutKeys.key;\n if (isModifierMatch && isKeyMatch) {\n event.preventDefault();\n event.stopPropagation();\n devToolsState.toggle();\n }\n }\n\n private handleEscapeKey = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && devToolsState.isVisible) {\n event.preventDefault();\n devToolsState.hide();\n }\n };\n\n startListening() {\n if (this.isListening) return;\n\n this.isListening = true;\n document.addEventListener(\"keydown\", this.handleKeyDown, true);\n document.addEventListener(\"keydown\", this.handleEscapeKey, true);\n }\n\n stopListening() {\n if (!this.isListening) return;\n\n this.isListening = false;\n document.removeEventListener(\"keydown\", this.handleKeyDown, true);\n document.removeEventListener(\"keydown\", this.handleEscapeKey, true);\n }\n\n updateShortcut(options: Partial<typeof this.shortcutKeys>) {\n this.shortcutKeys = { ...this.shortcutKeys, ...options };\n }\n}\n\nconst keyboardShortcutManager = new KeyboardShortcutManager();\n\n// ============================================================================\n// STORE ACCESS\n// ============================================================================\n\n// This will be populated by the registerStores function\nlet registeredStores: Record<string, any> = {};\n\nexport function setRegisteredStores(stores: Record<string, any>) {\n registeredStores = stores;\n}\n\nfunction getRegisteredStores() {\n return registeredStores;\n}\n\n// ============================================================================\n// DEVTOOLS PANEL COMPONENT\n// ============================================================================\n\nconst overlayStyles: React.CSSProperties = {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\n zIndex: 9999,\n};\n\nconst panelStyles: React.CSSProperties = {\n position: \"fixed\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"90vw\",\n height: \"90vh\",\n backgroundColor: \"#fff\",\n zIndex: 10000,\n display: \"flex\",\n flexDirection: \"column\",\n borderRadius: 12,\n};\n\nconst headerStyles: React.CSSProperties = {\n padding: 12,\n borderBottom: \"1px solid #ccc\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n};\n\nconst closeButtonStyles: React.CSSProperties = {\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n};\n\nconst contentStyles: React.CSSProperties = {\n padding: 8,\n display: \"flex\",\n flex: 1,\n overflow: \"auto\",\n flexDirection: \"column\",\n};\n\nconst DevToolsPanelContent: React.FC = observer(() => {\n const stores = getRegisteredStores();\n const storeNames = Object.keys(stores);\n\n const serializedData = serializeStoreData(stores);\n const onClose = useCallback(() => {\n devToolsState.hide();\n }, []);\n\n return createPortal(\n <>\n <div style={overlayStyles} onClick={onClose} />\n <div style={panelStyles}>\n <div style={headerStyles}>\n <h3>\n MobX DevTools ({storeNames.length} store\n {storeNames.length !== 1 ? \"s\" : \"\"})\n </h3>\n <button\n style={closeButtonStyles}\n onClick={onClose}\n title=\"Close (ESC)\"\n >\n ×\n </button>\n </div>\n {storeNames.length === 0 ? (\n <div>No stores registered yet.</div>\n ) : (\n <div style={contentStyles}>\n <JsonView\n data={serializedData}\n clickToExpandNode={true}\n shouldExpandNode={(level) => level < 2}\n />\n </div>\n )}\n </div>\n </>,\n document.body,\n );\n});\n\n// ============================================================================\n// PROVIDER COMPONENT\n// ============================================================================\n\nexport const CustomDevTools: React.FC = observer(() => {\n useEffect(() => {\n if (devToolsState.isVisible) {\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n devToolsState.hide();\n }\n };\n document.addEventListener(\"keydown\", handleEscape);\n return () => document.removeEventListener(\"keydown\", handleEscape);\n }\n }, []);\n\n if (!devToolsState.isVisible) {\n return null;\n }\n\n return <DevToolsPanelContent />;\n});\n\n// ============================================================================\n// INITIALIZATION\n// ============================================================================\n\nexport function initializeCustomDevTools() {\n keyboardShortcutManager.startListening();\n console.log(\n \"[CustomDevTools] Initialized - Press Ctrl+Shift+D (or Cmd+Shift+D) to open\",\n );\n}\n"],"names":["jsxs","Fragment","jsx"],"mappings":";;;;;;AAEA,MAAM,YAAY,UAAQ;AACxB,SAAO,OAAO,SAAS,aAAa,gBAAgB;AACtD;AACA,MAAM,WAAW,UAAQ;AACvB,SAAO,OAAO,SAAS,YAAY,gBAAgB;AACrD;AACA,MAAM,WAAW,UAAQ;AACvB,SAAO,OAAO,SAAS,YAAY,gBAAgB;AACrD;AACA,MAAM,SAAS,UAAQ;AACrB,SAAO,CAAC,CAAC,QAAQ,gBAAgB;AACnC;AACA,MAAM,WAAW,UAAQ;AACvB,SAAO,OAAO,SAAS,YAAY,gBAAgB;AACrD;AACA,MAAM,UAAU,UAAQ;AACtB,SAAO,MAAM,QAAQ,IAAI;AAC3B;AACA,MAAM,WAAW,UAAQ;AACvB,SAAO,OAAO,SAAS,YAAY,SAAS;AAC9C;AACA,MAAM,aAAa,UAAQ;AACzB,SAAO,CAAC,CAAC,QAAQ,gBAAgB,UAAU,OAAO,SAAS;AAC7D;AAEA,SAAS,YAAY,OAAO,QAAQ;AAClC,MAAI,WAAW,QAAQ;AACrB,aAAS;AAAA,EACb;AACE,SAAO,CAAC,SAAS,SAAS,IAAI,KAAK,MAAM;AAC3C;AACA,SAAS,iBAAiB,OAAO,QAAQ,WAAW;AAClD,MAAI,WAAW;AACb,WAAO,KAAK,UAAU,KAAK;AAAA,EAC/B;AACE,SAAO,SAAS,IAAI,KAAK,MAAM;AACjC;AACA,SAAS,iBAAiB,MAAM;AAC9B,MAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAM;AACJ,QAAM,4BAA4B,OAAO,KAAK;AAC9C,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,MAAM,iBAAiB,OAAO,OAAO,KAAK,CAAC;AACpF,QAAM,oBAAoB,OAAO,IAAI;AACrC,YAAU,MAAM;AACd,QAAI,CAAC,0BAA0B,SAAS;AACtC,gCAA0B,UAAU;AAAA,IAC1C,OAAW;AACL,kBAAY,iBAAiB,OAAO,OAAO,KAAK,CAAC;AAAA,IACvD;AAAA,EACA,GAAK,CAAC,gBAAgB,CAAC;AACrB,QAAM,aAAa,MAAO;AAC1B,MAAI,KAAK,WAAW,GAAG;AACrB,WAAO,YAAY;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACN,CAAK;AAAA,EACL;AACE,QAAM,oBAAoB,WAAW,MAAM,eAAe,MAAM;AAChE,QAAM,YAAY,WAAW,MAAM,WAAW,eAAe,MAAM,WAAW;AAC9E,QAAM,aAAa,QAAQ;AAC3B,QAAM,YAAY,KAAK,SAAS;AAChC,QAAM,wBAAwB,oBAAkB;AAC9C,QAAI,aAAa,mBAAmB,CAAC,sBAAsB,mBAAmB;AAAA,MAC5E;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAA,IAAI;AACH,kBAAY,cAAc;AAAA,IAChC;AAAA,EACG;AACD,QAAM,YAAY,OAAK;AACrB,QAAI,EAAE,QAAQ,gBAAgB,EAAE,QAAQ,aAAa;AACnD,QAAE,eAAgB;AAClB,4BAAsB,EAAE,QAAQ,YAAY;AAAA,IAClD,WAAe,EAAE,QAAQ,aAAa,EAAE,QAAQ,aAAa;AACvD,QAAE,eAAgB;AAClB,YAAM,YAAY,EAAE,QAAQ,YAAY,KAAK;AAC7C,UAAI,CAAC,SAAS,QAAS;AACvB,YAAM,iBAAiB,SAAS,QAAQ,iBAAiB,eAAe;AACxE,UAAI,eAAe;AACnB,eAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;AAC9C,YAAI,eAAe,CAAC,EAAE,aAAa,GAAG;AACpC,yBAAe;AACf;AAAA,QACV;AAAA,MACA;AACM,UAAI,eAAe,GAAG;AACpB;AAAA,MACR;AACM,YAAM,aAAa,eAAe,YAAY,eAAe,UAAU,eAAe;AACtF,qBAAe,YAAY,EAAE,WAAW;AACxC,qBAAe,SAAS,EAAE,WAAW;AACrC,qBAAe,SAAS,EAAE,MAAO;AAAA,IACvC;AAAA,EACG;AACD,QAAM,UAAU,MAAM;AACpB,QAAI;AACJ,0BAAsB,CAAC,QAAQ;AAC/B,UAAM,gBAAgB,kBAAkB;AACxC,QAAI,CAAC,cAAe;AACpB,UAAM,qBAAqB,oBAAoB,SAAS,aAAa,QAAQ,sBAAsB,SAAS,SAAS,kBAAkB,cAAc,6BAA6B;AAClL,QAAI,mBAAmB;AACrB,wBAAkB,WAAW;AAAA,IACnC;AACI,kBAAc,WAAW;AACzB,kBAAc,MAAO;AAAA,EACtB;AACD,SAAoB,8BAAc,OAAO;AAAA,IACvC,WAAW,MAAM;AAAA,IACjB,MAAM;AAAA,IACN,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,EACrB,GAAkB,8BAAc,QAAQ;AAAA,IACpC,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,iBAAiB,WAAW,aAAa;AAAA,IACzC,KAAK;AAAA,IACL,UAAU,UAAU,IAAI,IAAI;AAAA,EAC7B,CAAA,IAAI,SAAS,UAAU,QAAQ,oBAEhC,8BAAc,QAAQ;AAAA,IACpB,WAAW,MAAM;AAAA,IACjB;AAAA,IACA;AAAA,EACJ,GAAK,YAAY,OAAO,MAAM,mBAAmB,GAAG,GAAG,IAAmB,8BAAc,QAAQ;AAAA,IAC5F,WAAW,MAAM;AAAA,EACrB,GAAK,YAAY,OAAO,MAAM,mBAAmB,GAAG,GAAG,IAAkB,8BAAc,QAAQ;AAAA,IAC3F,WAAW,MAAM;AAAA,EAClB,GAAE,WAAW,GAAG,WAAyB,8BAAc,MAAM;AAAA,IAC5D,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,WAAW,MAAM;AAAA,EACrB,GAAK,KAAK,IAAI,CAAC,aAAa,UAAwB,8BAAc,YAAY;AAAA,IAC1E,KAAK,YAAY,CAAC,KAAK;AAAA,IACvB,OAAO,YAAY,CAAC;AAAA,IACpB,OAAO,YAAY,CAAC;AAAA,IACpB;AAAA,IACA,aAAa,UAAU;AAAA,IACvB,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAA,CAAE,CAAC,IAEJ,8BAAc,QAAQ;AAAA,IACpB,WAAW,MAAM;AAAA,IACjB;AAAA,IACA;AAAA,EACJ,CAAG,GAAiB,8BAAc,QAAQ;AAAA,IACtC,WAAW,MAAM;AAAA,EAClB,GAAE,YAAY,GAAG,CAAC,eAA4B,8BAAc,QAAQ;AAAA,IACnE,WAAW,MAAM;AAAA,EAClB,GAAE,GAAG,CAAC;AACT;AACA,SAAS,YAAY,OAAO;AAC1B,MAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAM;AACJ,SAAoB,8BAAc,OAAO;AAAA,IACvC,WAAW,MAAM;AAAA,IACjB,MAAM;AAAA,IACN,iBAAiB;AAAA,EAClB,IAAG,SAAS,UAAU,OAAqB,8BAAc,QAAQ;AAAA,IAChE,WAAW,MAAM;AAAA,EACrB,GAAK,YAAY,OAAO,MAAM,mBAAmB,GAAG,GAAG,GAAiB,8BAAc,QAAQ;AAAA,IAC1F,WAAW,MAAM;AAAA,EACrB,GAAK,WAAW,GAAgB,8BAAc,QAAQ;AAAA,IAClD,WAAW,MAAM;AAAA,EAClB,GAAE,YAAY,GAAG,CAAC,eAA4B,8BAAc,QAAQ;AAAA,IACnE,WAAW,MAAM;AAAA,EAClB,GAAE,GAAG,CAAC;AACT;AACA,SAAS,WAAW,OAAO;AACzB,MAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAM;AACJ,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,aAAa,eAAe;AAAA,IAC5B;AAAA,IACA,aAAa;AAAA,IACb,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM,OAAO,KAAK,KAAK,EAAE,IAAI,SAAO,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC;AAAA,IACrD;AAAA,IACA;AAAA,EACJ,CAAG;AACH;AACA,SAAS,UAAU,OAAO;AACxB,MAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAM;AACJ,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,aAAa,eAAe;AAAA,IAC5B;AAAA,IACA,aAAa;AAAA,IACb,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM,MAAM,IAAI,aAAW,CAAC,QAAW,OAAO,CAAC;AAAA,IAC/C;AAAA,IACA;AAAA,EACJ,CAAG;AACH;AACA,SAAS,mBAAmB,OAAO;AACjC,MAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAM;AACJ,MAAI;AACJ,MAAI,aAAa,MAAM;AACvB,MAAI,UAAU,MAAM;AAClB,kBAAc;AACd,iBAAa,MAAM;AAAA,EACvB,WAAa,UAAU,QAAW;AAC9B,kBAAc;AACd,iBAAa,MAAM;AAAA,EACvB,WAAa,SAAS,KAAK,GAAG;AAC1B,kBAAc,iBAAiB,OAAO,CAAC,MAAM,yBAAyB,MAAM,qBAAqB;AACjG,iBAAa,MAAM;AAAA,EACvB,WAAa,UAAU,KAAK,GAAG;AAC3B,kBAAc,QAAQ,SAAS;AAC/B,iBAAa,MAAM;AAAA,EACvB,WAAa,SAAS,KAAK,GAAG;AAC1B,kBAAc,MAAM,SAAU;AAC9B,iBAAa,MAAM;AAAA,EACvB,WAAa,SAAS,KAAK,GAAG;AAC1B,kBAAc,GAAG,MAAM,SAAQ,CAAE;AACjC,iBAAa,MAAM;AAAA,EACvB,WAAa,OAAO,KAAK,GAAG;AACxB,kBAAc,MAAM,YAAa;AAAA,EACrC,WAAa,WAAW,KAAK,GAAG;AAC5B,kBAAc;AAAA,EAClB,OAAS;AACL,kBAAc,MAAM,SAAU;AAAA,EAClC;AACE,SAAoB,8BAAc,OAAO;AAAA,IACvC,WAAW,MAAM;AAAA,IACjB,MAAM;AAAA,IACN,iBAAiB;AAAA,EAClB,IAAG,SAAS,UAAU,OAAqB,8BAAc,QAAQ;AAAA,IAChE,WAAW,MAAM;AAAA,EACrB,GAAK,YAAY,OAAO,MAAM,mBAAmB,GAAG,GAAG,GAAiB,8BAAc,QAAQ;AAAA,IAC1F,WAAW;AAAA,EACZ,GAAE,WAAW,GAAG,CAAC,eAA4B,8BAAc,QAAQ;AAAA,IAClE,WAAW,MAAM;AAAA,EAClB,GAAE,GAAG,CAAC;AACT;AACA,SAAS,WAAW,OAAO;AACzB,QAAM,QAAQ,MAAM;AACpB,MAAI,QAAQ,KAAK,GAAG;AAClB,WAAoB,8BAAc,WAAW,OAAO,OAAO,CAAA,GAAI,KAAK,CAAC;AAAA,EACzE;AACE,MAAI,SAAS,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,WAAW,KAAK,GAAG;AAC3D,WAAoB,8BAAc,YAAY,OAAO,OAAO,CAAA,GAAI,KAAK,CAAC;AAAA,EAC1E;AACE,SAAoB,8BAAc,oBAAoB,OAAO,OAAO,CAAA,GAAI,KAAK,CAAC;AAChF;AAEA,IAAI,SAAS,EAAmM,mBAAkB,iBAAgB,uBAAsB,UAAS,0BAAyB,UAAS,eAAc,UAAS,yBAAwB,wBAAuB,qBAAoB,iBAAgB,oBAAmB,UAAS,yBAAwB,UAAS,sBAAqB,UAAS,sBAAqB,UAAS,uBAAsB,UAAS,qBAAoB,UAAS,uBAAsB,+BAA8B,qBAAoB,+BAA8B,2BAA0B,uBAAie;AAEnrC,MAAM,oBAAoB;AAAA,EACxB,cAAc;AAAA,EACd,YAAY;AACd;AACA,MAAM,gBAAgB;AAAA,EACpB,WAAW,OAAO,iBAAiB;AAAA,EACnC,iBAAiB,OAAO,qBAAqB;AAAA,EAC7C,sBAAsB,OAAO,wBAAwB;AAAA,EACrD,OAAO,OAAO,aAAa;AAAA,EAC3B,gBAAgB,OAAO,uBAAuB;AAAA,EAC9C,WAAW,OAAO,kBAAkB;AAAA,EACpC,gBAAgB,OAAO,uBAAuB;AAAA,EAC9C,aAAa,OAAO,oBAAoB;AAAA,EACxC,cAAc,OAAO,qBAAqB;AAAA,EAC1C,aAAa,OAAO,oBAAoB;AAAA,EACxC,YAAY,OAAO,mBAAmB;AAAA,EACtC,aAAa,OAAO,mBAAmB;AAAA,EACvC,cAAc,OAAO,qBAAqB;AAAA,EAC1C,YAAY,OAAO,mBAAmB;AAAA,EACtC,kBAAkB,OAAO,yBAAyB;AAAA,EAClD,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,uBAAuB;AACzB;AAsBA,MAAM,cAAc,MAAM;AAE1B,MAAM,WAAW,UAAQ;AACvB,MAAI;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,IACR,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB;AAAA,IACA,GAAG;AAAA,EACP,IAAM;AACJ,QAAM,WAAW,OAAO,IAAI;AAC5B,SAAoB,8BAAc,OAAO,OAAO,OAAO;AAAA,IACrD,cAAc;AAAA,EACf,GAAE,WAAW;AAAA,IACZ,WAAW,MAAM;AAAA,IACjB,KAAK;AAAA,IACL,MAAM;AAAA,EACV,CAAG,GAAgB,8BAAc,YAAY;AAAA,IACzC,OAAO;AAAA,IACP,OAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,aAAa;AAAA,IACb,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG,CAAC;AACJ;AClYO,SAAS,mBACd,SACqB;AACjB,MAAA;AAGO,QAAA,YAAT,SAAmB,KAAe;AAChC,UAAI,QAAQ,QAAQ,OAAO,QAAQ,UAAU;AACpC,eAAA;AAAA,MAAA;AAGL,UAAA,KAAK,IAAI,GAAG,GAAG;AACV,eAAA;AAAA,MAAA;AAIT,WAAK,IAAI,GAAG;AAER,UAAA,MAAM,QAAQ,GAAG,GAAG;AACf,eAAA,IAAI,IAAI,SAAS;AAAA,MAAA;AAG1B,YAAM,SAAc,CAAC;AAErB,iBAAW,OAAO,OAAO,KAAK,GAAG,GAAG;AAClC,YAAI,OAAO,IAAI,GAAG,MAAM,YAAY;AAClC,iBAAO,GAAG,IAAI;AAAA,QAAA;AAGZ,YAAA;AACF,gBAAM,aAAa,OAAO,yBAAyB,KAAK,GAAG;AACvD,cAAA,cAAc,WAAW,KAAK;AAC5B,gBAAA;AACF,qBAAO,GAAG,IAAI,UAAU,IAAI,GAAG,CAAC;AAAA,YAAA,QAC1B;AACN,qBAAO,GAAG,IAAI;AAAA,YAAA;AAAA,UAChB,OACK;AACL,mBAAO,GAAG,IAAI,UAAU,IAAI,GAAG,CAAC;AAAA,UAAA;AAAA,QAClC,QACM;AACN,iBAAO,GAAG,IAAI;AAAA,QAAA;AAAA,MAChB;AAIF,UAAI,IAAI,eAAe,IAAI,YAAY,SAAS,UAAU;AACjD,eAAA,WAAW,IAAI,YAAY;AAAA,MAAA;AAG7B,aAAA;AAAA,IACT;AA/CM,UAAA,SAAS,KAAK,OAAO;AACrB,UAAA,2BAAW,IAAI;AAgDrB,WAAO,UAAU,MAAM;AAAA,WAChB,OAAO;AACP,WAAA;AAAA,MACL,OAAO,2BAA2B,iBAAiB,QAAQ,MAAM,UAAU,eAAe;AAAA,IAC5F;AAAA,EAAA;AAEJ;ACjDA,MAAM,cAAc;AAAA,EAGlB,cAAc;AAFd,qCAAY;AAGV,uBAAmB,IAAI;AAAA,EAAA;AAAA,EAGzB,OAAO;AACL,SAAK,YAAY;AAAA,EAAA;AAAA,EAGnB,OAAO;AACL,SAAK,YAAY;AAAA,EAAA;AAAA,EAGnB,SAAS;AACF,SAAA,YAAY,CAAC,KAAK;AAAA,EAAA;AAE3B;AAEA,MAAM,gBAAgB,IAAI,cAAc;AAMxC,MAAM,wBAAwB;AAAA,EAS5B,cAAc;AARN,uCAAc;AACd,wCAAe;AAAA,MACrB,KAAK;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAiBQ,2CAAkB,CAAC,UAAyB;AAClD,UAAI,MAAM,QAAQ,YAAY,cAAc,WAAW;AACrD,cAAM,eAAe;AACrB,sBAAc,KAAK;AAAA,MAAA;AAAA,IAEvB;AAnBE,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AAAA,EAAA;AAAA,EAG3C,cAAc,OAAsB;AAC1C,UAAM,EAAE,SAAS,UAAU,QAAQ,QAAY,IAAA;AAC/C,UAAM,mBAAmB,WAAW,YAAY,YAAY,CAAC;AAC7D,UAAM,aAAa,MAAM,SAAS,KAAK,aAAa;AACpD,QAAI,mBAAmB,YAAY;AACjC,YAAM,eAAe;AACrB,YAAM,gBAAgB;AACtB,oBAAc,OAAO;AAAA,IAAA;AAAA,EACvB;AAAA,EAUF,iBAAiB;AACf,QAAI,KAAK,YAAa;AAEtB,SAAK,cAAc;AACnB,aAAS,iBAAiB,WAAW,KAAK,eAAe,IAAI;AAC7D,aAAS,iBAAiB,WAAW,KAAK,iBAAiB,IAAI;AAAA,EAAA;AAAA,EAGjE,gBAAgB;AACV,QAAA,CAAC,KAAK,YAAa;AAEvB,SAAK,cAAc;AACnB,aAAS,oBAAoB,WAAW,KAAK,eAAe,IAAI;AAChE,aAAS,oBAAoB,WAAW,KAAK,iBAAiB,IAAI;AAAA,EAAA;AAAA,EAGpE,eAAe,SAA4C;AACzD,SAAK,eAAe,EAAE,GAAG,KAAK,cAAc,GAAG,QAAQ;AAAA,EAAA;AAE3D;AAEA,MAAM,0BAA0B,IAAI,wBAAwB;AAO5D,IAAI,mBAAwC,CAAC;AAEtC,SAAS,oBAAoB,QAA6B;AAC5C,qBAAA;AACrB;AAEA,SAAS,sBAAsB;AACtB,SAAA;AACT;AAMA,MAAM,gBAAqC;AAAA,EACzC,UAAU;AAAA,EACV,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,QAAQ;AACV;AAEA,MAAM,cAAmC;AAAA,EACvC,UAAU;AAAA,EACV,KAAK;AAAA,EACL,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,eAAe;AAAA,EACf,cAAc;AAChB;AAEA,MAAM,eAAoC;AAAA,EACxC,SAAS;AAAA,EACT,cAAc;AAAA,EACd,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,YAAY;AACd;AAEA,MAAM,oBAAyC;AAAA,EAC7C,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,QAAQ;AACV;AAEA,MAAM,gBAAqC;AAAA,EACzC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AAAA,EACV,eAAe;AACjB;AAEA,MAAM,uBAAiC,SAAS,MAAM;AACpD,QAAM,SAAS,oBAAoB;AAC7B,QAAA,aAAa,OAAO,KAAK,MAAM;AAE/B,QAAA,iBAAiB,mBAAmB,MAAM;AAC1C,QAAA,UAAU,YAAY,MAAM;AAChC,kBAAc,KAAK;AAAA,EACrB,GAAG,EAAE;AAEE,SAAA;AAAA,IAEHA,uCAAAC,kBAAAA,UAAA,EAAA,UAAA;AAAA,MAAAC,kCAAA,IAAC,OAAI,EAAA,OAAO,eAAe,SAAS,SAAS;AAAA,MAC7CF,kCAAAA,KAAC,OAAI,EAAA,OAAO,aACV,UAAA;AAAA,QAACA,kCAAAA,KAAA,OAAA,EAAI,OAAO,cACV,UAAA;AAAA,UAAAA,uCAAC,MAAG,EAAA,UAAA;AAAA,YAAA;AAAA,YACc,WAAW;AAAA,YAAO;AAAA,YACjC,WAAW,WAAW,IAAI,MAAM;AAAA,YAAG;AAAA,UAAA,GACtC;AAAA,UACAE,kCAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO;AAAA,cACP,SAAS;AAAA,cACT,OAAM;AAAA,cACP,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAED,GACF;AAAA,QACC,WAAW,WAAW,IACpBA,kCAAA,IAAA,OAAA,EAAI,sCAAyB,CAAA,IAE9BA,kCAAAA,IAAC,OAAI,EAAA,OAAO,eACV,UAAAA,kCAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAM;AAAA,YACN,mBAAmB;AAAA,YACnB,kBAAkB,CAAC,UAAU,QAAQ;AAAA,UAAA;AAAA,QAAA,EAEzC,CAAA;AAAA,MAAA,EAEJ,CAAA;AAAA,IAAA,GACF;AAAA,IACA,SAAS;AAAA,EACX;AACF,CAAC;AAMY,MAAA,iBAA2B,SAAS,MAAM;AACrD,YAAU,MAAM;AACd,QAAI,cAAc,WAAW;AACrB,YAAA,eAAe,CAAC,UAAyB;AACzC,YAAA,MAAM,QAAQ,UAAU;AAC1B,wBAAc,KAAK;AAAA,QAAA;AAAA,MAEvB;AACS,eAAA,iBAAiB,WAAW,YAAY;AACjD,aAAO,MAAM,SAAS,oBAAoB,WAAW,YAAY;AAAA,IAAA;AAAA,EAErE,GAAG,EAAE;AAED,MAAA,CAAC,cAAc,WAAW;AACrB,WAAA;AAAA,EAAA;AAGT,+CAAQ,sBAAqB,EAAA;AAC/B,CAAC;AAMM,SAAS,2BAA2B;AACzC,0BAAwB,eAAe;AAC/B,UAAA;AAAA,IACN;AAAA,EACF;AACF;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"devtools-consolidated-Eo3xuD81.js","sources":["../../../node_modules/.pnpm/react-json-view-lite@2.4.1_react@18.3.1/node_modules/react-json-view-lite/dist/index.modern.js","../src/lib/internal-details/lib/devtools/serialize-store-data.tsx","../src/lib/internal-details/lib/devtools/devtools-consolidated.tsx"],"sourcesContent":["import { createElement, useRef, useState, useEffect, useId } from 'react';\n\nconst isBoolean = data => {\n return typeof data === 'boolean' || data instanceof Boolean;\n};\nconst isNumber = data => {\n return typeof data === 'number' || data instanceof Number;\n};\nconst isBigInt = data => {\n return typeof data === 'bigint' || data instanceof BigInt;\n};\nconst isDate = data => {\n return !!data && data instanceof Date;\n};\nconst isString = data => {\n return typeof data === 'string' || data instanceof String;\n};\nconst isArray = data => {\n return Array.isArray(data);\n};\nconst isObject = data => {\n return typeof data === 'object' && data !== null;\n};\nconst isFunction = data => {\n return !!data && data instanceof Object && typeof data === 'function';\n};\n\nfunction quoteString(value, quoted) {\n if (quoted === void 0) {\n quoted = false;\n }\n return !value || quoted ? `\"${value}\"` : value;\n}\nfunction quoteStringValue(value, quoted, stringify) {\n if (stringify) {\n return JSON.stringify(value);\n }\n return quoted ? `\"${value}\"` : value;\n}\nfunction ExpandableObject(_ref) {\n let {\n field,\n value,\n data,\n lastElement,\n openBracket,\n closeBracket,\n level,\n style,\n shouldExpandNode,\n clickToExpandNode,\n outerRef,\n beforeExpandChange\n } = _ref;\n const shouldExpandNodeCalledRef = useRef(false);\n const [expanded, setExpanded] = useState(() => shouldExpandNode(level, value, field));\n const expanderButtonRef = useRef(null);\n useEffect(() => {\n if (!shouldExpandNodeCalledRef.current) {\n shouldExpandNodeCalledRef.current = true;\n } else {\n setExpanded(shouldExpandNode(level, value, field));\n }\n }, [shouldExpandNode]);\n const contentsId = useId();\n if (data.length === 0) {\n return EmptyObject({\n field,\n openBracket,\n closeBracket,\n lastElement,\n style\n });\n }\n const expanderIconStyle = expanded ? style.collapseIcon : style.expandIcon;\n const ariaLabel = expanded ? style.ariaLables.collapseJson : style.ariaLables.expandJson;\n const childLevel = level + 1;\n const lastIndex = data.length - 1;\n const setExpandWithCallback = newExpandValue => {\n if (expanded !== newExpandValue && (!beforeExpandChange || beforeExpandChange({\n level,\n value,\n field,\n newExpandValue\n }))) {\n setExpanded(newExpandValue);\n }\n };\n const onKeyDown = e => {\n if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {\n e.preventDefault();\n setExpandWithCallback(e.key === 'ArrowRight');\n } else if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n e.preventDefault();\n const direction = e.key === 'ArrowUp' ? -1 : 1;\n if (!outerRef.current) return;\n const buttonElements = outerRef.current.querySelectorAll('[role=button]');\n let currentIndex = -1;\n for (let i = 0; i < buttonElements.length; i++) {\n if (buttonElements[i].tabIndex === 0) {\n currentIndex = i;\n break;\n }\n }\n if (currentIndex < 0) {\n return;\n }\n const nextIndex = (currentIndex + direction + buttonElements.length) % buttonElements.length;\n buttonElements[currentIndex].tabIndex = -1;\n buttonElements[nextIndex].tabIndex = 0;\n buttonElements[nextIndex].focus();\n }\n };\n const onClick = () => {\n var _outerRef$current;\n setExpandWithCallback(!expanded);\n const buttonElement = expanderButtonRef.current;\n if (!buttonElement) return;\n const prevButtonElement = (_outerRef$current = outerRef.current) === null || _outerRef$current === void 0 ? void 0 : _outerRef$current.querySelector('[role=button][tabindex=\"0\"]');\n if (prevButtonElement) {\n prevButtonElement.tabIndex = -1;\n }\n buttonElement.tabIndex = 0;\n buttonElement.focus();\n };\n return /*#__PURE__*/createElement(\"div\", {\n className: style.basicChildStyle,\n role: 'treeitem',\n \"aria-expanded\": expanded,\n \"aria-selected\": undefined\n }, /*#__PURE__*/createElement(\"span\", {\n className: expanderIconStyle,\n onClick: onClick,\n onKeyDown: onKeyDown,\n role: 'button',\n \"aria-label\": ariaLabel,\n \"aria-expanded\": expanded,\n \"aria-controls\": expanded ? contentsId : undefined,\n ref: expanderButtonRef,\n tabIndex: level === 0 ? 0 : -1\n }), (field || field === '') && (clickToExpandNode ? (\n /*#__PURE__*/\n createElement(\"span\", {\n className: style.clickableLabel,\n onClick: onClick,\n onKeyDown: onKeyDown\n }, quoteString(field, style.quotesForFieldNames), \":\")) : (/*#__PURE__*/createElement(\"span\", {\n className: style.label\n }, quoteString(field, style.quotesForFieldNames), \":\"))), /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, openBracket), expanded ? (/*#__PURE__*/createElement(\"ul\", {\n id: contentsId,\n role: 'group',\n className: style.childFieldsContainer\n }, data.map((dataElement, index) => (/*#__PURE__*/createElement(DataRender, {\n key: dataElement[0] || index,\n field: dataElement[0],\n value: dataElement[1],\n style: style,\n lastElement: index === lastIndex,\n level: childLevel,\n shouldExpandNode: shouldExpandNode,\n clickToExpandNode: clickToExpandNode,\n outerRef: outerRef\n }))))) : (\n /*#__PURE__*/\n createElement(\"span\", {\n className: style.collapsedContent,\n onClick: onClick,\n onKeyDown: onKeyDown\n })), /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, closeBracket), !lastElement && /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, \",\"));\n}\nfunction EmptyObject(_ref2) {\n let {\n field,\n openBracket,\n closeBracket,\n lastElement,\n style\n } = _ref2;\n return /*#__PURE__*/createElement(\"div\", {\n className: style.basicChildStyle,\n role: 'treeitem',\n \"aria-selected\": undefined\n }, (field || field === '') && (/*#__PURE__*/createElement(\"span\", {\n className: style.label\n }, quoteString(field, style.quotesForFieldNames), \":\")), /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, openBracket), /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, closeBracket), !lastElement && /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, \",\"));\n}\nfunction JsonObject(_ref3) {\n let {\n field,\n value,\n style,\n lastElement,\n shouldExpandNode,\n clickToExpandNode,\n level,\n outerRef,\n beforeExpandChange\n } = _ref3;\n return ExpandableObject({\n field,\n value,\n lastElement: lastElement || false,\n level,\n openBracket: '{',\n closeBracket: '}',\n style,\n shouldExpandNode,\n clickToExpandNode,\n data: Object.keys(value).map(key => [key, value[key]]),\n outerRef,\n beforeExpandChange\n });\n}\nfunction JsonArray(_ref4) {\n let {\n field,\n value,\n style,\n lastElement,\n level,\n shouldExpandNode,\n clickToExpandNode,\n outerRef,\n beforeExpandChange\n } = _ref4;\n return ExpandableObject({\n field,\n value,\n lastElement: lastElement || false,\n level,\n openBracket: '[',\n closeBracket: ']',\n style,\n shouldExpandNode,\n clickToExpandNode,\n data: value.map(element => [undefined, element]),\n outerRef,\n beforeExpandChange\n });\n}\nfunction JsonPrimitiveValue(_ref5) {\n let {\n field,\n value,\n style,\n lastElement\n } = _ref5;\n let stringValue;\n let valueStyle = style.otherValue;\n if (value === null) {\n stringValue = 'null';\n valueStyle = style.nullValue;\n } else if (value === undefined) {\n stringValue = 'undefined';\n valueStyle = style.undefinedValue;\n } else if (isString(value)) {\n stringValue = quoteStringValue(value, !style.noQuotesForStringValues, style.stringifyStringValues);\n valueStyle = style.stringValue;\n } else if (isBoolean(value)) {\n stringValue = value ? 'true' : 'false';\n valueStyle = style.booleanValue;\n } else if (isNumber(value)) {\n stringValue = value.toString();\n valueStyle = style.numberValue;\n } else if (isBigInt(value)) {\n stringValue = `${value.toString()}n`;\n valueStyle = style.numberValue;\n } else if (isDate(value)) {\n stringValue = value.toISOString();\n } else if (isFunction(value)) {\n stringValue = 'function() { }';\n } else {\n stringValue = value.toString();\n }\n return /*#__PURE__*/createElement(\"div\", {\n className: style.basicChildStyle,\n role: 'treeitem',\n \"aria-selected\": undefined\n }, (field || field === '') && (/*#__PURE__*/createElement(\"span\", {\n className: style.label\n }, quoteString(field, style.quotesForFieldNames), \":\")), /*#__PURE__*/createElement(\"span\", {\n className: valueStyle\n }, stringValue), !lastElement && /*#__PURE__*/createElement(\"span\", {\n className: style.punctuation\n }, \",\"));\n}\nfunction DataRender(props) {\n const value = props.value;\n if (isArray(value)) {\n return /*#__PURE__*/createElement(JsonArray, Object.assign({}, props));\n }\n if (isObject(value) && !isDate(value) && !isFunction(value)) {\n return /*#__PURE__*/createElement(JsonObject, Object.assign({}, props));\n }\n return /*#__PURE__*/createElement(JsonPrimitiveValue, Object.assign({}, props));\n}\n\nvar styles = {\"container-base\":\"_GzYRV\",\"punctuation-base\":\"_3eOF8\",\"pointer\":\"_1MFti\",\"expander-base\":\"_f10Tu _1MFti\",\"expand-icon\":\"_1UmXx\",\"collapse-icon\":\"_1LId0\",\"collapsed-content-base\":\"_1pNG9 _1MFti\",\"container-light\":\"_2IvMF _GzYRV\",\"basic-element-style\":\"_2bkNM\",\"child-fields-container\":\"_1BXBN\",\"label-light\":\"_1MGIk\",\"clickable-label-light\":\"_2YKJg _1MGIk _1MFti\",\"punctuation-light\":\"_3uHL6 _3eOF8\",\"value-null-light\":\"_2T6PJ\",\"value-undefined-light\":\"_1Gho6\",\"value-string-light\":\"_vGjyY\",\"value-number-light\":\"_1bQdo\",\"value-boolean-light\":\"_3zQKs\",\"value-other-light\":\"_1xvuR\",\"collapse-icon-light\":\"_oLqym _f10Tu _1MFti _1LId0\",\"expand-icon-light\":\"_2AXVT _f10Tu _1MFti _1UmXx\",\"collapsed-content-light\":\"_2KJWg _1pNG9 _1MFti\",\"container-dark\":\"_11RoI _GzYRV\",\"expand-icon-dark\":\"_17H2C _f10Tu _1MFti _1UmXx\",\"collapse-icon-dark\":\"_3QHg2 _f10Tu _1MFti _1LId0\",\"collapsed-content-dark\":\"_3fDAz _1pNG9 _1MFti\",\"label-dark\":\"_2bSDX\",\"clickable-label-dark\":\"_1RQEj _2bSDX _1MFti\",\"punctuation-dark\":\"_gsbQL _3eOF8\",\"value-null-dark\":\"_LaAZe\",\"value-undefined-dark\":\"_GTKgm\",\"value-string-dark\":\"_Chy1W\",\"value-number-dark\":\"_2bveF\",\"value-boolean-dark\":\"_2vRm-\",\"value-other-dark\":\"_1prJR\"};\n\nconst defaultAriaLables = {\n collapseJson: 'collapse JSON',\n expandJson: 'expand JSON'\n};\nconst defaultStyles = {\n container: styles['container-light'],\n basicChildStyle: styles['basic-element-style'],\n childFieldsContainer: styles['child-fields-container'],\n label: styles['label-light'],\n clickableLabel: styles['clickable-label-light'],\n nullValue: styles['value-null-light'],\n undefinedValue: styles['value-undefined-light'],\n stringValue: styles['value-string-light'],\n booleanValue: styles['value-boolean-light'],\n numberValue: styles['value-number-light'],\n otherValue: styles['value-other-light'],\n punctuation: styles['punctuation-light'],\n collapseIcon: styles['collapse-icon-light'],\n expandIcon: styles['expand-icon-light'],\n collapsedContent: styles['collapsed-content-light'],\n noQuotesForStringValues: false,\n quotesForFieldNames: false,\n ariaLables: defaultAriaLables,\n stringifyStringValues: false\n};\nconst darkStyles = {\n container: styles['container-dark'],\n basicChildStyle: styles['basic-element-style'],\n childFieldsContainer: styles['child-fields-container'],\n label: styles['label-dark'],\n clickableLabel: styles['clickable-label-dark'],\n nullValue: styles['value-null-dark'],\n undefinedValue: styles['value-undefined-dark'],\n stringValue: styles['value-string-dark'],\n booleanValue: styles['value-boolean-dark'],\n numberValue: styles['value-number-dark'],\n otherValue: styles['value-other-dark'],\n punctuation: styles['punctuation-dark'],\n collapseIcon: styles['collapse-icon-dark'],\n expandIcon: styles['expand-icon-dark'],\n collapsedContent: styles['collapsed-content-dark'],\n noQuotesForStringValues: false,\n quotesForFieldNames: false,\n ariaLables: defaultAriaLables,\n stringifyStringValues: false\n};\nconst allExpanded = () => true;\nconst collapseAllNested = level => level < 1;\nconst JsonView = _ref => {\n let {\n data,\n style = defaultStyles,\n shouldExpandNode = allExpanded,\n clickToExpandNode = false,\n beforeExpandChange,\n ...ariaAttrs\n } = _ref;\n const outerRef = useRef(null);\n return /*#__PURE__*/createElement(\"div\", Object.assign({\n \"aria-label\": 'JSON view'\n }, ariaAttrs, {\n className: style.container,\n ref: outerRef,\n role: 'tree'\n }), /*#__PURE__*/createElement(DataRender, {\n value: data,\n style: {\n ...defaultStyles,\n ...style\n },\n lastElement: true,\n level: 0,\n shouldExpandNode: shouldExpandNode,\n clickToExpandNode: clickToExpandNode,\n outerRef: outerRef,\n beforeExpandChange: beforeExpandChange\n }));\n};\n\nexport { JsonView, allExpanded, collapseAllNested, darkStyles, defaultStyles };\n//# sourceMappingURL=index.modern.js.map\n","import { toJS } from \"mobx\";\n\nexport function serializeStoreData(\n stores_: Record<string, any>,\n): Record<string, any> {\n try {\n const stores = toJS(stores_);\n const seen = new Set();\n function serialize(obj: any): any {\n if (obj === null || typeof obj !== \"object\") {\n return obj;\n }\n\n if (seen.has(obj)) {\n return \"[Already Seen]\";\n }\n\n // Create new path for this branch of recursion\n seen.add(obj);\n\n if (Array.isArray(obj)) {\n return obj.map(serialize);\n }\n\n const result: any = {};\n\n for (const key of Object.keys(obj)) {\n if (typeof obj[key] === \"function\") {\n result[key] = \"[Function]\";\n }\n\n try {\n const descriptor = Object.getOwnPropertyDescriptor(obj, key);\n if (descriptor && descriptor.get) {\n try {\n result[key] = serialize(obj[key]);\n } catch {\n result[key] = \"[Getter Error]\";\n }\n } else {\n result[key] = serialize(obj[key]);\n }\n } catch {\n result[key] = \"[Access Error]\";\n }\n }\n\n // Add type information\n if (obj.constructor && obj.constructor.name !== \"Object\") {\n result.__type__ = obj.constructor.name;\n }\n\n return result;\n }\n\n return serialize(stores);\n } catch (error) {\n return {\n error: `Error serializing data: ${error instanceof Error ? error.message : \"Unknown error\"}`,\n };\n }\n}\n","import { makeAutoObservable } from \"mobx\";\nimport { observer } from \"mobx-react-lite\";\nimport React, { useCallback, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { JsonView } from \"react-json-view-lite\";\nimport \"react-json-view-lite/dist/index.css\";\nimport { serializeStoreData } from \"./serialize-store-data.js\";\n\n// ============================================================================\n// STATE MANAGEMENT\n// ============================================================================\n\nclass DevToolsState {\n isVisible = false;\n\n constructor() {\n makeAutoObservable(this);\n }\n\n show() {\n this.isVisible = true;\n }\n\n hide() {\n this.isVisible = false;\n }\n\n toggle() {\n this.isVisible = !this.isVisible;\n }\n}\n\nconst devToolsState = new DevToolsState();\n\n// ============================================================================\n// KEYBOARD SHORTCUT MANAGER\n// ============================================================================\n\nclass KeyboardShortcutManager {\n private isListening = false;\n private shortcutKeys = {\n key: \"KeyD\",\n ctrlKey: true,\n shiftKey: true,\n altKey: false,\n };\n\n constructor() {\n this.handleKeyDown = this.handleKeyDown.bind(this);\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n const { ctrlKey, shiftKey, altKey, metaKey } = event;\n const isModifierMatch = (ctrlKey || metaKey) && shiftKey && !altKey;\n const isKeyMatch = event.code === this.shortcutKeys.key;\n if (isModifierMatch && isKeyMatch) {\n event.preventDefault();\n event.stopPropagation();\n devToolsState.toggle();\n }\n }\n\n private handleEscapeKey = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && devToolsState.isVisible) {\n event.preventDefault();\n devToolsState.hide();\n }\n };\n\n startListening() {\n if (this.isListening) return;\n\n this.isListening = true;\n document.addEventListener(\"keydown\", this.handleKeyDown, true);\n document.addEventListener(\"keydown\", this.handleEscapeKey, true);\n }\n\n stopListening() {\n if (!this.isListening) return;\n\n this.isListening = false;\n document.removeEventListener(\"keydown\", this.handleKeyDown, true);\n document.removeEventListener(\"keydown\", this.handleEscapeKey, true);\n }\n\n updateShortcut(options: Partial<typeof this.shortcutKeys>) {\n this.shortcutKeys = { ...this.shortcutKeys, ...options };\n }\n}\n\nconst keyboardShortcutManager = new KeyboardShortcutManager();\n\n// ============================================================================\n// STORE ACCESS\n// ============================================================================\n\n// This will be populated by the registerStores function\nlet registeredStores: Record<string, any> = {};\n\nexport function setRegisteredStores(stores: Record<string, any>) {\n registeredStores = stores;\n}\n\nfunction getRegisteredStores() {\n return registeredStores;\n}\n\n// ============================================================================\n// DEVTOOLS PANEL COMPONENT\n// ============================================================================\n\nconst overlayStyles: React.CSSProperties = {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\n zIndex: 9999,\n};\n\nconst panelStyles: React.CSSProperties = {\n position: \"fixed\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"90vw\",\n height: \"90vh\",\n backgroundColor: \"#fff\",\n zIndex: 10000,\n display: \"flex\",\n flexDirection: \"column\",\n borderRadius: 12,\n};\n\nconst headerStyles: React.CSSProperties = {\n padding: 12,\n borderBottom: \"1px solid #ccc\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n};\n\nconst closeButtonStyles: React.CSSProperties = {\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n};\n\nconst contentStyles: React.CSSProperties = {\n padding: 8,\n display: \"flex\",\n flex: 1,\n overflow: \"auto\",\n flexDirection: \"column\",\n};\n\nconst DevToolsPanelContent: React.FC = observer(() => {\n const stores = getRegisteredStores();\n const storeNames = Object.keys(stores);\n\n const serializedData = serializeStoreData(stores);\n const onClose = useCallback(() => {\n devToolsState.hide();\n }, []);\n\n return createPortal(\n <>\n <div style={overlayStyles} onClick={onClose} />\n <div style={panelStyles}>\n <div style={headerStyles}>\n <h3>\n MobX DevTools ({storeNames.length} store\n {storeNames.length !== 1 ? \"s\" : \"\"})\n </h3>\n <button\n style={closeButtonStyles}\n onClick={onClose}\n title=\"Close (ESC)\"\n >\n ×\n </button>\n </div>\n {storeNames.length === 0 ? (\n <div>No stores registered yet.</div>\n ) : (\n <div style={contentStyles}>\n <JsonView\n data={serializedData}\n clickToExpandNode={true}\n shouldExpandNode={(level) => level < 2}\n />\n </div>\n )}\n </div>\n </>,\n document.body,\n );\n});\n\n// ============================================================================\n// PROVIDER COMPONENT\n// ============================================================================\n\nexport const CustomDevTools: React.FC = observer(() => {\n useEffect(() => {\n if (devToolsState.isVisible) {\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n devToolsState.hide();\n }\n };\n document.addEventListener(\"keydown\", handleEscape);\n return () => document.removeEventListener(\"keydown\", handleEscape);\n }\n }, []);\n\n if (!devToolsState.isVisible) {\n return null;\n }\n\n return <DevToolsPanelContent />;\n});\n\n// ============================================================================\n// INITIALIZATION\n// ============================================================================\n\nexport function initializeCustomDevTools() {\n keyboardShortcutManager.startListening();\n console.log(\n \"[CustomDevTools] Initialized - Press Ctrl+Shift+D (or Cmd+Shift+D) to open\",\n );\n}\n"],"names":["jsxs","Fragment","jsx"],"mappings":"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","x_google_ignoreList":[0]}
@@ -78418,7 +78418,7 @@ const ShowAlertTrigger = {
78418
78418
  const ResetStateVarTrigger = {
78419
78419
  type: TriggerStepType.RESET_STATE_VAR,
78420
78420
  async execute(context2, step) {
78421
- if (step.state === void 0) {
78421
+ if (step.variable === void 0) {
78422
78422
  return;
78423
78423
  }
78424
78424
  context2.rootStore.entityManager.runCode({
@@ -78426,22 +78426,22 @@ const ResetStateVarTrigger = {
78426
78426
  name: context2.name,
78427
78427
  func: () => {
78428
78428
  var _a2;
78429
- return (_a2 = step.state) == null ? void 0 : _a2.set(step.state.defaultValue);
78429
+ return (_a2 = step.variable) == null ? void 0 : _a2.set(step.variable.defaultValue);
78430
78430
  },
78431
78431
  args: []
78432
78432
  });
78433
78433
  },
78434
- create(stateVar) {
78434
+ create(variable) {
78435
78435
  return {
78436
78436
  type: TriggerStepType.RESET_STATE_VAR,
78437
- state: stateVar
78437
+ variable
78438
78438
  };
78439
78439
  }
78440
78440
  };
78441
78441
  const SetStateVarTrigger = {
78442
78442
  type: TriggerStepType.SET_STATE_VAR,
78443
78443
  async execute(context2, step) {
78444
- if (step.state === void 0) {
78444
+ if (step.variable === void 0) {
78445
78445
  return;
78446
78446
  }
78447
78447
  const value = context2.rootStore.entityManager.computeValue({
@@ -78455,15 +78455,15 @@ const SetStateVarTrigger = {
78455
78455
  func: (state, value2) => {
78456
78456
  var _a2;
78457
78457
  if (!state) return;
78458
- (_a2 = step.state) == null ? void 0 : _a2.set(value2);
78458
+ (_a2 = step.variable) == null ? void 0 : _a2.set(value2);
78459
78459
  },
78460
78460
  args: [value]
78461
78461
  });
78462
78462
  },
78463
- create(stateVar, value) {
78463
+ create(variable, value) {
78464
78464
  return {
78465
78465
  type: TriggerStepType.SET_STATE_VAR,
78466
- state: stateVar,
78466
+ variable,
78467
78467
  value
78468
78468
  };
78469
78469
  }
@@ -78471,12 +78471,14 @@ const SetStateVarTrigger = {
78471
78471
  const ControlTimerTrigger = {
78472
78472
  type: TriggerStepType.CONTROL_TIMER,
78473
78473
  async execute(_context, step) {
78474
- console.log("ControlTimerTrigger", step);
78474
+ if (step.timer) {
78475
+ step.timer[step.action]();
78476
+ }
78475
78477
  },
78476
- create(timerId, action2) {
78478
+ create(timer, action2) {
78477
78479
  return {
78478
78480
  type: TriggerStepType.CONTROL_TIMER,
78479
- timerId,
78481
+ timer,
78480
78482
  action: action2
78481
78483
  };
78482
78484
  }
@@ -83504,7 +83506,7 @@ function registerStores(stores) {
83504
83506
  internalStores = { ...internalStores, ...stores };
83505
83507
  if (SUPPORTED_MODES.includes("production")) {
83506
83508
  if (Object.keys(internalStores).length === Object.keys(stores).length) {
83507
- import("./devtools-consolidated-BroJzOhM.js").then(({ initializeCustomDevTools, setRegisteredStores }) => {
83509
+ import("./devtools-consolidated-Eo3xuD81.js").then(({ initializeCustomDevTools, setRegisteredStores }) => {
83508
83510
  setRegisteredStores(internalStores);
83509
83511
  initializeCustomDevTools();
83510
83512
  }).catch((error) => {
@@ -83517,7 +83519,7 @@ function registerStores(stores) {
83517
83519
  }
83518
83520
  }
83519
83521
  const DevToolsInternal = React__default.lazy(() => {
83520
- return import("./devtools-consolidated-BroJzOhM.js").then((module2) => ({
83522
+ return import("./devtools-consolidated-Eo3xuD81.js").then((module2) => ({
83521
83523
  default: module2.CustomDevTools
83522
83524
  }));
83523
83525
  });
@@ -83874,11 +83876,11 @@ class SbEventFlow {
83874
83876
  controlModal(modal, action2) {
83875
83877
  return this.addStep(EventRegistry.controlModal.create(modal, action2));
83876
83878
  }
83877
- static controlTimer(timerId, action2) {
83878
- return SbEventFlow.start().controlTimer(timerId, action2);
83879
+ static controlTimer(stateTimer, action2) {
83880
+ return SbEventFlow.start().controlTimer(stateTimer, action2);
83879
83881
  }
83880
- controlTimer(timerId, action2) {
83881
- return this.addStep(EventRegistry.controlTimer.create(timerId, action2));
83882
+ controlTimer(stateTimer, action2) {
83883
+ return this.addStep(EventRegistry.controlTimer.create(stateTimer, action2));
83882
83884
  }
83883
83885
  static runApis(apis, onSuccess, onError2) {
83884
83886
  return SbEventFlow.start().runApis(apis, onSuccess, onError2);
@@ -86952,7 +86954,7 @@ function getPropertyValue$1({
86952
86954
  return property.value;
86953
86955
  }
86954
86956
  function getSbEventFlow(step, scopeId) {
86955
- var _a2, _b2, _c2, _d2, _e2, _f2;
86957
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2;
86956
86958
  if (!isValidStepDef(step)) {
86957
86959
  return void 0;
86958
86960
  }
@@ -87025,27 +87027,33 @@ function getSbEventFlow(step, scopeId) {
87025
87027
  return SbEventFlow.controlModal(modalEntity, step.direction);
87026
87028
  }
87027
87029
  case "controlTimer": {
87028
- const timerEntity = getEntity(step.name);
87030
+ const timerStep = step;
87031
+ if (!((_a2 = timerStep.timer) == null ? void 0 : _a2.name)) {
87032
+ return void 0;
87033
+ }
87034
+ const timerEntity = getEntity(timerStep.timer.name);
87029
87035
  if (!timerEntity) return void 0;
87030
- return SbEventFlow.controlTimer(step.name, step.command);
87036
+ return SbEventFlow.controlTimer(timerEntity, step.command ?? "start");
87031
87037
  }
87032
87038
  case "setStateVar": {
87033
- const stateEntity = getEntity((_a2 = step.state) == null ? void 0 : _a2.name);
87039
+ const variableStep = step;
87040
+ const stateEntity = getEntity((_b2 = variableStep.variable) == null ? void 0 : _b2.name);
87034
87041
  if (!stateEntity) return void 0;
87035
- const value = isPropertyInfo(step.value) ? getPropertyValue$1({
87036
- property: step.value,
87042
+ const value = isPropertyInfo(variableStep.value) ? getPropertyValue$1({
87043
+ property: variableStep.value,
87037
87044
  scopeId,
87038
- name: getName((_b2 = step.state) == null ? void 0 : _b2.name)
87045
+ name: getName((_c2 = variableStep.variable) == null ? void 0 : _c2.name)
87039
87046
  }) : step.value;
87040
87047
  return SbEventFlow.setStateVar(stateEntity, value);
87041
87048
  }
87042
87049
  case "resetStateVar": {
87043
- const resetStateEntity = getEntity((_c2 = step.state) == null ? void 0 : _c2.name);
87050
+ const variableStep = step;
87051
+ const resetStateEntity = getEntity((_d2 = variableStep.variable) == null ? void 0 : _d2.name);
87044
87052
  if (!resetStateEntity) return void 0;
87045
87053
  return SbEventFlow.resetStateVar(resetStateEntity);
87046
87054
  }
87047
87055
  case "resetComponent": {
87048
- const resetWidgetEntity = getEntity((_d2 = step.widget) == null ? void 0 : _d2.name);
87056
+ const resetWidgetEntity = getEntity((_e2 = step.widget) == null ? void 0 : _e2.name);
87049
87057
  if (!resetWidgetEntity) return void 0;
87050
87058
  return SbEventFlow.resetComponent(
87051
87059
  step.widget,
@@ -87054,7 +87062,7 @@ function getSbEventFlow(step, scopeId) {
87054
87062
  );
87055
87063
  }
87056
87064
  case "setComponentProperty": {
87057
- const setWidgetEntity = getEntity((_e2 = step.widget) == null ? void 0 : _e2.name);
87065
+ const setWidgetEntity = getEntity((_f2 = step.widget) == null ? void 0 : _f2.name);
87058
87066
  if (!setWidgetEntity) return void 0;
87059
87067
  return SbEventFlow.setComponentProperty(
87060
87068
  step.widget,
@@ -87072,7 +87080,7 @@ function getSbEventFlow(step, scopeId) {
87072
87080
  case "setProfile":
87073
87081
  return SbEventFlow.setProfile(step.profileId, step.profileAction);
87074
87082
  case "triggerEvent":
87075
- return SbEventFlow.triggerEvent((_f2 = step.event) == null ? void 0 : _f2.name, step.eventPayload);
87083
+ return SbEventFlow.triggerEvent((_g2 = step.event) == null ? void 0 : _g2.name, step.eventPayload);
87076
87084
  default:
87077
87085
  console.warn("Unhandled runtime step type", step.type);
87078
87086
  return void 0;
@@ -91039,14 +91047,14 @@ function getLoaderFn$1(options) {
91039
91047
  if (!(loader === "all")) return [3, 3];
91040
91048
  return [4, import(
91041
91049
  /* webpackChunkName: "blueprint-icons-all-paths-loader" */
91042
- "./allPathsLoader-DWRf9vI8.js"
91050
+ "./allPathsLoader-5w2Df9lN.js"
91043
91051
  )];
91044
91052
  case 2:
91045
91053
  return [2, _b2.sent().allPathsLoader];
91046
91054
  case 3:
91047
91055
  return [4, import(
91048
91056
  /* webpackChunkName: "blueprint-icons-split-paths-by-size-loader" */
91049
- "./splitPathsBySizeLoader-BYJOOIz4.js"
91057
+ "./splitPathsBySizeLoader-CUJrKt9p.js"
91050
91058
  )];
91051
91059
  case 4:
91052
91060
  return [2, _b2.sent().splitPathsBySizeLoader];
@@ -145572,14 +145580,14 @@ function getLoaderFn(options) {
145572
145580
  if (!(loader === "all")) return [3, 3];
145573
145581
  return [4, import(
145574
145582
  /* webpackChunkName: "blueprint-icons-all-paths-loader" */
145575
- "./allPathsLoader-y8dng2pY.js"
145583
+ "./allPathsLoader-BAwHv7e7.js"
145576
145584
  )];
145577
145585
  case 2:
145578
145586
  return [2, _b2.sent().allPathsLoader];
145579
145587
  case 3:
145580
145588
  return [4, import(
145581
145589
  /* webpackChunkName: "blueprint-icons-split-paths-by-size-loader" */
145582
- "./splitPathsBySizeLoader-vZ47ilp6.js"
145590
+ "./splitPathsBySizeLoader-DALk2KWT.js"
145583
145591
  )];
145584
145592
  case 4:
145585
145593
  return [2, _b2.sent().splitPathsBySizeLoader];
@@ -183910,8 +183918,8 @@ const SbVariable = registerSbEntity(
183910
183918
  );
183911
183919
  const propertiesDefinition$1 = {
183912
183920
  general: Section.category(PropsPanelCategory.Uncategorized).propertiesPanel({ showHeader: false }).children({
183913
- intervalMs: Prop.number().default(3e5).readAndWrite().propertiesPanel({
183914
- label: "Interval (ms)",
183921
+ intervalMs: Prop.number().default(300).readAndWrite().propertiesPanel({
183922
+ label: "Interval",
183915
183923
  helpText: "Sets the interval of the timer",
183916
183924
  placeholder: "1000",
183917
183925
  isJSConvertible: false,
@@ -198426,4 +198434,4 @@ export {
198426
198434
  SbTimer as y,
198427
198435
  SbApi as z
198428
198436
  };
198429
- //# sourceMappingURL=index-DpJmI9r2.js.map
198437
+ //# sourceMappingURL=index-Bnnq0M9f.js.map