@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
@@ -0,0 +1,217 @@
1
+ /**
2
+ * Стратегии миграции конфигураций виджета чата
3
+ */
4
+ import { DEFAULT_CONFIG } from '../config.types';
5
+ /** Базовый класс для стратегий миграции */
6
+ export class BaseMigrationStrategy {
7
+ canApply(context) {
8
+ return context.fromVersion === this.appliesTo.from &&
9
+ context.toVersion === this.appliesTo.to;
10
+ }
11
+ rollback(_context) {
12
+ return {
13
+ success: false,
14
+ errors: [`Rollback not implemented for strategy: ${this.name}`],
15
+ warnings: [],
16
+ modified: false
17
+ };
18
+ }
19
+ createSuccessResult(data, warnings = []) {
20
+ return {
21
+ success: true,
22
+ data,
23
+ errors: [],
24
+ warnings,
25
+ modified: true
26
+ };
27
+ }
28
+ createErrorResult(errors, data) {
29
+ return {
30
+ success: false,
31
+ data,
32
+ errors,
33
+ warnings: [],
34
+ modified: false
35
+ };
36
+ }
37
+ }
38
+ /** Стратегия добавления новых полей в settings для V1->V2 */
39
+ export class AddSettingsFieldsV1toV2Strategy extends BaseMigrationStrategy {
40
+ constructor() {
41
+ super(...arguments);
42
+ this.name = 'AddSettingsFieldsV1toV2';
43
+ this.description = 'Добавляет новые поля loader, buttonStyle, buttonType в settings';
44
+ this.appliesTo = { from: '1.0', to: '2.0' };
45
+ }
46
+ apply(context) {
47
+ try {
48
+ const config = { ...context.config };
49
+ const warnings = [];
50
+ // Добавляем новые поля в settings
51
+ const newSettings = {
52
+ ...config.settings,
53
+ loader: DEFAULT_CONFIG.settings.loader, // 'dots'
54
+ };
55
+ warnings.push(`Добавлены поля loader: '${newSettings.loader}'`);
56
+ return this.createSuccessResult({ ...config, settings: newSettings }, warnings);
57
+ }
58
+ catch (error) {
59
+ return this.createErrorResult([`Ошибка при добавлении полей settings: ${error}`]);
60
+ }
61
+ }
62
+ }
63
+ /** Стратегия добавления chipStyle в top.params для V1->V2 */
64
+ export class AddChipStyleV1toV2Strategy extends BaseMigrationStrategy {
65
+ constructor() {
66
+ super(...arguments);
67
+ this.name = 'AddChipStyleV1toV2';
68
+ this.description = 'Добавляет поле chipStyle в sections.top.params';
69
+ this.appliesTo = { from: '1.0', to: '2.0' };
70
+ }
71
+ apply(context) {
72
+ try {
73
+ const config = { ...context.config };
74
+ const warnings = [];
75
+ // Добавляем chipStyle в top.params
76
+ config.sections.top.params = {
77
+ ...config.sections.top.params,
78
+ chipStyle: DEFAULT_CONFIG.sections.top.params.chipStyle // 'filled'
79
+ };
80
+ warnings.push(`Добавлено поле chipStyle: '${DEFAULT_CONFIG.sections.top.params.chipStyle}' в sections.top.params`);
81
+ return this.createSuccessResult(config, warnings);
82
+ }
83
+ catch (error) {
84
+ return this.createErrorResult([`Ошибка при добавлении chipStyle: ${error}`]);
85
+ }
86
+ }
87
+ }
88
+ /** Стратегия добавления bgType для сообщений в V1->V2 */
89
+ export class AddMessageBgTypeV1toV2Strategy extends BaseMigrationStrategy {
90
+ constructor() {
91
+ super(...arguments);
92
+ this.name = 'AddMessageBgTypeV1toV2';
93
+ this.description = 'Добавляет поле bgType в messageUser и messageBot';
94
+ this.appliesTo = { from: '1.0', to: '2.0' };
95
+ }
96
+ apply(context) {
97
+ try {
98
+ const config = { ...context.config };
99
+ const warnings = [];
100
+ // Добавляем bgType в messageUser и messageBot
101
+ config.sections.inside.messageUser = {
102
+ ...config.sections.inside.messageUser,
103
+ bgType: DEFAULT_CONFIG.sections.inside.messageUser.bgType // 'bubble'
104
+ };
105
+ config.sections.inside.messageBot = {
106
+ ...config.sections.inside.messageBot,
107
+ bgType: DEFAULT_CONFIG.sections.inside.messageBot.bgType // 'plain'
108
+ };
109
+ warnings.push('Добавлены поля bgType для messageUser и messageBot');
110
+ return this.createSuccessResult(config, warnings);
111
+ }
112
+ catch (error) {
113
+ return this.createErrorResult([`Ошибка при добавлении bgType для сообщений: ${error}`]);
114
+ }
115
+ }
116
+ }
117
+ /** Стратегия добавления новых кнопок approve/reject в V1->V2 */
118
+ export class AddActionButtonsV1toV2Strategy extends BaseMigrationStrategy {
119
+ constructor() {
120
+ super(...arguments);
121
+ this.name = 'AddActionButtonsV1toV2';
122
+ this.description = 'Добавляет кнопки aprooveButton и rejectButton в inside секцию';
123
+ this.appliesTo = { from: '1.0', to: '2.0' };
124
+ }
125
+ apply(context) {
126
+ try {
127
+ const config = { ...context.config };
128
+ const warnings = [];
129
+ // Добавляем новые кнопки
130
+ config.sections.inside = {
131
+ ...config.sections.inside
132
+ };
133
+ warnings.push('Добавлены кнопки aprooveButton и rejectButton');
134
+ return this.createSuccessResult(config, warnings);
135
+ }
136
+ catch (error) {
137
+ return this.createErrorResult([`Ошибка при добавлении кнопок действий: ${error}`]);
138
+ }
139
+ }
140
+ }
141
+ /** Стратегия расширения inputSend для V1->V2 */
142
+ export class EnhanceInputSendV1toV2Strategy extends BaseMigrationStrategy {
143
+ constructor() {
144
+ super(...arguments);
145
+ this.name = 'EnhanceInputSendV1toV2';
146
+ this.description = 'Добавляет borderStyle, inputStyle, bgType в inputSend';
147
+ this.appliesTo = { from: '1.0', to: '2.0' };
148
+ }
149
+ apply(context) {
150
+ try {
151
+ const config = { ...context.config };
152
+ const warnings = [];
153
+ // Расширяем inputSend
154
+ config.sections.bottom.inputSend = {
155
+ ...config.sections.bottom.inputSend,
156
+ borderStyle: DEFAULT_CONFIG.sections.bottom.inputSend.borderStyle,
157
+ inputStyle: DEFAULT_CONFIG.sections.bottom.inputSend.inputStyle, // 'inside'
158
+ bgType: DEFAULT_CONFIG.sections.bottom.inputSend.bgType // 'plain'
159
+ };
160
+ warnings.push('Расширен inputSend с новыми полями borderStyle, inputStyle, bgType');
161
+ return this.createSuccessResult(config, warnings);
162
+ }
163
+ catch (error) {
164
+ return this.createErrorResult([`Ошибка при расширении inputSend: ${error}`]);
165
+ }
166
+ }
167
+ }
168
+ /** Стратегия добавления warningAlert и disclaimer в V1->V2 */
169
+ export class AddBottomElementsV1toV2Strategy extends BaseMigrationStrategy {
170
+ constructor() {
171
+ super(...arguments);
172
+ this.name = 'AddBottomElementsV1toV2';
173
+ this.description = 'Добавляет warningAlert и disclaimer в bottom секцию';
174
+ this.appliesTo = { from: '1.0', to: '2.0' };
175
+ }
176
+ apply(context) {
177
+ try {
178
+ const config = { ...context.config };
179
+ const warnings = [];
180
+ // Добавляем новые элементы в bottom
181
+ config.sections.bottom = {
182
+ ...config.sections.bottom,
183
+ warningAlert: DEFAULT_CONFIG.sections.bottom.warningAlert
184
+ };
185
+ warnings.push('Добавлены warningAlert и disclaimer в bottom секцию');
186
+ return this.createSuccessResult(config, warnings);
187
+ }
188
+ catch (error) {
189
+ return this.createErrorResult([`Ошибка при добавлении элементов bottom: ${error}`]);
190
+ }
191
+ }
192
+ }
193
+ /** Реестр всех стратегий миграции V1->V2 */
194
+ export const V1_TO_V2_STRATEGIES = [
195
+ new AddSettingsFieldsV1toV2Strategy(),
196
+ new AddChipStyleV1toV2Strategy(),
197
+ new AddMessageBgTypeV1toV2Strategy(),
198
+ new AddActionButtonsV1toV2Strategy(),
199
+ new EnhanceInputSendV1toV2Strategy(),
200
+ new AddBottomElementsV1toV2Strategy()
201
+ ];
202
+ /** Получить все стратегии для конкретного перехода версий */
203
+ export function getStrategiesForMigration(from, to) {
204
+ const allStrategies = [
205
+ ...V1_TO_V2_STRATEGIES
206
+ // Здесь можно добавить стратегии для других версий: V2_TO_V3_STRATEGIES и т.д.
207
+ ];
208
+ return allStrategies.filter(strategy => strategy.appliesTo.from === from && strategy.appliesTo.to === to);
209
+ }
210
+ /** Получить все доступные стратегии */
211
+ export function getAllStrategies() {
212
+ return [
213
+ ...V1_TO_V2_STRATEGIES
214
+ // Добавляйте сюда новые группы стратегий для других версий
215
+ ];
216
+ }
217
+ //# sourceMappingURL=strategies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/migration/strategies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Типы для системы миграции конфигураций виджета чата
3
+ */
4
+ import { WidgetConfig } from '../config.types';
5
+ /** Версии конфигурации */
6
+ export type ConfigVersion = '1.0' | '2.0' | '3.0';
7
+ /** Результат миграции */
8
+ export interface MigrationResult<T = WidgetConfig> {
9
+ success: boolean;
10
+ data?: T;
11
+ errors: string[];
12
+ warnings: string[];
13
+ fromVersion: ConfigVersion;
14
+ toVersion: ConfigVersion;
15
+ appliedStrategies: string[];
16
+ }
17
+ /** Контекст миграции */
18
+ export interface MigrationContext {
19
+ fromVersion: ConfigVersion;
20
+ toVersion: ConfigVersion;
21
+ config: any;
22
+ options?: MigrationOptions;
23
+ }
24
+ /** Опции миграции */
25
+ export interface MigrationOptions {
26
+ /** Строгий режим - останавливаться на ошибках */
27
+ strict?: boolean;
28
+ /** Сохранять неизвестные поля */
29
+ preserveUnknown?: boolean;
30
+ /** Логировать процесс миграции */
31
+ verbose?: boolean;
32
+ /** Применить только определенные стратегии */
33
+ onlyStrategies?: string[];
34
+ /** Исключить определенные стратегии */
35
+ excludeStrategies?: string[];
36
+ }
37
+ /** Абстрактная стратегия миграции */
38
+ export interface MigrationStrategy {
39
+ /** Уникальное имя стратегии */
40
+ name: string;
41
+ /** Описание что делает стратегия */
42
+ description: string;
43
+ /** Версии для которых применяется */
44
+ appliesTo: {
45
+ from: ConfigVersion;
46
+ to: ConfigVersion;
47
+ };
48
+ /** Проверка применимости стратегии */
49
+ canApply(context: MigrationContext): boolean;
50
+ /** Применение стратегии */
51
+ apply(context: MigrationContext): MigrationStepResult;
52
+ /** Откат стратегии (если возможен) */
53
+ rollback?(context: MigrationContext): MigrationStepResult;
54
+ }
55
+ /** Результат шага миграции */
56
+ export interface MigrationStepResult {
57
+ success: boolean;
58
+ data?: any;
59
+ errors: string[];
60
+ warnings: string[];
61
+ modified: boolean;
62
+ }
63
+ /** Команда миграции */
64
+ export interface MigrationCommand {
65
+ /** Имя команды */
66
+ name: string;
67
+ /** Описание команды */
68
+ description: string;
69
+ /** Выполнить команду */
70
+ execute(config: any, options?: any): MigrationStepResult;
71
+ }
72
+ /** Детектор версии конфигурации */
73
+ export interface VersionDetector {
74
+ /** Определить версию конфигурации */
75
+ detect(config: any): ConfigVersion | null;
76
+ }
77
+ /** Валидатор конфигурации */
78
+ export interface ConfigValidator {
79
+ /** Валидировать конфигурацию для версии */
80
+ validate(config: any, version: ConfigVersion): {
81
+ isValid: boolean;
82
+ errors: string[];
83
+ warnings: string[];
84
+ };
85
+ }
86
+ /** Схема конфигурации для конкретной версии */
87
+ export interface ConfigSchema {
88
+ version: ConfigVersion;
89
+ schema: any;
90
+ required: string[];
91
+ optional: string[];
92
+ }
93
+ /** Отчет о миграции */
94
+ export interface MigrationReport {
95
+ timestamp: Date;
96
+ fromVersion: ConfigVersion;
97
+ toVersion: ConfigVersion;
98
+ success: boolean;
99
+ duration: number;
100
+ appliedStrategies: Array<{
101
+ name: string;
102
+ success: boolean;
103
+ errors: string[];
104
+ warnings: string[];
105
+ }>;
106
+ totalErrors: number;
107
+ totalWarnings: number;
108
+ summary: string;
109
+ }
110
+ /** Логгер для миграции */
111
+ export interface MigrationLogger {
112
+ info(message: string, context?: any): void;
113
+ warn(message: string, context?: any): void;
114
+ error(message: string, context?: any): void;
115
+ debug(message: string, context?: any): void;
116
+ }
117
+ /** Базовые типы для различных версий конфигурации */
118
+ /** Конфигурация V1 */
119
+ export interface ConfigV1 {
120
+ settings: {
121
+ widgetTitle: string;
122
+ welcomeMessage: string;
123
+ bgChat: string;
124
+ gapMessageLine: number;
125
+ paddingChat: number;
126
+ fontFamily: string;
127
+ borderRadius: string;
128
+ launchView: string;
129
+ letterSpacing: number;
130
+ logo: string;
131
+ fontWeight: number;
132
+ };
133
+ sections: {
134
+ top: {
135
+ params: {
136
+ size: string;
137
+ };
138
+ chipWidgetTitle: {
139
+ color: string;
140
+ bgColor: string;
141
+ };
142
+ btnClose: {
143
+ color: string;
144
+ bgColor: string;
145
+ };
146
+ };
147
+ inside: {
148
+ params: {
149
+ size: string;
150
+ };
151
+ messageUser: {
152
+ color: string;
153
+ bgColor: string;
154
+ };
155
+ messageBot: {
156
+ color: string;
157
+ bgColor: string;
158
+ };
159
+ welcomeMessage: {
160
+ color: string;
161
+ };
162
+ };
163
+ bottom: {
164
+ params: {
165
+ size: string;
166
+ };
167
+ inputSend: {
168
+ color: string;
169
+ bgColor: string;
170
+ };
171
+ btnSend: {
172
+ color: string;
173
+ bgColor: string;
174
+ type: string;
175
+ };
176
+ activeBtn: {
177
+ color: string;
178
+ bgColor: string;
179
+ };
180
+ };
181
+ };
182
+ }
183
+ /** Конфигурация V2 - расширенная версия */
184
+ export interface ConfigV2 extends WidgetConfig {
185
+ }
186
+ /** Маппинг типов конфигурации по версиям */
187
+ export type ConfigByVersion = {
188
+ '1.0': ConfigV1;
189
+ '2.0': ConfigV2;
190
+ '3.0': WidgetConfig;
191
+ };
192
+ /** Фабрика для создания пустых конфигураций */
193
+ export type ConfigFactory = {
194
+ [V in ConfigVersion]: () => ConfigByVersion[V];
195
+ };
196
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/migration/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Типы для системы миграции конфигураций виджета чата
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/migration/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/dist/utils.d.ts CHANGED
@@ -1,12 +1,2 @@
1
- import { EmittedColorElement, FontSettings, GeneralSettings, ShapesSettings, WidgetConfig } from "./config.types";
2
- export declare const extractSettings: (config: WidgetConfig) => {
3
- general: GeneralSettings;
4
- shapes: ShapesSettings;
5
- colors: EmittedColorElement;
6
- font: FontSettings;
7
- };
8
- /**
9
- * Функция для сборки полного конфига из отдельных частей
10
- */
11
- export declare function buildWidgetConfig(general: GeneralSettings, shapes: ShapesSettings, colors: EmittedColorElement, fonts: FontSettings): WidgetConfig;
1
+ export declare const getIcon: (icon: string) => string;
12
2
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAA;AAE1I,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,KAAG;IACrD,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,IAAI,EAAE,YAAY,CAAA;CA6DlB,CAAA;AAGF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,YAAY,GAClB,YAAY,CAgEd"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,WAEnC,CAAA"}
package/dist/utils.js CHANGED
@@ -1,128 +1,4 @@
1
- import { DEFAULT_CONFIG } from "./config.types";
2
- export const extractSettings = (config) => ({
3
- // Общие настройки
4
- general: {
5
- widgetTitle: config.settings.widgetTitle,
6
- welcomeMessage: config.settings.welcomeMessage,
7
- launchView: config.settings.launchView,
8
- logo: config.settings.logo,
9
- },
10
- // Настройки форм и размеров
11
- shapes: {
12
- gapMessageLine: config.settings.gapMessageLine,
13
- paddingChat: config.settings.paddingChat,
14
- fontFamily: config.settings.fontFamily,
15
- borderRadius: config.settings.borderRadius,
16
- bottomSize: config.sections.bottom.params.size,
17
- sendButtonType: config.sections.bottom.btnSend.type,
18
- headerSize: config.sections.top.params.size,
19
- messageSize: config.sections.inside.params.size,
20
- },
21
- // Настройки цветов
22
- colors: {
23
- bgChat: { bgColor: config.settings.bgChat },
24
- welcomeMessage: { color: config.sections.inside?.welcomeMessage?.color || '#fff' },
25
- chipWidgetTitle: {
26
- color: config.sections.top.chipWidgetTitle.color,
27
- bgColor: config.sections.top.chipWidgetTitle.bgColor,
28
- },
29
- btnClose: {
30
- color: config.sections.top.btnClose.color,
31
- bgColor: config.sections.top.btnClose.bgColor,
32
- },
33
- messageUser: {
34
- color: config.sections.inside.messageUser.color,
35
- bgColor: config.sections.inside.messageUser.bgColor,
36
- },
37
- messageBot: {
38
- color: config.sections.inside.messageBot.color,
39
- bgColor: config.sections.inside.messageBot.bgColor,
40
- },
41
- inputSend: {
42
- color: config.sections.bottom.inputSend.color,
43
- bgColor: config.sections.bottom.inputSend.bgColor,
44
- },
45
- btnSend: {
46
- color: config.sections.bottom.btnSend.color,
47
- bgColor: config.sections.bottom.btnSend.bgColor,
48
- },
49
- activeBtn: {
50
- color: config.sections.bottom.activeBtn.color,
51
- bgColor: config.sections.bottom.activeBtn.bgColor,
52
- },
53
- },
54
- // Шрифт отдельно
55
- font: {
56
- fontFamily: config.settings.fontFamily,
57
- letterSpacing: config.settings.letterSpacing,
58
- },
59
- });
60
- /**
61
- * Функция для сборки полного конфига из отдельных частей
62
- */
63
- export function buildWidgetConfig(general, shapes, colors, fonts) {
64
- return {
65
- settings: {
66
- widgetTitle: general.widgetTitle,
67
- welcomeMessage: general.welcomeMessage,
68
- launchView: general.launchView,
69
- bgChat: colors.bgChat.bgColor || colors.bgChat.color || DEFAULT_CONFIG.settings.bgChat,
70
- gapMessageLine: shapes.gapMessageLine,
71
- paddingChat: shapes.paddingChat,
72
- borderRadius: shapes.borderRadius,
73
- fontFamily: fonts.fontFamily,
74
- letterSpacing: fonts.letterSpacing,
75
- logo: general.logo,
76
- },
77
- sections: {
78
- top: {
79
- params: {
80
- size: shapes.headerSize,
81
- },
82
- chipWidgetTitle: {
83
- color: colors.chipWidgetTitle.color || DEFAULT_CONFIG.sections.top.chipWidgetTitle.color,
84
- bgColor: colors.chipWidgetTitle.bgColor || DEFAULT_CONFIG.sections.top.chipWidgetTitle.bgColor,
85
- },
86
- btnClose: {
87
- color: colors.btnClose.color || DEFAULT_CONFIG.sections.top.btnClose.color,
88
- bgColor: colors.btnClose.bgColor || DEFAULT_CONFIG.sections.top.btnClose.bgColor,
89
- },
90
- },
91
- inside: {
92
- params: {
93
- size: shapes.messageSize,
94
- },
95
- messageUser: {
96
- color: colors.messageUser.color || DEFAULT_CONFIG.sections.inside.messageUser.color,
97
- bgColor: colors.messageUser.bgColor || DEFAULT_CONFIG.sections.inside.messageUser.bgColor,
98
- },
99
- messageBot: {
100
- color: colors.messageBot.color || DEFAULT_CONFIG.sections.inside.messageBot.color,
101
- bgColor: colors.messageBot.bgColor || DEFAULT_CONFIG.sections.inside.messageBot.bgColor,
102
- },
103
- welcomeMessage: {
104
- color: colors.welcomeMessage.color || DEFAULT_CONFIG.sections.inside.welcomeMessage.color,
105
- },
106
- },
107
- bottom: {
108
- params: {
109
- size: shapes.bottomSize,
110
- },
111
- inputSend: {
112
- color: colors.inputSend.color || DEFAULT_CONFIG.sections.bottom.inputSend.color,
113
- bgColor: colors.inputSend.bgColor || DEFAULT_CONFIG.sections.bottom.inputSend.bgColor,
114
- },
115
- btnSend: {
116
- color: colors.btnSend.color || DEFAULT_CONFIG.sections.bottom.btnSend.color,
117
- bgColor: colors.btnSend.bgColor || DEFAULT_CONFIG.sections.bottom.btnSend.bgColor,
118
- type: shapes.sendButtonType,
119
- },
120
- activeBtn: {
121
- color: colors.activeBtn.color || DEFAULT_CONFIG.sections.bottom.activeBtn.color,
122
- bgColor: colors.activeBtn.bgColor || DEFAULT_CONFIG.sections.bottom.activeBtn.bgColor,
123
- },
124
- },
125
- },
126
- };
127
- }
1
+ export const getIcon = (icon) => {
2
+ return icon;
3
+ };
128
4
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE;IACtC,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@yartsun/chat-widget-types",
3
- "version": "1.0.2",
4
- "description": "TypeScript definitions for HyperShadow Chat Widget",
3
+ "version": "1.0.5",
4
+ "description": "TypeScript definitions and professional migration system for HyperShadow Chat Widget configurations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
@@ -12,7 +12,11 @@
12
12
  "build": "tsc",
13
13
  "build:watch": "tsc --watch",
14
14
  "clean": "rm -rf dist",
15
- "prepublishOnly": "npm run clean && npm run build"
15
+ "prepublishOnly": "npm run clean && npm run build",
16
+ "migrate": "npx tsx migrator/cli.ts",
17
+ "migrate:demo": "npx tsx migrator/demo.ts",
18
+ "migrate:examples": "npx tsx -e \"import('./src/migration/examples.js').then(m => m.runAllExamples())\"",
19
+ "migrate:help": "npx tsx migrator/cli.ts --help"
16
20
  },
17
21
  "keywords": [
18
22
  "typescript",
@@ -20,12 +24,17 @@
20
24
  "chat",
21
25
  "widget",
22
26
  "microfrontend",
23
- "module-federation"
27
+ "module-federation",
28
+ "migration",
29
+ "config-migration",
30
+ "schema-migration",
31
+ "version-upgrade"
24
32
  ],
25
33
  "author": "HyperShadow Team",
26
34
  "license": "MIT",
27
35
  "devDependencies": {
28
36
  "@types/node": "^24.0.13",
37
+ "ts-node": "^10.9.2",
29
38
  "typescript": "^5.8.3"
30
39
  },
31
40
  "repository": {