@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1318-c → 1.5.1318-d

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.
@@ -989,6 +989,34 @@ var notification_card$1 = {
989
989
  primary_text: "No tienes elementos para mostrar"
990
990
  }
991
991
  };
992
+ var dropdown$1 = {
993
+ menu: {
994
+ filter_placeholder: "Selecciona una opción"
995
+ }
996
+ };
997
+ var text_editor$1 = {
998
+ prompt: {
999
+ link: {
1000
+ link_label: "Insertar enlace",
1001
+ link_placeholder: "https://example.com",
1002
+ link_helper: "Ingresa la URL a la que deseas enlazar.",
1003
+ target_label: "Selecciona destino",
1004
+ target_placeholder: "Selecciona una opción",
1005
+ target_helper: "Selecciona el destino del enlace.",
1006
+ rel_label: "Agregar atributo rel (noopener noreferrer)"
1007
+ },
1008
+ image: {
1009
+ image_label: "Insertar imagen",
1010
+ image_placeholder: "https://example.com/image.jpg",
1011
+ image_helper: "Ingresa la URL de la imagen que deseas insertar.",
1012
+ alt_label: "Texto alternativo",
1013
+ alt_helper: "Ingresa el texto alternativo para la imagen.",
1014
+ alt_placeholder: "Texto alternativo de la imagen"
1015
+ },
1016
+ primary_button: "Insertar",
1017
+ secondary_button: "Cancelar"
1018
+ }
1019
+ };
992
1020
  var es = {
993
1021
  account_statement: account_statement$1,
994
1022
  advertisement_card: advertisement_card$1,
@@ -1010,7 +1038,9 @@ var es = {
1010
1038
  totp: totp$1,
1011
1039
  user_profile: user_profile$1,
1012
1040
  user_summary: user_summary$1,
1013
- notification_card: notification_card$1
1041
+ notification_card: notification_card$1,
1042
+ dropdown: dropdown$1,
1043
+ text_editor: text_editor$1
1014
1044
  };
1015
1045
 
1016
1046
  var account_statement = {
@@ -1130,6 +1160,34 @@ var notification_card = {
1130
1160
  primary_text: "You have no notifications to show"
1131
1161
  }
1132
1162
  };
1163
+ var dropdown = {
1164
+ menu: {
1165
+ filter_placeholder: "Select an option"
1166
+ }
1167
+ };
1168
+ var text_editor = {
1169
+ prompt: {
1170
+ link: {
1171
+ link_label: "Insert Link",
1172
+ link_placeholder: "https://example.com",
1173
+ link_helper: "Enter the URL you want to link to.",
1174
+ target_label: "Select Target",
1175
+ target_placeholder: "Select an option",
1176
+ target_helper: "Select the target of the link.",
1177
+ rel_label: "Add rel attribute (noopener noreferrer)"
1178
+ },
1179
+ image: {
1180
+ image_label: "Insert Image",
1181
+ image_placeholder: "https://example.com/image.jpg",
1182
+ image_helper: "Enter the URL of the image you want to insert.",
1183
+ alt_label: "Alternative Text",
1184
+ alt_helper: "Provide alternative text for the image.",
1185
+ alt_placeholder: "Describe the image"
1186
+ },
1187
+ primary_button: "Insert",
1188
+ secondary_button: "Cancel"
1189
+ }
1190
+ };
1133
1191
  var en = {
1134
1192
  account_statement: account_statement,
1135
1193
  advertisement_card: advertisement_card,
@@ -1151,7 +1209,9 @@ var en = {
1151
1209
  totp: totp,
1152
1210
  user_profile: user_profile,
1153
1211
  user_summary: user_summary,
1154
- notification_card: notification_card
1212
+ notification_card: notification_card,
1213
+ dropdown: dropdown,
1214
+ text_editor: text_editor
1155
1215
  };
1156
1216
 
1157
1217
  class BmbTranslationsService {
@@ -1325,7 +1385,7 @@ class BmbLayoutItemDirective {
1325
1385
  this.isDynamicItem = input(false);
1326
1386
  }
1327
1387
  get elementClass() {
1328
- const classes = [];
1388
+ const classes = ['bmb_layout-item'];
1329
1389
  if (this.colSm())
1330
1390
  classes.push(`bmb_col-sm-${this.colSm()}`);
1331
1391
  if (this.colLg())
@@ -1779,7 +1839,7 @@ class BmbProjectedContentComponent {
1779
1839
  });
1780
1840
  Object.keys(this.outputContext()).forEach((key) => {
1781
1841
  if (instance[key] && instance[key].subscribe) {
1782
- instance[key].subscribe(() => {
1842
+ instance[key].subscribe((event) => {
1783
1843
  this.outputContext()[key](event);
1784
1844
  });
1785
1845
  }
@@ -2786,7 +2846,7 @@ class BmbDropdownContentComponent {
2786
2846
  }
2787
2847
  }
2788
2848
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbDropdownContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2789
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbDropdownContentComponent, isStandalone: true, selector: "bmb-dropdown-content", inputs: { selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, isKeyboardEvent: { classPropertyName: "isKeyboardEvent", publicName: "isKeyboardEvent", isSignal: true, isRequired: false, transformFunction: null }, enableFilter: { classPropertyName: "enableFilter", publicName: "enableFilter", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", isKeyboardEvent: "isKeyboardEventChange", clickedItem: "clickedItem", isOpen: "isOpenChange" }, ngImport: i0, template: "<div class=\"bmb_dropdown-content-modal\" [tabindex]=\"1\">\n <ul class=\"bmb_dropdown-content-container\" [tabindex]=\"-1\">\n @if (enableFilter()) {\n <li class=\"bmb_dropdown-content-item bmb_dropdown-content-item-filter\">\n <input\n type=\"text\"\n class=\"bmb_dropdown-content-item-filter-input\"\n placeholder=\"Select an option\"\n (input)=\"filterList($event)\"\n />\n <bmb-icon\n class=\"bmb_dropdown-content-item-filter-icon\"\n icon=\"search\"\n [size]=\"24\"\n />\n </li>\n }\n @for (item of filteredItems(); track $index) {\n <li\n class=\"bmb_dropdown-content-item\"\n [ngClass]=\"{\n 'bmb_dropdown-content-item-selected': isSelected(item.value!)\n }\"\n [id]=\"item.idItem\"\n >\n <bmb-check-external-link-button\n [link]=\"item.url!\"\n [target]=\"item.target!\"\n (buttonClick)=\"handleDropdown(item)\"\n >\n @if (!!item.icon) {\n <bmb-icon\n class=\"bmb_dropdown-content-item-icon\"\n [icon]=\"item.icon\"\n [size]=\"24\"\n [dotNotification]=\"item.dotNotification\"\n />\n }\n <span class=\"bmb_dropdown-content-item-text\">\n {{ item.text }}\n </span>\n </bmb-check-external-link-button>\n </li>\n }\n </ul>\n</div>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_dropdown-content-modal{background-color:var(--containers-main);border:0;z-index:1;box-shadow:var(--bmb-box-shadow-3);max-height:18rem;overflow:auto;width:100%;border-radius:.5rem;padding:0;margin:.5rem 0 0}.bmb_dropdown-content-container{list-style:none;padding:0;margin:0}.bmb_dropdown-content-item{color:var(--menu_select-label-menu-inactive)}.bmb_dropdown-content-item .bmb_check-external-link-button-element{display:flex;align-items:center;background-color:transparent;border:none;padding:.5rem 1rem;text-decoration:none;width:100%;height:3rem;gap:var(--bmb-spacing-m)}.bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{background-color:var(--menu_select-on-surface-hovered);outline:0 none}.bmb_dropdown-content-item-selected{color:var(--menu_select-label-menu-active)}.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element{background-color:var(--menu_select-surface-activated)}.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:hover,.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:focus,.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:focus-visible{color:var(--menu_select-label-menu-inactive)}.bmb_dropdown-content-item-text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Poppins-Regular,sans-serif;font-size:.875rem}.bmb_dropdown-content-item-filter{position:sticky;top:0;left:0}.bmb_dropdown-content-item-filter-icon{position:absolute;left:.5rem;top:.5rem}.bmb_dropdown-content-item-filter-input{border-radius:.5rem .5rem 0 0;border:.0625rem solid var(--general_contrasts-50);background-color:var(--general_contrasts-input-background);padding:.5rem .5rem .5rem 3rem;color:var(--menu_select-label-menu-inactive);width:100%}.bmb_dropdown-content-item-filter-input:hover,.bmb_dropdown-content-item-filter-input:focus,.bmb_dropdown-content-item-filter-input:focus-visible{outline:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BmbCheckExternalLinkButtonComponent, selector: "bmb-check-external-link-button", inputs: ["idElement", "link", "target", "disabled", "buttonName"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2849
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbDropdownContentComponent, isStandalone: true, selector: "bmb-dropdown-content", inputs: { selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, isKeyboardEvent: { classPropertyName: "isKeyboardEvent", publicName: "isKeyboardEvent", isSignal: true, isRequired: false, transformFunction: null }, enableFilter: { classPropertyName: "enableFilter", publicName: "enableFilter", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", isKeyboardEvent: "isKeyboardEventChange", clickedItem: "clickedItem", isOpen: "isOpenChange" }, ngImport: i0, template: "<div class=\"bmb_dropdown-content-modal\" [tabindex]=\"1\">\n <ul class=\"bmb_dropdown-content-container\" [tabindex]=\"-1\">\n @if (enableFilter()) {\n <li class=\"bmb_dropdown-content-item bmb_dropdown-content-item-filter\">\n <input\n type=\"text\"\n class=\"bmb_dropdown-content-item-filter-input\"\n [placeholder]=\"'dropdown.menu.filter_placeholder' | translate\"\n (input)=\"filterList($event)\"\n />\n <bmb-icon\n class=\"bmb_dropdown-content-item-filter-icon\"\n icon=\"search\"\n [size]=\"24\"\n />\n </li>\n }\n @for (item of filteredItems(); track $index) {\n <li\n class=\"bmb_dropdown-content-item\"\n [ngClass]=\"{\n 'bmb_dropdown-content-item-selected': isSelected(item.value!)\n }\"\n [id]=\"item.idItem\"\n >\n <bmb-check-external-link-button\n [link]=\"item.url!\"\n [target]=\"item.target!\"\n (buttonClick)=\"handleDropdown(item)\"\n >\n @if (!!item.icon) {\n <bmb-icon\n class=\"bmb_dropdown-content-item-icon\"\n [icon]=\"item.icon\"\n [size]=\"24\"\n [dotNotification]=\"item.dotNotification\"\n />\n }\n <span class=\"bmb_dropdown-content-item-text\">\n {{ item.text }}\n </span>\n </bmb-check-external-link-button>\n </li>\n }\n </ul>\n</div>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_dropdown-content-modal{background-color:var(--containers-main);border:0;z-index:1;box-shadow:var(--bmb-box-shadow-3);max-height:18rem;overflow:auto;width:100%;border-radius:.5rem;padding:0;margin:.5rem 0 0}.bmb_dropdown-content-container{list-style:none;padding:0;margin:0}.bmb_dropdown-content-item{color:var(--menu_select-label-menu-inactive)}.bmb_dropdown-content-item .bmb_check-external-link-button-element{display:flex;align-items:center;background-color:transparent;border:none;padding:.5rem 1rem;text-decoration:none;width:100%;height:3rem;gap:var(--bmb-spacing-m)}.bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{background-color:var(--menu_select-on-surface-hovered);outline:0 none}.bmb_dropdown-content-item-selected{color:var(--menu_select-label-menu-active)}.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element{background-color:var(--menu_select-surface-activated)}.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:hover,.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:focus,.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:focus-visible{color:var(--menu_select-label-menu-inactive)}.bmb_dropdown-content-item-text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Poppins-Regular,sans-serif;font-size:.875rem}.bmb_dropdown-content-item-filter{position:sticky;top:0;left:0;background-color:var(--containers-main)}.bmb_dropdown-content-item-filter-icon{position:absolute;left:.5rem;top:.5rem}.bmb_dropdown-content-item-filter-input{border-radius:.5rem .5rem 0 0;border:.0625rem solid var(--general_contrasts-50);background-color:var(--general_contrasts-input-background);padding:.5rem .5rem .5rem 3rem;color:var(--menu_select-label-menu-inactive);width:100%}.bmb_dropdown-content-item-filter-input:hover,.bmb_dropdown-content-item-filter-input:focus,.bmb_dropdown-content-item-filter-input:focus-visible{outline:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BmbCheckExternalLinkButtonComponent, selector: "bmb-check-external-link-button", inputs: ["idElement", "link", "target", "disabled", "buttonName"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2790
2850
  }
2791
2851
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbDropdownContentComponent, decorators: [{
2792
2852
  type: Component,
@@ -2794,7 +2854,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2794
2854
  CommonModule,
2795
2855
  BmbCheckExternalLinkButtonComponent,
2796
2856
  BmbIconComponent,
2797
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bmb_dropdown-content-modal\" [tabindex]=\"1\">\n <ul class=\"bmb_dropdown-content-container\" [tabindex]=\"-1\">\n @if (enableFilter()) {\n <li class=\"bmb_dropdown-content-item bmb_dropdown-content-item-filter\">\n <input\n type=\"text\"\n class=\"bmb_dropdown-content-item-filter-input\"\n placeholder=\"Select an option\"\n (input)=\"filterList($event)\"\n />\n <bmb-icon\n class=\"bmb_dropdown-content-item-filter-icon\"\n icon=\"search\"\n [size]=\"24\"\n />\n </li>\n }\n @for (item of filteredItems(); track $index) {\n <li\n class=\"bmb_dropdown-content-item\"\n [ngClass]=\"{\n 'bmb_dropdown-content-item-selected': isSelected(item.value!)\n }\"\n [id]=\"item.idItem\"\n >\n <bmb-check-external-link-button\n [link]=\"item.url!\"\n [target]=\"item.target!\"\n (buttonClick)=\"handleDropdown(item)\"\n >\n @if (!!item.icon) {\n <bmb-icon\n class=\"bmb_dropdown-content-item-icon\"\n [icon]=\"item.icon\"\n [size]=\"24\"\n [dotNotification]=\"item.dotNotification\"\n />\n }\n <span class=\"bmb_dropdown-content-item-text\">\n {{ item.text }}\n </span>\n </bmb-check-external-link-button>\n </li>\n }\n </ul>\n</div>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_dropdown-content-modal{background-color:var(--containers-main);border:0;z-index:1;box-shadow:var(--bmb-box-shadow-3);max-height:18rem;overflow:auto;width:100%;border-radius:.5rem;padding:0;margin:.5rem 0 0}.bmb_dropdown-content-container{list-style:none;padding:0;margin:0}.bmb_dropdown-content-item{color:var(--menu_select-label-menu-inactive)}.bmb_dropdown-content-item .bmb_check-external-link-button-element{display:flex;align-items:center;background-color:transparent;border:none;padding:.5rem 1rem;text-decoration:none;width:100%;height:3rem;gap:var(--bmb-spacing-m)}.bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{background-color:var(--menu_select-on-surface-hovered);outline:0 none}.bmb_dropdown-content-item-selected{color:var(--menu_select-label-menu-active)}.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element{background-color:var(--menu_select-surface-activated)}.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:hover,.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:focus,.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:focus-visible{color:var(--menu_select-label-menu-inactive)}.bmb_dropdown-content-item-text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Poppins-Regular,sans-serif;font-size:.875rem}.bmb_dropdown-content-item-filter{position:sticky;top:0;left:0}.bmb_dropdown-content-item-filter-icon{position:absolute;left:.5rem;top:.5rem}.bmb_dropdown-content-item-filter-input{border-radius:.5rem .5rem 0 0;border:.0625rem solid var(--general_contrasts-50);background-color:var(--general_contrasts-input-background);padding:.5rem .5rem .5rem 3rem;color:var(--menu_select-label-menu-inactive);width:100%}.bmb_dropdown-content-item-filter-input:hover,.bmb_dropdown-content-item-filter-input:focus,.bmb_dropdown-content-item-filter-input:focus-visible{outline:none}\n"] }]
2857
+ TranslatePipe,
2858
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bmb_dropdown-content-modal\" [tabindex]=\"1\">\n <ul class=\"bmb_dropdown-content-container\" [tabindex]=\"-1\">\n @if (enableFilter()) {\n <li class=\"bmb_dropdown-content-item bmb_dropdown-content-item-filter\">\n <input\n type=\"text\"\n class=\"bmb_dropdown-content-item-filter-input\"\n [placeholder]=\"'dropdown.menu.filter_placeholder' | translate\"\n (input)=\"filterList($event)\"\n />\n <bmb-icon\n class=\"bmb_dropdown-content-item-filter-icon\"\n icon=\"search\"\n [size]=\"24\"\n />\n </li>\n }\n @for (item of filteredItems(); track $index) {\n <li\n class=\"bmb_dropdown-content-item\"\n [ngClass]=\"{\n 'bmb_dropdown-content-item-selected': isSelected(item.value!)\n }\"\n [id]=\"item.idItem\"\n >\n <bmb-check-external-link-button\n [link]=\"item.url!\"\n [target]=\"item.target!\"\n (buttonClick)=\"handleDropdown(item)\"\n >\n @if (!!item.icon) {\n <bmb-icon\n class=\"bmb_dropdown-content-item-icon\"\n [icon]=\"item.icon\"\n [size]=\"24\"\n [dotNotification]=\"item.dotNotification\"\n />\n }\n <span class=\"bmb_dropdown-content-item-text\">\n {{ item.text }}\n </span>\n </bmb-check-external-link-button>\n </li>\n }\n </ul>\n</div>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_dropdown-content-modal{background-color:var(--containers-main);border:0;z-index:1;box-shadow:var(--bmb-box-shadow-3);max-height:18rem;overflow:auto;width:100%;border-radius:.5rem;padding:0;margin:.5rem 0 0}.bmb_dropdown-content-container{list-style:none;padding:0;margin:0}.bmb_dropdown-content-item{color:var(--menu_select-label-menu-inactive)}.bmb_dropdown-content-item .bmb_check-external-link-button-element{display:flex;align-items:center;background-color:transparent;border:none;padding:.5rem 1rem;text-decoration:none;width:100%;height:3rem;gap:var(--bmb-spacing-m)}.bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{background-color:var(--menu_select-on-surface-hovered);outline:0 none}.bmb_dropdown-content-item-selected{color:var(--menu_select-label-menu-active)}.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element{background-color:var(--menu_select-surface-activated)}.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:hover,.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:focus,.bmb_dropdown-content-item-selected .bmb_check-external-link-button-element:focus-visible{color:var(--menu_select-label-menu-inactive)}.bmb_dropdown-content-item-text{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Poppins-Regular,sans-serif;font-size:.875rem}.bmb_dropdown-content-item-filter{position:sticky;top:0;left:0;background-color:var(--containers-main)}.bmb_dropdown-content-item-filter-icon{position:absolute;left:.5rem;top:.5rem}.bmb_dropdown-content-item-filter-input{border-radius:.5rem .5rem 0 0;border:.0625rem solid var(--general_contrasts-50);background-color:var(--general_contrasts-input-background);padding:.5rem .5rem .5rem 3rem;color:var(--menu_select-label-menu-inactive);width:100%}.bmb_dropdown-content-item-filter-input:hover,.bmb_dropdown-content-item-filter-input:focus,.bmb_dropdown-content-item-filter-input:focus-visible{outline:none}\n"] }]
2798
2859
  }] });
2799
2860
 
2800
2861
  class BmbDropdownMenuComponent {
@@ -13327,9 +13388,190 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
13327
13388
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #student>\n <section class=\"bmb_profile-info\">\n <bmb-icon-item\n icon=\"calendar_month\"\n label=\"Semestre\"\n [value]=\"_studentData.period\"\n />\n\n <bmb-icon-item\n icon=\"location_on\"\n label=\"Campus\"\n [value]=\"_studentData.campus\"\n />\n\n <bmb-icon-item\n icon=\"library_books\"\n label=\"Programa\"\n [value]=\"_studentData.program\"\n />\n\n @if (_studentData.isExatec && _studentData.linkedin) {\n <bmb-icon-item\n icon=\"work_history\"\n label=\"Historial Laboral\"\n [value]=\"_studentData.linkedin\"\n />\n } @else if (!_studentData.isExatec && _studentData.curp) {\n <bmb-icon-item\n icon=\"assignment_ind\"\n label=\"Curp\"\n [value]=\"_studentData.curp\"\n />\n }\n </section>\n</ng-template>\n\n<ng-template #collaborator>\n <section class=\"bmb_profile-info\">\n <bmb-icon-item\n icon=\"id_card\"\n label=\"Puesto\"\n [value]=\"collaboratorData()?.position!\"\n />\n\n <bmb-icon-item\n icon=\"location_on\"\n label=\"\u00C1rea\"\n [value]=\"collaboratorData()?.area!\"\n [showDivider]=\"false\"\n />\n </section>\n <section class=\"bmb_profile-access\">\n <h2 class=\"bmb_profile-title\">Mi L\u00EDder</h2>\n <bmb-container-button\n [title]=\"collaboratorData()?.leader?.userData?.name!\"\n [subtitle]=\"collaboratorData()?.leader?.userData?.email!\"\n [iconLeft]=\"collaboratorData()?.leader?.userData?.userImg!\"\n [isUserImage]=\"true\"\n [link]=\"collaboratorData()?.leader?.hierarchyLink!\"\n [target]=\"collaboratorData()?.leader?.hierarchyTarget!\"\n (onButton)=\"handleButtonClick(collaboratorData()?.leader?.userData)\"\n />\n <h2 class=\"bmb_profile-title\">Mi Generalista</h2>\n <bmb-container-button\n [title]=\"collaboratorData()?.generalist?.userData?.name!\"\n [subtitle]=\"collaboratorData()?.generalist?.userData?.email!\"\n [iconLeft]=\"collaboratorData()?.generalist?.userData?.userImg!\"\n [isUserImage]=\"true\"\n [link]=\"collaboratorData()?.generalist?.hierarchyLink!\"\n [target]=\"collaboratorData()?.generalist?.hierarchyTarget!\"\n (onButton)=\"handleButtonClick(collaboratorData()?.generalist?.userData)\"\n />\n </section>\n</ng-template>\n\n<ng-template #content>\n <section class=\"bmb_profile\">\n <bmb-user-summary-content\n [isProfile]=\"true\"\n [name]=\"getUserData().name!\"\n [userId]=\"getUserData().registration!\"\n [image]=\"getUserData().userImg\"\n [email]=\"getUserData().email\"\n contentLayout=\"row\"\n [isImageBordered]=\"false\"\n />\n @if (!isStandAlone()) {\n @if (isStudent()) {\n <ng-container [ngTemplateOutlet]=\"student\" />\n } @else {\n <ng-container [ngTemplateOutlet]=\"collaborator\" />\n }\n }\n @if (enableLangChange() && isStandAlone()) {\n <section class=\"bmb_profile-info-container theme\">\n <div class=\"bmb_profile-info-container-item\">\n <bmb-icon [icon]=\"'language'\" [size]=\"24\" />\n <span class=\"bmb_profile-info-container-item-text\">Idioma</span>\n </div>\n <div class=\"bmb_profile-lang-container\">\n <bmb-radial\n id=\"es\"\n value=\"es\"\n name=\"language\"\n label=\"ES\"\n [checked]=\"true\"\n [required]=\"true\"\n [disabled]=\"false\"\n [control]=\"langFormControl\"\n (change)=\"handleRadial('es')\"\n />\n <bmb-radial\n id=\"en\"\n value=\"en\"\n name=\"language\"\n label=\"EN\"\n [checked]=\"false\"\n [required]=\"true\"\n [disabled]=\"false\"\n [control]=\"langFormControl\"\n (change)=\"handleRadial('en')\"\n />\n </div>\n </section>\n <bmb-divider />\n }\n <section class=\"bmb_profile-info-container theme\">\n <div class=\"bmb_profile-info-container-item\">\n <bmb-icon [icon]=\"'palette'\" [size]=\"24\" />\n <span class=\"bmb_profile-info-container-item-text\">Tema</span>\n </div>\n <bmb-theme leftText=\"Light\" rightText=\"Dark\" [showControls]=\"true\" />\n </section>\n @if (isMobile() && !isStandAlone()) {\n <section class=\"bmb_profile-access\">\n <bmb-container-button\n title=\"ID Digital\"\n iconLeft=\"person\"\n iconRight=\"chevron_right\"\n [link]=\"idDigitalLink()\"\n [target]=\"targetLinks()!\"\n />\n <bmb-container-button\n title=\"Acceso a Campus\"\n iconLeft=\"qr_code\"\n iconRight=\"chevron_right\"\n [link]=\"campusAcessLink()\"\n [target]=\"targetLinks()!\"\n />\n <bmb-container-button\n title=\"TecServices\"\n iconLeft=\"forum\"\n iconRight=\"chevron_right\"\n [link]=\"tecServicesLink()\"\n [target]=\"targetLinks()!\"\n />\n </section>\n <div class=\"bmb_profile-version\">\n {{ versionLabel() }}\n </div>\n }\n <section class=\"bmb_profile-close\">\n <button\n bmbButton\n appearance=\"destructive\"\n icon=\"logout\"\n size=\"large\"\n position=\"left\"\n (click)=\"closeSession()\"\n >\n Cerrar Sesi\u00F3n\n </button>\n </section>\n </section>\n</ng-template>\n\n@if (isStandAlone()) {\n <section class=\"bmb_profile-stand_alone\">\n <ng-container [ngTemplateOutlet]=\"content\" />\n </section>\n} @else if (isMobile()) {\n <bmb-mobile-templates\n [title]=\"'Mi Perfil'\"\n (externalLinkOnClose)=\"closeProfile()\"\n >\n <ng-template #bmbTemplateMain>\n <ng-container [ngTemplateOutlet]=\"content\" />\n </ng-template>\n </bmb-mobile-templates>\n} @else {\n <bmb-home-card\n icon=\"person\"\n bgIconAppearance=\"green-light\"\n title=\"Mi perfil\"\n [showRightButton]=\"false\"\n contentPadding=\"l\"\n >\n <ng-container [ngTemplateOutlet]=\"content\" />\n </bmb-home-card>\n}\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_profile{padding:1.375rem 1rem}.bmb_profile-info{margin-top:2.375rem}.bmb_profile-info-container{width:100%;display:flex;flex-direction:row;padding:1.375rem 0 1rem;align-items:center;justify-content:space-between}.bmb_profile-info-container-item{display:flex;align-items:center}.bmb_profile-info-container-item-text{font-family:Poppins-Bold,sans-serif;font-size:1rem;margin-left:1rem}.bmb_profile-access{display:flex;flex-direction:column;gap:1rem;margin-top:1.375rem}.bmb_profile-title{display:flex;padding:0 1.5rem;align-items:center;gap:.5rem;font-family:Poppins-Regular,sans-serif;font-size:1rem;color:var(--general_contrasts-75)}.bmb_profile-version{margin-top:1rem;font-family:Poppins-Regular,sans-serif;font-size:.75rem;color:var(--general_contrasts-75);font-weight:400;text-align:center}.bmb_profile-close{margin-top:1.5625rem}.bmb_profile-stand_alone{max-width:26.4375rem;padding:1.5rem;gap:1rem;border-radius:1.5rem;border:.0625rem solid var(--general_contrasts-container-outline);background:var(--containers-background);box-shadow:var(--bmb-box-shadow-3)}.bmb_profile-stand_alone .bmb_profile{padding:0}.bmb_profile-lang-container{display:flex;gap:1rem}\n"] }]
13328
13389
  }] });
13329
13390
 
13391
+ class BmbFormValidatorComponent {
13392
+ constructor() {
13393
+ this.formGroup = model(new FormGroup({}));
13394
+ this.formGroupState = output();
13395
+ }
13396
+ ngAfterViewInit() {
13397
+ this.addControls();
13398
+ }
13399
+ addControls() {
13400
+ this.bmbInputs.forEach((child) => {
13401
+ this.addControl(child.name(), child.control(), child.isControlNull);
13402
+ });
13403
+ this.bmbDropdowns.forEach((child) => {
13404
+ this.addControl(child.name(), child.control(), child.isControlNull);
13405
+ });
13406
+ this.bmbInputPhoneNumbers.forEach((child) => {
13407
+ this.addControl(child.name(), child.control(), child.isControlNull);
13408
+ });
13409
+ this.bmbInputTags.forEach((child) => {
13410
+ this.addControl(child.name(), child.control(), child.isControlNull);
13411
+ });
13412
+ this.bmbDatepickers.forEach((child) => {
13413
+ this.addControl(child.name(), child.control(), child.isControlNull);
13414
+ });
13415
+ this.bmbDateRanges.forEach((child) => {
13416
+ this.addControl(`${child.name()}_start`, child.controlStart(), child.isControlStartNull);
13417
+ this.addControl(`${child.name()}_end`, child.controlEnd(), child.isControlEndNull);
13418
+ });
13419
+ this.bmbCheckboxes.forEach((child) => {
13420
+ this.addControl(child.name(), child.control(), child.isControlNull);
13421
+ });
13422
+ this.bmbRadials.forEach((child) => {
13423
+ this.addControl(child.name(), child.control(), child.isControlNull);
13424
+ });
13425
+ this.bmbSwitches.forEach((child) => {
13426
+ this.addControl(child.name(), child.control(), child.isControlNull);
13427
+ });
13428
+ }
13429
+ addControl(controlName, control, isControlNull) {
13430
+ if (!this.getFormControl(controlName)) {
13431
+ this.formGroup().addControl(controlName, control);
13432
+ }
13433
+ else {
13434
+ if (isControlNull)
13435
+ this.formGroup().setControl(controlName, control);
13436
+ }
13437
+ }
13438
+ addRadials() {
13439
+ const radialNames = this.bmbRadials.reduce((acc, currentElement) => {
13440
+ if (acc.includes(currentElement.name()))
13441
+ return acc;
13442
+ return [...acc, currentElement.name()];
13443
+ }, []);
13444
+ radialNames.forEach((name) => {
13445
+ const radialIndexWithSameName = this.bmbRadials.reduce((acc, currentElement, index) => {
13446
+ if (currentElement.name() === name)
13447
+ return [...acc, index];
13448
+ return acc;
13449
+ }, []);
13450
+ const radialControl = this.bmbRadials.get(radialIndexWithSameName[0]);
13451
+ if (this.bmbRadials
13452
+ .filter((element) => element.name() === name)
13453
+ .every((elementSelected) => !elementSelected.isControlNull)) {
13454
+ this.addControl(radialControl.name(), radialControl.control(), false);
13455
+ return;
13456
+ }
13457
+ const value = this.bmbRadials
13458
+ .filter((element) => element.name() === name)
13459
+ ?.find((elementSelected) => elementSelected.checked())
13460
+ ?.control()?.value;
13461
+ radialControl.control()?.setValue(value);
13462
+ radialIndexWithSameName.slice(1).forEach((element) => {
13463
+ this.bmbRadials.get(element)?.control.set(radialControl.control());
13464
+ });
13465
+ this.addControl(radialControl.name(), radialControl.control(), false);
13466
+ });
13467
+ }
13468
+ onSubmit() {
13469
+ this.formGroup().updateValueAndValidity();
13470
+ this.formGroup().markAllAsTouched();
13471
+ this.updateErrorState();
13472
+ this.formGroupState.emit(this.formGroup());
13473
+ }
13474
+ updateErrorState() {
13475
+ Object.keys(this.formGroup().controls).forEach((field) => {
13476
+ const control = this.getFormControl(field);
13477
+ if (!!control) {
13478
+ handleValidity(control);
13479
+ }
13480
+ });
13481
+ }
13482
+ getFormControl(name) {
13483
+ return this.formGroup().get(name);
13484
+ }
13485
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbFormValidatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13486
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BmbFormValidatorComponent, isStandalone: true, selector: "bmb-form-validator", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formGroup: "formGroupChange", formGroupState: "formGroupState" }, queries: [{ propertyName: "bmbInputs", predicate: BmbInputComponent, descendants: true }, { propertyName: "bmbDropdowns", predicate: BmbDropdownComponent, descendants: true }, { propertyName: "bmbInputPhoneNumbers", predicate: BmbInputPhoneNumberComponent, descendants: true }, { propertyName: "bmbInputTags", predicate: BmbInputTagsComponent, descendants: true }, { propertyName: "bmbDatepickers", predicate: BmbDatepickerComponent, descendants: true }, { propertyName: "bmbDateRanges", predicate: BmbDateRangeComponent, descendants: true }, { propertyName: "bmbCheckboxes", predicate: BmbCheckboxComponent, descendants: true }, { propertyName: "bmbRadials", predicate: BmbRadialComponent, descendants: true }, { propertyName: "bmbSwitches", predicate: BmbSwitchComponent, descendants: true }], ngImport: i0, template: `
13487
+ <form [formGroup]="formGroup()" (ngSubmit)="onSubmit()">
13488
+ <ng-content />
13489
+ </form>
13490
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13491
+ }
13492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbFormValidatorComponent, decorators: [{
13493
+ type: Component,
13494
+ args: [{
13495
+ selector: 'bmb-form-validator',
13496
+ standalone: true,
13497
+ imports: [CommonModule, ReactiveFormsModule],
13498
+ template: `
13499
+ <form [formGroup]="formGroup()" (ngSubmit)="onSubmit()">
13500
+ <ng-content />
13501
+ </form>
13502
+ `,
13503
+ encapsulation: ViewEncapsulation.None,
13504
+ changeDetection: ChangeDetectionStrategy.OnPush,
13505
+ }]
13506
+ }], propDecorators: { bmbInputs: [{
13507
+ type: ContentChildren,
13508
+ args: [BmbInputComponent, { descendants: true }]
13509
+ }], bmbDropdowns: [{
13510
+ type: ContentChildren,
13511
+ args: [BmbDropdownComponent, { descendants: true }]
13512
+ }], bmbInputPhoneNumbers: [{
13513
+ type: ContentChildren,
13514
+ args: [BmbInputPhoneNumberComponent, { descendants: true }]
13515
+ }], bmbInputTags: [{
13516
+ type: ContentChildren,
13517
+ args: [BmbInputTagsComponent, { descendants: true }]
13518
+ }], bmbDatepickers: [{
13519
+ type: ContentChildren,
13520
+ args: [BmbDatepickerComponent, { descendants: true }]
13521
+ }], bmbDateRanges: [{
13522
+ type: ContentChildren,
13523
+ args: [BmbDateRangeComponent, { descendants: true }]
13524
+ }], bmbCheckboxes: [{
13525
+ type: ContentChildren,
13526
+ args: [BmbCheckboxComponent, { descendants: true }]
13527
+ }], bmbRadials: [{
13528
+ type: ContentChildren,
13529
+ args: [BmbRadialComponent, { descendants: true }]
13530
+ }], bmbSwitches: [{
13531
+ type: ContentChildren,
13532
+ args: [BmbSwitchComponent, { descendants: true }]
13533
+ }] } });
13534
+
13535
+ class BmbTextEditorPromptComponent {
13536
+ constructor() {
13537
+ this.type = input.required();
13538
+ this.formValues = output();
13539
+ this.cancelForm = output();
13540
+ this.formGroup = new FormGroup({});
13541
+ }
13542
+ getFormControl(name) {
13543
+ return this.formGroup.get(name);
13544
+ }
13545
+ handleFormGroupState() {
13546
+ if (this.formGroup.valid) {
13547
+ const values = this.formGroup.getRawValue();
13548
+ this.formValues.emit(values);
13549
+ }
13550
+ }
13551
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbTextEditorPromptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13552
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbTextEditorPromptComponent, isStandalone: true, selector: "app-bmb-text-editor-prompt", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { formValues: "formValues", cancelForm: "cancelForm" }, ngImport: i0, template: "<div class=\"bmb_text-editor-prompt\">\n <bmb-card>\n <bmb-card-content padding=\"l\">\n <bmb-form-validator\n [(formGroup)]=\"formGroup\"\n (formGroupState)=\"handleFormGroupState()\"\n >\n <section bmbVerticalLayout margin=\"none\">\n <div bmbVerticalLayoutItem>\n <bmb-input\n inputId=\"prompt_url\"\n name=\"prompt_url\"\n [label]=\"\n type() === 'link'\n ? ('text_editor.prompt.link.link_label' | translate)\n : ('text_editor.prompt.image.image_label' | translate)\"\n [isRequired]=\"true\"\n [helperMessage]=\"\n type() === 'link'\n ? ('text_editor.prompt.link.link_helper' | translate)\n : ('text_editor.prompt.image.image_helper' | translate)\n \"\n [placeholder]=\"\n type() === 'link'\n ? ('text_editor.prompt.link.link_placeholder' | translate)\n : ('text_editor.prompt.image.image_placeholder' | translate)\n \"\n />\n </div>\n @switch (type()) {\n @case ('link') {\n <div bmbVerticalLayoutItem>\n <h3>\n {{ 'text_editor.prompt.link.target_helper' | translate }}\n </h3>\n <div bmbLayout margin=\"none\" gapSize=\"none\">\n <bmb-radial\n inputId=\"target_blank\"\n name=\"target\"\n label=\"Blank\"\n value=\"_blank\"\n [control]=\"getFormControl('target')\"\n bmbLayoutItem\n [colSm]=\"2\"\n />\n <bmb-radial\n inputId=\"target_self\"\n name=\"target\"\n label=\"Self\"\n value=\"_self\"\n bmbLayoutItem\n [control]=\"getFormControl('target')\"\n [colSm]=\"2\"\n />\n <bmb-radial\n inputId=\"target_parent\"\n name=\"target\"\n label=\"Parent\"\n value=\"_parent\"\n bmbLayoutItem\n [control]=\"getFormControl('target')\"\n [colSm]=\"2\"\n />\n <bmb-radial\n inputId=\"target_top\"\n name=\"target\"\n label=\"Top\"\n value=\"_top\"\n bmbLayoutItem\n [control]=\"getFormControl('target')\"\n [colSm]=\"2\"\n />\n </div>\n </div>\n <div bmbVerticalLayoutItem>\n <bmb-checkbox\n inputId=\"add_rel\"\n name=\"rel\"\n [checked]=\"true\"\n [label]=\"'text_editor.prompt.link.rel_label' | translate\"\n />\n </div>\n }\n @case ('image') {\n <div bmbVerticalLayoutItem>\n <bmb-input\n inputId=\"prompt_alt\"\n name=\"prompt_alt\"\n [label]=\"'text_editor.prompt.image.alt_label' | translate\"\n [helperMessage]=\"\n 'text_editor.prompt.image.alt_helper' | translate\n \"\n [placeholder]=\"\n 'text_editor.prompt.image.alt_placeholder' | translate\n \"\n />\n </div>\n }\n }\n <footer bmbVerticalLayoutItem>\n <div bmbLayout margin=\"none\" gapSize=\"m\">\n <button\n bmbLayoutItem\n [colSm]=\"4\"\n bmbButton\n appearance=\"primary\"\n type=\"submit\"\n >\n {{ 'text_editor.prompt.primary_button' | translate }}\n </button>\n <button\n bmbLayoutItem\n [colSm]=\"4\"\n bmbButton\n appearance=\"secondary-outlined\"\n type=\"button\"\n (click)=\"cancelForm.emit()\"\n >\n {{ 'text_editor.prompt.secondary_button' | translate }}\n </button>\n </div>\n </footer>\n </section>\n </bmb-form-validator>\n </bmb-card-content>\n </bmb-card>\n</div>\n", styles: [".bmb_text-editor-prompt{width:clamp(300px,90vw,400px)}\n"], dependencies: [{ kind: "component", type: BmbCardComponent, selector: "bmb-card", inputs: ["borderRadius", "margin", "type", "state", "boxShadowStyle", "borderColor", "alternative"] }, { kind: "component", type: BmbFormValidatorComponent, selector: "bmb-form-validator", inputs: ["formGroup"], outputs: ["formGroupChange", "formGroupState"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbCardContentComponent, selector: "bmb-card-content", inputs: ["padding", "colorBackground", "setBorderRadius"] }, { kind: "component", type: BmbInputComponent, selector: "bmb-input", inputs: ["label", "type", "placeholder", "icon", "appearance", "errorMessage", "helperMessage", "disabled", "isRequired", "name", "spellcheck", "jsonFormat", "heightTextArea", "maxlength", "minlength", "pattern", "size", "max", "min", "id", "value", "autocomplete", "tooltip", "rows", "showMaxTextLength", "additionalAction", "tooltipPosition", "isClearable", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange", "isFocus", "isBlur", "onChange", "onKeyDown"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: BmbCheckboxComponent, selector: "bmb-checkbox", inputs: ["name", "id", "disabled", "required", "value", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "errorMessage", "helperMessage", "customValidation", "control", "checked", "showError", "indeterminate", "inputId"], outputs: ["controlChange", "checkedChange", "showErrorChange", "indeterminateChange", "inputIdChange", "change"] }, { kind: "directive", type: BmbLayoutDirective, selector: "[bmbLayout]", inputs: ["gapSize", "margin", "dynamicCols", "justify", "alignItems", "isContainerQuery"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }, { kind: "directive", type: BmbVerticalLayoutDirective, selector: "[bmbVerticalLayout]", inputs: ["gapSize", "justify", "alignItems", "layoutHeight"] }, { kind: "directive", type: BmbVerticalLayoutItemDirective, selector: "[bmbVerticalLayoutItem]", inputs: ["rowGrow"] }, { kind: "component", type: BmbRadialComponent, selector: "bmb-radial", inputs: ["id", "checked", "disabled", "value", "name", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "required", "errorMessage", "helperMessage", "showError", "control", "inputId"], outputs: ["showErrorChange", "controlChange", "inputIdChange", "change", "onKeyDown"] }] }); }
13553
+ }
13554
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbTextEditorPromptComponent, decorators: [{
13555
+ type: Component,
13556
+ args: [{ selector: 'app-bmb-text-editor-prompt', standalone: true, imports: [
13557
+ BmbCardComponent,
13558
+ BmbFormValidatorComponent,
13559
+ BmbButtonDirective,
13560
+ BmbCardContentComponent,
13561
+ BmbInputComponent,
13562
+ TranslatePipe,
13563
+ BmbCheckboxComponent,
13564
+ BmbLayoutDirective,
13565
+ BmbLayoutItemDirective,
13566
+ BmbVerticalLayoutDirective,
13567
+ BmbVerticalLayoutItemDirective,
13568
+ BmbRadialComponent,
13569
+ ], template: "<div class=\"bmb_text-editor-prompt\">\n <bmb-card>\n <bmb-card-content padding=\"l\">\n <bmb-form-validator\n [(formGroup)]=\"formGroup\"\n (formGroupState)=\"handleFormGroupState()\"\n >\n <section bmbVerticalLayout margin=\"none\">\n <div bmbVerticalLayoutItem>\n <bmb-input\n inputId=\"prompt_url\"\n name=\"prompt_url\"\n [label]=\"\n type() === 'link'\n ? ('text_editor.prompt.link.link_label' | translate)\n : ('text_editor.prompt.image.image_label' | translate)\"\n [isRequired]=\"true\"\n [helperMessage]=\"\n type() === 'link'\n ? ('text_editor.prompt.link.link_helper' | translate)\n : ('text_editor.prompt.image.image_helper' | translate)\n \"\n [placeholder]=\"\n type() === 'link'\n ? ('text_editor.prompt.link.link_placeholder' | translate)\n : ('text_editor.prompt.image.image_placeholder' | translate)\n \"\n />\n </div>\n @switch (type()) {\n @case ('link') {\n <div bmbVerticalLayoutItem>\n <h3>\n {{ 'text_editor.prompt.link.target_helper' | translate }}\n </h3>\n <div bmbLayout margin=\"none\" gapSize=\"none\">\n <bmb-radial\n inputId=\"target_blank\"\n name=\"target\"\n label=\"Blank\"\n value=\"_blank\"\n [control]=\"getFormControl('target')\"\n bmbLayoutItem\n [colSm]=\"2\"\n />\n <bmb-radial\n inputId=\"target_self\"\n name=\"target\"\n label=\"Self\"\n value=\"_self\"\n bmbLayoutItem\n [control]=\"getFormControl('target')\"\n [colSm]=\"2\"\n />\n <bmb-radial\n inputId=\"target_parent\"\n name=\"target\"\n label=\"Parent\"\n value=\"_parent\"\n bmbLayoutItem\n [control]=\"getFormControl('target')\"\n [colSm]=\"2\"\n />\n <bmb-radial\n inputId=\"target_top\"\n name=\"target\"\n label=\"Top\"\n value=\"_top\"\n bmbLayoutItem\n [control]=\"getFormControl('target')\"\n [colSm]=\"2\"\n />\n </div>\n </div>\n <div bmbVerticalLayoutItem>\n <bmb-checkbox\n inputId=\"add_rel\"\n name=\"rel\"\n [checked]=\"true\"\n [label]=\"'text_editor.prompt.link.rel_label' | translate\"\n />\n </div>\n }\n @case ('image') {\n <div bmbVerticalLayoutItem>\n <bmb-input\n inputId=\"prompt_alt\"\n name=\"prompt_alt\"\n [label]=\"'text_editor.prompt.image.alt_label' | translate\"\n [helperMessage]=\"\n 'text_editor.prompt.image.alt_helper' | translate\n \"\n [placeholder]=\"\n 'text_editor.prompt.image.alt_placeholder' | translate\n \"\n />\n </div>\n }\n }\n <footer bmbVerticalLayoutItem>\n <div bmbLayout margin=\"none\" gapSize=\"m\">\n <button\n bmbLayoutItem\n [colSm]=\"4\"\n bmbButton\n appearance=\"primary\"\n type=\"submit\"\n >\n {{ 'text_editor.prompt.primary_button' | translate }}\n </button>\n <button\n bmbLayoutItem\n [colSm]=\"4\"\n bmbButton\n appearance=\"secondary-outlined\"\n type=\"button\"\n (click)=\"cancelForm.emit()\"\n >\n {{ 'text_editor.prompt.secondary_button' | translate }}\n </button>\n </div>\n </footer>\n </section>\n </bmb-form-validator>\n </bmb-card-content>\n </bmb-card>\n</div>\n", styles: [".bmb_text-editor-prompt{width:clamp(300px,90vw,400px)}\n"] }]
13570
+ }] });
13571
+
13330
13572
  class BmbTextEditorComponent {
13331
13573
  detectAlignment() {
13332
- const selection = window.getSelection();
13574
+ const selection = globalThis.getSelection();
13333
13575
  if (selection && selection.rangeCount > 0) {
13334
13576
  const element = selection.getRangeAt(0)
13335
13577
  .commonAncestorContainer;
@@ -13344,19 +13586,24 @@ class BmbTextEditorComponent {
13344
13586
  this.execCommand('styleWithCSS', 'true');
13345
13587
  this.execCommand('justify' + alignment.charAt(0).toUpperCase() + alignment.slice(1));
13346
13588
  }
13347
- constructor(sanitizer) {
13589
+ constructor(sanitizer, projectionContent) {
13348
13590
  this.sanitizer = sanitizer;
13591
+ this.projectionContent = projectionContent;
13349
13592
  this.control = input(new FormControl(''));
13350
13593
  this.sanitizedContent = signal('');
13351
13594
  this.currentAlignment = 'left';
13352
13595
  this.showTableDialog = false;
13353
13596
  this.tableRows = 2;
13354
13597
  this.tableColumns = 2;
13598
+ this.userSelection = null;
13355
13599
  }
13356
13600
  ngOnInit() {
13357
- this.sanitizedContent.set(this.sanitizer.bypassSecurityTrustHtml(this.control().value || ''));
13601
+ this.sanitizedContent.set(
13602
+ // NOSONAR: Initial content sanitization
13603
+ this.sanitizer.bypassSecurityTrustHtml(this.control().value || ''));
13358
13604
  this.control().valueChanges?.subscribe((value) => {
13359
13605
  if (value === null) {
13606
+ // NOSONAR: Clear content sanitization
13360
13607
  this.sanitizedContent.set(this.sanitizer.bypassSecurityTrustHtml(''));
13361
13608
  }
13362
13609
  });
@@ -13371,15 +13618,61 @@ class BmbTextEditorComponent {
13371
13618
  }
13372
13619
  }
13373
13620
  execCommand(command, value = null) {
13621
+ if (this.userSelection) {
13622
+ const selection = globalThis.getSelection();
13623
+ if (selection) {
13624
+ selection.removeAllRanges();
13625
+ selection.addRange(this.userSelection);
13626
+ }
13627
+ }
13374
13628
  document.execCommand(command, false, value || undefined);
13375
13629
  this.updateContent();
13630
+ this.userSelection = null;
13631
+ }
13632
+ openPrompt(type, event) {
13633
+ this.userSelection = globalThis.getSelection()?.getRangeAt(0) || null;
13634
+ const buttonNode = event.currentTarget;
13635
+ this.projectionContent.openContent({
13636
+ content: BmbTextEditorPromptComponent,
13637
+ inputContext: { type },
13638
+ outputContext: {
13639
+ formValues: (values) => this.handleClosePrompt({ ...values, type }),
13640
+ cancelForm: () => this.projectionContent.closeContent(),
13641
+ },
13642
+ targetRef: buttonNode,
13643
+ });
13376
13644
  }
13377
- insertLink() {
13378
- const url = prompt('Ingrese la URL:');
13379
- if (url) {
13380
- this.execCommand('createLink', url);
13645
+ handleClosePrompt(values) {
13646
+ if (values['type'] === 'link' && values['prompt_url']) {
13647
+ this.insertLink(values);
13648
+ }
13649
+ else if (values['type'] === 'image' && values['prompt_url']) {
13650
+ this.insertImage(values);
13651
+ }
13652
+ this.projectionContent.closeContent();
13653
+ }
13654
+ insertLink(values) {
13655
+ const selection = globalThis.getSelection();
13656
+ if (!selection || selection.rangeCount === 0 || !values['prompt_url']) {
13657
+ return;
13658
+ }
13659
+ this.execCommand('createLink', values['prompt_url']);
13660
+ const range = selection.getRangeAt(0);
13661
+ const parentNode = range.commonAncestorContainer.parentNode;
13662
+ if (parentNode && parentNode instanceof HTMLAnchorElement) {
13663
+ parentNode.target = values['target'] || '_self';
13664
+ if (values['rel']) {
13665
+ parentNode.rel = 'noopener noreferrer';
13666
+ }
13381
13667
  }
13382
13668
  }
13669
+ insertImage(values) {
13670
+ const selection = globalThis.getSelection();
13671
+ if (!selection || selection.rangeCount === 0 || !values['prompt_url']) {
13672
+ return;
13673
+ }
13674
+ this.execCommand('insertImage', values['prompt_url']);
13675
+ }
13383
13676
  updateContent() {
13384
13677
  this.control().setValue(this.editor.nativeElement.innerHTML);
13385
13678
  }
@@ -13390,17 +13683,6 @@ class BmbTextEditorComponent {
13390
13683
  getCurrentState() {
13391
13684
  return this.control().value;
13392
13685
  }
13393
- insertImage() {
13394
- const url = prompt('Ingrese la URL de la imagen:');
13395
- if (url) {
13396
- if (this.isValidImageUrl(url)) {
13397
- this.execCommand('insertImage', url);
13398
- }
13399
- else {
13400
- alert('La URL de la imagen no es válida.');
13401
- }
13402
- }
13403
- }
13404
13686
  isValidImageUrl(url) {
13405
13687
  try {
13406
13688
  new URL(url); // Intenta crear un objeto URL
@@ -13443,7 +13725,7 @@ class BmbTextEditorComponent {
13443
13725
  }
13444
13726
  // Método para insertar HTML en el editor
13445
13727
  insertHtml(html) {
13446
- const selection = window.getSelection();
13728
+ const selection = globalThis.getSelection();
13447
13729
  if (selection && selection.rangeCount > 0) {
13448
13730
  const range = selection.getRangeAt(0);
13449
13731
  const div = document.createElement('div');
@@ -13452,13 +13734,13 @@ class BmbTextEditorComponent {
13452
13734
  this.updateContent();
13453
13735
  }
13454
13736
  }
13455
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbTextEditorComponent, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
13456
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BmbTextEditorComponent, isStandalone: true, selector: "bmb-text-editor", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "editor", first: true, predicate: ["editor"], descendants: true }], ngImport: i0, template: "<section class=\"bmb_text-editor\">\n <header class=\"bmb_text-editor-header\">\n <span class=\"bmb_text-editor-header-group\">\n <select\n id=\"BmbTextEditorSelect\"\n class=\"bmb_text-editor-header-select\"\n (change)=\"handleChange($event, 'formatBlock')\"\n title=\"Estilo de p\u00E1rrafo\"\n >\n <option value=\"p\">P\u00E1rrafo</option>\n <option value=\"h1\">T\u00EDtulo 1</option>\n <option value=\"h2\">T\u00EDtulo 2</option>\n <option value=\"h3\">T\u00EDtulo 3</option>\n <option value=\"blockquote\">Cita</option>\n </select>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('bold')\"\n title=\"Negrita\"\n >\n <bmb-icon icon=\"format_bold\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('italic')\"\n title=\"Cursiva\"\n >\n <bmb-icon icon=\"format_italic\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('underline')\"\n title=\"Subrayado\"\n >\n <bmb-icon icon=\"format_underlined\" [size]=\"24\" />\n </button>\n <input\n id=\"BmbTextEditorColor\"\n type=\"color\"\n (change)=\"handleChange($event, 'foreColor')\"\n title=\"Color de texto\"\n />\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('left')\"\n [class.active]=\"currentAlignment === 'left'\"\n title=\"Alinear a la izquierda\"\n >\n <bmb-icon icon=\"format_align_left\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('center')\"\n [class.active]=\"currentAlignment === 'center'\"\n title=\"Centrar\"\n >\n <bmb-icon icon=\"format_align_center\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('right')\"\n [class.active]=\"currentAlignment === 'right'\"\n title=\"Alinear a la derecha\"\n >\n <bmb-icon icon=\"format_align_right\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('insertOrderedList')\"\n title=\"Lista numerada\"\n >\n <bmb-icon icon=\"format_list_numbered\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('insertUnorderedList')\"\n title=\"Lista con vi\u00F1etas\"\n >\n <bmb-icon icon=\"format_list_bulleted\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('indent')\"\n title=\"Aumentar sangr\u00EDa\"\n >\n <bmb-icon icon=\"format_indent_increase\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('outdent')\"\n title=\"Disminuir sangr\u00EDa\"\n >\n <bmb-icon icon=\"format_indent_decrease\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"insertLink()\"\n title=\"Insertar enlace\"\n >\n <bmb-icon icon=\"link\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"insertImage()\"\n title=\"Insertar imagen\"\n >\n <bmb-icon icon=\"image\" [size]=\"24\" />\n </button>\n <!-- <button bmbButton appearance=\"transparent\" size=\"micro\" type=\"button\" (click)=\"openTableDialog()\" title=\"Insertar tabla\">\n <bmb-icon icon=\"table_chart\" [size]=\"24\"/>\n </button> -->\n </span>\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"clearFormatting()\"\n title=\"Limpiar formato\"\n >\n <bmb-icon icon=\"format_clear\" [size]=\"24\" />\n </button>\n </span>\n </header>\n\n <div\n class=\"bmb_text-editor-content\"\n #editor\n contenteditable=\"true\"\n (input)=\"updateContent()\"\n [innerHTML]=\"sanitizedContent()\"\n ></div>\n</section>\n\n<!-- Di\u00E1logo para definir filas y columnas -->\n<dialog class=\"dialog-overlay\" [open]=\"showTableDialog\">\n <div class=\"dialog\">\n <h3>Insertar tabla</h3>\n <label for=\"rows\">Filas:</label>\n <input type=\"number\" id=\"rows\" min=\"1\" max=\"10\" />\n\n <label for=\"columns\">Columnas:</label>\n <input type=\"number\" id=\"columns\" min=\"1\" max=\"10\" />\n\n <div class=\"dialog-buttons\">\n <button type=\"button\" (click)=\"insertTable()\">Insertar</button>\n <button type=\"button\" (click)=\"closeTableDialog()\">Cancelar</button>\n </div>\n </div>\n</dialog>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_text-editor{border:.0625rem solid var(--general_contrasts-50);border-radius:var(--bmb-spacing-s);container-type:inline-size;display:flex;flex-flow:column}.bmb_text-editor-header{border-bottom:.0625rem solid var(--general_contrasts-50);padding:var(--bmb-spacing-s);display:flex;flex-wrap:nowrap;align-items:center;gap:var(--bmb-spacing-m);overflow:auto}.bmb_text-editor-header-select{background:transparent;border:0;cursor:pointer;color:var(--general_contrasts-100)}.bmb_text-editor-header-group{display:inline-flex;align-items:center;flex-wrap:nowrap}.bmb_text-editor-header-group:not(:last-child){padding-right:var(--bmb-spacing-m);border-right:.0625rem solid var(--general_contrasts-50)}.bmb_text-editor-content{padding:var(--bmb-spacing-s);background-color:var(--general_contrasts-input-background);min-height:100px;border-radius:0 0 var(--bmb-spacing-s) var(--bmb-spacing-s);flex:1}\n"], dependencies: [{ kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13737
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbTextEditorComponent, deps: [{ token: i1$2.DomSanitizer }, { token: BmbProjectionContentService }], target: i0.ɵɵFactoryTarget.Component }); }
13738
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BmbTextEditorComponent, isStandalone: true, selector: "bmb-text-editor", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "editor", first: true, predicate: ["editor"], descendants: true }], ngImport: i0, template: "<section class=\"bmb_text-editor\">\n <header class=\"bmb_text-editor-header\">\n <span class=\"bmb_text-editor-header-group\">\n <select\n id=\"BmbTextEditorSelect\"\n class=\"bmb_text-editor-header-select\"\n (change)=\"handleChange($event, 'formatBlock')\"\n title=\"Estilo de p\u00E1rrafo\"\n >\n <option value=\"p\">P\u00E1rrafo</option>\n <option value=\"h1\">T\u00EDtulo 1</option>\n <option value=\"h2\">T\u00EDtulo 2</option>\n <option value=\"h3\">T\u00EDtulo 3</option>\n <option value=\"blockquote\">Cita</option>\n </select>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('bold')\"\n title=\"Negrita\"\n >\n <bmb-icon icon=\"format_bold\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('italic')\"\n title=\"Cursiva\"\n >\n <bmb-icon icon=\"format_italic\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('underline')\"\n title=\"Subrayado\"\n >\n <bmb-icon icon=\"format_underlined\" [size]=\"24\" />\n </button>\n <input\n id=\"BmbTextEditorColor\"\n type=\"color\"\n (change)=\"handleChange($event, 'foreColor')\"\n title=\"Color de texto\"\n />\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('left')\"\n [class.active]=\"currentAlignment === 'left'\"\n title=\"Alinear a la izquierda\"\n >\n <bmb-icon icon=\"format_align_left\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('center')\"\n [class.active]=\"currentAlignment === 'center'\"\n title=\"Centrar\"\n >\n <bmb-icon icon=\"format_align_center\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('right')\"\n [class.active]=\"currentAlignment === 'right'\"\n title=\"Alinear a la derecha\"\n >\n <bmb-icon icon=\"format_align_right\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('insertOrderedList')\"\n title=\"Lista numerada\"\n >\n <bmb-icon icon=\"format_list_numbered\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('insertUnorderedList')\"\n title=\"Lista con vi\u00F1etas\"\n >\n <bmb-icon icon=\"format_list_bulleted\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('indent')\"\n title=\"Aumentar sangr\u00EDa\"\n >\n <bmb-icon icon=\"format_indent_increase\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('outdent')\"\n title=\"Disminuir sangr\u00EDa\"\n >\n <bmb-icon icon=\"format_indent_decrease\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"openPrompt('link', $event)\"\n title=\"Insertar enlace\"\n >\n <bmb-icon icon=\"link\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"openPrompt('image', $event)\"\n title=\"Insertar imagen\"\n >\n <bmb-icon icon=\"image\" [size]=\"24\" />\n </button>\n <!-- <button bmbButton appearance=\"transparent\" size=\"micro\" type=\"button\" (click)=\"openTableDialog()\" title=\"Insertar tabla\">\n <bmb-icon icon=\"table_chart\" [size]=\"24\"/>\n </button> -->\n </span>\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"clearFormatting()\"\n title=\"Limpiar formato\"\n >\n <bmb-icon icon=\"format_clear\" [size]=\"24\" />\n </button>\n </span>\n </header>\n\n <div\n class=\"bmb_text-editor-content\"\n #editor\n contenteditable=\"true\"\n (input)=\"updateContent()\"\n [innerHTML]=\"sanitizedContent()\"\n ></div>\n</section>\n\n<!-- Di\u00E1logo para definir filas y columnas -->\n<dialog class=\"dialog-overlay\" [open]=\"showTableDialog\">\n <div class=\"dialog\">\n <h3>Insertar tabla</h3>\n <label for=\"rows\">Filas:</label>\n <input type=\"number\" id=\"rows\" min=\"1\" max=\"10\" />\n\n <label for=\"columns\">Columnas:</label>\n <input type=\"number\" id=\"columns\" min=\"1\" max=\"10\" />\n\n <div class=\"dialog-buttons\">\n <button type=\"button\" (click)=\"insertTable()\">Insertar</button>\n <button type=\"button\" (click)=\"closeTableDialog()\">Cancelar</button>\n </div>\n </div>\n</dialog>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_text-editor{border:.0625rem solid var(--general_contrasts-50);border-radius:var(--bmb-spacing-s);container-type:inline-size;display:flex;flex-flow:column}.bmb_text-editor-header{border-bottom:.0625rem solid var(--general_contrasts-50);padding:var(--bmb-spacing-s);display:flex;flex-wrap:nowrap;align-items:center;gap:var(--bmb-spacing-m);overflow:auto}.bmb_text-editor-header-select{background:transparent;border:0;cursor:pointer;color:var(--general_contrasts-100)}.bmb_text-editor-header-group{display:inline-flex;align-items:center;flex-wrap:nowrap}.bmb_text-editor-header-group:not(:last-child){padding-right:var(--bmb-spacing-m);border-right:.0625rem solid var(--general_contrasts-50)}.bmb_text-editor-content{padding:var(--bmb-spacing-s);background-color:var(--general_contrasts-input-background);min-height:100px;border-radius:0 0 var(--bmb-spacing-s) var(--bmb-spacing-s);flex:1}\n"], dependencies: [{ kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13457
13739
  }
13458
13740
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbTextEditorComponent, decorators: [{
13459
13741
  type: Component,
13460
- args: [{ selector: 'bmb-text-editor', standalone: true, imports: [BmbButtonDirective, BmbIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"bmb_text-editor\">\n <header class=\"bmb_text-editor-header\">\n <span class=\"bmb_text-editor-header-group\">\n <select\n id=\"BmbTextEditorSelect\"\n class=\"bmb_text-editor-header-select\"\n (change)=\"handleChange($event, 'formatBlock')\"\n title=\"Estilo de p\u00E1rrafo\"\n >\n <option value=\"p\">P\u00E1rrafo</option>\n <option value=\"h1\">T\u00EDtulo 1</option>\n <option value=\"h2\">T\u00EDtulo 2</option>\n <option value=\"h3\">T\u00EDtulo 3</option>\n <option value=\"blockquote\">Cita</option>\n </select>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('bold')\"\n title=\"Negrita\"\n >\n <bmb-icon icon=\"format_bold\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('italic')\"\n title=\"Cursiva\"\n >\n <bmb-icon icon=\"format_italic\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('underline')\"\n title=\"Subrayado\"\n >\n <bmb-icon icon=\"format_underlined\" [size]=\"24\" />\n </button>\n <input\n id=\"BmbTextEditorColor\"\n type=\"color\"\n (change)=\"handleChange($event, 'foreColor')\"\n title=\"Color de texto\"\n />\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('left')\"\n [class.active]=\"currentAlignment === 'left'\"\n title=\"Alinear a la izquierda\"\n >\n <bmb-icon icon=\"format_align_left\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('center')\"\n [class.active]=\"currentAlignment === 'center'\"\n title=\"Centrar\"\n >\n <bmb-icon icon=\"format_align_center\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('right')\"\n [class.active]=\"currentAlignment === 'right'\"\n title=\"Alinear a la derecha\"\n >\n <bmb-icon icon=\"format_align_right\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('insertOrderedList')\"\n title=\"Lista numerada\"\n >\n <bmb-icon icon=\"format_list_numbered\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('insertUnorderedList')\"\n title=\"Lista con vi\u00F1etas\"\n >\n <bmb-icon icon=\"format_list_bulleted\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('indent')\"\n title=\"Aumentar sangr\u00EDa\"\n >\n <bmb-icon icon=\"format_indent_increase\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('outdent')\"\n title=\"Disminuir sangr\u00EDa\"\n >\n <bmb-icon icon=\"format_indent_decrease\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"insertLink()\"\n title=\"Insertar enlace\"\n >\n <bmb-icon icon=\"link\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"insertImage()\"\n title=\"Insertar imagen\"\n >\n <bmb-icon icon=\"image\" [size]=\"24\" />\n </button>\n <!-- <button bmbButton appearance=\"transparent\" size=\"micro\" type=\"button\" (click)=\"openTableDialog()\" title=\"Insertar tabla\">\n <bmb-icon icon=\"table_chart\" [size]=\"24\"/>\n </button> -->\n </span>\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"clearFormatting()\"\n title=\"Limpiar formato\"\n >\n <bmb-icon icon=\"format_clear\" [size]=\"24\" />\n </button>\n </span>\n </header>\n\n <div\n class=\"bmb_text-editor-content\"\n #editor\n contenteditable=\"true\"\n (input)=\"updateContent()\"\n [innerHTML]=\"sanitizedContent()\"\n ></div>\n</section>\n\n<!-- Di\u00E1logo para definir filas y columnas -->\n<dialog class=\"dialog-overlay\" [open]=\"showTableDialog\">\n <div class=\"dialog\">\n <h3>Insertar tabla</h3>\n <label for=\"rows\">Filas:</label>\n <input type=\"number\" id=\"rows\" min=\"1\" max=\"10\" />\n\n <label for=\"columns\">Columnas:</label>\n <input type=\"number\" id=\"columns\" min=\"1\" max=\"10\" />\n\n <div class=\"dialog-buttons\">\n <button type=\"button\" (click)=\"insertTable()\">Insertar</button>\n <button type=\"button\" (click)=\"closeTableDialog()\">Cancelar</button>\n </div>\n </div>\n</dialog>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_text-editor{border:.0625rem solid var(--general_contrasts-50);border-radius:var(--bmb-spacing-s);container-type:inline-size;display:flex;flex-flow:column}.bmb_text-editor-header{border-bottom:.0625rem solid var(--general_contrasts-50);padding:var(--bmb-spacing-s);display:flex;flex-wrap:nowrap;align-items:center;gap:var(--bmb-spacing-m);overflow:auto}.bmb_text-editor-header-select{background:transparent;border:0;cursor:pointer;color:var(--general_contrasts-100)}.bmb_text-editor-header-group{display:inline-flex;align-items:center;flex-wrap:nowrap}.bmb_text-editor-header-group:not(:last-child){padding-right:var(--bmb-spacing-m);border-right:.0625rem solid var(--general_contrasts-50)}.bmb_text-editor-content{padding:var(--bmb-spacing-s);background-color:var(--general_contrasts-input-background);min-height:100px;border-radius:0 0 var(--bmb-spacing-s) var(--bmb-spacing-s);flex:1}\n"] }]
13461
- }], ctorParameters: () => [{ type: i1$2.DomSanitizer }], propDecorators: { editor: [{
13742
+ args: [{ selector: 'bmb-text-editor', standalone: true, imports: [BmbButtonDirective, BmbIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"bmb_text-editor\">\n <header class=\"bmb_text-editor-header\">\n <span class=\"bmb_text-editor-header-group\">\n <select\n id=\"BmbTextEditorSelect\"\n class=\"bmb_text-editor-header-select\"\n (change)=\"handleChange($event, 'formatBlock')\"\n title=\"Estilo de p\u00E1rrafo\"\n >\n <option value=\"p\">P\u00E1rrafo</option>\n <option value=\"h1\">T\u00EDtulo 1</option>\n <option value=\"h2\">T\u00EDtulo 2</option>\n <option value=\"h3\">T\u00EDtulo 3</option>\n <option value=\"blockquote\">Cita</option>\n </select>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('bold')\"\n title=\"Negrita\"\n >\n <bmb-icon icon=\"format_bold\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('italic')\"\n title=\"Cursiva\"\n >\n <bmb-icon icon=\"format_italic\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('underline')\"\n title=\"Subrayado\"\n >\n <bmb-icon icon=\"format_underlined\" [size]=\"24\" />\n </button>\n <input\n id=\"BmbTextEditorColor\"\n type=\"color\"\n (change)=\"handleChange($event, 'foreColor')\"\n title=\"Color de texto\"\n />\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('left')\"\n [class.active]=\"currentAlignment === 'left'\"\n title=\"Alinear a la izquierda\"\n >\n <bmb-icon icon=\"format_align_left\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('center')\"\n [class.active]=\"currentAlignment === 'center'\"\n title=\"Centrar\"\n >\n <bmb-icon icon=\"format_align_center\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"applyAlignment('right')\"\n [class.active]=\"currentAlignment === 'right'\"\n title=\"Alinear a la derecha\"\n >\n <bmb-icon icon=\"format_align_right\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('insertOrderedList')\"\n title=\"Lista numerada\"\n >\n <bmb-icon icon=\"format_list_numbered\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('insertUnorderedList')\"\n title=\"Lista con vi\u00F1etas\"\n >\n <bmb-icon icon=\"format_list_bulleted\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('indent')\"\n title=\"Aumentar sangr\u00EDa\"\n >\n <bmb-icon icon=\"format_indent_increase\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"execCommand('outdent')\"\n title=\"Disminuir sangr\u00EDa\"\n >\n <bmb-icon icon=\"format_indent_decrease\" [size]=\"24\" />\n </button>\n </span>\n\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"openPrompt('link', $event)\"\n title=\"Insertar enlace\"\n >\n <bmb-icon icon=\"link\" [size]=\"24\" />\n </button>\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"openPrompt('image', $event)\"\n title=\"Insertar imagen\"\n >\n <bmb-icon icon=\"image\" [size]=\"24\" />\n </button>\n <!-- <button bmbButton appearance=\"transparent\" size=\"micro\" type=\"button\" (click)=\"openTableDialog()\" title=\"Insertar tabla\">\n <bmb-icon icon=\"table_chart\" [size]=\"24\"/>\n </button> -->\n </span>\n <span class=\"bmb_text-editor-header-group\">\n <button\n bmbButton\n appearance=\"transparent\"\n size=\"micro\"\n type=\"button\"\n (click)=\"clearFormatting()\"\n title=\"Limpiar formato\"\n >\n <bmb-icon icon=\"format_clear\" [size]=\"24\" />\n </button>\n </span>\n </header>\n\n <div\n class=\"bmb_text-editor-content\"\n #editor\n contenteditable=\"true\"\n (input)=\"updateContent()\"\n [innerHTML]=\"sanitizedContent()\"\n ></div>\n</section>\n\n<!-- Di\u00E1logo para definir filas y columnas -->\n<dialog class=\"dialog-overlay\" [open]=\"showTableDialog\">\n <div class=\"dialog\">\n <h3>Insertar tabla</h3>\n <label for=\"rows\">Filas:</label>\n <input type=\"number\" id=\"rows\" min=\"1\" max=\"10\" />\n\n <label for=\"columns\">Columnas:</label>\n <input type=\"number\" id=\"columns\" min=\"1\" max=\"10\" />\n\n <div class=\"dialog-buttons\">\n <button type=\"button\" (click)=\"insertTable()\">Insertar</button>\n <button type=\"button\" (click)=\"closeTableDialog()\">Cancelar</button>\n </div>\n </div>\n</dialog>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_text-editor{border:.0625rem solid var(--general_contrasts-50);border-radius:var(--bmb-spacing-s);container-type:inline-size;display:flex;flex-flow:column}.bmb_text-editor-header{border-bottom:.0625rem solid var(--general_contrasts-50);padding:var(--bmb-spacing-s);display:flex;flex-wrap:nowrap;align-items:center;gap:var(--bmb-spacing-m);overflow:auto}.bmb_text-editor-header-select{background:transparent;border:0;cursor:pointer;color:var(--general_contrasts-100)}.bmb_text-editor-header-group{display:inline-flex;align-items:center;flex-wrap:nowrap}.bmb_text-editor-header-group:not(:last-child){padding-right:var(--bmb-spacing-m);border-right:.0625rem solid var(--general_contrasts-50)}.bmb_text-editor-content{padding:var(--bmb-spacing-s);background-color:var(--general_contrasts-input-background);min-height:100px;border-radius:0 0 var(--bmb-spacing-s) var(--bmb-spacing-s);flex:1}\n"] }]
13743
+ }], ctorParameters: () => [{ type: i1$2.DomSanitizer }, { type: BmbProjectionContentService }], propDecorators: { editor: [{
13462
13744
  type: ViewChild,
13463
13745
  args: ['editor']
13464
13746
  }] } });
@@ -13764,150 +14046,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
13764
14046
  args: [{ selector: 'bmb-button-icon', standalone: true, imports: [CommonModule, BmbActionIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"bmb_button_icon\"\n [ngClass]=\"{\n 'bmb_button_icon-active': active(),\n 'bmb_button_icon-container': showContainer(),\n 'bmb_button_icon-container-outline': showContainer() && isOutline(),\n 'bmb_button_icon-disabled': disabled(),\n 'bmb_button_icon-container-primary': appearanceContrast() === 'primary',\n 'bmb_button_icon-container-alternative':\n appearanceContrast() === 'alternative'\n }\"\n>\n <bmb-action-icon\n [idElement]=\"idElement()\"\n [icon]=\"icon()\"\n [iconSize]=\"showContainer() ? 24 : 32\"\n [disabled]=\"disabled()!\"\n (buttonPress)=\"handlePress()\"\n (buttonClick)=\"handleClick($event)\"\n />\n</span>\n", styles: [".bmb_button_icon{display:flex;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;background-color:transparent}.bmb_button_icon-active:not(.bmb_button_icon-container) .material-symbols-rounded{color:var(--buttons-primary-select);scale:1}.bmb_button_icon-container.bmb_button_icon{display:flex;justify-content:center;align-items:center;border-radius:var(--bmb-radius-s);border:.0625rem solid var(--general_contrasts-container-outline);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container.bmb_button_icon .material-symbols-rounded{color:var(--general_contrasts-50)}.bmb_button_icon-container.bmb_button_icon-active{border:.0625rem solid rgb(var(--color-charade-50));background-color:var(--general_contrasts-50)}.bmb_button_icon-container.bmb_button_icon-active .material-symbols-rounded{color:rgb(var(--color-charade-50))}.bmb_button_icon-container:not(.bmb_button_icon-disabled):hover{border:.0625rem solid var(--general_contrasts-container-outline);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--buttons-alternative-text)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):active{border:.0625rem solid rgb(var(--color-charade-50));background-color:var(--general_contrasts-50)}.bmb_button_icon-container:not(.bmb_button_icon-disabled):active .material-symbols-rounded{color:rgb(var(--color-charade-50))}.bmb_button_icon-container-outline.bmb_button_icon{border:.0625rem solid var(--general_contrasts-100);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container-outline.bmb_button_icon .material-symbols-rounded{color:var(--general_contrasts-100)}.bmb_button_icon-container-outline.bmb_button_icon-active{border:.0625rem solid var(--general_contrasts-input-background);background-color:var(--general_contrasts-100)}.bmb_button_icon-container-outline.bmb_button_icon-active .material-symbols-rounded{color:var(--general_contrasts-5)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):hover{border:.125rem solid var(--general_contrasts-100);background-color:var(--general_contrasts-input-background)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--general_contrasts-100)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):active{border:.0625rem solid var(--general_contrasts-input-background);background-color:var(--general_contrasts-100)}.bmb_button_icon-container-outline:not(.bmb_button_icon-disabled):active .material-symbols-rounded{color:var(--general_contrasts-5)}.bmb_button_icon-container-primary.bmb_button_icon{background-color:var(--containers-background)}.bmb_button_icon-container-alternative.bmb_button_icon{background-color:var(--containers-main)}.bmb_button_icon:not(.bmb_button_icon-container,.bmb_button_icon-disabled):hover .material-symbols-rounded{color:var(--white-primary);scale:1.2}.bmb_button_icon:not(.bmb_button_icon-container,.bmb_button_icon-disabled):active .material-symbols-rounded{color:var(--buttons-primary-select);scale:1}.bmb_button_icon .material-symbols-rounded{color:var(--white-primary)}\n"] }]
13765
14047
  }] });
13766
14048
 
13767
- class BmbFormValidatorComponent {
13768
- constructor() {
13769
- this.formGroup = model(new FormGroup({}));
13770
- this.formGroupState = output();
13771
- }
13772
- ngAfterViewInit() {
13773
- this.addControls();
13774
- }
13775
- addControls() {
13776
- this.bmbInputs.forEach((child) => {
13777
- this.addControl(child.name(), child.control(), child.isControlNull);
13778
- });
13779
- this.bmbDropdowns.forEach((child) => {
13780
- this.addControl(child.name(), child.control(), child.isControlNull);
13781
- });
13782
- this.bmbInputPhoneNumbers.forEach((child) => {
13783
- this.addControl(child.name(), child.control(), child.isControlNull);
13784
- });
13785
- this.bmbInputTags.forEach((child) => {
13786
- this.addControl(child.name(), child.control(), child.isControlNull);
13787
- });
13788
- this.bmbDatepickers.forEach((child) => {
13789
- this.addControl(child.name(), child.control(), child.isControlNull);
13790
- });
13791
- this.bmbDateRanges.forEach((child) => {
13792
- this.addControl(`${child.name()}_start`, child.controlStart(), child.isControlStartNull);
13793
- this.addControl(`${child.name()}_end`, child.controlEnd(), child.isControlEndNull);
13794
- });
13795
- this.bmbCheckboxes.forEach((child) => {
13796
- this.addControl(child.name(), child.control(), child.isControlNull);
13797
- });
13798
- this.bmbRadials.forEach((child) => {
13799
- this.addControl(child.name(), child.control(), child.isControlNull);
13800
- });
13801
- this.bmbSwitches.forEach((child) => {
13802
- this.addControl(child.name(), child.control(), child.isControlNull);
13803
- });
13804
- }
13805
- addControl(controlName, control, isControlNull) {
13806
- if (!this.getFormControl(controlName)) {
13807
- this.formGroup().addControl(controlName, control);
13808
- }
13809
- else {
13810
- if (isControlNull)
13811
- this.formGroup().setControl(controlName, control);
13812
- }
13813
- }
13814
- addRadials() {
13815
- const radialNames = this.bmbRadials.reduce((acc, currentElement) => {
13816
- if (acc.includes(currentElement.name()))
13817
- return acc;
13818
- return [...acc, currentElement.name()];
13819
- }, []);
13820
- radialNames.forEach((name) => {
13821
- const radialIndexWithSameName = this.bmbRadials.reduce((acc, currentElement, index) => {
13822
- if (currentElement.name() === name)
13823
- return [...acc, index];
13824
- return acc;
13825
- }, []);
13826
- const radialControl = this.bmbRadials.get(radialIndexWithSameName[0]);
13827
- if (this.bmbRadials
13828
- .filter((element) => element.name() === name)
13829
- .every((elementSelected) => !elementSelected.isControlNull)) {
13830
- this.addControl(radialControl.name(), radialControl.control(), false);
13831
- return;
13832
- }
13833
- const value = this.bmbRadials
13834
- .filter((element) => element.name() === name)
13835
- ?.find((elementSelected) => elementSelected.checked())
13836
- ?.control()?.value;
13837
- radialControl.control()?.setValue(value);
13838
- radialIndexWithSameName.slice(1).forEach((element) => {
13839
- this.bmbRadials.get(element)?.control.set(radialControl.control());
13840
- });
13841
- this.addControl(radialControl.name(), radialControl.control(), false);
13842
- });
13843
- }
13844
- onSubmit() {
13845
- this.formGroup().updateValueAndValidity();
13846
- this.formGroup().markAllAsTouched();
13847
- this.updateErrorState();
13848
- this.formGroupState.emit(this.formGroup());
13849
- }
13850
- updateErrorState() {
13851
- Object.keys(this.formGroup().controls).forEach((field) => {
13852
- const control = this.getFormControl(field);
13853
- if (!!control) {
13854
- handleValidity(control);
13855
- }
13856
- });
13857
- }
13858
- getFormControl(name) {
13859
- return this.formGroup().get(name);
13860
- }
13861
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbFormValidatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13862
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BmbFormValidatorComponent, isStandalone: true, selector: "bmb-form-validator", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formGroup: "formGroupChange", formGroupState: "formGroupState" }, queries: [{ propertyName: "bmbInputs", predicate: BmbInputComponent, descendants: true }, { propertyName: "bmbDropdowns", predicate: BmbDropdownComponent, descendants: true }, { propertyName: "bmbInputPhoneNumbers", predicate: BmbInputPhoneNumberComponent, descendants: true }, { propertyName: "bmbInputTags", predicate: BmbInputTagsComponent, descendants: true }, { propertyName: "bmbDatepickers", predicate: BmbDatepickerComponent, descendants: true }, { propertyName: "bmbDateRanges", predicate: BmbDateRangeComponent, descendants: true }, { propertyName: "bmbCheckboxes", predicate: BmbCheckboxComponent, descendants: true }, { propertyName: "bmbRadials", predicate: BmbRadialComponent, descendants: true }, { propertyName: "bmbSwitches", predicate: BmbSwitchComponent, descendants: true }], ngImport: i0, template: `
13863
- <form [formGroup]="formGroup()" (ngSubmit)="onSubmit()">
13864
- <ng-content />
13865
- </form>
13866
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13867
- }
13868
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbFormValidatorComponent, decorators: [{
13869
- type: Component,
13870
- args: [{
13871
- selector: 'bmb-form-validator',
13872
- standalone: true,
13873
- imports: [CommonModule, ReactiveFormsModule],
13874
- template: `
13875
- <form [formGroup]="formGroup()" (ngSubmit)="onSubmit()">
13876
- <ng-content />
13877
- </form>
13878
- `,
13879
- encapsulation: ViewEncapsulation.None,
13880
- changeDetection: ChangeDetectionStrategy.OnPush,
13881
- }]
13882
- }], propDecorators: { bmbInputs: [{
13883
- type: ContentChildren,
13884
- args: [BmbInputComponent, { descendants: true }]
13885
- }], bmbDropdowns: [{
13886
- type: ContentChildren,
13887
- args: [BmbDropdownComponent, { descendants: true }]
13888
- }], bmbInputPhoneNumbers: [{
13889
- type: ContentChildren,
13890
- args: [BmbInputPhoneNumberComponent, { descendants: true }]
13891
- }], bmbInputTags: [{
13892
- type: ContentChildren,
13893
- args: [BmbInputTagsComponent, { descendants: true }]
13894
- }], bmbDatepickers: [{
13895
- type: ContentChildren,
13896
- args: [BmbDatepickerComponent, { descendants: true }]
13897
- }], bmbDateRanges: [{
13898
- type: ContentChildren,
13899
- args: [BmbDateRangeComponent, { descendants: true }]
13900
- }], bmbCheckboxes: [{
13901
- type: ContentChildren,
13902
- args: [BmbCheckboxComponent, { descendants: true }]
13903
- }], bmbRadials: [{
13904
- type: ContentChildren,
13905
- args: [BmbRadialComponent, { descendants: true }]
13906
- }], bmbSwitches: [{
13907
- type: ContentChildren,
13908
- args: [BmbSwitchComponent, { descendants: true }]
13909
- }] } });
13910
-
13911
14049
  class BmbSelectorDirective {
13912
14050
  constructor() {
13913
14051
  this.idSelector = input.required();