intelligent-system-design-language 0.3.26 → 0.3.28

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 (111) hide show
  1. package/out/_backgrounds.scss +17 -17
  2. package/out/_isdlStyles.scss +59 -0
  3. package/out/_vuetifyOverrides.scss +23 -1
  4. package/out/cli/components/_backgrounds.scss +17 -17
  5. package/out/cli/components/_isdlStyles.scss +59 -0
  6. package/out/cli/components/_vuetifyOverrides.scss +23 -1
  7. package/out/cli/components/active-effect-sheet-generator.js +6 -2
  8. package/out/cli/components/active-effect-sheet-generator.js.map +1 -1
  9. package/out/cli/components/css-generator.js +299 -0
  10. package/out/cli/components/css-generator.js.map +1 -1
  11. package/out/cli/components/datamodel-generator.js +38 -20
  12. package/out/cli/components/datamodel-generator.js.map +1 -1
  13. package/out/cli/components/init-hook-generator.js +32 -23
  14. package/out/cli/components/init-hook-generator.js.map +1 -1
  15. package/out/cli/components/language-generator.js +9 -1
  16. package/out/cli/components/language-generator.js.map +1 -1
  17. package/out/cli/components/method-generator.js +8 -7
  18. package/out/cli/components/method-generator.js.map +1 -1
  19. package/out/cli/components/utils.js +18 -12
  20. package/out/cli/components/utils.js.map +1 -1
  21. package/out/cli/components/vue/base-components/vue-attribute.js +5 -4
  22. package/out/cli/components/vue/base-components/vue-attribute.js.map +1 -1
  23. package/out/cli/components/vue/base-components/vue-boolean.js +3 -2
  24. package/out/cli/components/vue/base-components/vue-boolean.js.map +1 -1
  25. package/out/cli/components/vue/base-components/vue-damage-bonuses.js +3 -2
  26. package/out/cli/components/vue/base-components/vue-damage-bonuses.js.map +1 -1
  27. package/out/cli/components/vue/base-components/vue-damage-resistances.js +3 -2
  28. package/out/cli/components/vue/base-components/vue-damage-resistances.js.map +1 -1
  29. package/out/cli/components/vue/base-components/vue-damage-track.js +2 -1
  30. package/out/cli/components/vue/base-components/vue-damage-track.js.map +1 -1
  31. package/out/cli/components/vue/base-components/vue-date-time.js +3 -2
  32. package/out/cli/components/vue/base-components/vue-date-time.js.map +1 -1
  33. package/out/cli/components/vue/base-components/vue-dice.js +2 -1
  34. package/out/cli/components/vue/base-components/vue-dice.js.map +1 -1
  35. package/out/cli/components/vue/base-components/vue-die.js +2 -1
  36. package/out/cli/components/vue/base-components/vue-die.js.map +1 -1
  37. package/out/cli/components/vue/base-components/vue-document-choice.js +2 -1
  38. package/out/cli/components/vue/base-components/vue-document-choice.js.map +1 -1
  39. package/out/cli/components/vue/base-components/vue-document-choices.js +2 -1
  40. package/out/cli/components/vue/base-components/vue-document-choices.js.map +1 -1
  41. package/out/cli/components/vue/base-components/vue-document-link.js +2 -1
  42. package/out/cli/components/vue/base-components/vue-document-link.js.map +1 -1
  43. package/out/cli/components/vue/base-components/vue-extended-choice.js +2 -1
  44. package/out/cli/components/vue/base-components/vue-extended-choice.js.map +1 -1
  45. package/out/cli/components/vue/base-components/vue-image.js +89 -0
  46. package/out/cli/components/vue/base-components/vue-image.js.map +1 -0
  47. package/out/cli/components/vue/base-components/vue-inventory.js +2 -1
  48. package/out/cli/components/vue/base-components/vue-inventory.js.map +1 -1
  49. package/out/cli/components/vue/base-components/vue-macro-choice.js +2 -1
  50. package/out/cli/components/vue/base-components/vue-macro-choice.js.map +1 -1
  51. package/out/cli/components/vue/base-components/vue-measured-template.js +3 -2
  52. package/out/cli/components/vue/base-components/vue-measured-template.js.map +1 -1
  53. package/out/cli/components/vue/base-components/vue-money.js +4 -3
  54. package/out/cli/components/vue/base-components/vue-money.js.map +1 -1
  55. package/out/cli/components/vue/base-components/vue-number.js +3 -2
  56. package/out/cli/components/vue/base-components/vue-number.js.map +1 -1
  57. package/out/cli/components/vue/base-components/vue-paperdoll.js +2 -1
  58. package/out/cli/components/vue/base-components/vue-paperdoll.js.map +1 -1
  59. package/out/cli/components/vue/base-components/vue-parent-property-reference.js +5 -1
  60. package/out/cli/components/vue/base-components/vue-parent-property-reference.js.map +1 -1
  61. package/out/cli/components/vue/base-components/vue-prosemirror.js +3 -2
  62. package/out/cli/components/vue/base-components/vue-prosemirror.js.map +1 -1
  63. package/out/cli/components/vue/base-components/vue-resource.js +2 -1
  64. package/out/cli/components/vue/base-components/vue-resource.js.map +1 -1
  65. package/out/cli/components/vue/base-components/vue-roll-visualizer.js +2 -1
  66. package/out/cli/components/vue/base-components/vue-roll-visualizer.js.map +1 -1
  67. package/out/cli/components/vue/base-components/vue-self-property-reference.js +2 -1
  68. package/out/cli/components/vue/base-components/vue-self-property-reference.js.map +1 -1
  69. package/out/cli/components/vue/base-components/vue-string-choice.js +3 -1
  70. package/out/cli/components/vue/base-components/vue-string-choice.js.map +1 -1
  71. package/out/cli/components/vue/base-components/vue-string-choices.js +3 -2
  72. package/out/cli/components/vue/base-components/vue-string-choices.js.map +1 -1
  73. package/out/cli/components/vue/base-components/vue-string.js +4 -3
  74. package/out/cli/components/vue/base-components/vue-string.js.map +1 -1
  75. package/out/cli/components/vue/base-components/vue-text-field.js +4 -3
  76. package/out/cli/components/vue/base-components/vue-text-field.js.map +1 -1
  77. package/out/cli/components/vue/base-components/vue-tracker.js +2 -1
  78. package/out/cli/components/vue/base-components/vue-tracker.js.map +1 -1
  79. package/out/cli/components/vue/vue-action-component-generator.js +18 -9
  80. package/out/cli/components/vue/vue-action-component-generator.js.map +1 -1
  81. package/out/cli/components/vue/vue-active-effect-sheet-generator.js +2 -2
  82. package/out/cli/components/vue/vue-base-components-generator.js +2 -0
  83. package/out/cli/components/vue/vue-base-components-generator.js.map +1 -1
  84. package/out/cli/components/vue/vue-generator.js +8 -7
  85. package/out/cli/components/vue/vue-generator.js.map +1 -1
  86. package/out/cli/components/vue/vue-mixin.js +1 -0
  87. package/out/cli/components/vue/vue-mixin.js.map +1 -1
  88. package/out/cli/components/vue/vue-prompt-generator.js +4 -4
  89. package/out/cli/components/vue/vue-prompt-generator.js.map +1 -1
  90. package/out/cli/components/vue/vue-sheet-application-generator.js +714 -561
  91. package/out/cli/components/vue/vue-sheet-application-generator.js.map +1 -1
  92. package/out/cli/components/vue/vue-sheet-class-generator.js +89 -2
  93. package/out/cli/components/vue/vue-sheet-class-generator.js.map +1 -1
  94. package/out/cli/generator.js +9 -3
  95. package/out/cli/generator.js.map +1 -1
  96. package/out/extension/main.cjs +3057 -848
  97. package/out/extension/main.cjs.map +3 -3
  98. package/out/extension/package.json +1 -1
  99. package/out/language/generated/ast.js +374 -9
  100. package/out/language/generated/ast.js.map +1 -1
  101. package/out/language/generated/grammar.js +2696 -874
  102. package/out/language/generated/grammar.js.map +1 -1
  103. package/out/language/intelligent-system-design-language-validator.js +99 -3
  104. package/out/language/intelligent-system-design-language-validator.js.map +1 -1
  105. package/out/language/main.cjs +3057 -848
  106. package/out/language/main.cjs.map +3 -3
  107. package/out/package.json +1 -1
  108. package/out/styles.scss +33 -4
  109. package/out/test/validating/theme.test.js +120 -0
  110. package/out/test/validating/theme.test.js.map +1 -0
  111. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"active-effect-sheet-generator.js","sourceRoot":"","sources":["../../../src/cli/components/active-effect-sheet-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"active-effect-sheet-generator.js","sourceRoot":"","sources":["../../../src/cli/components/active-effect-sheet-generator.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
+ import { isConfigExpression, isProperty, isTheme, isThemeFieldParam, isThemePrimaryParam, isThemeSecondaryParam, isThemeTertiaryParam, isThemeBackgroundParam, isThemeTextParam, isThemeBorderGroup, isThemeFontGroup, isThemeHeadingGroup, isThemeDisabledGroup, isThemeWidthGroup, isThemeHeightGroup,
2
+ // shared, reusable group leaf props (the parent group decides the var prefix)
3
+ isThemeColorProp, isThemeSizeProp, isThemeWidthProp, isThemeRadiusProp, isThemeFamilyProp, isThemeFontFaceProp, isThemeTransformProp, isThemeMinProp, isThemeMaxProp, } from '../../language/generated/ast.js';
1
4
  import { expandToNode, toString } from 'langium/generate';
2
5
  import * as fs from 'node:fs';
3
6
  import * as path from 'node:path';
4
7
  import * as sass from 'sass';
5
8
  import { fileURLToPath } from 'url';
9
+ import { globalGetAllOfType } from './utils.js';
6
10
  export function compileSCSS(dynamicId) {
7
11
  const __filename = fileURLToPath(import.meta.url);
8
12
  const __dirname = path.dirname(__filename);
@@ -55,4 +59,299 @@ export function generateCustomCss(entry, id, destination) {
55
59
  `.appendNewLineIfNotEmpty();
56
60
  fs.writeFileSync(generatedFilePath, toString(fileNode));
57
61
  }
62
+ // --- Declarative theme tokens ------------------------------------------------
63
+ // ONE vocabulary, two scopes (same grouped syntax, served by the same code):
64
+ // - global `config { theme { ... } }` -> defaults on the system root.
65
+ // - per-field `attribute Luck(theme: { ... })` -> override on that field's
66
+ // `.isdl-field-<name>` wrapper. A per-field value cascades over the global default
67
+ // for free (the wrapper carries both the type class that reads the var and the
68
+ // `.isdl-field-<name>` class that sets it).
69
+ // Both call `themeBlockToCss`, which takes anything with a `params` list (the global
70
+ // `Theme` node or the per-field `ThemeFieldParam` block).
71
+ // A font value is used verbatim as a font-family list. If the author already wrote a
72
+ // stack ("'Special Elite', monospace") pass it through so the fallback survives; otherwise
73
+ // quote the single family so a name with a space stays one family in `font-family: var(...)`.
74
+ function cssFontValue(value) {
75
+ return value.includes(',') ? value : `"${value}"`;
76
+ }
77
+ // A size-like value is either a PX literal (string `"42px"`, used verbatim) or a bare
78
+ // number (px appended). Lets authors write `radius: 6` or `width { min: 50px }`.
79
+ function dim(value) {
80
+ return typeof value === 'number' ? `${value}px` : value;
81
+ }
82
+ /** Map one flat palette leaf to its `--isdl-*` decl. */
83
+ function paletteLeafToCss(param) {
84
+ if (isThemePrimaryParam(param))
85
+ return `--isdl-primary: ${param.value};`;
86
+ if (isThemeSecondaryParam(param))
87
+ return `--isdl-secondary: ${param.value};`;
88
+ if (isThemeTertiaryParam(param))
89
+ return `--isdl-tertiary: ${param.value};`;
90
+ if (isThemeBackgroundParam(param))
91
+ return `--isdl-background: ${param.value};`;
92
+ if (isThemeTextParam(param))
93
+ return `--isdl-text: ${param.value};`;
94
+ return '';
95
+ }
96
+ // Expand a grouped component block into its `--isdl-*` declarations. The props are the
97
+ // SHARED leaf rules (color/size/width/...), so each group maps the same prop type to its
98
+ // own var prefix (border `color` -> --isdl-border, heading `color` -> --isdl-heading-color).
99
+ function borderGroupToCss(g) {
100
+ return g.props.map(p => {
101
+ if (isThemeColorProp(p))
102
+ return `--isdl-border: ${p.value};`;
103
+ if (isThemeWidthProp(p))
104
+ return `--isdl-border-width: ${dim(p.value)};`;
105
+ if (isThemeRadiusProp(p))
106
+ return `--isdl-radius: ${dim(p.value)};`;
107
+ return '';
108
+ }).filter(s => s.length > 0);
109
+ }
110
+ function fontGroupToCss(g) {
111
+ return g.props.map(p => {
112
+ if (isThemeFamilyProp(p))
113
+ return `--isdl-font: ${cssFontValue(p.value)};`;
114
+ if (isThemeSizeProp(p))
115
+ return `--isdl-font-size: ${dim(p.value)};`;
116
+ return '';
117
+ }).filter(s => s.length > 0);
118
+ }
119
+ function headingGroupToCss(g) {
120
+ return g.props.map(p => {
121
+ if (isThemeColorProp(p))
122
+ return `--isdl-heading-color: ${p.value};`;
123
+ if (isThemeFontFaceProp(p))
124
+ return `--isdl-heading-font: ${cssFontValue(p.value)};`;
125
+ if (isThemeSizeProp(p))
126
+ return `--isdl-heading-size: ${dim(p.value)};`;
127
+ // `transform` is a CSS keyword (uppercase/none/...), not a quoted family.
128
+ if (isThemeTransformProp(p))
129
+ return `--isdl-heading-transform: ${p.value};`;
130
+ return '';
131
+ }).filter(s => s.length > 0);
132
+ }
133
+ function disabledGroupToCss(g) {
134
+ return g.props.map(p => {
135
+ if (isThemeColorProp(p))
136
+ return `--isdl-disabled-color: ${p.value};`;
137
+ if (isThemeSizeProp(p))
138
+ return `--isdl-disabled-size: ${dim(p.value)};`;
139
+ return '';
140
+ }).filter(s => s.length > 0);
141
+ }
142
+ // NOTE: width/height are per-field-ONLY tokens (the validator rejects them in a global theme).
143
+ // They are NOT emitted as `--isdl-*` vars consumed on `.isdl-field` -- that loses to later
144
+ // per-type floors of equal specificity (e.g. `.isdl-tracker { min-width: 300px; max-width: 600px }`),
145
+ // so a themed `max` on a resource/tracker was silently dead. Instead `generateThemeCss` emits them
146
+ // as DIRECT `min/max-width` declarations on the per-field selector (`.<id>.vue-application
147
+ // .isdl-field-<name>`, specificity (0,3,0)), which outranks every per-type floor for all field
148
+ // types -- via the shared `themeWidthToInlineStyle`/`themeHeightToInlineStyle` helpers (which also
149
+ // carry the `max`-without-`min` -> `min-width: 0` rule needed to beat those floors).
150
+ // --- Inline layout-container theming ----------------------------------------
151
+ // row/column/section carry a `theme: { ... }` too, but they CANNOT use the `--isdl-*`
152
+ // custom-property path: custom properties INHERIT, so a sized container would leak its
153
+ // min-width/etc. into every nested child. Instead we emit ACTUAL CSS declarations as an
154
+ // inline `style="..."` on the container element, which does not cascade to descendants.
155
+ // Scope rules (validated): row/column accept width/height only; section additionally
156
+ // accepts border, background, text.
157
+ function borderGroupToInlineStyle(g) {
158
+ return g.props.map(p => {
159
+ if (isThemeColorProp(p))
160
+ return `border-color: ${p.value}`;
161
+ if (isThemeWidthProp(p))
162
+ return `border-width: ${dim(p.value)}; border-style: solid`;
163
+ if (isThemeRadiusProp(p))
164
+ return `border-radius: ${dim(p.value)}`;
165
+ return '';
166
+ }).filter(s => s.length > 0);
167
+ }
168
+ function widthGroupToInlineStyle(g) {
169
+ const decls = g.props.map(p => {
170
+ if (isThemeMinProp(p))
171
+ return `min-width: ${dim(p.value)}`;
172
+ if (isThemeMaxProp(p))
173
+ return `max-width: ${dim(p.value)}`;
174
+ return '';
175
+ }).filter(s => s.length > 0);
176
+ // A `max` with no explicit `min` is otherwise defeated by a hardcoded min-width floor
177
+ // (e.g. `.v-col.section { min-width: 332px }`) and the flexbox `min-width: auto` content
178
+ // floor -- min-width always beats max-width. Drop the floor to 0 so the author's max
179
+ // actually constrains. An explicit `min` is left untouched (it's the author's floor).
180
+ if (g.props.some(isThemeMaxProp) && !g.props.some(isThemeMinProp)) {
181
+ decls.unshift('min-width: 0');
182
+ }
183
+ return decls;
184
+ }
185
+ function heightGroupToInlineStyle(g) {
186
+ return g.props.map(p => {
187
+ if (isThemeMinProp(p))
188
+ return `min-height: ${dim(p.value)}`;
189
+ if (isThemeMaxProp(p))
190
+ return `max-height: ${dim(p.value)}`;
191
+ return '';
192
+ }).filter(s => s.length > 0);
193
+ }
194
+ // A container's themed style is split across DOM nodes by who actually owns the geometry:
195
+ // - WIDTH governs the flex item that lays out in the row -> the container's own `v-col`
196
+ // (for a section, the OUTER `v-col`, never the inner card, or the column can't shrink).
197
+ // - HEIGHT + PAINT (border/bg/text) belong on the visible surface -> the section's inner
198
+ // `v-card`; for a bare row/column there is no card, so they ride the element itself.
199
+ // Each function returns '' when nothing applies. Tokens invalid for a container are rejected
200
+ // by the validator before reaching here.
201
+ /** Width tokens only -- for the flex item (`v-col`/`v-row`) that owns layout width. */
202
+ export function themeWidthToInlineStyle(block) {
203
+ if (!block)
204
+ return '';
205
+ const decls = [];
206
+ for (const p of block.params) {
207
+ if (isThemeWidthGroup(p))
208
+ decls.push(...widthGroupToInlineStyle(p));
209
+ }
210
+ return decls.join('; ');
211
+ }
212
+ /** Height tokens only. */
213
+ export function themeHeightToInlineStyle(block) {
214
+ if (!block)
215
+ return '';
216
+ const decls = [];
217
+ for (const p of block.params) {
218
+ if (isThemeHeightGroup(p))
219
+ decls.push(...heightGroupToInlineStyle(p));
220
+ }
221
+ return decls.join('; ');
222
+ }
223
+ /** Paint tokens (border/background/text) -- section-only, for the inner `v-card` surface. */
224
+ export function themePaintToInlineStyle(block) {
225
+ if (!block)
226
+ return '';
227
+ const decls = [];
228
+ for (const p of block.params) {
229
+ if (isThemeBorderGroup(p))
230
+ decls.push(...borderGroupToInlineStyle(p));
231
+ else if (isThemeBackgroundParam(p))
232
+ decls.push(`background-color: ${p.value}`);
233
+ else if (isThemeTextParam(p))
234
+ decls.push(`color: ${p.value}`);
235
+ }
236
+ return decls.join('; ');
237
+ }
238
+ /** Width + height combined -- for a bare `row`/`column` (no inner card), applied to itself. */
239
+ export function themeSizingToInlineStyle(block) {
240
+ return [themeWidthToInlineStyle(block), themeHeightToInlineStyle(block)]
241
+ .filter(s => s.length > 0).join('; ');
242
+ }
243
+ /** A theme body (global `Theme` or per-field `ThemeFieldParam`): palette flats + groups. */
244
+ function themeBlockToCss(block) {
245
+ const decls = [];
246
+ for (const p of block.params) {
247
+ if (isThemeBorderGroup(p))
248
+ decls.push(...borderGroupToCss(p));
249
+ else if (isThemeFontGroup(p))
250
+ decls.push(...fontGroupToCss(p));
251
+ else if (isThemeHeadingGroup(p))
252
+ decls.push(...headingGroupToCss(p));
253
+ else if (isThemeDisabledGroup(p))
254
+ decls.push(...disabledGroupToCss(p));
255
+ // width/height are NOT emitted here (see note above widthGroupToCss removal) -- they ride
256
+ // direct min/max declarations on the per-field rule via generateThemeCss instead.
257
+ else if (isThemeWidthGroup(p) || isThemeHeightGroup(p))
258
+ continue;
259
+ else
260
+ decls.push(paletteLeafToCss(p));
261
+ }
262
+ return decls.filter(s => s.length > 0).join('\n ');
263
+ }
264
+ export function generateThemeCss(entry, id, destination) {
265
+ var _a;
266
+ const generatedFileDir = path.join(destination, 'css');
267
+ const generatedFilePath = path.join(generatedFileDir, `${id}-theme.css`);
268
+ const root = `.${id}.vue-application`;
269
+ const blocks = [];
270
+ // Global defaults from `config { theme { ... } }`.
271
+ const theme = entry.config.body.find(x => isTheme(x));
272
+ if (theme && theme.params.length > 0) {
273
+ const css = themeBlockToCss(theme);
274
+ if (css.length > 0)
275
+ blocks.push(`${root} {\n ${css}\n}`);
276
+ }
277
+ // Per-field overrides: any field carrying a `theme: { ... }` param, emitted on the field's
278
+ // `.isdl-field-<name>` wrapper. Palette/border/font/etc. ride `--isdl-*` vars (themeBlockToCss);
279
+ // width/height ride DIRECT min/max declarations (themeWidth/HeightToInlineStyle) so they outrank
280
+ // the per-type size floors (`.isdl-tracker` etc.) that a var on `.isdl-field` would lose to.
281
+ const fields = globalGetAllOfType(entry, isProperty);
282
+ for (const field of fields) {
283
+ const themeBlock = ((_a = field.params) !== null && _a !== void 0 ? _a : []).find(isThemeFieldParam);
284
+ if (!themeBlock)
285
+ continue;
286
+ const varCss = themeBlockToCss(themeBlock);
287
+ // Sizing must beat the base per-type floors, which compile DEEP-scoped -- e.g.
288
+ // `.<id>.vue-application .window-content .v-application .isdl-tracker { min-width: 300px }`
289
+ // is specificity (0,5,0), far above this per-field rule's (0,3,0). Rather than couple to
290
+ // that scope depth, mark the explicit author sizing `!important` (the section path wins for
291
+ // free via inline style; this is the rule-based equivalent). Palette/border ride `--isdl-*`
292
+ // vars and don't fight on the same property, so they stay normal-weight.
293
+ const sizing = [themeWidthToInlineStyle(themeBlock), themeHeightToInlineStyle(themeBlock)]
294
+ .filter(s => s.length > 0).join('; ');
295
+ const sizingImportant = sizing.split(';').map(s => s.trim()).filter(s => s.length > 0)
296
+ .map(s => `${s} !important`).join('; ');
297
+ const parts = [];
298
+ if (varCss.length > 0)
299
+ parts.push(varCss);
300
+ if (sizingImportant.length > 0)
301
+ parts.push(`${sizingImportant};`);
302
+ if (parts.length === 0)
303
+ continue;
304
+ blocks.push(`${root} .isdl-field-${field.name.toLowerCase()} {\n ${parts.join('\n ')}\n}`);
305
+ }
306
+ if (!fs.existsSync(generatedFileDir)) {
307
+ fs.mkdirSync(generatedFileDir, { recursive: true });
308
+ }
309
+ const header = `/* Generated theme tokens for ${id}. Regenerated each build -- do not edit; use config { theme { } } or per-field params. */`;
310
+ fs.writeFileSync(generatedFilePath, `${header}\n${blocks.join('\n\n')}\n`);
311
+ }
312
+ export function compileSidecarScss(entry, id, sourceDir, destination) {
313
+ return {
314
+ sheet: compileOneSidecar(entry, id, sourceDir, destination, 'sheetStyles', `.${id}.vue-application`, `${id}-sheet-styles.css`),
315
+ global: compileOneSidecar(entry, id, sourceDir, destination, 'globalStyles', `.${id}`, `${id}-global-styles.css`),
316
+ };
317
+ }
318
+ // Compile one sidecar stylesheet declared by `<configType> = "..."`, wrapping its source
319
+ // under `scopeSelector` and writing `<outFile>`. Returns true if the sidecar was declared.
320
+ function compileOneSidecar(entry, id, sourceDir, destination, configType, scopeSelector, outFile) {
321
+ const stylesExpr = entry.config.body.find(x => isConfigExpression(x) && x.type === configType);
322
+ if (!stylesExpr)
323
+ return false;
324
+ const rel = stylesExpr.value;
325
+ const absPath = path.resolve(sourceDir, rel);
326
+ if (!fs.existsSync(absPath)) {
327
+ // Fail loud, naming the file -- a silent miss here is the #100 bug class.
328
+ throw new Error(`Sidecar stylesheet not found: "${rel}" (resolved to ${absPath}). ` +
329
+ `Check the '${configType} = ...' path in your config -- it is resolved relative to the .isdl file.`);
330
+ }
331
+ const authorScss = fs.readFileSync(absPath, 'utf8');
332
+ // Wrap the SCSS *source* (not the compiled output) so SCSS nesting scopes every
333
+ // author rule under the system root. `@use`/`@forward`/`@import` must live at the
334
+ // top of the file (not inside a selector), so hoist those single-line statements
335
+ // above the wrapper -- this is what lets a sidecar pull in web fonts.
336
+ const hoistPattern = /^\s*@(use|forward|import)\b[^;]*;/;
337
+ const head = [];
338
+ const body = [];
339
+ for (const line of authorScss.split(/\r?\n/)) {
340
+ (hoistPattern.test(line) ? head : body).push(line);
341
+ }
342
+ const wrapped = `${head.join('\n')}\n${scopeSelector} {\n${body.join('\n')}\n}`;
343
+ let css;
344
+ try {
345
+ css = sass.compileString(wrapped, { loadPaths: [sourceDir] }).css.toString();
346
+ }
347
+ catch (e) {
348
+ throw new Error(`Failed to compile sidecar stylesheet "${rel}": ${e.message}`);
349
+ }
350
+ const generatedFileDir = path.join(destination, 'css');
351
+ if (!fs.existsSync(generatedFileDir)) {
352
+ fs.mkdirSync(generatedFileDir, { recursive: true });
353
+ }
354
+ fs.writeFileSync(path.join(generatedFileDir, outFile), css);
355
+ return true;
356
+ }
58
357
  //# sourceMappingURL=css-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"css-generator.js","sourceRoot":"","sources":["../../../src/cli/components/css-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"css-generator.js","sourceRoot":"","sources":["../../../src/cli/components/css-generator.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { isActor, isNumberExp, isHtmlExp, isStringExp, isBooleanExp, isResourceExp, isAttributeExp, isDamageTrackExp, isSingleDocumentExp, isNumberParamInitial, isNumberParamMin, isNumberParamMax, isStringParamChoices, isConfigExpression, isStatusProperty, isStatusParamWhen, isDateExp, isTimeExp, isDateTimeExp, isPaperDollExp, isParentPropertyRefExp, isSelfPropertyRefExp, isDocumentChoiceExp, isDocumentChoicesExp, isAction, isVariableExpression, isPrompt, isTrackerExp, isDiceFields, isDieField, isDieInitialParam, isDiceField, isLayout, isMacroField, isMeasuredTemplateField, isLabelParam, isChoiceStringValue, isStringExtendedChoice, isStringChoiceField, isDamageTypeChoiceField, isChoiceCustomProperty, isStringChoicesField, isMoneyField, isDamageTrackTypesParam } from "../../language/generated/ast.js";
1
+ import { isActor, isNumberExp, isHtmlExp, isStringExp, isBooleanExp, isResourceExp, isAttributeExp, isDamageTrackExp, isSingleDocumentExp, isNumberParamInitial, isNumberParamMin, isNumberParamMax, isStringParamChoices, isConfigExpression, isStatusProperty, isStatusParamWhen, isDateExp, isTimeExp, isDateTimeExp, isPaperDollExp, isParentPropertyRefExp, isSelfPropertyRefExp, isDocumentChoiceExp, isDocumentChoicesExp, isVariableExpression, isPrompt, isTrackerExp, isDiceFields, isDieField, isDieInitialParam, isDiceField, isLayout, isMacroField, isMeasuredTemplateField, isLabelParam, isChoiceStringValue, isStringExtendedChoice, isStringChoiceField, isDamageTypeChoiceField, isChoiceCustomProperty, isStringChoicesField, isMoneyField, isDamageTrackTypesParam, isImageField, isImagePrimaryParam, isImageInitialParam } from "../../language/generated/ast.js";
2
2
  import { expandToNode, joinToNode, toString } from 'langium/generate';
3
3
  import * as fs from 'node:fs';
4
4
  import * as path from 'node:path';
5
- import { getAllOfType, toMachineIdentifier } from './utils.js';
5
+ import { getAllOfType, getDocumentPromptContainers, getPromptContainer, toMachineIdentifier } from './utils.js';
6
6
  import { translateExpression } from './method-generator.js';
7
7
  import { AstUtils } from 'langium';
8
8
  export function generateDocumentDataModel(entry, document, destination) {
@@ -12,7 +12,7 @@ export function generateDocumentDataModel(entry, document, destination) {
12
12
  const config = entry.config;
13
13
  const id = config.body.find(x => isConfigExpression(x) && x.type == "id").value;
14
14
  function generateField(property) {
15
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
15
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
16
16
  if (isNumberExp(property)) {
17
17
  // Check to see if we have literal values for min, initial, and max
18
18
  let options = "integer: true";
@@ -66,6 +66,24 @@ export function generateDocumentDataModel(entry, document, destination) {
66
66
  ${property.name.toLowerCase()}: new fields.StringField({initial: ""}),
67
67
  `;
68
68
  }
69
+ if (isImageField(property)) {
70
+ // A `primary: true` image stores nothing of its own -- it edits the document's native
71
+ // `img` (its `initial:` feeds the type's default artwork in the init hook instead). A
72
+ // normal image stores its file path at system.<name>, defaulting to `initial:` if given.
73
+ if (property.params.some(p => isImagePrimaryParam(p) && p.value)) {
74
+ return undefined;
75
+ }
76
+ const initialParam = property.params.find(p => isImageInitialParam(p));
77
+ // Resolve a relative path against the system dir, mirroring the document `svg:` rule, so
78
+ // an author-supplied "img/foo.png" doesn't 404 when bound straight into the field's src.
79
+ const rawInitial = (_a = initialParam === null || initialParam === void 0 ? void 0 : initialParam.value) !== null && _a !== void 0 ? _a : "";
80
+ const initial = !rawInitial || rawInitial.startsWith("icons") || rawInitial.startsWith("systems") || rawInitial.startsWith("/")
81
+ ? rawInitial
82
+ : `systems/${id}/${rawInitial}`;
83
+ return expandToNode `
84
+ ${property.name.toLowerCase()}: new fields.StringField({initial: "${initial}"}),
85
+ `;
86
+ }
69
87
  if (isStringChoiceField(property)) {
70
88
  let choices = property.params.find(p => isStringParamChoices(p));
71
89
  function choiceValue(choice) {
@@ -334,9 +352,9 @@ export function generateDocumentDataModel(entry, document, destination) {
334
352
  const minParam = property.params.find(p => isNumberParamMin(p));
335
353
  const maxParam = property.params.find(p => isNumberParamMax(p));
336
354
  const initialParam = property.params.find(p => isNumberParamInitial(p));
337
- const min = (_a = getNumberOrNothing(minParam)) !== null && _a !== void 0 ? _a : -100;
338
- const max = (_b = getNumberOrNothing(maxParam)) !== null && _b !== void 0 ? _b : 100;
339
- const initial = (_c = getNumberOrNothing(initialParam)) !== null && _c !== void 0 ? _c : 0;
355
+ const min = (_b = getNumberOrNothing(minParam)) !== null && _b !== void 0 ? _b : -100;
356
+ const max = (_c = getNumberOrNothing(maxParam)) !== null && _c !== void 0 ? _c : 100;
357
+ const initial = (_d = getNumberOrNothing(initialParam)) !== null && _d !== void 0 ? _d : 0;
340
358
  return expandToNode `
341
359
  ${property.name.toLowerCase()}: new fields.SchemaField({
342
360
  value: new fields.NumberField({min: ${min}, initial: ${initial}, integer: true}),
@@ -348,8 +366,8 @@ export function generateDocumentDataModel(entry, document, destination) {
348
366
  if (isAttributeExp(property)) {
349
367
  const minParam = property.params.find(p => isNumberParamMin(p));
350
368
  const maxParam = property.params.find(p => isNumberParamMax(p));
351
- const min = (_d = minParam === null || minParam === void 0 ? void 0 : minParam.value) !== null && _d !== void 0 ? _d : 0;
352
- const max = (_e = maxParam === null || maxParam === void 0 ? void 0 : maxParam.value) !== null && _e !== void 0 ? _e : 100;
369
+ const min = (_e = minParam === null || minParam === void 0 ? void 0 : minParam.value) !== null && _e !== void 0 ? _e : 0;
370
+ const max = (_f = maxParam === null || maxParam === void 0 ? void 0 : maxParam.value) !== null && _f !== void 0 ? _f : 100;
353
371
  return expandToNode `
354
372
  ${property.name.toLowerCase()}: new fields.SchemaField({
355
373
  value: new fields.NumberField({integer: true, min: ${min}, initial: ${min}}),
@@ -361,9 +379,9 @@ export function generateDocumentDataModel(entry, document, destination) {
361
379
  const minParam = property.params.find(p => isNumberParamMin(p));
362
380
  const maxParam = property.params.find(p => isNumberParamMax(p));
363
381
  const initialParam = property.params.find(p => isNumberParamInitial(p));
364
- const min = (_f = getNumberOrNothing(minParam)) !== null && _f !== void 0 ? _f : -10;
365
- const max = (_g = getNumberOrNothing(maxParam)) !== null && _g !== void 0 ? _g : 10;
366
- const initial = (_h = getNumberOrNothing(initialParam)) !== null && _h !== void 0 ? _h : 0;
382
+ const min = (_g = getNumberOrNothing(minParam)) !== null && _g !== void 0 ? _g : -10;
383
+ const max = (_h = getNumberOrNothing(maxParam)) !== null && _h !== void 0 ? _h : 10;
384
+ const initial = (_j = getNumberOrNothing(initialParam)) !== null && _j !== void 0 ? _j : 0;
367
385
  return expandToNode `
368
386
  ${property.name.toLowerCase()}: new fields.SchemaField({
369
387
  min: new fields.NumberField({integer: true, initial: ${min}}),
@@ -375,9 +393,9 @@ export function generateDocumentDataModel(entry, document, destination) {
375
393
  }
376
394
  if (isDamageTrackExp(property)) {
377
395
  const maxParam = property.params.find(x => isNumberParamMax(x));
378
- const max = (_j = maxParam === null || maxParam === void 0 ? void 0 : maxParam.value) !== null && _j !== void 0 ? _j : 5;
396
+ const max = (_k = maxParam === null || maxParam === void 0 ? void 0 : maxParam.value) !== null && _k !== void 0 ? _k : 5;
379
397
  const typesParam = property.params.find(x => isDamageTrackTypesParam(x));
380
- const types = (_k = typesParam === null || typesParam === void 0 ? void 0 : typesParam.types) !== null && _k !== void 0 ? _k : [];
398
+ const types = (_l = typesParam === null || typesParam === void 0 ? void 0 : typesParam.types) !== null && _l !== void 0 ? _l : [];
381
399
  return expandToNode `
382
400
  ${property.name.toLowerCase()}: new fields.SchemaField({
383
401
  empty: new fields.NumberField({initial: ${max}, min: 0, max: ${max}, integer: true}),
@@ -432,7 +450,7 @@ export function generateDocumentDataModel(entry, document, destination) {
432
450
  }
433
451
  if (isDiceFields(property)) {
434
452
  let initialParam = property.params.find(p => isDieInitialParam(p));
435
- let initialDie = (_l = initialParam === null || initialParam === void 0 ? void 0 : initialParam.value) !== null && _l !== void 0 ? _l : "d20";
453
+ let initialDie = (_m = initialParam === null || initialParam === void 0 ? void 0 : initialParam.value) !== null && _m !== void 0 ? _m : "d20";
436
454
  if (isDieField(property)) {
437
455
  return expandToNode `
438
456
  ${property.name.toLowerCase()}: new fields.StringField({initial: "${initialDie}"}),
@@ -574,19 +592,19 @@ export function generateDocumentDataModel(entry, document, destination) {
574
592
  }
575
593
  fs.writeFileSync(generatedFilePath, toString(fileNode));
576
594
  function generateDocumentPromptModels(document) {
577
- const actions = getAllOfType(document.body, isAction, false);
578
- return joinToNode(actions.map(x => generatePromptModels(x, document)).filter(x => x !== undefined).map(x => x), { appendNewLineIfNotEmpty: true });
595
+ const containers = getDocumentPromptContainers(document);
596
+ return joinToNode(containers.map(x => generatePromptModels(x, document)).filter(x => x !== undefined).map(x => x), { appendNewLineIfNotEmpty: true });
579
597
  }
580
- function generatePromptModels(action, document) {
581
- const variables = action.method.body.filter(x => isVariableExpression(x));
598
+ function generatePromptModels(container, document) {
599
+ const variables = container.method.body.filter(x => isVariableExpression(x));
582
600
  const prompts = variables.filter(x => isPrompt(x.value)).map(x => x.value);
583
601
  return joinToNode(prompts.map(p => generatePromptModel(p)), { appendNewLineIfNotEmpty: true });
584
602
  }
585
603
  function generatePromptModel(prompt) {
586
604
  const variable = AstUtils.getContainerOfType(prompt.$container, isVariableExpression);
587
- const action = AstUtils.getContainerOfType(prompt.$container, isAction);
605
+ const container = getPromptContainer(prompt);
588
606
  return expandToNode `
589
- ${action === null || action === void 0 ? void 0 : action.name.toLowerCase()}${variable === null || variable === void 0 ? void 0 : variable.name.toLowerCase()}: new foundry.data.fields.SchemaField({
607
+ ${container === null || container === void 0 ? void 0 : container.name.toLowerCase()}${variable === null || variable === void 0 ? void 0 : variable.name.toLowerCase()}: new foundry.data.fields.SchemaField({
590
608
  ${joinToNode(prompt.body, property => generateField(property), { appendNewLineIfNotEmpty: true })}
591
609
  }),
592
610
  `;