@empline/preflight 1.1.24 → 1.1.26

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.
@@ -0,0 +1,97 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * UI Uniformity & Visual Polish Preflight (NON-BLOCKING)
4
+ *
5
+ * Validates visual polish patterns to ensure a premium, cohesive UX similar
6
+ * to platforms like X (Twitter) or Facebook. This check goes beyond structural
7
+ * consistency to enforce micro-interactions, transitions, and animation uniformity.
8
+ *
9
+ * Checks:
10
+ * 1. Transition Token Consistency - All transitions must use design tokens
11
+ * 2. Hover State Completeness - Interactive elements need hover/focus feedback
12
+ * 3. Animation Library Uniformity - No mixing of animation approaches
13
+ * 4. Loading State Elegance - Prefer skeleton/shimmer for content loading
14
+ * 5. Micro-Interaction Feedback - Buttons/actions should provide visual feedback
15
+ * 6. Focus Ring Consistency - Keyboard focus must be visible and consistent
16
+ * 7. Disabled State Polish - Disabled elements should use consistent styling
17
+ * 8. Interactive Cursor Indication - Clickable elements need proper cursors
18
+ *
19
+ * Usage:
20
+ * pnpm preflight:ui-uniformity
21
+ * pnpm preflight:ui-uniformity --verbose
22
+ */
23
+ export declare const id = "ui/ui-uniformity-polish";
24
+ export declare const name = "UI Uniformity & Visual Polish";
25
+ export declare const description = "Validates visual polish patterns for premium, cohesive UX";
26
+ export declare const category = "ui";
27
+ export declare const blocking = false;
28
+ export declare const tags: string[];
29
+ interface CheckResult {
30
+ name: string;
31
+ passed: boolean;
32
+ duration: number;
33
+ errors: string[];
34
+ warnings: string[];
35
+ info: string[];
36
+ }
37
+ declare class UIUniformityPreflight {
38
+ private verbose;
39
+ private projectRoot;
40
+ constructor(options?: {
41
+ verbose?: boolean;
42
+ projectRoot?: string;
43
+ });
44
+ private readFile;
45
+ private shouldExclude;
46
+ private getFiles;
47
+ /**
48
+ * Check 1: Transition Token Consistency
49
+ * Ensures all transitions use design system tokens
50
+ */
51
+ private validateTransitionConsistency;
52
+ /**
53
+ * Check 2: Hover State Completeness
54
+ * Ensures interactive elements have hover/focus feedback
55
+ */
56
+ private validateHoverStates;
57
+ /**
58
+ * Check 3: Animation Library Uniformity
59
+ * Detects mixing of different animation libraries
60
+ */
61
+ private validateAnimationLibraryUniformity;
62
+ /**
63
+ * Check 4: Loading State Elegance
64
+ * Ensures content loading uses elegant patterns (skeleton/shimmer)
65
+ */
66
+ private validateLoadingStateElegance;
67
+ /**
68
+ * Check 5: Focus Ring Consistency
69
+ * Ensures keyboard focus indicators are visible and consistent
70
+ */
71
+ private validateFocusRingConsistency;
72
+ /**
73
+ * Check 6: Disabled State Polish
74
+ * Ensures disabled elements have consistent, accessible styling
75
+ */
76
+ private validateDisabledStatePolish;
77
+ /**
78
+ * Check 7: Cursor Indication
79
+ * Ensures clickable elements use proper cursor styles
80
+ */
81
+ private validateCursorIndication;
82
+ /**
83
+ * Check 8: Micro-Interaction Feedback
84
+ * Validates that buttons and actions provide visual feedback
85
+ */
86
+ private validateMicroInteractions;
87
+ /**
88
+ * Run all checks
89
+ */
90
+ runAll(): Promise<{
91
+ passed: boolean;
92
+ results: CheckResult[];
93
+ }>;
94
+ private printResults;
95
+ }
96
+ export { UIUniformityPreflight };
97
+ //# sourceMappingURL=ui-uniformity-polish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-uniformity-polish.d.ts","sourceRoot":"","sources":["../../../src/checks/ui/ui-uniformity-polish.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AASH,eAAO,MAAM,EAAE,4BAA4B,CAAC;AAC5C,eAAO,MAAM,IAAI,kCAAkC,CAAC;AACpD,eAAO,MAAM,WAAW,8DAA8D,CAAC;AACvF,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAC9B,eAAO,MAAM,IAAI,UAShB,CAAC;AAEF,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAiLD,cAAM,qBAAqB;IACzB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;IAKrE,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,QAAQ;IAYhB;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IA6DrC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA6D3B;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IA0D1C;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAyDpC;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAgEpC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IA0DnC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAmDhC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAqEjC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IAuBpE,OAAO,CAAC,YAAY;CAuDrB;AAkBD,OAAO,EAAE,qBAAqB,EAAE,CAAC"}