Skip to content

Commit 7274f4b

Browse files
authored
Turn on strict compilation mode (#218)
1 parent 8a0149a commit 7274f4b

29 files changed

Lines changed: 206 additions & 161 deletions
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "patch",
3+
"comment": "Turn on strict compilation mode",
4+
"packageName": "@adaptive-web/adaptive-ui",
5+
"email": "47367562+bheston@users.noreply.github.com",
6+
"dependentChangeType": "patch"
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "patch",
3+
"comment": "Turn on strict compilation mode",
4+
"packageName": "@adaptive-web/adaptive-ui-designer-core",
5+
"email": "47367562+bheston@users.noreply.github.com",
6+
"dependentChangeType": "patch"
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "patch",
3+
"comment": "Turn on strict compilation mode",
4+
"packageName": "@adaptive-web/adaptive-web-components",
5+
"email": "47367562+bheston@users.noreply.github.com",
6+
"dependentChangeType": "patch"
7+
}

package-lock.json

Lines changed: 4 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/adaptive-ui-designer-core/src/node.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ export abstract class PluginNode {
218218
/**
219219
* Configuration options for a node.
220220
*/
221-
public config: Config;
221+
public config: Config = new Config();
222222

223223
protected deserializeLocalDesignTokens(): DesignTokenValues {
224224
const json = this.getPluginData("designTokens");

packages/adaptive-ui-designer-figma-plugin/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@
3838
"@adaptive-web/adaptive-ui-designer-core": "^0.3.1",
3939
"@adaptive-web/adaptive-ui-designer-figma": "^0.4.1",
4040
"@adaptive-web/adaptive-web-components": "0.7.4",
41+
"@csstools/css-calc": "^1.1.1",
42+
"@csstools/css-parser-algorithms": "^2.2.0",
43+
"@csstools/css-tokenizer": "^2.1.1",
4144
"change-case": "^5.4.4",
4245
"culori": "^3.2.0"
4346
},
@@ -47,9 +50,6 @@
4750
"@microsoft/fast-foundation": "3.0.0-alpha.31"
4851
},
4952
"devDependencies": {
50-
"@csstools/css-calc": "^1.1.1",
51-
"@csstools/css-parser-algorithms": "^2.2.0",
52-
"@csstools/css-tokenizer": "^2.1.1",
5353
"@figma/plugin-typings": "^1.80.0",
5454
"concurrently": "^7.6.0",
5555
"esbuild": "^0.17.10",

packages/adaptive-ui-designer-figma-plugin/src/ui/app.ts

Lines changed: 53 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ const appliedStylesTemplate = (
3737
<p class="title">Styles</p>
3838
<div class="swatch-stack">
3939
${repeat(
40-
(x) => x.appliedStyleModules.get(group),
40+
(x) => x.appliedStyleModules.get(group)!,
4141
html<StyleModuleDisplay, App>`
4242
<div class="style-module applied">
4343
<span class="content">
@@ -71,7 +71,7 @@ const availableStylesTemplate = (
7171
<p class="title">Styles</p>
7272
<div class="swatch-stack">
7373
${repeat(
74-
(x) => x.controller.styles.getAvailableStyleModules().get(group),
74+
(x) => x.controller.styles.getAvailableStyleModules().get(group)!,
7575
html<StyleModuleDisplay, App>`
7676
<div class="style-module available">
7777
<span
@@ -108,7 +108,7 @@ const appliedTokensTemplate = (
108108
)}
109109
<div class="swatch-stack">
110110
${repeat(
111-
(_) => tokens,
111+
(_) => tokens!,
112112
html<AppliedDesignTokenItem, App>`
113113
<designer-style-token-item
114114
title=${(x, c) => c.parent.controller.styles.getAppliableDesignTokenDefinition(x.tokenID)?.title}
@@ -153,7 +153,7 @@ const availableTokensTemplate = (
153153
value=${(x, c) => c.parent.controller.designTokens.getDefaultDesignTokenValueAsString(x.token)}
154154
glyphType=${(_) => glyphType}
155155
content-button
156-
@click=${(x, c) => c.parent.controller.styles.applyDesignToken(x.intendedFor, x)}
156+
@click=${(x, c) => c.parent.controller.styles.applyDesignToken(x.intendedFor || [], x)}
157157
>
158158
</designer-style-token-item>
159159
`
@@ -570,55 +570,55 @@ export class App extends FASTElement {
570570
public readonly controller: UIController;
571571

572572
@observable
573-
public supportsStyling: boolean;
573+
public supportsStyling: boolean = false;
574574

575575
@observable
576-
public supportsColor: boolean;
576+
public supportsColor: boolean = false;
577577

578578
@observable
579-
public supportsBorderThickness: boolean;
579+
public supportsBorderThickness: boolean = false;
580580

581581
@observable
582-
public supportsDensity: boolean;
582+
public supportsDensity: boolean = false;
583583

584584
@observable
585-
public supportsCornerRadius: boolean;
585+
public supportsCornerRadius: boolean = false;
586586

587587
@observable
588-
public supportsText: boolean;
588+
public supportsText: boolean = false;
589589

590590
@observable
591-
public supportsShadow: boolean;
591+
public supportsShadow: boolean = false;
592592

593593
@observable
594-
public layerTokens: AppliedDesignTokenItem[] | null;
594+
public layerTokens: AppliedDesignTokenItem[] | null = null;
595595

596596
@observable
597-
public backgroundTokens: AppliedDesignTokenItem[] | null;
597+
public backgroundTokens: AppliedDesignTokenItem[] | null = null;
598598

599599
@observable
600-
public foregroundTokens: AppliedDesignTokenItem[] | null;
600+
public foregroundTokens: AppliedDesignTokenItem[] | null = null;
601601

602602
@observable
603-
public borderFillTokens: AppliedDesignTokenItem[] | null;
603+
public borderFillTokens: AppliedDesignTokenItem[] | null = null;
604604

605605
@observable
606-
public borderThicknessTokens: AppliedDesignTokenItem[] | null;
606+
public borderThicknessTokens: AppliedDesignTokenItem[] | null = null;
607607

608608
@observable
609-
public densityTokens: AppliedDesignTokenItem[] | null;
609+
public densityTokens: AppliedDesignTokenItem[] | null = null;
610610

611611
@observable
612-
public cornerRadiusTokens: AppliedDesignTokenItem[] | null;
612+
public cornerRadiusTokens: AppliedDesignTokenItem[] | null = null;
613613

614614
@observable
615-
public textTokens: AppliedDesignTokenItem[] | null;
615+
public textTokens: AppliedDesignTokenItem[] | null = null;
616616

617617
@observable
618-
public shadowTokens: AppliedDesignTokenItem[] | null;
618+
public shadowTokens: AppliedDesignTokenItem[] | null = null;
619619

620620
@observable
621-
public supportsDesignSystem: boolean;
621+
public supportsDesignSystem: boolean = false;
622622

623623
@observable
624624
public appliedStyleModules: StyleModuleDisplayList = new Map();
@@ -627,39 +627,41 @@ export class App extends FASTElement {
627627
public statesState: StatesState | "unknown" = "unknown";
628628

629629
@observable
630-
public selectionDescription: string;
630+
public selectionDescription: string = "No selection";
631631

632632
@observable
633-
public selectedNodes: PluginUINodeData[] | null;
633+
public selectedNodes: PluginUINodeData[] | null = null;
634634
protected selectedNodesChanged(prev: PluginUINodeData[] | null, next: PluginUINodeData[] | null) {
635-
this.controller.selectedNodes = next;
636-
637-
this.selectionDescription = this.selectedNodes?.map((node) => `${node.type}`).join(" | ") || "No selection";
638-
639-
this.supportsColor =
640-
this.selectedNodes?.some(
641-
(node) =>
642-
node.supports.includes(StyleProperty.backgroundFill) ||
643-
node.supports.includes(StyleProperty.foregroundFill) ||
644-
node.supports.includes(StyleProperty.borderFillTop)
645-
) || false;
646-
this.supportsBorderThickness = this.controller.supports(StyleProperty.borderThicknessTop);
647-
this.supportsDensity = this.controller.supports(StyleProperty.gap);
648-
this.supportsCornerRadius = this.controller.supports(StyleProperty.cornerRadiusTopLeft);
649-
this.supportsText = this.controller.supports(StyleProperty.fontFamily);
650-
this.supportsShadow = this.controller.supports(StyleProperty.shadow);
651-
652-
this.supportsStyling =
653-
this.supportsColor ||
654-
this.supportsBorderThickness ||
655-
this.supportsDensity ||
656-
this.supportsCornerRadius ||
657-
this.supportsText ||
658-
this.supportsShadow;
659-
660-
this.supportsDesignSystem = true;
661-
662-
this.refreshObservables();
635+
if (this.controller) {
636+
this.controller.selectedNodes = next || [];
637+
638+
this.selectionDescription = this.selectedNodes?.map((node) => `${node.type}`).join(" | ") || "No selection";
639+
640+
this.supportsColor =
641+
this.selectedNodes?.some(
642+
(node) =>
643+
node.supports.includes(StyleProperty.backgroundFill) ||
644+
node.supports.includes(StyleProperty.foregroundFill) ||
645+
node.supports.includes(StyleProperty.borderFillTop)
646+
) || false;
647+
this.supportsBorderThickness = this.controller.supports(StyleProperty.borderThicknessTop);
648+
this.supportsDensity = this.controller.supports(StyleProperty.gap);
649+
this.supportsCornerRadius = this.controller.supports(StyleProperty.cornerRadiusTopLeft);
650+
this.supportsText = this.controller.supports(StyleProperty.fontFamily);
651+
this.supportsShadow = this.controller.supports(StyleProperty.shadow);
652+
653+
this.supportsStyling =
654+
this.supportsColor ||
655+
this.supportsBorderThickness ||
656+
this.supportsDensity ||
657+
this.supportsCornerRadius ||
658+
this.supportsText ||
659+
this.supportsShadow;
660+
661+
this.supportsDesignSystem = true;
662+
663+
this.refreshObservables();
664+
}
663665
}
664666

665667
constructor() {

packages/adaptive-ui-designer-figma-plugin/src/ui/components/design-token-add/index.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,27 +72,29 @@ export class DesignTokenAdd extends FASTElement {
7272
@observable
7373
selectedDesignToken?: DesignTokenDefinition;
7474

75-
list: HTMLSelectElement;
75+
list?: HTMLSelectElement;
7676

77-
field: DesignTokenField;
77+
field?: DesignTokenField;
7878

7979
selectHandler(c: ExecutionContext) {
80-
const selectedTokenId = (c.event.target as HTMLSelectElement).value;
80+
const selectedTokenId = (c.event.target as unknown as HTMLSelectElement).value;
8181

8282
if (selectedTokenId !== "-") {
8383
this.selectedDesignToken = this.designTokens.find((token) => {
8484
return token.id === selectedTokenId;
8585
});
86-
this.list.value = "-";
86+
if (this.list) {
87+
this.list.value = "-";
88+
}
8789

8890
if (this.field) {
89-
this.field.value = this.selectedDesignToken.token.default;
91+
this.field.value = this.selectedDesignToken?.token.default;
9092
}
9193
}
9294
}
9395

9496
addHandler() {
95-
if (this.field.value) {
97+
if (this.field?.value) {
9698
this.$emit("add", {
9799
definition: this.selectedDesignToken,
98100
value: this.field.value,

packages/adaptive-ui-designer-figma-plugin/src/ui/components/stealth-button/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,15 @@ export class StealthButton extends FASTElement {
8282
return this.slotHasContent(
8383
(this.shadowRoot as ShadowRoot).querySelector(
8484
"[id='glyph']"
85-
) as HTMLSlotElement
85+
) as unknown as HTMLSlotElement
8686
);
8787
}
8888

8989
private hasContent(): boolean {
9090
return this.slotHasContent(
9191
(this.shadowRoot as ShadowRoot).querySelector(
9292
"[id='content']"
93-
) as HTMLSlotElement
93+
) as unknown as HTMLSlotElement
9494
);
9595
}
9696

packages/adaptive-ui-designer-figma-plugin/src/ui/components/style-token-item/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ const styles = css`
6565
})
6666
export class StyleTokenItem extends FASTElement {
6767
@attr
68-
public title: string;
68+
public title: string = "";
6969

7070
@attr
71-
public value: string;
71+
public value: string = "";
7272

7373
@attr
7474
public glyphType?: TokenGlyphType;

0 commit comments

Comments
 (0)