@marko/runtime-tags 0.3.8 → 0.3.11

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/debug/dom.js CHANGED
@@ -1181,15 +1181,14 @@ function controllable_detailsOrDialog_open(scope, nodeAccessor, open, openChange
1181
1181
  }
1182
1182
  function controllable_detailsOrDialog_open_effect(scope, nodeAccessor) {
1183
1183
  const el = scope[nodeAccessor];
1184
+ const hasChanged = () => el.open !== scope[nodeAccessor + ":" /* ControlledValue */];
1184
1185
  syncControllable(
1185
1186
  el,
1186
1187
  el.tagName === "DIALOG" ? "close" : "toggle",
1187
- () => {
1188
- return scope[nodeAccessor + ";" /* ControlledHandler */] && el.open !== scope[nodeAccessor + ":" /* ControlledValue */];
1189
- },
1188
+ hasChanged,
1190
1189
  () => {
1191
1190
  const openChange = scope[nodeAccessor + ";" /* ControlledHandler */];
1192
- if (openChange) {
1191
+ if (openChange && hasChanged()) {
1193
1192
  scope[nodeAccessor + "=" /* ControlledType */] = 6 /* Pending */;
1194
1193
  openChange(el.open);
1195
1194
  run();
@@ -1091,15 +1091,14 @@ function controllable_detailsOrDialog_open(scope, nodeAccessor, open, openChange
1091
1091
  }
1092
1092
  function controllable_detailsOrDialog_open_effect(scope, nodeAccessor) {
1093
1093
  const el = scope[nodeAccessor];
1094
+ const hasChanged = () => el.open !== scope[nodeAccessor + ":" /* ControlledValue */];
1094
1095
  syncControllable(
1095
1096
  el,
1096
1097
  el.tagName === "DIALOG" ? "close" : "toggle",
1097
- () => {
1098
- return scope[nodeAccessor + ";" /* ControlledHandler */] && el.open !== scope[nodeAccessor + ":" /* ControlledValue */];
1099
- },
1098
+ hasChanged,
1100
1099
  () => {
1101
1100
  const openChange = scope[nodeAccessor + ";" /* ControlledHandler */];
1102
- if (openChange) {
1101
+ if (openChange && hasChanged()) {
1103
1102
  scope[nodeAccessor + "=" /* ControlledType */] = 6 /* Pending */;
1104
1103
  openChange(el.open);
1105
1104
  run();
package/dist/dom.js CHANGED
@@ -731,14 +731,14 @@ function controllable_detailsOrDialog_open(scope, nodeAccessor, open, openChange
731
731
  scope[nodeAccessor + ";" /* ControlledHandler */] = openChange, openChange ? scope[nodeAccessor + "=" /* ControlledType */] = 4 /* DetailsOrDialogOpen */ : scope[nodeAccessor + "=" /* ControlledType */] = 5 /* None */, scope[nodeAccessor].open = normalizeBoolProp(open);
732
732
  }
733
733
  function controllable_detailsOrDialog_open_effect(scope, nodeAccessor) {
734
- let el = scope[nodeAccessor];
734
+ let el = scope[nodeAccessor], hasChanged = () => el.open !== scope[nodeAccessor + ":" /* ControlledValue */];
735
735
  syncControllable(
736
736
  el,
737
737
  el.tagName === "DIALOG" ? "close" : "toggle",
738
- () => scope[nodeAccessor + ";" /* ControlledHandler */] && el.open !== scope[nodeAccessor + ":" /* ControlledValue */],
738
+ hasChanged,
739
739
  () => {
740
740
  let openChange = scope[nodeAccessor + ";" /* ControlledHandler */];
741
- openChange && (scope[nodeAccessor + "=" /* ControlledType */] = 6 /* Pending */, openChange(el.open), run(), scope[nodeAccessor + "=" /* ControlledType */] === 6 /* Pending */ && (el.open = !el.open));
741
+ openChange && hasChanged() && (scope[nodeAccessor + "=" /* ControlledType */] = 6 /* Pending */, openChange(el.open), run(), scope[nodeAccessor + "=" /* ControlledType */] === 6 /* Pending */ && (el.open = !el.open));
742
742
  }
743
743
  );
744
744
  }
package/dist/dom.mjs CHANGED
@@ -644,14 +644,14 @@ function controllable_detailsOrDialog_open(scope, nodeAccessor, open, openChange
644
644
  scope[nodeAccessor + ";" /* ControlledHandler */] = openChange, openChange ? scope[nodeAccessor + "=" /* ControlledType */] = 4 /* DetailsOrDialogOpen */ : scope[nodeAccessor + "=" /* ControlledType */] = 5 /* None */, scope[nodeAccessor].open = normalizeBoolProp(open);
645
645
  }
646
646
  function controllable_detailsOrDialog_open_effect(scope, nodeAccessor) {
647
- let el = scope[nodeAccessor];
647
+ let el = scope[nodeAccessor], hasChanged = () => el.open !== scope[nodeAccessor + ":" /* ControlledValue */];
648
648
  syncControllable(
649
649
  el,
650
650
  el.tagName === "DIALOG" ? "close" : "toggle",
651
- () => scope[nodeAccessor + ";" /* ControlledHandler */] && el.open !== scope[nodeAccessor + ":" /* ControlledValue */],
651
+ hasChanged,
652
652
  () => {
653
653
  let openChange = scope[nodeAccessor + ";" /* ControlledHandler */];
654
- openChange && (scope[nodeAccessor + "=" /* ControlledType */] = 6 /* Pending */, openChange(el.open), run(), scope[nodeAccessor + "=" /* ControlledType */] === 6 /* Pending */ && (el.open = !el.open));
654
+ openChange && hasChanged() && (scope[nodeAccessor + "=" /* ControlledType */] = 6 /* Pending */, openChange(el.open), run(), scope[nodeAccessor + "=" /* ControlledType */] === 6 /* Pending */ && (el.open = !el.open));
655
655
  }
656
656
  );
657
657
  }
@@ -7329,9 +7329,7 @@ var script_default = {
7329
7329
  const { node } = tag;
7330
7330
  const { body } = node.body;
7331
7331
  if (body.length) {
7332
- const codePrefix = "async ()=>{";
7333
- const codeSuffix = "}";
7334
- let code = codePrefix;
7332
+ let code = "";
7335
7333
  for (const child of body) {
7336
7334
  if (child.type !== "MarkoText") {
7337
7335
  throw tag.hub.file.hub.buildError(
@@ -7342,22 +7340,15 @@ var script_default = {
7342
7340
  }
7343
7341
  code += child.value;
7344
7342
  }
7345
- code += codeSuffix;
7346
7343
  const start = body[0]?.start;
7347
7344
  const end = body[body.length - 1]?.end;
7348
- const bodyExpression = (0, import_babel_utils30.parseExpression)(
7349
- tag.hub.file,
7350
- code,
7351
- start,
7352
- end,
7353
- codePrefix.length
7354
- );
7355
- bodyExpression.async = traverseContains(
7356
- bodyExpression.body,
7357
- isAwaitExpression
7345
+ const bodyStatements = (0, import_babel_utils30.parseStatements)(tag.hub.file, code, start, end);
7346
+ const valueFn = import_compiler41.types.arrowFunctionExpression(
7347
+ [],
7348
+ import_compiler41.types.blockStatement(bodyStatements),
7349
+ traverseContains(bodyStatements, isAwaitExpression)
7358
7350
  );
7359
- bodyExpression.fromBody = true;
7360
- node.attributes.push(import_compiler41.types.markoAttribute("value", bodyExpression));
7351
+ node.attributes.push(import_compiler41.types.markoAttribute("value", valueFn));
7361
7352
  node.body.body = [];
7362
7353
  }
7363
7354
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marko/runtime-tags",
3
- "version": "0.3.8",
3
+ "version": "0.3.11",
4
4
  "description": "Optimized runtime for Marko templates.",
5
5
  "keywords": [
6
6
  "api",
@@ -41,6 +41,11 @@
41
41
  "scripts": {
42
42
  "build": "node -r ~ts ./scripts/bundle.ts"
43
43
  },
44
+ "dependencies": {
45
+ "@marko/compiler": "^5.39.5",
46
+ "csstype": "^3.1.3",
47
+ "magic-string": "^0.30.17"
48
+ },
44
49
  "exports:override": {
45
50
  "./*.d.marko": "./tag-types/*",
46
51
  "./translator": "./src/translator/index.ts",