orbiq-neural-ui-kit 1.0.18 → 1.0.19

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.
@@ -12509,11 +12509,11 @@ class NeuralFilterBuilderComponent {
12509
12509
  });
12510
12510
  }
12511
12511
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NeuralFilterBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12512
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: NeuralFilterBuilderComponent, isStandalone: true, selector: "neural-filter-builder", inputs: { fields: { classPropertyName: "fields", publicName: "fields", isSignal: true, isRequired: true, transformFunction: null }, valueInputTemplate: { classPropertyName: "valueInputTemplate", publicName: "valueInputTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { apply: "apply" }, ngImport: i0, template: "<div class=\"bg-white border border-gray-200 rounded-lg shadow-lg w-full max-w-2xl text-sm flex flex-col overflow-hidden\">\n \n <!-- Lista de Filtros -->\n <div class=\"p-4 flex flex-col gap-3\">\n @for (rule of rules(); track $index) {\n <div class=\"flex items-center gap-2 w-full\">\n \n <!-- Seleccionar Campo -->\n <select \n class=\"flex-1 bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n [ngModel]=\"rule.field\" \n (ngModelChange)=\"updateRule($index, 'field', $event)\">\n <option value=\"\" disabled>Seleccione un campo...</option>\n @for (field of fields(); track field.key) {\n <option [value]=\"field.key\">{{ field.label }}</option>\n }\n </select>\n\n <!-- Seleccionar Operador -->\n <select \n class=\"flex-1 bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n [ngModel]=\"rule.operator\" \n (ngModelChange)=\"updateRule($index, 'operator', $event)\">\n @for (op of operators; track op.value) {\n <option [value]=\"op.value\">{{ op.label }}</option>\n }\n </select>\n\n <!-- Valor: Template personalizado o input por defecto -->\n <div class=\"flex-[1.5] relative\">\n @if (valueInputTemplate()) {\n <ng-container *ngTemplateOutlet=\"valueInputTemplate()!; context: { $implicit: rule, index: $index, updateRule: updateRule.bind(this) }\"></ng-container>\n } @else {\n <input \n type=\"text\" \n class=\"w-full bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n placeholder=\"Valor...\"\n [ngModel]=\"rule.value\" \n (ngModelChange)=\"updateRule($index, 'value', $event)\">\n }\n </div>\n\n <!-- Bot\u00F3n para eliminar regla -->\n <button \n (click)=\"removeRule($index)\"\n class=\"p-2 text-gray-400 hover:text-red-500 rounded-md hover:bg-red-50 transition-colors ml-1\"\n aria-label=\"Eliminar filtro\">\n <neural-icon name=\"x\" size=\"16\"></neural-icon>\n </button>\n </div>\n }\n\n <!-- Fila vac\u00EDa inicial si no hay filtros -->\n @if (rules().length === 0) {\n <div class=\"text-gray-400 italic text-center py-4 text-xs\">\n No hay filtros activos. Haz clic en \"+ A\u00F1adir Filtro\".\n </div>\n }\n </div>\n\n <hr class=\"border-gray-100 m-0\">\n\n <!-- Acciones -->\n <div class=\"p-4 bg-gray-50 flex items-center justify-between\">\n <button \n (click)=\"addRule()\"\n class=\"text-gray-600 font-medium hover:text-gray-900 transition-colors flex items-center gap-1\">\n <span class=\"text-lg leading-none\">+</span> A\u00F1adir Filtro\n </button>\n\n <div class=\"flex items-center gap-2\">\n <neural-button \n variant=\"ghost\" \n theme=\"gray\" \n (click)=\"clearRules()\">\n Borrar Filtros\n </neural-button>\n \n <neural-button \n variant=\"solid\" \n theme=\"gray\" \n (click)=\"applyFilters()\">\n Aplicar filtros\n </neural-button>\n </div>\n </div>\n\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NeuralButtonComponent, selector: "neural-button", inputs: ["variant", "theme", "size", "type", "disabled", "loading", "icon", "iconLeft", "iconRight", "iconOnly"], outputs: ["clicked"] }, { kind: "component", type: NeuralIconComponent, selector: "neural-icon", inputs: ["name"] }] });
12512
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: NeuralFilterBuilderComponent, isStandalone: true, selector: "neural-filter-builder", inputs: { fields: { classPropertyName: "fields", publicName: "fields", isSignal: true, isRequired: true, transformFunction: null }, valueInputTemplate: { classPropertyName: "valueInputTemplate", publicName: "valueInputTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { apply: "apply" }, ngImport: i0, template: "<div class=\"bg-white border border-gray-200 rounded-lg shadow-lg w-full max-w-2xl text-sm flex flex-col overflow-hidden\">\n \n <!-- Lista de Filtros -->\n <div class=\"p-4 flex flex-col gap-3\">\n @for (rule of rules(); track $index) {\n <div class=\"flex items-center gap-2 w-full\">\n \n <!-- Seleccionar Campo -->\n <select \n class=\"flex-1 bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n [ngModel]=\"rule.field\" \n (ngModelChange)=\"updateRule($index, 'field', $event)\">\n <option value=\"\" disabled>Seleccione un campo...</option>\n @for (field of fields(); track field.key) {\n <option [value]=\"field.key\">{{ field.label }}</option>\n }\n </select>\n\n <!-- Seleccionar Operador -->\n <select \n class=\"flex-1 bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n [ngModel]=\"rule.operator\" \n (ngModelChange)=\"updateRule($index, 'operator', $event)\">\n @for (op of operators; track op.value) {\n <option [value]=\"op.value\">{{ op.label }}</option>\n }\n </select>\n\n <!-- Valor: Template personalizado o input por defecto -->\n <div class=\"flex-[1.5] relative\">\n @if (valueInputTemplate()) {\n <ng-container *ngTemplateOutlet=\"valueInputTemplate()!; context: { $implicit: rule, index: $index, updateRule: updateRule.bind(this) }\"></ng-container>\n } @else {\n <input \n type=\"text\" \n class=\"w-full bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n placeholder=\"Valor...\"\n [ngModel]=\"rule.value\" \n (ngModelChange)=\"updateRule($index, 'value', $event)\">\n }\n </div>\n\n <!-- Bot\u00F3n para eliminar regla -->\n <button \n (click)=\"removeRule($index)\"\n class=\"p-2 text-gray-400 hover:text-red-500 rounded-md hover:bg-red-50 transition-colors ml-1\"\n aria-label=\"Eliminar filtro\">\n <neural-icon name=\"lucide-x\" class=\"size-4\"></neural-icon>\n </button>\n </div>\n }\n\n <!-- Fila vac\u00EDa inicial si no hay filtros -->\n @if (rules().length === 0) {\n <div class=\"text-gray-400 italic text-center py-4 text-xs\">\n No hay filtros activos. Haz clic en \"+ A\u00F1adir Filtro\".\n </div>\n }\n </div>\n\n <hr class=\"border-gray-100 m-0\">\n\n <!-- Acciones -->\n <div class=\"p-4 bg-gray-50 flex items-center justify-between\">\n <button \n (click)=\"addRule()\"\n class=\"text-gray-600 font-medium hover:text-gray-900 transition-colors flex items-center gap-1\">\n <span class=\"text-lg leading-none\">+</span> A\u00F1adir Filtro\n </button>\n\n <div class=\"flex items-center gap-2\">\n <neural-button \n variant=\"ghost\" \n theme=\"gray\" \n (click)=\"clearRules()\">\n Borrar Filtros\n </neural-button>\n \n <neural-button \n variant=\"solid\" \n theme=\"gray\" \n (click)=\"applyFilters()\">\n Aplicar filtros\n </neural-button>\n </div>\n </div>\n\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NeuralButtonComponent, selector: "neural-button", inputs: ["variant", "theme", "size", "type", "disabled", "loading", "icon", "iconLeft", "iconRight", "iconOnly"], outputs: ["clicked"] }, { kind: "component", type: NeuralIconComponent, selector: "neural-icon", inputs: ["name"] }] });
12513
12513
  }
12514
12514
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NeuralFilterBuilderComponent, decorators: [{
12515
12515
  type: Component,
12516
- args: [{ selector: 'neural-filter-builder', standalone: true, imports: [CommonModule, FormsModule, NeuralButtonComponent, NeuralIconComponent], template: "<div class=\"bg-white border border-gray-200 rounded-lg shadow-lg w-full max-w-2xl text-sm flex flex-col overflow-hidden\">\n \n <!-- Lista de Filtros -->\n <div class=\"p-4 flex flex-col gap-3\">\n @for (rule of rules(); track $index) {\n <div class=\"flex items-center gap-2 w-full\">\n \n <!-- Seleccionar Campo -->\n <select \n class=\"flex-1 bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n [ngModel]=\"rule.field\" \n (ngModelChange)=\"updateRule($index, 'field', $event)\">\n <option value=\"\" disabled>Seleccione un campo...</option>\n @for (field of fields(); track field.key) {\n <option [value]=\"field.key\">{{ field.label }}</option>\n }\n </select>\n\n <!-- Seleccionar Operador -->\n <select \n class=\"flex-1 bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n [ngModel]=\"rule.operator\" \n (ngModelChange)=\"updateRule($index, 'operator', $event)\">\n @for (op of operators; track op.value) {\n <option [value]=\"op.value\">{{ op.label }}</option>\n }\n </select>\n\n <!-- Valor: Template personalizado o input por defecto -->\n <div class=\"flex-[1.5] relative\">\n @if (valueInputTemplate()) {\n <ng-container *ngTemplateOutlet=\"valueInputTemplate()!; context: { $implicit: rule, index: $index, updateRule: updateRule.bind(this) }\"></ng-container>\n } @else {\n <input \n type=\"text\" \n class=\"w-full bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n placeholder=\"Valor...\"\n [ngModel]=\"rule.value\" \n (ngModelChange)=\"updateRule($index, 'value', $event)\">\n }\n </div>\n\n <!-- Bot\u00F3n para eliminar regla -->\n <button \n (click)=\"removeRule($index)\"\n class=\"p-2 text-gray-400 hover:text-red-500 rounded-md hover:bg-red-50 transition-colors ml-1\"\n aria-label=\"Eliminar filtro\">\n <neural-icon name=\"x\" size=\"16\"></neural-icon>\n </button>\n </div>\n }\n\n <!-- Fila vac\u00EDa inicial si no hay filtros -->\n @if (rules().length === 0) {\n <div class=\"text-gray-400 italic text-center py-4 text-xs\">\n No hay filtros activos. Haz clic en \"+ A\u00F1adir Filtro\".\n </div>\n }\n </div>\n\n <hr class=\"border-gray-100 m-0\">\n\n <!-- Acciones -->\n <div class=\"p-4 bg-gray-50 flex items-center justify-between\">\n <button \n (click)=\"addRule()\"\n class=\"text-gray-600 font-medium hover:text-gray-900 transition-colors flex items-center gap-1\">\n <span class=\"text-lg leading-none\">+</span> A\u00F1adir Filtro\n </button>\n\n <div class=\"flex items-center gap-2\">\n <neural-button \n variant=\"ghost\" \n theme=\"gray\" \n (click)=\"clearRules()\">\n Borrar Filtros\n </neural-button>\n \n <neural-button \n variant=\"solid\" \n theme=\"gray\" \n (click)=\"applyFilters()\">\n Aplicar filtros\n </neural-button>\n </div>\n </div>\n\n</div>\n" }]
12516
+ args: [{ selector: 'neural-filter-builder', standalone: true, imports: [CommonModule, FormsModule, NeuralButtonComponent, NeuralIconComponent], template: "<div class=\"bg-white border border-gray-200 rounded-lg shadow-lg w-full max-w-2xl text-sm flex flex-col overflow-hidden\">\n \n <!-- Lista de Filtros -->\n <div class=\"p-4 flex flex-col gap-3\">\n @for (rule of rules(); track $index) {\n <div class=\"flex items-center gap-2 w-full\">\n \n <!-- Seleccionar Campo -->\n <select \n class=\"flex-1 bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n [ngModel]=\"rule.field\" \n (ngModelChange)=\"updateRule($index, 'field', $event)\">\n <option value=\"\" disabled>Seleccione un campo...</option>\n @for (field of fields(); track field.key) {\n <option [value]=\"field.key\">{{ field.label }}</option>\n }\n </select>\n\n <!-- Seleccionar Operador -->\n <select \n class=\"flex-1 bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n [ngModel]=\"rule.operator\" \n (ngModelChange)=\"updateRule($index, 'operator', $event)\">\n @for (op of operators; track op.value) {\n <option [value]=\"op.value\">{{ op.label }}</option>\n }\n </select>\n\n <!-- Valor: Template personalizado o input por defecto -->\n <div class=\"flex-[1.5] relative\">\n @if (valueInputTemplate()) {\n <ng-container *ngTemplateOutlet=\"valueInputTemplate()!; context: { $implicit: rule, index: $index, updateRule: updateRule.bind(this) }\"></ng-container>\n } @else {\n <input \n type=\"text\" \n class=\"w-full bg-gray-50 border border-transparent focus:border-gray-300 focus:bg-white focus:ring-0 rounded-md p-2 outline-none transition-colors\"\n placeholder=\"Valor...\"\n [ngModel]=\"rule.value\" \n (ngModelChange)=\"updateRule($index, 'value', $event)\">\n }\n </div>\n\n <!-- Bot\u00F3n para eliminar regla -->\n <button \n (click)=\"removeRule($index)\"\n class=\"p-2 text-gray-400 hover:text-red-500 rounded-md hover:bg-red-50 transition-colors ml-1\"\n aria-label=\"Eliminar filtro\">\n <neural-icon name=\"lucide-x\" class=\"size-4\"></neural-icon>\n </button>\n </div>\n }\n\n <!-- Fila vac\u00EDa inicial si no hay filtros -->\n @if (rules().length === 0) {\n <div class=\"text-gray-400 italic text-center py-4 text-xs\">\n No hay filtros activos. Haz clic en \"+ A\u00F1adir Filtro\".\n </div>\n }\n </div>\n\n <hr class=\"border-gray-100 m-0\">\n\n <!-- Acciones -->\n <div class=\"p-4 bg-gray-50 flex items-center justify-between\">\n <button \n (click)=\"addRule()\"\n class=\"text-gray-600 font-medium hover:text-gray-900 transition-colors flex items-center gap-1\">\n <span class=\"text-lg leading-none\">+</span> A\u00F1adir Filtro\n </button>\n\n <div class=\"flex items-center gap-2\">\n <neural-button \n variant=\"ghost\" \n theme=\"gray\" \n (click)=\"clearRules()\">\n Borrar Filtros\n </neural-button>\n \n <neural-button \n variant=\"solid\" \n theme=\"gray\" \n (click)=\"applyFilters()\">\n Aplicar filtros\n </neural-button>\n </div>\n </div>\n\n</div>\n" }]
12517
12517
  }], propDecorators: { fields: [{ type: i0.Input, args: [{ isSignal: true, alias: "fields", required: true }] }], valueInputTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueInputTemplate", required: false }] }], apply: [{ type: i0.Output, args: ["apply"] }] } });
12518
12518
 
12519
12519
  class NeuralPageHeaderComponent {