intelligent-system-design-language 0.3.19 → 0.3.20

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 (27) hide show
  1. package/out/_isdlStyles.scss +35 -0
  2. package/out/cli/components/_isdlStyles.scss +35 -0
  3. package/out/cli/components/vue/base-components/vue-attribute.js +6 -3
  4. package/out/cli/components/vue/base-components/vue-attribute.js.map +1 -1
  5. package/out/cli/components/vue/vue-datatable2-component-generator.js +29 -11
  6. package/out/cli/components/vue/vue-datatable2-component-generator.js.map +1 -1
  7. package/out/cli/components/vue/vue-sheet-application-generator.js +56 -32
  8. package/out/cli/components/vue/vue-sheet-application-generator.js.map +1 -1
  9. package/out/cli/components/vue/vue-sheet-class-generator.js +82 -6
  10. package/out/cli/components/vue/vue-sheet-class-generator.js.map +1 -1
  11. package/out/extension/main.cjs +637 -481
  12. package/out/extension/main.cjs.map +3 -3
  13. package/out/extension/package.json +1 -1
  14. package/out/language/generated/ast.js +34 -4
  15. package/out/language/generated/ast.js.map +1 -1
  16. package/out/language/generated/grammar.js +559 -469
  17. package/out/language/generated/grammar.js.map +1 -1
  18. package/out/language/intelligent-system-design-language-validator.js +18 -1
  19. package/out/language/intelligent-system-design-language-validator.js.map +1 -1
  20. package/out/language/isdl-hover-provider.js +1 -1
  21. package/out/language/isdl-hover-provider.js.map +1 -1
  22. package/out/language/isdl-scope-provider.js +17 -1
  23. package/out/language/isdl-scope-provider.js.map +1 -1
  24. package/out/language/main.cjs +637 -481
  25. package/out/language/main.cjs.map +3 -3
  26. package/out/package.json +1 -1
  27. package/package.json +1 -1
@@ -639,6 +639,41 @@
639
639
  position: relative;
640
640
  }
641
641
 
642
+ // Image-cell action affordance: reveal a circular action button over the row image on hover,
643
+ // mirroring the attribute roll overlay. Pure CSS hover so it works per-row in a data table.
644
+ .isdl-image-action {
645
+ position: relative;
646
+ display: inline-flex;
647
+ cursor: pointer;
648
+ border-radius: 4px;
649
+
650
+ .isdl-image-action-overlay {
651
+ position: absolute;
652
+ inset: 0;
653
+ display: flex;
654
+ align-items: center;
655
+ justify-content: center;
656
+ background: rgba(0, 0, 0, 0.2);
657
+ backdrop-filter: blur(2px);
658
+ border-radius: 4px;
659
+ opacity: 0;
660
+ transition: opacity 0.15s ease-in-out;
661
+ z-index: 10;
662
+ }
663
+
664
+ .isdl-image-action-btn {
665
+ transition: transform 0.2s ease-in-out;
666
+ }
667
+
668
+ &:hover .isdl-image-action-overlay {
669
+ opacity: 1;
670
+ }
671
+
672
+ &:hover .isdl-image-action-btn {
673
+ transform: scale(1.1);
674
+ }
675
+ }
676
+
642
677
  .isdl-paperdoll {
643
678
  min-width: 307px;
644
679
  width: 307px;
@@ -639,6 +639,41 @@
639
639
  position: relative;
640
640
  }
641
641
 
642
+ // Image-cell action affordance: reveal a circular action button over the row image on hover,
643
+ // mirroring the attribute roll overlay. Pure CSS hover so it works per-row in a data table.
644
+ .isdl-image-action {
645
+ position: relative;
646
+ display: inline-flex;
647
+ cursor: pointer;
648
+ border-radius: 4px;
649
+
650
+ .isdl-image-action-overlay {
651
+ position: absolute;
652
+ inset: 0;
653
+ display: flex;
654
+ align-items: center;
655
+ justify-content: center;
656
+ background: rgba(0, 0, 0, 0.2);
657
+ backdrop-filter: blur(2px);
658
+ border-radius: 4px;
659
+ opacity: 0;
660
+ transition: opacity 0.15s ease-in-out;
661
+ z-index: 10;
662
+ }
663
+
664
+ .isdl-image-action-btn {
665
+ transition: transform 0.2s ease-in-out;
666
+ }
667
+
668
+ &:hover .isdl-image-action-overlay {
669
+ opacity: 1;
670
+ }
671
+
672
+ &:hover .isdl-image-action-btn {
673
+ transform: scale(1.1);
674
+ }
675
+ }
676
+
642
677
  .isdl-paperdoll {
643
678
  min-width: 307px;
644
679
  width: 307px;
@@ -25,7 +25,10 @@ export default function generateAttributeComponent(destination) {
25
25
  editMode: Boolean,
26
26
  attributeStyle: String, // plain or box
27
27
  roll: Function,
28
- hasRoll: Boolean
28
+ hasRoll: Boolean,
29
+ // Icon shown in the click overlay. Defaults to a die for roll: handlers; function: handlers
30
+ // pass the attribute's own icon so the affordance matches what the click actually does.
31
+ clickIcon: { type: String, default: "fa-solid fa-dice" }
29
32
  });
30
33
 
31
34
  const document = inject("rawDocument");
@@ -111,7 +114,7 @@ export default function generateAttributeComponent(destination) {
111
114
  variant="elevated"
112
115
  elevation="4"
113
116
  >
114
- <v-icon size="small">fa-solid fa-dice</v-icon>
117
+ <v-icon size="small" :icon="clickIcon"></v-icon>
115
118
  </v-btn>
116
119
  </div>
117
120
  </div>
@@ -136,7 +139,7 @@ export default function generateAttributeComponent(destination) {
136
139
  variant="elevated"
137
140
  elevation="4"
138
141
  >
139
- <v-icon>fa-solid fa-dice</v-icon>
142
+ <v-icon :icon="clickIcon"></v-icon>
140
143
  </v-btn>
141
144
  </div>
142
145
  </v-container>
@@ -1 +1 @@
1
- {"version":3,"file":"vue-attribute.js","sourceRoot":"","sources":["../../../../../src/cli/components/vue/base-components/vue-attribute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAExD,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,WAAmB;IAClE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAEvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QAClC,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;KACrD;IAED,MAAM,QAAQ,GAAG,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuI5B,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"vue-attribute.js","sourceRoot":"","sources":["../../../../../src/cli/components/vue/base-components/vue-attribute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAExD,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,WAAmB;IAClE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAEvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QAClC,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;KACrD;IAED,MAAM,QAAQ,GAAG,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0I5B,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import * as path from 'node:path';
2
2
  import * as fs from 'node:fs';
3
3
  import { expandToNode, joinToNode, toString } from 'langium/generate';
4
- import { isAction, isActor, isBooleanExp, isChatCard, isColorParam, isDamageTypeChoiceField, isDateExp, isDateTimeExp, isDiceField, isDieField, isDocument, isDocumentChoiceExp, isHookHandler, isHtmlExp, isIconParam, isInitiativeProperty, isLayout, isMeasuredTemplateField, isPaperDollElement, isParentPropertyRefExp, isProperty, isResourceExp, isStringChoiceField, isStringExp, isTableFieldsParam, isTableImageParam, isTimeExp, isTrackerExp, isVisibilityParam, isMethodBlock, isWhereParam } from "../../../language/generated/ast.js";
4
+ import { isAction, isActor, isBooleanExp, isChatCard, isColorParam, isDamageTypeChoiceField, isDateExp, isDateTimeExp, isDiceField, isDieField, isDocument, isDocumentChoiceExp, isHookHandler, isHtmlExp, isIconParam, isInitiativeProperty, isLayout, isMeasuredTemplateField, isPaperDollElement, isParentPropertyRefExp, isProperty, isResourceExp, isStringChoiceField, isStringExp, isTableFieldsParam, isTableImageParam, isTableImageActionParam, isTimeExp, isTrackerExp, isVisibilityParam, isMethodBlock, isWhereParam } from "../../../language/generated/ast.js";
5
5
  import { getAllOfType, getSystemPath } from '../utils.js';
6
6
  import { translateExpression } from '../method-generator.js';
7
7
  import { AstUtils } from 'langium';
8
8
  export function generateVuetifyDatatableComponent(entry, id, document, pageName, table, destination) {
9
- var _a, _b, _c, _d, _e, _f, _g, _h;
9
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
10
10
  const type = isActor(document) ? 'actor' : 'item';
11
11
  const generatedFileDir = path.join(destination, "system", "templates", "vue", type, document.name.toLowerCase(), "components", "datatables");
12
12
  const generatedFilePath = path.join(generatedFileDir, `${document.name.toLowerCase()}${pageName}${table.name}VuetifyDatatable.vue`);
@@ -17,6 +17,13 @@ export function generateVuetifyDatatableComponent(entry, id, document, pageName,
17
17
  // Image column is configurable; defaults to visible unless `image: false` is set in the table definition.
18
18
  const imageParam = table.params.find(p => isTableImageParam(p));
19
19
  const imageDefaultVisible = imageParam ? imageParam.value : true;
20
+ // `imageAction:` makes the row's image clickable, running the named action on that item.
21
+ // Kept scoped to the image cell so it never collides with the row's other controls.
22
+ const imageActionParam = table.params.find(p => isTableImageActionParam(p));
23
+ const imageActionName = (_a = imageActionParam === null || imageActionParam === void 0 ? void 0 : imageActionParam.action.ref) === null || _a === void 0 ? void 0 : _a.name.toLowerCase();
24
+ // Reveal the action's own icon (mirroring the attribute roll overlay) on image hover.
25
+ const imageActionIcon = (_d = (_c = (_b = imageActionParam === null || imageActionParam === void 0 ? void 0 : imageActionParam.action.ref) === null || _b === void 0 ? void 0 : _b.params.find(p => isIconParam(p))) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : "fa-solid fa-bolt";
26
+ const imageActionColor = (_g = (_f = (_e = imageActionParam === null || imageActionParam === void 0 ? void 0 : imageActionParam.action.ref) === null || _e === void 0 ? void 0 : _e.params.find(p => isColorParam(p))) === null || _f === void 0 ? void 0 : _f.value) !== null && _g !== void 0 ? _g : "primary";
20
27
  // Resolve the static visibility of a column from its `visibility:` param (preferred) or its modifier.
21
28
  // Method-block visibility can't be resolved at build time, so we fall back to the modifier / default.
22
29
  function getStaticColumnVisibility(property) {
@@ -32,9 +39,9 @@ export function generateVuetifyDatatableComponent(entry, id, document, pageName,
32
39
  if (fieldsParam) {
33
40
  defaultVisibleFields = fieldsParam.fields;
34
41
  }
35
- else if ((_a = table.document.ref) === null || _a === void 0 ? void 0 : _a.body) {
36
- defaultVisibleFields = (_b = getAllOfType(table.document.ref.body, isProperty, false)
37
- .map(p => p.name.toLowerCase())) !== null && _b !== void 0 ? _b : [];
42
+ else if ((_h = table.document.ref) === null || _h === void 0 ? void 0 : _h.body) {
43
+ defaultVisibleFields = (_j = getAllOfType(table.document.ref.body, isProperty, false)
44
+ .map(p => p.name.toLowerCase())) !== null && _j !== void 0 ? _j : [];
38
45
  }
39
46
  function generateDataTableHeader(refDoc, property) {
40
47
  var _a;
@@ -230,7 +237,7 @@ export function generateVuetifyDatatableComponent(entry, id, document, pageName,
230
237
  // (it compares the object); use plain string/number/boolean fields in where clauses.
231
238
  const whereParam = table.params.find(x => isWhereParam(x));
232
239
  const whereClause = whereParam ? translateExpression(entry, id, whereParam.value) : undefined;
233
- let tableDocBody = (_d = (_c = table.document.ref) === null || _c === void 0 ? void 0 : _c.body) !== null && _d !== void 0 ? _d : [];
240
+ let tableDocBody = (_l = (_k = table.document.ref) === null || _k === void 0 ? void 0 : _k.body) !== null && _l !== void 0 ? _l : [];
234
241
  const actions = getAllOfType(tableDocBody, isAction, false);
235
242
  // Split actions into primary and secondary
236
243
  const primaryActions = actions.filter(action => !action.isSecondary);
@@ -264,7 +271,7 @@ export function generateVuetifyDatatableComponent(entry, id, document, pageName,
264
271
  // (their getters are non-enumerable), so we transiently read the live item and overlay
265
272
  // each schema field's resolved value -- the live item is never stored in reactive state.
266
273
  const allItems = props.context?.object?.items ?? [];
267
- return allItems.filter(i => i.type === '${(_f = (_e = table.document.ref) === null || _e === void 0 ? void 0 : _e.name.toLowerCase()) !== null && _f !== void 0 ? _f : ''}').map(plain => {
274
+ return allItems.filter(i => i.type === '${(_o = (_m = table.document.ref) === null || _m === void 0 ? void 0 : _m.name.toLowerCase()) !== null && _o !== void 0 ? _o : ''}').map(plain => {
268
275
  const live = document.items.get(plain._id);
269
276
  if (live) {
270
277
  const fields = live.system.schema?.fields ?? live.system.constructor?.schema?.fields ?? {};
@@ -589,7 +596,7 @@ export function generateVuetifyDatatableComponent(entry, id, document, pageName,
589
596
  const addNewItem = async () => {
590
597
  loading.value = true;
591
598
  try {
592
- const type = '${(_g = table.document.ref) === null || _g === void 0 ? void 0 : _g.name.toLowerCase()}';
599
+ const type = '${(_p = table.document.ref) === null || _p === void 0 ? void 0 : _p.name.toLowerCase()}';
593
600
  const items = await Item.createDocuments([{
594
601
  type: type,
595
602
  name: "New " + type
@@ -751,9 +758,20 @@ export function generateVuetifyDatatableComponent(entry, id, document, pageName,
751
758
  >
752
759
  <!-- Image slot -->
753
760
  <template v-slot:item.img="{ item }">
754
- <v-avatar size="40" rounded="0">
761
+ ${imageActionName
762
+ ? expandToNode `<div class="isdl-image-action" @click.stop="customItemAction(item, '${imageActionName}')" :data-tooltip="game.i18n.localize('${(_q = table.document.ref) === null || _q === void 0 ? void 0 : _q.name}.${imageActionParam.action.ref.name}')">
763
+ <v-avatar size="40" rounded="0">
764
+ <v-img :src="item.img" :alt="item.name" cover></v-img>
765
+ </v-avatar>
766
+ <div class="isdl-image-action-overlay">
767
+ <v-btn icon size="x-small" color="${imageActionColor}" variant="elevated" elevation="4" class="isdl-image-action-btn">
768
+ <v-icon size="small">${imageActionIcon}</v-icon>
769
+ </v-btn>
770
+ </div>
771
+ </div>`
772
+ : expandToNode `<v-avatar size="40" rounded="0">
755
773
  <v-img :src="item.img" :alt="item.name" cover></v-img>
756
- </v-avatar>
774
+ </v-avatar>`}
757
775
  </template>
758
776
 
759
777
  <!-- Name slot with description tooltip -->
@@ -865,7 +883,7 @@ export function generateVuetifyDatatableComponent(entry, id, document, pageName,
865
883
  <v-icon size="48" color="grey-lighten-1">fa-solid fa-inbox</v-icon>
866
884
  <div class="text-h6 mt-2">No items found</div>
867
885
  <div class="text-body-2 text-medium-emphasis">
868
- Add your first {{ game.i18n.localize("${(_h = table.document.ref) === null || _h === void 0 ? void 0 : _h.name}").toLowerCase() }} to get started
886
+ Add your first {{ game.i18n.localize("${(_r = table.document.ref) === null || _r === void 0 ? void 0 : _r.name}").toLowerCase() }} to get started
869
887
  </div>
870
888
  </div>
871
889
  </template>
@@ -1 +1 @@
1
- {"version":3,"file":"vue-datatable2-component-generator.js","sourceRoot":"","sources":["../../../../src/cli/components/vue/vue-datatable2-component-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vue-datatable2-component-generator.js","sourceRoot":"","sources":["../../../../src/cli/components/vue/vue-datatable2-component-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAA0B,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAMH,QAAQ,EACR,OAAO,EAAE,YAAY,EACrB,UAAU,EACV,YAAY,EAAE,uBAAuB,EACrC,SAAS,EACT,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EACvE,aAAa,EACb,SAAS,EACT,WAAW,EACX,oBAAoB,EAAE,QAAQ,EAAE,uBAAuB,EACvD,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,aAAa,EAAE,mBAAmB,EAClC,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EAEvB,SAAS,EACT,YAAY,EACZ,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAKjD,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAC,QAAQ,EAAY,MAAM,SAAS,CAAC;AAE5C,MAAM,UAAU,iCAAiC,CAAC,KAAY,EAAE,EAAU,EAAE,QAAkB,EAAE,QAAgB,EAAE,KAAiB,EAAE,WAAmB;;IACpJ,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAC7I,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,IAAI,sBAAsB,CAAC,CAAC;IAEpI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QAClC,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACvD;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAA0B,CAAC;IAElF,0GAA0G;IAC1G,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAgC,CAAC;IAC/F,MAAM,mBAAmB,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjE,yFAAyF;IACzF,oFAAoF;IACpF,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAsC,CAAC;IACjH,MAAM,eAAe,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAC,GAAG,0CAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IACzE,sFAAsF;IACtF,MAAM,eAAe,GAAG,MAAA,MAAC,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAC,GAAG,0CAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAA2B,0CAAE,KAAK,mCAAI,kBAAkB,CAAC;IAC/I,MAAM,gBAAgB,GAAG,MAAA,MAAC,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAC,GAAG,0CAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAA4B,0CAAE,KAAK,mCAAI,SAAS,CAAC;IAEzI,sGAAsG;IACtG,sGAAsG;IACtG,SAAS,yBAAyB,CAAC,QAAkB;;QACjD,MAAM,QAAQ,GAAG,MAAC,QAAQ,CAAC,MAA4C,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAgC,CAAC;QACxI,IAAI,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACjD,OAAQ,QAAQ,CAAC,UAA8B,CAAC,UAAU,CAAC;SAC9D;QACD,OAAO,MAAA,QAAQ,CAAC,QAAQ,mCAAI,SAAS,CAAC;IAC1C,CAAC;IAED,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAiC,CAAC;IAChG,IAAI,oBAAoB,GAAG,EAAc,CAAC;IAC1C,IAAI,WAAW,EAAE;QACb,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAAC;KAC7C;SACI,IAAI,MAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,EAAE;QAC/B,oBAAoB,GAAG,MAAA,YAAY,CAAW,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC;aACpF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,mCAAI,EAAE,CAAC;KAC7C;IAED,SAAS,uBAAuB,CAAC,MAAuC,EAAE,QAAkC;;QACxG,IAAK,QAAQ,CAAC,QAAQ,CAAC,EAAG;YACtB,OAAO,YAAY,CAAA;kBACb,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;aAC1G,CAAC;SACL;QACD,IAAK,SAAS,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC;YAAG,OAAO,SAAS,CAAC;QAEzI,IAAK,UAAU,CAAC,QAAQ,CAAC,EAAG;YACxB,MAAM,UAAU,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YACvD,sEAAsE;YACtE,IAAI,UAAU,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAE9C,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC/D,IAAI,QAAQ,GAAG,IAAI,CAAC;YAEpB,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE;gBACjH,QAAQ,GAAG,KAAK,CAAC;aACpB;YAED,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;gBACnD,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;aACzD;YAED,IAAI,YAAY,GAAG,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,0CAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3D,IAAI,QAAQ,GAAG,OAAO,CAAC,CAAC,wBAAwB;YAEhD,qDAAqD;YACrD,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE;gBACvB,QAAQ,GAAG,OAAO,CAAC,CAAC,0CAA0C;gBAC9D,OAAO,YAAY,CAAA;mDACgB,YAAY,aAAa,UAAU,gBAAgB,QAAQ,gBAAgB,QAAQ,mBAAmB,UAAU;iBAClJ,CAAC;aACL;YAED,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE;gBACrG,YAAY,IAAI,QAAQ,CAAC;gBACzB,QAAQ,GAAG,OAAO,CAAC,CAAC,oCAAoC;aAC3D;YAED,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;gBACnD,QAAQ,GAAG,MAAM,CAAC,CAAC,uCAAuC;aAC7D;YAED,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE;gBAC/C,QAAQ,GAAG,MAAM,CAAC,CAAC,0BAA0B;aAChD;YAED,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;gBACxB,QAAQ,GAAG,MAAM,CAAC,CAAC,4BAA4B;aAClD;YAED,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;gBACvE,QAAQ,GAAG,OAAO,CAAC,CAAC,wCAAwC;aAC/D;YAED,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE;gBACnC,QAAQ,GAAG,OAAO,CAAC,CAAC,mCAAmC;aAC1D;YAED,OAAO,YAAY,CAAA;+CACgB,YAAY,aAAa,UAAU,gBAAgB,QAAQ,gBAAgB,QAAQ,aAAa,QAAQ,CAAC,KAAK,mBAAmB,UAAU;aAC7K,CAAC;SACL;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,oBAAoB,CAAC,MAAuC,EAAE,QAAkC;QACrG,IAAK,QAAQ,CAAC,QAAQ,CAAC,EAAG;YACtB,OAAO,YAAY,CAAA;kBACb,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;aACvG,CAAC;SACL;QACD,IAAK,SAAS,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC;YAAG,OAAO,SAAS,CAAC;QAEzI,IAAK,UAAU,CAAC,QAAQ,CAAC,EAAG;YACxB,oFAAoF;YACpF,+EAA+E;YAC/E,IAAI,yBAAyB,CAAC,QAAQ,CAAC,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAEvE,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,UAAU,CAAC;YAE5B,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;gBACxB,OAAO,YAAY,CAAA;uDACoB,UAAU,mBAAmB,QAAQ;;4DAEhC,UAAU;;;;;;kEAMJ,UAAU;;;;iBAI3D,CAAC;aACL;YAED,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE;gBACvB,OAAO,YAAY,CAAA;uDACoB,UAAU,mBAAmB,QAAQ;uGACW,UAAU;uDAC1D,UAAU;;;iBAGhD,CAAC;aACL;YAED,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE;gBAC/B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAClD,MAAM,cAAc,GAAG,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACzE,OAAO,YAAY,CAAA;uDACoB,UAAU,mBAAmB,QAAQ;6HACiC,UAAU,kDAAkD,UAAU,2DAA2D,UAAU;qDACnN,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,8BAA8B,UAAU;;;iBAGjH,CAAC;aACL;YAED,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE;gBAClC,OAAO,YAAY,CAAA;uDACoB,UAAU,mBAAmB,QAAQ;uFACL,UAAU;;iBAEhF,CAAC;aACL;YAED,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;gBACnD,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBACtD,OAAO,YAAY,CAAA;uDACoB,UAAU,mBAAmB,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;;;6EAGrC,UAAU;;;;;uDAKhC,UAAU,wCAAwC,UAAU;;;iBAGlG,CAAC;aACL;YAED,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;gBACtB,OAAO,YAAY,CAAA;uDACoB,UAAU,mBAAmB,QAAQ;;;;;;;;;uDASrC,UAAU;;;iBAGhD,CAAC;aACL;YAED,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE;gBACvB,OAAO,YAAY,CAAA;uDACoB,UAAU,mBAAmB,QAAQ;;;;;;;;;uDASrC,UAAU,wCAAwC,UAAU;;;iBAGlG,CAAC;aACL;YAED,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE;gBACnC,OAAO,YAAY,CAAA;uDACoB,UAAU,mBAAmB,QAAQ;;;;;;;;;uDASrC,UAAU;;;iBAGhD,CAAC;aACL;YAED,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;gBACvE,OAAO,YAAY,CAAA;uDACoB,UAAU,mBAAmB,QAAQ;yFACH,UAAU;;iBAElF,CAAC;aACL;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,yFAAyF;IACzF,6FAA6F;IAC7F,+FAA+F;IAC/F,qFAAqF;IACrF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAA2B,CAAC;IACrF,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9F,IAAI,YAAY,GAAG,MAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,mCAAI,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,YAAY,CAAS,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEpE,2CAA2C;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEtE,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACnD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;IAEF,MAAM,QAAQ,GAAG,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;sDA2BqB,MAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,CAAC,WAAW,EAAE,mCAAI,EAAE;;;;;;;;;gBASlF,WAAW,CAAC,CAAC,CAAC,YAAY,CAAA;yBACjB,WAAW;eACrB,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;cAoBN,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0ExH,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,CAAA,WAAW,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;;;;;;wCAMzG,mBAAmB;;;;;;;;;;;;;;;;;;;;2DAoBA,EAAE;;wDAEL,QAAQ,GAAG,KAAK,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DA6BlB,EAAE;;;;wDAIL,QAAQ,GAAG,KAAK,CAAC,IAAI;;;;;;;;;;;+CAW9B,QAAQ,GAAG,KAAK,CAAC,IAAI;2CACzB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4DAyFe,EAAE;6BACjC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAyDC,MAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,CAAC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCA2G7B,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;gDACjC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAsDrD,eAAe;QACb,CAAC,CAAC,YAAY,CAAA,uEAAuE,eAAe,0CAA0C,MAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,IAAI,gBAAiB,CAAC,MAAM,CAAC,GAAI,CAAC,IAAI;;;;;gEAKpK,gBAAgB;uDACzB,eAAe;;;2BAG3C;QACH,CAAC,CAAC,YAAY,CAAA;;gCAEN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8Bd,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;;;;;0BAK7G,UAAU,CAAC,cAAc,EAAE,oBAAoB,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;;;;;;;;;;;;0BAYnF,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAA;;;;;;;;;;;;yBAYlC,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;kCAWI,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAA;;;;;;;;;;iCAUjC,CAAC,CAAC,CAAC,EAAE;kCACJ,UAAU,CAAC,gBAAgB,EAAE,+BAA+B,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oEA+B9D,MAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwEvF,CAAC;IACF,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExD,SAAS,oBAAoB,CAAC,MAAc;;QACxC,MAAM,cAAc,GAAG,MAAM,CAAC,MAA+B,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAA,MAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAe,0CAAE,KAAK,mCAAI,kBAAkB,CAAC;QAClG,MAAM,KAAK,GAAG,MAAA,MAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAgB,0CAAE,KAAK,mCAAI,SAAS,CAAC;QAC5F,MAAM,cAAc,GAAG,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEvE,OAAO,YAAY,CAAA;oDACyB,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,IAAI,MAAM,CAAC,IAAI;;;;gCAIvD,IAAI;;;iCAGH,KAAK;0DACoB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;;;;SAI1E,CAAC;IACN,CAAC;IAED,SAAS,+BAA+B,CAAC,MAAc;;QACnD,MAAM,cAAc,GAAG,MAAM,CAAC,MAA+B,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAA,MAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAe,0CAAE,KAAK,mCAAI,kBAAkB,CAAC;QAClG,MAAM,cAAc,GAAG,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEvE,OAAO,YAAY,CAAA;;kDAEuB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;8CAC7B,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,IAAI,MAAM,CAAC,IAAI;;;;oCAI7C,IAAI;;;SAG/B,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import * as path from 'node:path';
2
2
  import * as fs from 'node:fs';
3
3
  import { expandToNode, joinToNode, toString } from 'langium/generate';
4
- import { isAccess, isAction, isActor, isAttributeExp, isAttributeParamMod, isAttributeRollParam, isAttributeStyleParam, isBackgroundParam, isBooleanExp, isBooleanParamValue, isChoiceCustomProperty, isChoiceStringValue, isColorParam, isColumn, isDateExp, isDateTimeExp, isDiceField, isDiceFields, isDieChoicesParam, isDieNoneParam, isDieField, isDocumentChoiceExp, isDocumentChoicesExp, isEntry, isHtmlExp, isIconParam, isImageParam, isLabelParam, isMacroField, isMeasuredTemplateField, isDamageBonusesField, isDamageResistancesField, isPinnedField, isMoneyField, isDamageTrackExp, isDamageTrackTypesParam, isMethodBlock, isNumberExp, isNumberParamMax, isNumberParamMin, isNumberParamValue, isNumberParamCalculator, isPage, isPaperDollExp, isParentPropertyRefChoiceParam, isParentPropertyRefExp, isSelfPropertyRefExp, isProperty, isResourceExp, isRow, isSection, isSegmentsParameter, isSingleDocumentExp, isSizeParam, isStatusProperty, isStringChoiceField, isDamageTypeChoiceField, isStringChoicesField, isStringExp, isStringExtendedChoice, isStringParamChoices, isStringParamValue, isTableField, isTimeExp, isTrackerExp, isTrackerStyleParameter, isVisibilityParam, isInventoryField, isInventorySlotsParam, isInventoryRowsParam, isInventoryColumnsParam, isInventorySlotSizeParam, isInventoryQuantityParam, isInventoryMoneyParam, isInventorySumParam, isInventorySumMaxParam, isInventorySortParam, isInventoryEmptySlotsParam, isInventorySummaryParam, isWhereParam, isGlobalParam } from "../../../language/generated/ast.js";
4
+ import { isAccess, isAction, isActor, isAttributeExp, isAttributeParamMod, isAttributeRollParam, isAttributeFunctionParam, isAttributeStyleParam, isBackgroundParam, isBooleanExp, isBooleanParamValue, isChoiceCustomProperty, isChoiceStringValue, isColorParam, isColumn, isDateExp, isDateTimeExp, isDiceField, isDiceFields, isDieChoicesParam, isDieNoneParam, isDieField, isDocumentChoiceExp, isDocumentChoicesExp, isEntry, isHtmlExp, isIconParam, isImageParam, isLabelParam, isMacroField, isMeasuredTemplateField, isDamageBonusesField, isDamageResistancesField, isPinnedField, isMoneyField, isDamageTrackExp, isDamageTrackTypesParam, isMethodBlock, isNumberExp, isNumberParamMax, isNumberParamMin, isNumberParamValue, isNumberParamCalculator, isPage, isPaperDollExp, isParentPropertyRefChoiceParam, isParentPropertyRefExp, isSelfPropertyRefExp, isProperty, isResourceExp, isRow, isSection, isSegmentsParameter, isSingleDocumentExp, isSizeParam, isStatusProperty, isStringChoiceField, isDamageTypeChoiceField, isStringChoicesField, isStringExp, isStringExtendedChoice, isStringParamChoices, isStringParamValue, isTableField, isTimeExp, isTrackerExp, isTrackerStyleParameter, isVisibilityParam, isInventoryField, isInventorySlotsParam, isInventoryRowsParam, isInventoryColumnsParam, isInventorySlotSizeParam, isInventoryQuantityParam, isInventoryMoneyParam, isInventorySumParam, isInventorySumMaxParam, isInventorySortParam, isInventoryEmptySlotsParam, isInventorySummaryParam, isWhereParam, isGlobalParam } from "../../../language/generated/ast.js";
5
5
  import { getAllOfType, getDocument, getSystemPath, globalGetAllOfType, toMachineIdentifier } from '../utils.js';
6
6
  import { AstUtils } from 'langium';
7
7
  import { generateActionComponent } from './vue-action-component-generator.js';
@@ -503,6 +503,19 @@ function generateVueComponentScript(entry, id, document, destination) {
503
503
  }
504
504
  return expandToNode ``;
505
505
  }
506
+ // Attributes with a `function:` param delegate their click to a sheet method that runs the
507
+ // referenced function with action-style update/flush semantics (see vue-sheet-class-generator).
508
+ function generateAttributeFunctionMethod(attribute) {
509
+ const functionParam = attribute.params.find(isAttributeFunctionParam);
510
+ if (functionParam) {
511
+ return expandToNode `
512
+ const on${attribute.name}AttributeFunction = async (event) => {
513
+ await document.sheet._on${attribute.name}AttributeFunction(event);
514
+ };
515
+ `;
516
+ }
517
+ return expandToNode ``;
518
+ }
506
519
  return expandToNode `
507
520
  <script setup>
508
521
  import { ref, watch, inject, computed, watchEffect } from "vue";
@@ -720,6 +733,7 @@ function generateVueComponentScript(entry, id, document, destination) {
720
733
 
721
734
  // Attribute roll methods
722
735
  ${joinToNode(attributes, generateAttributeRollMethod, { appendNewLineIfNotEmpty: true })}
736
+ ${joinToNode(attributes, generateAttributeFunctionMethod, { appendNewLineIfNotEmpty: true })}
723
737
  </script>
724
738
  <style>
725
739
  </style>
@@ -1057,7 +1071,7 @@ function generateVueComponentTemplate(entry, id, document) {
1057
1071
  `.appendNewLine();
1058
1072
  }
1059
1073
  function generateElement(element, isTopLevel = false) {
1060
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
1074
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
1061
1075
  if (isSection(element)) {
1062
1076
  return expandToNode `
1063
1077
  <v-col class="section">
@@ -1671,22 +1685,32 @@ function generateVueComponentTemplate(entry, id, document) {
1671
1685
  const styleParam = element.params.find(x => isAttributeStyleParam(x));
1672
1686
  const style = (_g = styleParam === null || styleParam === void 0 ? void 0 : styleParam.style) !== null && _g !== void 0 ? _g : "box";
1673
1687
  const rollParam = element.params.find(x => isAttributeRollParam(x));
1688
+ const functionParam = element.params.find(x => isAttributeFunctionParam(x));
1689
+ // Both `roll:` and `function:` drive the attribute's click overlay. Validation forbids
1690
+ // setting both, so at most one of these is defined.
1691
+ const clickHandler = rollParam
1692
+ ? expandToNode `on${element.name}AttributeRoll`
1693
+ : (functionParam ? expandToNode `on${element.name}AttributeFunction` : expandToNode `undefined`);
1694
+ // roll: keeps the die icon; function: shows the attribute's own icon (or a generic
1695
+ // action bolt) so the overlay reflects what the click actually triggers.
1696
+ const clickIcon = functionParam ? ((_h = iconParam === null || iconParam === void 0 ? void 0 : iconParam.value) !== null && _h !== void 0 ? _h : "fa-solid fa-bolt") : "fa-solid fa-dice";
1674
1697
  return expandToNode `
1675
- <i-attribute
1698
+ <i-attribute
1676
1699
  label="${label}"
1677
1700
  icon="${iconParam === null || iconParam === void 0 ? void 0 : iconParam.value}"
1678
1701
  attributeStyle="${style}"
1679
1702
  :editMode="editModeRef"
1680
- :hasMod="${hasMod}"
1703
+ :hasMod="${hasMod}"
1681
1704
  :mod="context.${modSystemPath}"
1682
- systemPath="${valueSystemPath}"
1683
- :context="context"
1684
- :min="${min}"
1705
+ systemPath="${valueSystemPath}"
1706
+ :context="context"
1707
+ :min="${min}"
1685
1708
  ${standardParamsFragment}
1686
- :primaryColor="primaryColor"
1709
+ :primaryColor="primaryColor"
1687
1710
  :secondaryColor="secondaryColor"
1688
- :roll="${rollParam ? expandToNode `on${element.name}AttributeRoll` : expandToNode `undefined`}"
1689
- :hasRoll="${rollParam != undefined}"
1711
+ :roll="${clickHandler}"
1712
+ :hasRoll="${rollParam != undefined || functionParam != undefined}"
1713
+ clickIcon="${clickIcon}"
1690
1714
  >
1691
1715
  </i-attribute>
1692
1716
  `;
@@ -1706,9 +1730,9 @@ function generateVueComponentTemplate(entry, id, document) {
1706
1730
  // }
1707
1731
  if (isDamageTrackExp(element)) {
1708
1732
  const typesParam = element.params.find(x => isDamageTrackTypesParam(x));
1709
- const types = (_h = typesParam === null || typesParam === void 0 ? void 0 : typesParam.types) !== null && _h !== void 0 ? _h : [];
1733
+ const types = (_j = typesParam === null || typesParam === void 0 ? void 0 : typesParam.types) !== null && _j !== void 0 ? _j : [];
1710
1734
  const maxParam = element.params.find(x => isNumberParamMax(x));
1711
- const max = (_j = maxParam === null || maxParam === void 0 ? void 0 : maxParam.value) !== null && _j !== void 0 ? _j : 5;
1735
+ const max = (_k = maxParam === null || maxParam === void 0 ? void 0 : maxParam.value) !== null && _k !== void 0 ? _k : 5;
1712
1736
  const colorParam = element.params.find(x => isColorParam(x));
1713
1737
  const primaryColor = colorParam ? `'${colorParam.value}'` : "primaryColor";
1714
1738
  return expandToNode `
@@ -1726,9 +1750,9 @@ function generateVueComponentTemplate(entry, id, document) {
1726
1750
  }
1727
1751
  if (isTrackerExp(element) || isResourceExp(element)) {
1728
1752
  const styleParam = element.params.find(x => isTrackerStyleParameter(x));
1729
- const style = (_k = styleParam === null || styleParam === void 0 ? void 0 : styleParam.style) !== null && _k !== void 0 ? _k : "bar";
1753
+ const style = (_l = styleParam === null || styleParam === void 0 ? void 0 : styleParam.style) !== null && _l !== void 0 ? _l : "bar";
1730
1754
  const iconParam = element.params.find(x => isIconParam(x));
1731
- const icon = (_l = iconParam === null || iconParam === void 0 ? void 0 : iconParam.value) !== null && _l !== void 0 ? _l : undefined;
1755
+ const icon = (_m = iconParam === null || iconParam === void 0 ? void 0 : iconParam.value) !== null && _m !== void 0 ? _m : undefined;
1732
1756
  const minParam = element.params.find(x => isNumberParamMin(x));
1733
1757
  const disableMin = (minParam === null || minParam === void 0 ? void 0 : minParam.value) != undefined;
1734
1758
  let hideMin = false;
@@ -1739,7 +1763,7 @@ function generateVueComponentTemplate(entry, id, document) {
1739
1763
  const colorParam = element.params.find(x => isColorParam(x));
1740
1764
  const primaryColor = colorParam ? `'${colorParam.value}'` : "primaryColor";
1741
1765
  const segmentParm = element.params.find(x => isSegmentsParameter(x));
1742
- const segments = (_m = segmentParm === null || segmentParm === void 0 ? void 0 : segmentParm.segments) !== null && _m !== void 0 ? _m : 1;
1766
+ const segments = (_o = segmentParm === null || segmentParm === void 0 ? void 0 : segmentParm.segments) !== null && _o !== void 0 ? _o : 1;
1743
1767
  let isHealth = false;
1744
1768
  let isWounds = false;
1745
1769
  if (isResourceExp(element)) {
@@ -1772,7 +1796,7 @@ function generateVueComponentTemplate(entry, id, document) {
1772
1796
  label="${label}"
1773
1797
  icon="${iconParam === null || iconParam === void 0 ? void 0 : iconParam.value}"
1774
1798
  systemPath="system.${element.name.toLowerCase()}"
1775
- documentName="${(_o = element.document.ref) === null || _o === void 0 ? void 0 : _o.name.toLowerCase()}"
1799
+ documentName="${(_p = element.document.ref) === null || _p === void 0 ? void 0 : _p.name.toLowerCase()}"
1776
1800
  :context="context"
1777
1801
  ${standardParamsFragment}
1778
1802
  :secondaryColor="secondaryColor">
@@ -1820,9 +1844,9 @@ function generateVueComponentTemplate(entry, id, document) {
1820
1844
  }
1821
1845
  if (isPaperDollExp(element)) {
1822
1846
  let sizeParam = element.params.find(x => isSizeParam(x));
1823
- let size = (_p = sizeParam === null || sizeParam === void 0 ? void 0 : sizeParam.value) !== null && _p !== void 0 ? _p : "40px";
1847
+ let size = (_q = sizeParam === null || sizeParam === void 0 ? void 0 : sizeParam.value) !== null && _q !== void 0 ? _q : "40px";
1824
1848
  let imageParam = element.params.find(x => isImageParam(x));
1825
- let image = (_q = imageParam === null || imageParam === void 0 ? void 0 : imageParam.value) !== null && _q !== void 0 ? _q : `systems/${id}/img/paperdoll_default.png`;
1849
+ let image = (_r = imageParam === null || imageParam === void 0 ? void 0 : imageParam.value) !== null && _r !== void 0 ? _r : `systems/${id}/img/paperdoll_default.png`;
1826
1850
  return expandToNode `
1827
1851
  <i-paperdoll
1828
1852
  label="${label}"
@@ -1875,7 +1899,7 @@ function generateVueComponentTemplate(entry, id, document) {
1875
1899
  if (isTopLevel)
1876
1900
  return expandToNode ``;
1877
1901
  const page = AstUtils.getContainerOfType(element, isPage);
1878
- const pageName = (_r = page === null || page === void 0 ? void 0 : page.name) !== null && _r !== void 0 ? _r : document.name;
1902
+ const pageName = (_s = page === null || page === void 0 ? void 0 : page.name) !== null && _s !== void 0 ? _s : document.name;
1879
1903
  const systemPath = getSystemPath(element, [], undefined, false);
1880
1904
  let componentName = `${document.name}${pageName}${element.name}VuetifyDatatable`;
1881
1905
  // Wrap in a drop zone so drag-drop works for tables inside a row/column.
@@ -1910,25 +1934,25 @@ function generateVueComponentTemplate(entry, id, document) {
1910
1934
  const summaryParam = element.params.find(isInventorySummaryParam);
1911
1935
  const label = labelParam ? labelParam.value : `${document.name}.${element.name}`;
1912
1936
  const icon = iconParam === null || iconParam === void 0 ? void 0 : iconParam.value;
1913
- const slots = (_s = slotsParam === null || slotsParam === void 0 ? void 0 : slotsParam.value) !== null && _s !== void 0 ? _s : 20;
1937
+ const slots = (_t = slotsParam === null || slotsParam === void 0 ? void 0 : slotsParam.value) !== null && _t !== void 0 ? _t : 20;
1914
1938
  const rows = rowsParam === null || rowsParam === void 0 ? void 0 : rowsParam.value;
1915
1939
  const columns = columnsParam === null || columnsParam === void 0 ? void 0 : columnsParam.value;
1916
1940
  const slotSize = slotSizeParam ? parseInt(slotSizeParam.value.replace('px', '')) : 60;
1917
- const documentType = (_t = element.document.ref) === null || _t === void 0 ? void 0 : _t.name.toLowerCase();
1918
- const quantityField = (_u = quantityParam === null || quantityParam === void 0 ? void 0 : quantityParam.field.ref) === null || _u === void 0 ? void 0 : _u.name.toLowerCase();
1919
- const moneyField = (_v = moneyParam === null || moneyParam === void 0 ? void 0 : moneyParam.field.ref) === null || _v === void 0 ? void 0 : _v.name.toLowerCase();
1920
- const moneyFieldLabel = moneyField ? `${document.name}.${(_x = (_w = moneyParam === null || moneyParam === void 0 ? void 0 : moneyParam.field) === null || _w === void 0 ? void 0 : _w.ref) === null || _x === void 0 ? void 0 : _x.name}` : undefined;
1921
- const moneyFieldIcon = moneyField ? (_0 = (_z = (_y = moneyParam === null || moneyParam === void 0 ? void 0 : moneyParam.field) === null || _y === void 0 ? void 0 : _y.ref) === null || _z === void 0 ? void 0 : _z.params.find(isIconParam)) === null || _0 === void 0 ? void 0 : _0.value : undefined;
1922
- const sortProperty = (_1 = sortParam === null || sortParam === void 0 ? void 0 : sortParam.property.ref) === null || _1 === void 0 ? void 0 : _1.name;
1923
- const sortOrder = (_2 = sortParam === null || sortParam === void 0 ? void 0 : sortParam.order) !== null && _2 !== void 0 ? _2 : 'asc';
1924
- const globalAllowed = (_3 = globalParam === null || globalParam === void 0 ? void 0 : globalParam.value) !== null && _3 !== void 0 ? _3 : false;
1925
- const emptySlots = (_4 = emptySlotsParam === null || emptySlotsParam === void 0 ? void 0 : emptySlotsParam.value) !== null && _4 !== void 0 ? _4 : 'show';
1926
- const summary = (_5 = summaryParam === null || summaryParam === void 0 ? void 0 : summaryParam.value) !== null && _5 !== void 0 ? _5 : 'full';
1941
+ const documentType = (_u = element.document.ref) === null || _u === void 0 ? void 0 : _u.name.toLowerCase();
1942
+ const quantityField = (_v = quantityParam === null || quantityParam === void 0 ? void 0 : quantityParam.field.ref) === null || _v === void 0 ? void 0 : _v.name.toLowerCase();
1943
+ const moneyField = (_w = moneyParam === null || moneyParam === void 0 ? void 0 : moneyParam.field.ref) === null || _w === void 0 ? void 0 : _w.name.toLowerCase();
1944
+ const moneyFieldLabel = moneyField ? `${document.name}.${(_y = (_x = moneyParam === null || moneyParam === void 0 ? void 0 : moneyParam.field) === null || _x === void 0 ? void 0 : _x.ref) === null || _y === void 0 ? void 0 : _y.name}` : undefined;
1945
+ const moneyFieldIcon = moneyField ? (_1 = (_0 = (_z = moneyParam === null || moneyParam === void 0 ? void 0 : moneyParam.field) === null || _z === void 0 ? void 0 : _z.ref) === null || _0 === void 0 ? void 0 : _0.params.find(isIconParam)) === null || _1 === void 0 ? void 0 : _1.value : undefined;
1946
+ const sortProperty = (_2 = sortParam === null || sortParam === void 0 ? void 0 : sortParam.property.ref) === null || _2 === void 0 ? void 0 : _2.name;
1947
+ const sortOrder = (_3 = sortParam === null || sortParam === void 0 ? void 0 : sortParam.order) !== null && _3 !== void 0 ? _3 : 'asc';
1948
+ const globalAllowed = (_4 = globalParam === null || globalParam === void 0 ? void 0 : globalParam.value) !== null && _4 !== void 0 ? _4 : false;
1949
+ const emptySlots = (_5 = emptySlotsParam === null || emptySlotsParam === void 0 ? void 0 : emptySlotsParam.value) !== null && _5 !== void 0 ? _5 : 'show';
1950
+ const summary = (_6 = summaryParam === null || summaryParam === void 0 ? void 0 : summaryParam.value) !== null && _6 !== void 0 ? _6 : 'full';
1927
1951
  // Handle sum properties (can be single or array)
1928
1952
  let sumProperties = [];
1929
1953
  if (sumParam) {
1930
1954
  if (sumParam.properties.property) {
1931
- sumProperties = [((_6 = sumParam.properties.property.ref) === null || _6 === void 0 ? void 0 : _6.name) || ''];
1955
+ sumProperties = [((_7 = sumParam.properties.property.ref) === null || _7 === void 0 ? void 0 : _7.name) || ''];
1932
1956
  }
1933
1957
  else if (sumParam.properties.properties) {
1934
1958
  sumProperties = sumParam.properties.properties
@@ -1951,7 +1975,7 @@ function generateVueComponentTemplate(entry, id, document) {
1951
1975
  sumMax = `context.${toString(sumMaxNode)}`;
1952
1976
  }
1953
1977
  }
1954
- else if ((_7 = sumMaxParam.values) === null || _7 === void 0 ? void 0 : _7.values) {
1978
+ else if ((_8 = sumMaxParam.values) === null || _8 === void 0 ? void 0 : _8.values) {
1955
1979
  // It's an array of ints/expressions
1956
1980
  const maxValues = sumMaxParam.values.values.map((val) => {
1957
1981
  if (typeof val === 'number') {