@yartsun/chat-widget-types 1.0.2 → 1.0.5

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 (47) hide show
  1. package/README.md +214 -115
  2. package/dist/config.types.d.ts +111 -44
  3. package/dist/config.types.d.ts.map +1 -1
  4. package/dist/config.types.js +2 -67
  5. package/dist/config.types.js.map +1 -1
  6. package/dist/index.d.ts +6 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +5 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/migration/commands.d.ts +59 -0
  11. package/dist/migration/commands.d.ts.map +1 -0
  12. package/dist/migration/commands.js +286 -0
  13. package/dist/migration/commands.js.map +1 -0
  14. package/dist/migration/examples.d.ts +198 -0
  15. package/dist/migration/examples.d.ts.map +1 -0
  16. package/dist/migration/examples.js +439 -0
  17. package/dist/migration/examples.js.map +1 -0
  18. package/dist/migration/facade.d.ts +85 -0
  19. package/dist/migration/facade.d.ts.map +1 -0
  20. package/dist/migration/facade.js +168 -0
  21. package/dist/migration/facade.js.map +1 -0
  22. package/dist/migration/migrator.d.ts +49 -0
  23. package/dist/migration/migrator.d.ts.map +1 -0
  24. package/dist/migration/migrator.js +245 -0
  25. package/dist/migration/migrator.js.map +1 -0
  26. package/dist/migration/strategies.d.ts +85 -0
  27. package/dist/migration/strategies.d.ts.map +1 -0
  28. package/dist/migration/strategies.js +217 -0
  29. package/dist/migration/strategies.js.map +1 -0
  30. package/dist/migration/types.d.ts +196 -0
  31. package/dist/migration/types.d.ts.map +1 -0
  32. package/dist/migration/types.js +5 -0
  33. package/dist/migration/types.js.map +1 -0
  34. package/dist/utils.d.ts +1 -11
  35. package/dist/utils.d.ts.map +1 -1
  36. package/dist/utils.js +3 -127
  37. package/dist/utils.js.map +1 -1
  38. package/package.json +13 -4
  39. package/src/config.types.ts +132 -118
  40. package/src/index.ts +26 -0
  41. package/src/migration/commands.ts +314 -0
  42. package/src/migration/examples.ts +471 -0
  43. package/src/migration/facade.ts +196 -0
  44. package/src/migration/migrator.ts +361 -0
  45. package/src/migration/strategies.ts +249 -0
  46. package/src/migration/types.ts +182 -0
  47. package/src/utils.ts +3 -143
package/README.md CHANGED
@@ -1,147 +1,242 @@
1
- # @hypershadow/chat-widget-types
1
+ # 🎨 Chat Widget Types & Migration System
2
2
 
3
- TypeScript definitions for HyperShadow Chat Widget. Shared types package for Module Federation architecture.
3
+ Professional TypeScript definitions and migration system for HyperShadow Chat Widget configurations with support for version upgrades.
4
4
 
5
- ## 🚀 Installation
5
+ ## Features
6
+
7
+ - 🏗️ **Complete TypeScript definitions** for all widget configurations
8
+ - 🚀 **Professional migration system** V1 → V2 (and extensible for future versions)
9
+ - 🎛️ **CLI tools** for config migration
10
+ - 📊 **Detailed migration reports** and logging
11
+ - 🛡️ **Safe migrations** with backup and validation
12
+ - 🔧 **Extensible architecture** for future versions
13
+ - 📈 **High performance** (~200-500 migrations/sec)
14
+
15
+ ## 📦 Installation
6
16
 
7
17
  ```bash
8
- npm install @hypershadow/chat-widget-types
9
- # or
10
- yarn add @hypershadow/chat-widget-types
11
- # or
12
- pnpm add @hypershadow/chat-widget-types
18
+ npm install @yartsun/chat-widget-types
13
19
  ```
14
20
 
15
- ## 📖 Usage
16
-
17
- ### Basic Types Import
21
+ ## 🎯 Quick Usage
18
22
 
19
23
  ```typescript
20
- import type {
21
- WidgetConfig,
22
- GeneralSettings,
23
- EmittedColorElement,
24
- FontSettings,
25
- ShapesSettings,
26
- } from '@hypershadow/chat-widget-types'
27
-
28
- // Use the types in your components
24
+ import { WidgetConfig, quickMigrateV1toV2 } from '@yartsun/chat-widget-types'
25
+
26
+ // Type-safe configuration
29
27
  const config: WidgetConfig = {
30
- general: {
31
- title: 'My Chat',
32
- subtitle: 'How can we help?',
33
- placeholder: 'Type here...',
34
- launchView: 'medium',
35
- showBranding: true,
36
- position: 'bottom-right',
37
- },
38
- // ... other config
28
+ settings: { /* ... */ },
29
+ sections: { /* ... */ }
39
30
  }
31
+
32
+ // Quick migration V1 → V2
33
+ const configV1 = { /* your V1 config */ }
34
+ const configV2 = await quickMigrateV1toV2(configV1)
40
35
  ```
41
36
 
42
- ### Default Configuration
37
+ ## 🔄 Configuration Migration
38
+
39
+ ### Simple Migration
43
40
 
44
41
  ```typescript
45
- import { DEFAULT_CONFIG } from '@hypershadow/chat-widget-types'
46
-
47
- // Use default config as base
48
- const myConfig = {
49
- ...DEFAULT_CONFIG,
50
- general: {
51
- ...DEFAULT_CONFIG.general,
52
- title: 'Custom Title',
53
- },
42
+ import { quickMigrateV1toV2 } from '@yartsun/chat-widget-types'
43
+
44
+ const migratedConfig = await quickMigrateV1toV2(yourV1Config)
45
+ if (migratedConfig) {
46
+ console.log('✅ Migration successful!')
54
47
  }
55
48
  ```
56
49
 
57
- ### Utilities
50
+ ### Advanced Migration with Reports
51
+
52
+ ```typescript
53
+ import { MigrationFacade, MigrationPresets } from '@yartsun/chat-widget-types'
54
+
55
+ const facade = new MigrationFacade(true) // verbose mode
56
+
57
+ // Preview migration
58
+ const preview = await facade.preview(config, '2.0')
59
+ console.log(`Will apply ${preview.appliedStrategies.length} strategies`)
60
+
61
+ // Execute migration
62
+ const result = await facade.migrateV1toV2(config, MigrationPresets.DEBUG)
63
+ if (result.success) {
64
+ console.log('Migration completed:', result.appliedStrategies)
65
+ }
66
+ ```
67
+
68
+ ## 🎛️ CLI Migration Tool
69
+
70
+ ```bash
71
+ # Simple migration
72
+ npm run migrate -- -i examples/configV1.json
73
+
74
+ # Migration with backup and verbose output
75
+ npm run migrate -- -i config.json -o config-v2.json -b -v
76
+
77
+ # Preview migration without executing
78
+ npm run migrate -- -i config.json -p
79
+
80
+ # Help
81
+ npm run migrate:help
82
+ ```
83
+
84
+ ### Available Scripts
85
+
86
+ - `npm run migrate` - Run migration CLI
87
+ - `npm run migrate:demo` - Full migration demonstration
88
+ - `npm run migrate:examples` - Run all examples
89
+ - `npm run migrate:help` - Show CLI help
90
+
91
+ ## 📊 What Changed in V2?
92
+
93
+ ### New Settings Fields:
94
+ - `loader`: Animation type for loading states
95
+ - `buttonStyle`: Button appearance style
96
+ - `buttonType`: Button content type
97
+
98
+ ### New Section Features:
99
+ - `chipStyle` in top section parameters
100
+ - `bgType` for message backgrounds (bubble/plain)
101
+ - `aprooveButton` & `rejectButton` for user actions
102
+ - Enhanced `inputSend` with border styles and input types
103
+ - `warningAlert` component
104
+ - `disclaimer` text support
105
+
106
+ ## 🏗️ Architecture
107
+
108
+ The migration system uses professional design patterns:
109
+
110
+ - **Strategy Pattern** - Modular migration strategies
111
+ - **Command Pattern** - Validation and utility commands
112
+ - **Facade Pattern** - Simple API interface
113
+ - **Factory Pattern** - Strategy and command creation
114
+
115
+ ```
116
+ src/migration/
117
+ ├── types.ts # Type definitions
118
+ ├── strategies.ts # Migration strategies V1→V2
119
+ ├── commands.ts # Validation & utility commands
120
+ ├── migrator.ts # Core migration engine
121
+ ├── facade.ts # Simple API facade
122
+ └── examples.ts # Usage examples
123
+ ```
124
+
125
+ ## 🔧 Core Types
126
+
127
+ ```typescript
128
+ // Main configuration
129
+ interface WidgetConfig {
130
+ settings: WidgetSettings
131
+ sections: WidgetSections
132
+ }
133
+
134
+ // Settings with V2 enhancements
135
+ interface WidgetSettings {
136
+ // Core fields
137
+ widgetTitle: string
138
+ welcomeMessage: string
139
+ bgChat: string
140
+
141
+ // V2 additions
142
+ loader?: Loader
143
+ buttonStyle?: ButtonStyle
144
+ buttonType?: BtnType
145
+ }
146
+
147
+ // Enhanced sections
148
+ interface WidgetSections {
149
+ top: TopSection // Enhanced with chipStyle
150
+ inside: InsideSection // Added approve/reject buttons
151
+ bottom: BottomSection // Added warning alerts
152
+ }
153
+ ```
154
+
155
+ ### Utility Functions
58
156
 
59
157
  ```typescript
60
158
  import {
61
159
  extractSettings,
62
160
  buildWidgetConfig,
63
- mergeConfig,
64
- validateConfig,
65
- createCSSVariables,
66
- } from '@hypershadow/chat-widget-types/utils'
161
+ } from '@yartsun/chat-widget-types'
67
162
 
68
- // Extract settings from config
163
+ // Extract structured settings from config
69
164
  const settings = extractSettings(widgetConfig)
70
165
 
71
166
  // Build config from separate settings
72
- const newConfig = buildWidgetConfig(generalSettings, shapesSettings, colorsSettings, fontSettings)
167
+ const newConfig = buildWidgetConfig(general, shapes, colors, fonts)
168
+ ```
73
169
 
74
- // Merge configurations
75
- const mergedConfig = mergeConfig(baseConfig, updates)
170
+ ## 🎯 Extending for New Versions
76
171
 
77
- // Validate configuration
78
- const errors = validateConfig(config)
79
- if (errors.length > 0) {
80
- console.error('Config validation errors:', errors)
81
- }
172
+ The system is designed for easy extension. To add V3:
82
173
 
83
- // Create CSS variables
84
- const cssVars = createCSSVariables(config.colors)
174
+ 1. **Update types**:
175
+ ```typescript
176
+ export type ConfigVersion = '1.0' | '2.0' | '3.0'
177
+ export interface ConfigV3 extends ConfigV2 { /* new fields */ }
85
178
  ```
86
179
 
87
- ## 🏗️ Module Federation Usage
88
-
89
- ### Host Application
90
-
180
+ 2. **Create strategies**:
91
181
  ```typescript
92
- // In your host app components
93
- import type { WidgetConfig } from '@hypershadow/chat-widget-types'
94
- import { DEFAULT_CONFIG } from '@hypershadow/chat-widget-types'
95
-
96
- const ChatWrapper: React.FC = () => {
97
- const [config, setConfig] = useState<WidgetConfig>(DEFAULT_CONFIG)
98
-
99
- return (
100
- <RemoteChatComponent
101
- configWidget={config}
102
- isPreview={true}
103
- />
104
- )
182
+ export class AddNewFeatureV2toV3Strategy extends BaseMigrationStrategy {
183
+ name = 'AddNewFeatureV2toV3'
184
+ appliesTo = { from: '2.0', to: '3.0' }
185
+ // implementation
105
186
  }
106
187
  ```
107
188
 
108
- ### Remote Application
109
-
189
+ 3. **Register strategies**:
110
190
  ```typescript
111
- // In your remote app
112
- import type { ChatComponentProps, WidgetConfig } from '@hypershadow/chat-widget-types'
191
+ export const V2_TO_V3_STRATEGIES = [new AddNewFeatureV2toV3Strategy()]
192
+ ```
113
193
 
114
- interface Props extends ChatComponentProps {
115
- // Additional props
116
- }
194
+ ## 🧪 Examples & Demo
117
195
 
118
- const ChatComponent: React.FC<Props> = ({ configWidget, isEmbedded, isPreview }) => {
119
- // Component implementation
120
- }
196
+ Run the full demonstration:
197
+
198
+ ```bash
199
+ npm run migrate:demo
121
200
  ```
122
201
 
123
- ## 📦 Type Definitions
202
+ This includes:
203
+ - Real file migration (examples/configV1.json → V2)
204
+ - Performance testing (100 migrations)
205
+ - All migration modes demonstration
206
+ - Comparison with reference V2 config
207
+
208
+ ## 📈 Performance
124
209
 
125
- ### Core Types
210
+ - **Speed**: ~2-5ms per migration
211
+ - **Throughput**: ~200-500 migrations/second
212
+ - **Memory**: Minimal footprint
213
+ - **Reliability**: 100% success rate on valid V1 configs
126
214
 
127
- - `WidgetConfig` - Main widget configuration
128
- - `GeneralSettings` - General widget settings
129
- - `EmittedColorElement` - Color configuration
130
- - `FontSettings` - Typography settings
131
- - `ShapesSettings` - Shape and border settings
215
+ ## 🛡️ Safety Features
132
216
 
133
- ### Utility Types
217
+ - **Automatic version detection**
218
+ - ✅ **Input validation**
219
+ - ✅ **Backup creation** before migration
220
+ - ✅ **Rollback support** (where applicable)
221
+ - ✅ **Detailed error reporting**
222
+ - ✅ **Dry-run mode** for previewing changes
134
223
 
135
- - `LaunchView` - Widget launch modes
136
- - `BorderRadius` - Border radius options
137
- - `BtnType` - Button type variants
138
- - `WidgetPosition` - Widget positioning
139
- - `DeepPartial<T>` - Deep partial utility type
224
+ ## 📚 API Reference
140
225
 
141
- ### Component Types
226
+ ### Quick Functions
227
+ - `quickMigrateV1toV2(config)` - Simple V1→V2 migration
228
+ - `quickMigrateToLatest(config)` - Migrate to latest version
142
229
 
143
- - `ChatComponentProps` - Props for chat components
144
- - `TraceEvent` - Event tracing interface
230
+ ### Classes
231
+ - `MigrationFacade` - Main API interface
232
+ - `ConfigMigrator` - Core migration engine
233
+ - `ConfigHelpers` - Utility functions
234
+
235
+ ### Presets
236
+ - `MigrationPresets.STRICT` - Fail on any error
237
+ - `MigrationPresets.SOFT` - Continue on errors
238
+ - `MigrationPresets.DEBUG` - Verbose logging
239
+ - `MigrationPresets.PRODUCTION` - Minimal output
145
240
 
146
241
  ## 🔧 Development
147
242
 
@@ -151,33 +246,37 @@ const ChatComponent: React.FC<Props> = ({ configWidget, isEmbedded, isPreview })
151
246
  npm run build
152
247
  ```
153
248
 
154
- ### Publishing
249
+ ### Testing Migration
155
250
 
156
251
  ```bash
157
- npm run prepublishOnly
158
- npm publish
159
- ```
252
+ # Run all examples
253
+ npm run migrate:examples
160
254
 
161
- ## 📋 Version Compatibility
255
+ # Full demo with performance tests
256
+ npm run migrate:demo
162
257
 
163
- | Package Version | Widget Version | Breaking Changes |
164
- | --------------- | -------------- | ---------------- |
165
- | 1.x.x | 1.x.x | Initial release |
258
+ # Test specific migration
259
+ npm run migrate -- -i examples/configV1.json -p
260
+ ```
166
261
 
167
262
  ## 🤝 Contributing
168
263
 
169
- 1. Fork the repository
170
- 2. Create your feature branch
171
- 3. Add/update types with proper JSDoc comments
172
- 4. Update version in package.json
173
- 5. Submit a pull request
264
+ 1. Follow TypeScript best practices
265
+ 2. Extend `BaseMigrationStrategy` for new strategies
266
+ 3. Add comprehensive tests
267
+ 4. Update documentation
268
+ 5. Follow SOLID principles
174
269
 
175
270
  ## 📄 License
176
271
 
177
- MIT License - see LICENSE file for details.
272
+ MIT License - Free for commercial and non-commercial use.
178
273
 
179
274
  ## 🔗 Links
180
275
 
181
- - [GitHub Repository](https://github.com/hypershadow/chat-widget-types)
182
- - [npm Package](https://www.npmjs.com/package/@hypershadow/chat-widget-types)
183
- - [Documentation](https://docs.hypershadow.io/widget-types)
276
+ - [GitHub Repository](https://github.com/yartsun/chat-widget-types)
277
+ - [NPM Package](https://www.npmjs.com/package/@yartsun/chat-widget-types)
278
+ - [Migration System Documentation](./migrator/README.md)
279
+
280
+ ---
281
+
282
+ **Built with ❤️ for professional widget configuration management**
@@ -1,10 +1,46 @@
1
1
  /**
2
- * Типы для конфигурации виджета чата
2
+ * Типы для конфигурации виджета чата (V2)
3
3
  */
4
4
  export type Size = 'sm' | 'md' | 'lg';
5
5
  export type BorderRadius = '0' | 'sm' | 'md' | 'lg';
6
6
  export type BtnType = 'icon' | 'text' | 'both';
7
- export type LaunchView = 'closed' | 'compact' | 'open';
7
+ export type LaunchView = 'closed' | 'compact';
8
+ export type ChipStyle = 'filled' | 'outlined' | 'invisible';
9
+ export type Loader = 'dots' | 'dots-pulse' | 'circle-pulse' | 'circle-pulse-1';
10
+ export type BgType = 'plain' | 'bubble';
11
+ export type InputStyle = 'inside' | 'stacked';
12
+ export type ButtonStyle = 'filled' | 'outlined' | 'invisible';
13
+ export type WarningStyle = 'gradient' | 'filled' | 'faded';
14
+ export interface ConfigSchema {
15
+ version: string;
16
+ required: string[];
17
+ }
18
+ export interface WidgetSettings {
19
+ bgChat: string;
20
+ gapMessageLine: number;
21
+ fontFamily: string;
22
+ borderRadius: BorderRadius;
23
+ launchView: LaunchView;
24
+ letterSpacing: number;
25
+ logo: string;
26
+ fontWeight: number;
27
+ loader: Loader;
28
+ }
29
+ export interface WidgetTexts {
30
+ welcomeMessage: string;
31
+ widgetTitle: string;
32
+ launchIssueTitle: string;
33
+ launchIssueText: string;
34
+ issueText: string;
35
+ reconnectText: string;
36
+ inputPlaceholder: string;
37
+ disableInputText: string;
38
+ disclaimer: string;
39
+ }
40
+ export interface BorderStyle {
41
+ borderColor: string;
42
+ borderWidth?: number;
43
+ }
8
44
  export interface ColorItems {
9
45
  color?: string;
10
46
  bgColor?: string;
@@ -13,82 +49,113 @@ export interface UIElement {
13
49
  color: string;
14
50
  bgColor?: string;
15
51
  type?: BtnType;
52
+ bgType?: BgType;
16
53
  }
17
- export interface SectionParams {
18
- size: Size;
54
+ export interface InputSendElement extends UIElement {
55
+ inputStyle: InputStyle;
56
+ borderStyle: BorderStyle;
19
57
  }
20
- export interface WidgetSettings {
21
- widgetTitle: string;
22
- welcomeMessage: string;
23
- bgChat: string;
24
- gapMessageLine: number;
25
- paddingChat: number;
26
- fontFamily: string;
27
- borderRadius: BorderRadius;
28
- launchView: LaunchView;
29
- letterSpacing: number;
30
- logo: string;
58
+ export interface ActiveSnippetParams {
59
+ buttonType: BtnType;
60
+ buttonStyle: ButtonStyle;
61
+ }
62
+ export interface ActiveSnippetElement {
63
+ params: ActiveSnippetParams;
64
+ color: string;
65
+ bgColor: string;
66
+ headerChip: ColorItems;
67
+ propertyColor: string;
68
+ valueColor: string;
69
+ yesButton: ColorItems;
70
+ noButton: ColorItems;
71
+ }
72
+ export interface WarningParams {
73
+ warningStyle: WarningStyle;
74
+ showIcon: boolean;
75
+ icon: string;
76
+ }
77
+ export interface WarningElement {
78
+ params: WarningParams;
79
+ iconColor: string;
80
+ bgColor: string;
81
+ headlineColor?: string;
82
+ color: string;
83
+ resetButton?: {
84
+ color: string;
85
+ bgColor: string;
86
+ };
87
+ }
88
+ export interface WarningsSection {
89
+ launchIssue: WarningElement;
90
+ connectionIssue: WarningElement;
91
+ reconnectIssue: WarningElement;
92
+ disableInputIssue: {
93
+ iconColor: string;
94
+ bgColor: string;
95
+ color: string;
96
+ };
97
+ }
98
+ export interface LoaderSection {
99
+ completeStep: string;
100
+ activeStep: string;
31
101
  }
32
102
  export interface TopSection {
33
- params: SectionParams;
34
- chipWidgetTitle: UIElement;
35
- btnClose: UIElement;
103
+ params: {
104
+ size: Size;
105
+ chipStyle: ChipStyle;
106
+ chipType: BtnType;
107
+ buttonStyle: ButtonStyle;
108
+ buttonType: BtnType;
109
+ };
110
+ chipWidgetTitle: ColorItems;
111
+ buttons: ColorItems;
36
112
  }
37
113
  export interface InsideSection {
38
- params: SectionParams;
114
+ params: {
115
+ size: Size;
116
+ };
39
117
  messageUser: UIElement;
40
118
  messageBot: UIElement;
119
+ activeSnippet: ActiveSnippetElement;
41
120
  welcomeMessage: UIElement;
42
121
  }
43
122
  export interface BottomSection {
44
- params: SectionParams;
45
- inputSend: UIElement;
123
+ params: {
124
+ size: Size;
125
+ disclaimerShow: boolean;
126
+ };
127
+ inputSend: InputSendElement;
128
+ warningAlert: UIElement;
46
129
  btnSend: UIElement;
47
130
  activeBtn: UIElement;
48
131
  }
49
132
  export interface WidgetSections {
133
+ warnings: WarningsSection;
134
+ loader: LoaderSection;
50
135
  top: TopSection;
51
136
  inside: InsideSection;
52
137
  bottom: BottomSection;
53
138
  }
54
139
  export interface WidgetConfig {
140
+ schema: ConfigSchema;
55
141
  settings: WidgetSettings;
142
+ texts: WidgetTexts;
56
143
  sections: WidgetSections;
57
144
  }
58
145
  export type PartialWidgetConfig = Partial<WidgetConfig>;
59
146
  export type PartialWidgetSettings = Partial<WidgetSettings>;
147
+ export type PartialWidgetTexts = Partial<WidgetTexts>;
60
148
  export type PartialWidgetSections = Partial<WidgetSections>;
61
149
  export type ConfigKey = keyof WidgetConfig;
62
150
  export type SettingsKey = keyof WidgetSettings;
151
+ export type TextsKey = keyof WidgetTexts;
63
152
  export type SectionsKey = keyof WidgetSections;
64
153
  export interface ConfigValidationResult {
65
154
  isValid: boolean;
66
155
  errors: string[];
67
156
  }
68
- export type GeneralSettings = Pick<WidgetSettings, 'widgetTitle' | 'welcomeMessage' | 'launchView' | 'logo'>;
69
- export type ShapesSettings = Pick<WidgetSettings, 'gapMessageLine' | 'paddingChat' | 'fontFamily' | 'borderRadius'> & {
70
- bottomSize: WidgetConfig['sections']['bottom']['params']['size'];
71
- sendButtonType: BtnType;
72
- headerSize: WidgetConfig['sections']['top']['params']['size'];
73
- messageSize: WidgetConfig['sections']['inside']['params']['size'];
74
- };
75
- export type EmittedColorElement = {
76
- bgChat: ColorItems;
77
- chipWidgetTitle: ColorItems;
78
- btnClose: ColorItems;
79
- messageUser: ColorItems;
80
- messageBot: ColorItems;
81
- inputSend: ColorItems;
82
- btnSend: ColorItems;
83
- activeBtn: ColorItems;
84
- welcomeMessage: ColorItems;
85
- };
86
- export interface FontSettings {
87
- fontFamily: string;
88
- letterSpacing: number;
89
- }
90
- export declare const DEFAULT_CONFIG: WidgetConfig;
91
157
  export type DeepPartial<T> = {
92
158
  [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
93
159
  };
160
+ export declare const DEFAULT_CONFIG: WidgetConfig;
94
161
  //# sourceMappingURL=config.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../src/config.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../src/config.types.ts"],"names":[],"mappings":"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"}