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.
- package/out/_backgrounds.scss +17 -17
- package/out/_isdlStyles.scss +59 -0
- package/out/_vuetifyOverrides.scss +23 -1
- package/out/cli/components/_backgrounds.scss +17 -17
- package/out/cli/components/_isdlStyles.scss +59 -0
- package/out/cli/components/_vuetifyOverrides.scss +23 -1
- package/out/cli/components/active-effect-sheet-generator.js +6 -2
- package/out/cli/components/active-effect-sheet-generator.js.map +1 -1
- package/out/cli/components/css-generator.js +299 -0
- package/out/cli/components/css-generator.js.map +1 -1
- package/out/cli/components/datamodel-generator.js +38 -20
- package/out/cli/components/datamodel-generator.js.map +1 -1
- package/out/cli/components/init-hook-generator.js +32 -23
- package/out/cli/components/init-hook-generator.js.map +1 -1
- package/out/cli/components/language-generator.js +9 -1
- package/out/cli/components/language-generator.js.map +1 -1
- package/out/cli/components/method-generator.js +8 -7
- package/out/cli/components/method-generator.js.map +1 -1
- package/out/cli/components/utils.js +18 -12
- package/out/cli/components/utils.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-attribute.js +5 -4
- package/out/cli/components/vue/base-components/vue-attribute.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-boolean.js +3 -2
- package/out/cli/components/vue/base-components/vue-boolean.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-damage-bonuses.js +3 -2
- package/out/cli/components/vue/base-components/vue-damage-bonuses.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-damage-resistances.js +3 -2
- package/out/cli/components/vue/base-components/vue-damage-resistances.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-damage-track.js +2 -1
- package/out/cli/components/vue/base-components/vue-damage-track.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-date-time.js +3 -2
- package/out/cli/components/vue/base-components/vue-date-time.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-dice.js +2 -1
- package/out/cli/components/vue/base-components/vue-dice.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-die.js +2 -1
- package/out/cli/components/vue/base-components/vue-die.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-document-choice.js +2 -1
- package/out/cli/components/vue/base-components/vue-document-choice.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-document-choices.js +2 -1
- package/out/cli/components/vue/base-components/vue-document-choices.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-document-link.js +2 -1
- package/out/cli/components/vue/base-components/vue-document-link.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-extended-choice.js +2 -1
- package/out/cli/components/vue/base-components/vue-extended-choice.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-image.js +89 -0
- package/out/cli/components/vue/base-components/vue-image.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-inventory.js +2 -1
- package/out/cli/components/vue/base-components/vue-inventory.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-macro-choice.js +2 -1
- package/out/cli/components/vue/base-components/vue-macro-choice.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-measured-template.js +3 -2
- package/out/cli/components/vue/base-components/vue-measured-template.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-money.js +4 -3
- package/out/cli/components/vue/base-components/vue-money.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-number.js +3 -2
- package/out/cli/components/vue/base-components/vue-number.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-paperdoll.js +2 -1
- package/out/cli/components/vue/base-components/vue-paperdoll.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-parent-property-reference.js +5 -1
- package/out/cli/components/vue/base-components/vue-parent-property-reference.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-prosemirror.js +3 -2
- package/out/cli/components/vue/base-components/vue-prosemirror.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-resource.js +2 -1
- package/out/cli/components/vue/base-components/vue-resource.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-roll-visualizer.js +2 -1
- package/out/cli/components/vue/base-components/vue-roll-visualizer.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-self-property-reference.js +2 -1
- package/out/cli/components/vue/base-components/vue-self-property-reference.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-string-choice.js +3 -1
- package/out/cli/components/vue/base-components/vue-string-choice.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-string-choices.js +3 -2
- package/out/cli/components/vue/base-components/vue-string-choices.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-string.js +4 -3
- package/out/cli/components/vue/base-components/vue-string.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-text-field.js +4 -3
- package/out/cli/components/vue/base-components/vue-text-field.js.map +1 -1
- package/out/cli/components/vue/base-components/vue-tracker.js +2 -1
- package/out/cli/components/vue/base-components/vue-tracker.js.map +1 -1
- package/out/cli/components/vue/vue-action-component-generator.js +18 -9
- package/out/cli/components/vue/vue-action-component-generator.js.map +1 -1
- package/out/cli/components/vue/vue-active-effect-sheet-generator.js +2 -2
- package/out/cli/components/vue/vue-base-components-generator.js +2 -0
- package/out/cli/components/vue/vue-base-components-generator.js.map +1 -1
- package/out/cli/components/vue/vue-generator.js +8 -7
- package/out/cli/components/vue/vue-generator.js.map +1 -1
- package/out/cli/components/vue/vue-mixin.js +1 -0
- package/out/cli/components/vue/vue-mixin.js.map +1 -1
- package/out/cli/components/vue/vue-prompt-generator.js +4 -4
- package/out/cli/components/vue/vue-prompt-generator.js.map +1 -1
- package/out/cli/components/vue/vue-sheet-application-generator.js +714 -561
- package/out/cli/components/vue/vue-sheet-application-generator.js.map +1 -1
- package/out/cli/components/vue/vue-sheet-class-generator.js +89 -2
- package/out/cli/components/vue/vue-sheet-class-generator.js.map +1 -1
- package/out/cli/generator.js +9 -3
- package/out/cli/generator.js.map +1 -1
- package/out/extension/main.cjs +3057 -848
- package/out/extension/main.cjs.map +3 -3
- package/out/extension/package.json +1 -1
- package/out/language/generated/ast.js +374 -9
- package/out/language/generated/ast.js.map +1 -1
- package/out/language/generated/grammar.js +2696 -874
- package/out/language/generated/grammar.js.map +1 -1
- package/out/language/intelligent-system-design-language-validator.js +99 -3
- package/out/language/intelligent-system-design-language-validator.js.map +1 -1
- package/out/language/main.cjs +3057 -848
- package/out/language/main.cjs.map +3 -3
- package/out/package.json +1 -1
- package/out/styles.scss +33 -4
- package/out/test/validating/theme.test.js +120 -0
- package/out/test/validating/theme.test.js.map +1 -0
- 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":"AAGA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,WAAW,CAAC,SAAiB;IAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEnC,wBAAwB;IACxB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAE/D,6BAA6B;IAC7B,IAAI,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAExD,8CAA8C;IAC9C,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IAEzE,oDAAoD;IACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAElE,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAEhD,8EAA8E;IAC9E,YAAY,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC;IAC7D,YAAY,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAC;IAC3D,YAAY,CAAC,8BAA8B,EAAE,wBAAwB,CAAC,CAAC;IAEvE,SAAS,YAAY,CAAC,MAAc,EAAE,WAAmB;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACvD,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,EAAU,EAAE,WAAmB;IAC3E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAEnE,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,QAAQ,GAAG,YAAY,CAAA;UACvB,WAAW,CAAC,EAAE,CAAC;KACpB,CAAC,uBAAuB,EAAE,CAAC;IAE5B,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,EAAU,EAAE,WAAmB;IAC3E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAE1E,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,iDAAiD;IACjD,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;QAClC,OAAO;KACV;IAED,MAAM,QAAQ,GAAG,YAAY,CAAA;4BACL,EAAE;KACzB,CAAC,uBAAuB,EAAE,CAAC;IAE5B,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC"}
|
|
1
|
+
{"version":3,"file":"css-generator.js","sourceRoot":"","sources":["../../../src/cli/components/css-generator.ts"],"names":[],"mappings":"AAaA,OAAO,EACH,kBAAkB,EAClB,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB;AAClB,8EAA8E;AAC9E,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,cAAc,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,UAAU,WAAW,CAAC,SAAiB;IAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEnC,wBAAwB;IACxB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAE/D,6BAA6B;IAC7B,IAAI,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAExD,8CAA8C;IAC9C,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IAEzE,oDAAoD;IACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAElE,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAEhD,8EAA8E;IAC9E,YAAY,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC;IAC7D,YAAY,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAC;IAC3D,YAAY,CAAC,8BAA8B,EAAE,wBAAwB,CAAC,CAAC;IAEvE,SAAS,YAAY,CAAC,MAAc,EAAE,WAAmB;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACvD,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,EAAU,EAAE,WAAmB;IAC3E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAEnE,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,QAAQ,GAAG,YAAY,CAAA;UACvB,WAAW,CAAC,EAAE,CAAC;KACpB,CAAC,uBAAuB,EAAE,CAAC;IAE5B,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,EAAU,EAAE,WAAmB;IAC3E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAE1E,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,iDAAiD;IACjD,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;QAClC,OAAO;KACV;IAED,MAAM,QAAQ,GAAG,YAAY,CAAA;4BACL,EAAE;KACzB,CAAC,uBAAuB,EAAE,CAAC;IAE5B,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,uFAAuF;AACvF,mFAAmF;AACnF,gDAAgD;AAChD,qFAAqF;AACrF,0DAA0D;AAE1D,qFAAqF;AACrF,2FAA2F;AAC3F,8FAA8F;AAC9F,SAAS,YAAY,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;AACtD,CAAC;AAED,sFAAsF;AACtF,iFAAiF;AACjF,SAAS,GAAG,CAAC,KAAsB;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5D,CAAC;AAED,wDAAwD;AACxD,SAAS,gBAAgB,CAAC,KAAwB;IAC9C,IAAI,mBAAmB,CAAC,KAAK,CAAC;QAAE,OAAO,mBAAmB,KAAK,CAAC,KAAK,GAAG,CAAC;IACzE,IAAI,qBAAqB,CAAC,KAAK,CAAC;QAAE,OAAO,qBAAqB,KAAK,CAAC,KAAK,GAAG,CAAC;IAC7E,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO,oBAAoB,KAAK,CAAC,KAAK,GAAG,CAAC;IAC3E,IAAI,sBAAsB,CAAC,KAAK,CAAC;QAAE,OAAO,sBAAsB,KAAK,CAAC,KAAK,GAAG,CAAC;IAC/E,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,gBAAgB,KAAK,CAAC,KAAK,GAAG,CAAC;IACnE,OAAO,EAAE,CAAC;AACd,CAAC;AAED,uFAAuF;AACvF,yFAAyF;AACzF,6FAA6F;AAC7F,SAAS,gBAAgB,CAAC,CAAmB;IACzC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,IAAI,gBAAgB,CAAC,CAAC,CAAC;YAAE,OAAO,kBAAkB,CAAC,CAAC,KAAK,GAAG,CAAC;QAC7D,IAAI,gBAAgB,CAAC,CAAC,CAAC;YAAE,OAAO,wBAAwB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACxE,IAAI,iBAAiB,CAAC,CAAC,CAAC;YAAE,OAAO,kBAAkB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACnE,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AACD,SAAS,cAAc,CAAC,CAAiB;IACrC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,IAAI,iBAAiB,CAAC,CAAC,CAAC;YAAE,OAAO,gBAAgB,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAC1E,IAAI,eAAe,CAAC,CAAC,CAAC;YAAE,OAAO,qBAAqB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACpE,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AACD,SAAS,iBAAiB,CAAC,CAAoB;IAC3C,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,IAAI,gBAAgB,CAAC,CAAC,CAAC;YAAE,OAAO,yBAAyB,CAAC,CAAC,KAAK,GAAG,CAAC;QACpE,IAAI,mBAAmB,CAAC,CAAC,CAAC;YAAE,OAAO,wBAAwB,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACpF,IAAI,eAAe,CAAC,CAAC,CAAC;YAAE,OAAO,wBAAwB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACvE,0EAA0E;QAC1E,IAAI,oBAAoB,CAAC,CAAC,CAAC;YAAE,OAAO,6BAA6B,CAAC,CAAC,KAAK,GAAG,CAAC;QAC5E,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AACD,SAAS,kBAAkB,CAAC,CAAqB;IAC7C,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,IAAI,gBAAgB,CAAC,CAAC,CAAC;YAAE,OAAO,0BAA0B,CAAC,CAAC,KAAK,GAAG,CAAC;QACrE,IAAI,eAAe,CAAC,CAAC,CAAC;YAAE,OAAO,yBAAyB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACxE,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AACD,+FAA+F;AAC/F,2FAA2F;AAC3F,sGAAsG;AACtG,mGAAmG;AACnG,2FAA2F;AAC3F,+FAA+F;AAC/F,mGAAmG;AACnG,qFAAqF;AAErF,+EAA+E;AAC/E,sFAAsF;AACtF,uFAAuF;AACvF,wFAAwF;AACxF,wFAAwF;AACxF,qFAAqF;AACrF,oCAAoC;AACpC,SAAS,wBAAwB,CAAC,CAAmB;IACjD,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,IAAI,gBAAgB,CAAC,CAAC,CAAC;YAAE,OAAO,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3D,IAAI,gBAAgB,CAAC,CAAC,CAAC;YAAE,OAAO,iBAAiB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;QACrF,IAAI,iBAAiB,CAAC,CAAC,CAAC;YAAE,OAAO,kBAAkB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AACD,SAAS,uBAAuB,CAAC,CAAkB;IAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC1B,IAAI,cAAc,CAAC,CAAC,CAAC;YAAE,OAAO,cAAc,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,IAAI,cAAc,CAAC,CAAC,CAAC;YAAE,OAAO,cAAc,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7B,sFAAsF;IACtF,yFAAyF;IACzF,qFAAqF;IACrF,sFAAsF;IACtF,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QAC/D,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;KACjC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AACD,SAAS,wBAAwB,CAAC,CAAmB;IACjD,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,IAAI,cAAc,CAAC,CAAC,CAAC;YAAE,OAAO,eAAe,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,IAAI,cAAc,CAAC,CAAC,CAAC;YAAE,OAAO,eAAe,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,0FAA0F;AAC1F,0FAA0F;AAC1F,4FAA4F;AAC5F,2FAA2F;AAC3F,yFAAyF;AACzF,6FAA6F;AAC7F,yCAAyC;AAEzC,uFAAuF;AACvF,MAAM,UAAU,uBAAuB,CAAC,KAAoC;IACxE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE;QAC1B,IAAI,iBAAiB,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;KACvE;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,wBAAwB,CAAC,KAAoC;IACzE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE;QAC1B,IAAI,kBAAkB,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;KACzE;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,uBAAuB,CAAC,KAAoC;IACxE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE;QAC1B,IAAI,kBAAkB,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;aACjE,IAAI,sBAAsB,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;aAC1E,IAAI,gBAAgB,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;KACjE;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,wBAAwB,CAAC,KAAoC;IACzE,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;SACnE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,4FAA4F;AAC5F,SAAS,eAAe,CAAC,KAAwB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE;QAC1B,IAAI,kBAAkB,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD,IAAI,gBAAgB,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D,IAAI,mBAAmB,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;aAChE,IAAI,oBAAoB,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,0FAA0F;QAC1F,kFAAkF;aAC7E,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC;YAAE,SAAS;;YAC5D,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;KACxC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAY,EAAE,EAAU,EAAE,WAAmB;;IAC1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,IAAI,EAAE,kBAAkB,CAAC;IACtC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,mDAAmD;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAsB,CAAC;IAC3E,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QAClC,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC;KAC7D;IAED,2FAA2F;IAC3F,iGAAiG;IACjG,iGAAiG;IACjG,6FAA6F;IAC7F,MAAM,MAAM,GAAG,kBAAkB,CAAW,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QACxB,MAAM,UAAU,GAAG,CAAC,MAAC,KAAa,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAgC,CAAC;QACxG,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,+EAA+E;QAC/E,4FAA4F;QAC5F,yFAAyF;QACzF,4FAA4F;QAC5F,4FAA4F;QAC5F,yEAAyE;QACzE,MAAM,MAAM,GAAG,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;aACrF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aACjF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,GAAG,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,gBAAgB,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAChG;IAED,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,MAAM,GAAG,iCAAiC,EAAE,2FAA2F,CAAC;IAC9I,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,GAAG,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/E,CAAC;AAaD,MAAM,UAAU,kBAAkB,CAAC,KAAY,EAAE,EAAU,EAAE,SAAiB,EAAE,WAAmB;IAC/F,OAAO;QACH,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,mBAAmB,CAAC;QAC9H,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,oBAAoB,CAAC;KACpH,CAAC;AACN,CAAC;AAED,yFAAyF;AACzF,2FAA2F;AAC3F,SAAS,iBAAiB,CACtB,KAAY,EAAE,EAAU,EAAE,SAAiB,EAAE,WAAmB,EAChE,UAAkB,EAAE,aAAqB,EAAE,OAAe;IAE1D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CACtB,CAAC;IAClC,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACzB,0EAA0E;QAC1E,MAAM,IAAI,KAAK,CACX,kCAAkC,GAAG,kBAAkB,OAAO,KAAK;YACnE,cAAc,UAAU,2EAA2E,CACtG,CAAC;KACL;IAED,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpD,gFAAgF;IAChF,kFAAkF;IAClF,iFAAiF;IACjF,sEAAsE;IACtE,MAAM,YAAY,GAAG,mCAAmC,CAAC;IACzD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAC1C,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtD;IACD,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,aAAa,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAEhF,IAAI,GAAW,CAAC;IAChB,IAAI;QACA,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;KAChF;IAAC,OAAO,CAAC,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,MAAO,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;KAC7F;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QAClC,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACvD;IACD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -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,
|
|
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 = (
|
|
338
|
-
const max = (
|
|
339
|
-
const initial = (
|
|
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 = (
|
|
352
|
-
const max = (
|
|
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 = (
|
|
365
|
-
const max = (
|
|
366
|
-
const initial = (
|
|
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 = (
|
|
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 = (
|
|
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 = (
|
|
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
|
|
578
|
-
return joinToNode(
|
|
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(
|
|
581
|
-
const variables =
|
|
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
|
|
605
|
+
const container = getPromptContainer(prompt);
|
|
588
606
|
return expandToNode `
|
|
589
|
-
${
|
|
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
|
`;
|