@gtcx/accessibility 0.1.0

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,99 @@
1
+ /**
2
+ * Tech Literacy Detection and Adaptation
3
+ *
4
+ * Automatically detects user's technical proficiency and adapts UI accordingly
5
+ */
6
+ export type TechLiteracyLevel = 'beginner' | 'intermediate' | 'advanced';
7
+ interface InteractionPattern {
8
+ /** Time to complete action in ms */
9
+ actionTime: number;
10
+ /** Number of errors/corrections */
11
+ errorCount: number;
12
+ /** Used keyboard shortcuts */
13
+ usedShortcuts: boolean;
14
+ /** Scrolled to find features */
15
+ searchedFeatures: boolean;
16
+ /** Requested help */
17
+ requestedHelp: boolean;
18
+ /** Used voice input */
19
+ usedVoice: boolean;
20
+ /** Interaction timestamp */
21
+ timestamp: number;
22
+ }
23
+ interface LiteracyScore {
24
+ level: TechLiteracyLevel;
25
+ confidence: number;
26
+ signals: string[];
27
+ }
28
+ /**
29
+ * Detect tech literacy level from interaction patterns
30
+ */
31
+ export declare function detectTechLiteracy(interactions: InteractionPattern[]): Promise<LiteracyScore>;
32
+ /**
33
+ * Tech literacy detector with continuous learning
34
+ */
35
+ export declare class TechLiteracyDetector {
36
+ private interactions;
37
+ private currentLevel;
38
+ private onLevelChange?;
39
+ constructor(options?: {
40
+ initialLevel?: TechLiteracyLevel;
41
+ onLevelChange?: (level: TechLiteracyLevel) => void;
42
+ });
43
+ /**
44
+ * Record an interaction for analysis
45
+ */
46
+ recordInteraction(pattern: Omit<InteractionPattern, 'timestamp'>): void;
47
+ /**
48
+ * Evaluate current literacy level
49
+ */
50
+ evaluate(): Promise<LiteracyScore>;
51
+ /**
52
+ * Get current assessed level
53
+ */
54
+ getLevel(): TechLiteracyLevel;
55
+ /**
56
+ * Manually set level (user preference)
57
+ */
58
+ setLevel(level: TechLiteracyLevel): void;
59
+ }
60
+ export declare const LITERACY_UI_CONFIGS: {
61
+ readonly beginner: {
62
+ readonly buttonSize: "large";
63
+ readonly fontSize: "large";
64
+ readonly navigation: "simple";
65
+ readonly icons: "labeled";
66
+ readonly animations: "minimal";
67
+ readonly guidance: "proactive";
68
+ readonly inputMode: "touch";
69
+ readonly errorHandling: "guided";
70
+ readonly confirmations: "explicit";
71
+ readonly shortcuts: "hidden";
72
+ };
73
+ readonly intermediate: {
74
+ readonly buttonSize: "medium";
75
+ readonly fontSize: "medium";
76
+ readonly navigation: "standard";
77
+ readonly icons: "tooltips";
78
+ readonly animations: "standard";
79
+ readonly guidance: "contextual";
80
+ readonly inputMode: "mixed";
81
+ readonly errorHandling: "inline";
82
+ readonly confirmations: "smart";
83
+ readonly shortcuts: "discoverable";
84
+ };
85
+ readonly advanced: {
86
+ readonly buttonSize: "compact";
87
+ readonly fontSize: "small";
88
+ readonly navigation: "full";
89
+ readonly icons: "minimal";
90
+ readonly animations: "full";
91
+ readonly guidance: "on-demand";
92
+ readonly inputMode: "keyboard";
93
+ readonly errorHandling: "technical";
94
+ readonly confirmations: "minimal";
95
+ readonly shortcuts: "prominent";
96
+ };
97
+ };
98
+ export {};
99
+ //# sourceMappingURL=tech-literacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tech-literacy.d.ts","sourceRoot":"","sources":["../src/tech-literacy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC;AAEzE,UAAU,kBAAkB;IAC1B,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,gCAAgC;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,uBAAuB;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,kBAAkB,EAAE,GACjC,OAAO,CAAC,aAAa,CAAC,CAqExB;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAqC;gBAE/C,OAAO,CAAC,EAAE;QACpB,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;KACpD;IAKD;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,IAAI;IAiBvE;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAWxC;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IAI7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;CAIzC;AAGD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCtB,CAAC"}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ /**
3
+ * Tech Literacy Detection and Adaptation
4
+ *
5
+ * Automatically detects user's technical proficiency and adapts UI accordingly
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.LITERACY_UI_CONFIGS = exports.TechLiteracyDetector = void 0;
9
+ exports.detectTechLiteracy = detectTechLiteracy;
10
+ /**
11
+ * Detect tech literacy level from interaction patterns
12
+ */
13
+ async function detectTechLiteracy(interactions) {
14
+ if (interactions.length < 3) {
15
+ // Not enough data, default to beginner (safest)
16
+ return {
17
+ level: 'beginner',
18
+ confidence: 0.3,
19
+ signals: ['insufficient_data'],
20
+ };
21
+ }
22
+ const signals = [];
23
+ let score = 50; // Start neutral
24
+ // Analyze patterns
25
+ const avgActionTime = average(interactions.map(i => i.actionTime));
26
+ const totalErrors = sum(interactions.map(i => i.errorCount));
27
+ const shortcutUsage = interactions.filter(i => i.usedShortcuts).length;
28
+ const helpRequests = interactions.filter(i => i.requestedHelp).length;
29
+ const voiceUsage = interactions.filter(i => i.usedVoice).length;
30
+ // Fast completion suggests higher literacy
31
+ if (avgActionTime < 2000) {
32
+ score += 15;
33
+ signals.push('fast_completion');
34
+ }
35
+ else if (avgActionTime > 8000) {
36
+ score -= 15;
37
+ signals.push('slow_completion');
38
+ }
39
+ // Errors suggest lower literacy
40
+ if (totalErrors > interactions.length * 2) {
41
+ score -= 20;
42
+ signals.push('high_error_rate');
43
+ }
44
+ else if (totalErrors === 0) {
45
+ score += 10;
46
+ signals.push('no_errors');
47
+ }
48
+ // Keyboard shortcuts suggest advanced
49
+ if (shortcutUsage > interactions.length * 0.3) {
50
+ score += 25;
51
+ signals.push('keyboard_shortcuts');
52
+ }
53
+ // Help requests suggest beginner
54
+ if (helpRequests > interactions.length * 0.3) {
55
+ score -= 15;
56
+ signals.push('frequent_help_requests');
57
+ }
58
+ // Voice usage is neutral (accessibility or preference)
59
+ if (voiceUsage > 0) {
60
+ signals.push('voice_user');
61
+ }
62
+ // Determine level
63
+ let level;
64
+ if (score >= 70) {
65
+ level = 'advanced';
66
+ }
67
+ else if (score >= 40) {
68
+ level = 'intermediate';
69
+ }
70
+ else {
71
+ level = 'beginner';
72
+ }
73
+ // Confidence based on data quality
74
+ const confidence = Math.min(0.95, 0.5 + (interactions.length * 0.05));
75
+ return { level, confidence, signals };
76
+ }
77
+ /**
78
+ * Tech literacy detector with continuous learning
79
+ */
80
+ class TechLiteracyDetector {
81
+ interactions = [];
82
+ currentLevel = 'beginner';
83
+ onLevelChange;
84
+ constructor(options) {
85
+ this.currentLevel = options?.initialLevel || 'beginner';
86
+ this.onLevelChange = options?.onLevelChange;
87
+ }
88
+ /**
89
+ * Record an interaction for analysis
90
+ */
91
+ recordInteraction(pattern) {
92
+ this.interactions.push({
93
+ ...pattern,
94
+ timestamp: Date.now(),
95
+ });
96
+ // Keep last 50 interactions
97
+ if (this.interactions.length > 50) {
98
+ this.interactions = this.interactions.slice(-50);
99
+ }
100
+ // Re-evaluate periodically
101
+ if (this.interactions.length % 5 === 0) {
102
+ this.evaluate();
103
+ }
104
+ }
105
+ /**
106
+ * Evaluate current literacy level
107
+ */
108
+ async evaluate() {
109
+ const result = await detectTechLiteracy(this.interactions);
110
+ if (result.level !== this.currentLevel && result.confidence > 0.7) {
111
+ this.currentLevel = result.level;
112
+ this.onLevelChange?.(result.level);
113
+ }
114
+ return result;
115
+ }
116
+ /**
117
+ * Get current assessed level
118
+ */
119
+ getLevel() {
120
+ return this.currentLevel;
121
+ }
122
+ /**
123
+ * Manually set level (user preference)
124
+ */
125
+ setLevel(level) {
126
+ this.currentLevel = level;
127
+ this.onLevelChange?.(level);
128
+ }
129
+ }
130
+ exports.TechLiteracyDetector = TechLiteracyDetector;
131
+ // UI configuration per literacy level
132
+ exports.LITERACY_UI_CONFIGS = {
133
+ beginner: {
134
+ buttonSize: 'large', // min 48px touch target
135
+ fontSize: 'large', // 18px+
136
+ navigation: 'simple', // Linear, no nested menus
137
+ icons: 'labeled', // Always show text with icons
138
+ animations: 'minimal', // Reduce motion
139
+ guidance: 'proactive', // Show help automatically
140
+ inputMode: 'touch', // Optimize for touch
141
+ errorHandling: 'guided', // Step-by-step error recovery
142
+ confirmations: 'explicit', // Confirm all actions
143
+ shortcuts: 'hidden', // Don't show keyboard shortcuts
144
+ },
145
+ intermediate: {
146
+ buttonSize: 'medium',
147
+ fontSize: 'medium', // 16px
148
+ navigation: 'standard', // Some nesting allowed
149
+ icons: 'tooltips', // Show text on hover
150
+ animations: 'standard',
151
+ guidance: 'contextual', // Show help when hovering
152
+ inputMode: 'mixed', // Touch + keyboard
153
+ errorHandling: 'inline', // Inline error messages
154
+ confirmations: 'smart', // Confirm destructive only
155
+ shortcuts: 'discoverable', // Show shortcuts in tooltips
156
+ },
157
+ advanced: {
158
+ buttonSize: 'compact',
159
+ fontSize: 'small', // 14px
160
+ navigation: 'full', // All features accessible
161
+ icons: 'minimal', // Icons only, no labels
162
+ animations: 'full',
163
+ guidance: 'on-demand', // Help only when requested
164
+ inputMode: 'keyboard', // Keyboard-first
165
+ errorHandling: 'technical', // Technical error details
166
+ confirmations: 'minimal', // Skip most confirmations
167
+ shortcuts: 'prominent', // Show all shortcuts
168
+ },
169
+ };
170
+ // Utility functions
171
+ function average(arr) {
172
+ return arr.length ? arr.reduce((a, b) => a + b, 0) / arr.length : 0;
173
+ }
174
+ function sum(arr) {
175
+ return arr.reduce((a, b) => a + b, 0);
176
+ }
177
+ //# sourceMappingURL=tech-literacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tech-literacy.js","sourceRoot":"","sources":["../src/tech-literacy.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA8BH,gDAuEC;AA1ED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,YAAkC;IAElC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,gDAAgD;QAChD,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,CAAC,mBAAmB,CAAC;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,gBAAgB;IAEhC,mBAAmB;IACnB,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;IACtE,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAEhE,2CAA2C;IAC3C,IAAI,aAAa,GAAG,IAAI,EAAE,CAAC;QACzB,KAAK,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,aAAa,GAAG,IAAI,EAAE,CAAC;QAChC,KAAK,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC;IAED,gCAAgC;IAChC,IAAI,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,KAAK,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,sCAAsC;IACtC,IAAI,aAAa,GAAG,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC9C,KAAK,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrC,CAAC;IAED,iCAAiC;IACjC,IAAI,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC7C,KAAK,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACzC,CAAC;IAED,uDAAuD;IACvD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IAED,kBAAkB;IAClB,IAAI,KAAwB,CAAC;IAC7B,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;SAAM,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QACvB,KAAK,GAAG,cAAc,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAEtE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAa,oBAAoB;IACvB,YAAY,GAAyB,EAAE,CAAC;IACxC,YAAY,GAAsB,UAAU,CAAC;IAC7C,aAAa,CAAsC;IAE3D,YAAY,OAGX;QACC,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,UAAU,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,aAAa,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,OAA8C;QAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,GAAG,OAAO;YACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE3D,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YAClE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAwB;QAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF;AA7DD,oDA6DC;AAED,sCAAsC;AACzB,QAAA,mBAAmB,GAAG;IACjC,QAAQ,EAAE;QACR,UAAU,EAAE,OAAO,EAAS,wBAAwB;QACpD,QAAQ,EAAE,OAAO,EAAW,QAAQ;QACpC,UAAU,EAAE,QAAQ,EAAQ,0BAA0B;QACtD,KAAK,EAAE,SAAS,EAAY,8BAA8B;QAC1D,UAAU,EAAE,SAAS,EAAO,gBAAgB;QAC5C,QAAQ,EAAE,WAAW,EAAO,0BAA0B;QACtD,SAAS,EAAE,OAAO,EAAU,qBAAqB;QACjD,aAAa,EAAE,QAAQ,EAAK,8BAA8B;QAC1D,aAAa,EAAE,UAAU,EAAG,sBAAsB;QAClD,SAAS,EAAE,QAAQ,EAAS,gCAAgC;KAC7D;IAED,YAAY,EAAE;QACZ,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,QAAQ,EAAU,OAAO;QACnC,UAAU,EAAE,UAAU,EAAM,uBAAuB;QACnD,KAAK,EAAE,UAAU,EAAW,qBAAqB;QACjD,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,YAAY,EAAM,0BAA0B;QACtD,SAAS,EAAE,OAAO,EAAU,mBAAmB;QAC/C,aAAa,EAAE,QAAQ,EAAK,wBAAwB;QACpD,aAAa,EAAE,OAAO,EAAM,2BAA2B;QACvD,SAAS,EAAE,cAAc,EAAG,6BAA6B;KAC1D;IAED,QAAQ,EAAE;QACR,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO,EAAW,OAAO;QACnC,UAAU,EAAE,MAAM,EAAU,0BAA0B;QACtD,KAAK,EAAE,SAAS,EAAY,wBAAwB;QACpD,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,WAAW,EAAO,2BAA2B;QACvD,SAAS,EAAE,UAAU,EAAO,iBAAiB;QAC7C,aAAa,EAAE,WAAW,EAAE,0BAA0B;QACtD,aAAa,EAAE,SAAS,EAAI,0BAA0B;QACtD,SAAS,EAAE,WAAW,EAAM,qBAAqB;KAClD;CACO,CAAC;AAEX,oBAAoB;AACpB,SAAS,OAAO,CAAC,GAAa;IAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,GAAG,CAAC,GAAa;IACxB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@gtcx/accessibility",
3
+ "version": "0.1.0",
4
+ "description": "Inclusive design — tech literacy adaptation, WCAG contrast, a11y React hooks",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.js"
13
+ }
14
+ },
15
+ "sideEffects": false,
16
+ "scripts": {
17
+ "build": "tsup src/index.ts --format esm,cjs --dts",
18
+ "dev": "tsup src/index.ts --format esm,cjs --dts --watch",
19
+ "test": "vitest run",
20
+ "lint": "eslint src/",
21
+ "typecheck": "tsc --noEmit"
22
+ },
23
+ "dependencies": {},
24
+ "peerDependencies": {
25
+ "react": "^18.0.0 || ^19.0.0"
26
+ },
27
+ "devDependencies": {
28
+ "@types/react": "^18.0.0",
29
+ "tsup": "^8.0.0",
30
+ "typescript": "^5.0.0"
31
+ },
32
+ "files": [
33
+ "dist",
34
+ "README.md"
35
+ ],
36
+ "publishConfig": {
37
+ "access": "public"
38
+ }
39
+ }