@indigina/ui-kit 1.1.554 → 1.1.555

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.
@@ -13172,26 +13172,38 @@ class KitUserSettingsComponent {
13172
13172
  this.store = inject(Store);
13173
13173
  this.kitUserSettings = input([], ...(ngDevMode ? [{ debugName: "kitUserSettings" }] : /* istanbul ignore next */ []));
13174
13174
  this.theme = input(KitThemes.Light, ...(ngDevMode ? [{ debugName: "theme" }] : /* istanbul ignore next */ []));
13175
- this.userSettings$ = this.store.select(KIT_USER_SETTINGS_STATE_TOKEN);
13175
+ this.userSettings = this.store.selectSignal(KIT_USER_SETTINGS_STATE_TOKEN);
13176
+ }
13177
+ getSettingValueByKey(userSettings, setting) {
13178
+ return userSettings[setting.key] ?? this.getDefaultSettingValue(setting);
13176
13179
  }
13177
13180
  setUserSettingByKey(key, value) {
13178
13181
  this.store.dispatch(new SetUserSettingByKey({
13179
13182
  key,
13180
- value: JSON.stringify(value),
13183
+ value: this.normalizeSettingValue(value),
13181
13184
  }));
13182
13185
  }
13186
+ getDefaultSettingValue(setting) {
13187
+ if (setting.defaultValue === undefined) {
13188
+ return undefined;
13189
+ }
13190
+ return this.normalizeSettingValue(setting.defaultValue);
13191
+ }
13192
+ normalizeSettingValue(value) {
13193
+ return typeof value === 'string' ? value : JSON.stringify(value);
13194
+ }
13183
13195
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserSettingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13184
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: KitUserSettingsComponent, isStandalone: true, selector: "kit-user-settings", inputs: { kitUserSettings: { classPropertyName: "kitUserSettings", publicName: "kitUserSettings", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"kit-user-settings-title\"\n [ngClass]=\"theme()\">\n <kit-entity-title>\n {{ \"kit.userSettings.title\" | translate }}\n </kit-entity-title>\n</div>\n\n@if (userSettings$ | async; as userSettings) {\n <div class=\"kit-user-settings-content\"\n [ngClass]=\"theme()\">\n @for (setting of kitUserSettings(); track setting.key) {\n <p class=\"text\">{{ setting.title }}</p>\n <kit-toggle class=\"switcher\"\n [defaultChecked]=\"userSettings[setting.key] === 'true'\"\n (changed)=\"setUserSettingByKey(setting.key, $event)\" />\n }\n </div>\n}\n", styles: [".kit-user-settings-title{margin-top:25px;margin-bottom:25px}.kit-user-settings-content{display:grid;grid-template-columns:repeat(2,1fr);align-items:center;gap:10px}.kit-user-settings-content .text{color:var(--color-grey-4);font-size:14px;font-weight:400}.kit-user-settings-content .switcher{justify-self:end}.kit-user-settings-content.dark .text{color:var(--ui-kit-color-white)}::ng-deep .kit-user-settings-title.dark .kit-entity-title{color:var(--ui-kit-color-white)}\n"], dependencies: [{ kind: "component", type: KitToggleComponent, selector: "kit-toggle", inputs: ["label", "disabled", "readonly", "defaultChecked", "leftLabel", "rightLabel", "messageIcon", "messageText", "size"], outputs: ["disabledChange", "defaultCheckedChange", "changed"] }, { kind: "component", type: KitEntityTitleComponent, selector: "kit-entity-title" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13196
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: KitUserSettingsComponent, isStandalone: true, selector: "kit-user-settings", inputs: { kitUserSettings: { classPropertyName: "kitUserSettings", publicName: "kitUserSettings", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"kit-user-settings-title\"\n [ngClass]=\"theme()\">\n <kit-entity-title>\n {{ \"kit.userSettings.title\" | translate }}\n </kit-entity-title>\n</div>\n\n@if (userSettings(); as userSettings) {\n <div class=\"kit-user-settings-content\"\n [ngClass]=\"theme()\">\n @for (setting of kitUserSettings(); track setting.key) {\n <p class=\"text\">{{ setting.title }}</p>\n @if (setting.toggleType === 'option' && setting.leftToggleOption && setting.rightToggleOption) {\n <kit-option-toggle class=\"switcher\"\n [leftOption]=\"setting.leftToggleOption\"\n [rightOption]=\"setting.rightToggleOption\"\n [defaultActiveOption]=\"getSettingValueByKey(userSettings, setting)\"\n (handleChange)=\"setUserSettingByKey(setting.key, $event)\" />\n } @else {\n <kit-toggle class=\"switcher\"\n [defaultChecked]=\"getSettingValueByKey(userSettings, setting) === 'true'\"\n (changed)=\"setUserSettingByKey(setting.key, $event)\" />\n }\n }\n </div>\n}\n", styles: [".kit-user-settings-title{margin-top:25px;margin-bottom:25px}.kit-user-settings-content{display:grid;grid-template-columns:repeat(2,1fr);align-items:center;gap:10px}.kit-user-settings-content .text{color:var(--color-grey-4);font-size:14px;font-weight:400}.kit-user-settings-content .switcher{justify-self:end}.kit-user-settings-content.dark .text{color:var(--ui-kit-color-white)}::ng-deep .kit-user-settings-title.dark .kit-entity-title{color:var(--ui-kit-color-white)}\n"], dependencies: [{ kind: "component", type: KitToggleComponent, selector: "kit-toggle", inputs: ["label", "disabled", "readonly", "defaultChecked", "leftLabel", "rightLabel", "messageIcon", "messageText", "size"], outputs: ["disabledChange", "defaultCheckedChange", "changed"] }, { kind: "component", type: KitOptionToggleComponent, selector: "kit-option-toggle", inputs: ["disabled", "defaultActiveOption", "leftOption", "rightOption", "size"], outputs: ["disabledChange", "defaultActiveOptionChange", "handleChange"] }, { kind: "component", type: KitEntityTitleComponent, selector: "kit-entity-title" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13185
13197
  }
13186
13198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserSettingsComponent, decorators: [{
13187
13199
  type: Component,
13188
13200
  args: [{ selector: 'kit-user-settings', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
13189
13201
  KitToggleComponent,
13202
+ KitOptionToggleComponent,
13190
13203
  KitEntityTitleComponent,
13191
13204
  TranslatePipe,
13192
- AsyncPipe,
13193
13205
  NgClass,
13194
- ], template: "<div class=\"kit-user-settings-title\"\n [ngClass]=\"theme()\">\n <kit-entity-title>\n {{ \"kit.userSettings.title\" | translate }}\n </kit-entity-title>\n</div>\n\n@if (userSettings$ | async; as userSettings) {\n <div class=\"kit-user-settings-content\"\n [ngClass]=\"theme()\">\n @for (setting of kitUserSettings(); track setting.key) {\n <p class=\"text\">{{ setting.title }}</p>\n <kit-toggle class=\"switcher\"\n [defaultChecked]=\"userSettings[setting.key] === 'true'\"\n (changed)=\"setUserSettingByKey(setting.key, $event)\" />\n }\n </div>\n}\n", styles: [".kit-user-settings-title{margin-top:25px;margin-bottom:25px}.kit-user-settings-content{display:grid;grid-template-columns:repeat(2,1fr);align-items:center;gap:10px}.kit-user-settings-content .text{color:var(--color-grey-4);font-size:14px;font-weight:400}.kit-user-settings-content .switcher{justify-self:end}.kit-user-settings-content.dark .text{color:var(--ui-kit-color-white)}::ng-deep .kit-user-settings-title.dark .kit-entity-title{color:var(--ui-kit-color-white)}\n"] }]
13206
+ ], template: "<div class=\"kit-user-settings-title\"\n [ngClass]=\"theme()\">\n <kit-entity-title>\n {{ \"kit.userSettings.title\" | translate }}\n </kit-entity-title>\n</div>\n\n@if (userSettings(); as userSettings) {\n <div class=\"kit-user-settings-content\"\n [ngClass]=\"theme()\">\n @for (setting of kitUserSettings(); track setting.key) {\n <p class=\"text\">{{ setting.title }}</p>\n @if (setting.toggleType === 'option' && setting.leftToggleOption && setting.rightToggleOption) {\n <kit-option-toggle class=\"switcher\"\n [leftOption]=\"setting.leftToggleOption\"\n [rightOption]=\"setting.rightToggleOption\"\n [defaultActiveOption]=\"getSettingValueByKey(userSettings, setting)\"\n (handleChange)=\"setUserSettingByKey(setting.key, $event)\" />\n } @else {\n <kit-toggle class=\"switcher\"\n [defaultChecked]=\"getSettingValueByKey(userSettings, setting) === 'true'\"\n (changed)=\"setUserSettingByKey(setting.key, $event)\" />\n }\n }\n </div>\n}\n", styles: [".kit-user-settings-title{margin-top:25px;margin-bottom:25px}.kit-user-settings-content{display:grid;grid-template-columns:repeat(2,1fr);align-items:center;gap:10px}.kit-user-settings-content .text{color:var(--color-grey-4);font-size:14px;font-weight:400}.kit-user-settings-content .switcher{justify-self:end}.kit-user-settings-content.dark .text{color:var(--ui-kit-color-white)}::ng-deep .kit-user-settings-title.dark .kit-entity-title{color:var(--ui-kit-color-white)}\n"] }]
13195
13207
  }], propDecorators: { kitUserSettings: [{ type: i0.Input, args: [{ isSignal: true, alias: "kitUserSettings", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }] } });
13196
13208
 
13197
13209
  var KitUserSettingsKeys;