@c80/ui 1.0.58 → 1.0.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/esm2022/index.js +1 -0
  2. package/esm2022/index.js.map +1 -1
  3. package/esm2022/lib/action-list/action-list.types.js.map +1 -1
  4. package/esm2022/lib/card-level/card-level.component.js +1 -3
  5. package/esm2022/lib/card-level/card-level.component.js.map +1 -1
  6. package/esm2022/lib/card-level/card-level.interface.js.map +1 -1
  7. package/esm2022/lib/card-level/index.js.map +1 -1
  8. package/esm2022/lib/error-notification/error-notification.component.js +41 -0
  9. package/esm2022/lib/error-notification/error-notification.component.js.map +1 -0
  10. package/esm2022/lib/error-notification/error-notification.types.js +2 -0
  11. package/esm2022/lib/error-notification/error-notification.types.js.map +1 -0
  12. package/esm2022/lib/error-notification/index.js +3 -0
  13. package/esm2022/lib/error-notification/index.js.map +1 -0
  14. package/esm2022/lib/header/header.component.js +2 -2
  15. package/esm2022/lib/header/header.component.js.map +1 -1
  16. package/esm2022/lib/icon/icon.component.js +1 -3
  17. package/esm2022/lib/icon/icon.component.js.map +1 -1
  18. package/esm2022/lib/icon/icon.definitions.js +74 -1
  19. package/esm2022/lib/icon/icon.definitions.js.map +1 -1
  20. package/esm2022/lib/icon/theme.service.js +3 -0
  21. package/esm2022/lib/icon/theme.service.js.map +1 -1
  22. package/esm2022/lib/modal/index.js.map +1 -1
  23. package/esm2022/lib/modal/modal.component.js +2 -2
  24. package/esm2022/lib/modal/modal.component.js.map +1 -1
  25. package/esm2022/lib/modal/modal.service.js.map +1 -1
  26. package/esm2022/lib/modal/modal.types.js +2 -0
  27. package/esm2022/lib/modal/modal.types.js.map +1 -0
  28. package/esm2022/lib/select/index.js +1 -1
  29. package/esm2022/lib/select/index.js.map +1 -1
  30. package/esm2022/lib/select/select.component.js +4 -1
  31. package/esm2022/lib/select/select.component.js.map +1 -1
  32. package/esm2022/lib/select/select.types.js +2 -0
  33. package/esm2022/lib/select/select.types.js.map +1 -0
  34. package/esm2022/lib/snackbar/index.js.map +1 -1
  35. package/esm2022/lib/snackbar/snackbar.component.js +2 -2
  36. package/esm2022/lib/snackbar/snackbar.component.js.map +1 -1
  37. package/esm2022/lib/snackbar/snackbar.service.js.map +1 -1
  38. package/esm2022/lib/snackbar/snackbar.types.js +2 -0
  39. package/esm2022/lib/snackbar/{snackbar.model.js.map → snackbar.types.js.map} +1 -1
  40. package/esm2022/lib/stat-card/index.js.map +1 -1
  41. package/esm2022/lib/stat-card/stat-card.component.js.map +1 -1
  42. package/esm2022/lib/stat-card/stat-card.types.js +2 -0
  43. package/esm2022/lib/stat-card/stat-card.types.js.map +1 -0
  44. package/esm2022/lib/tab/c80-tab.types.js +2 -0
  45. package/esm2022/lib/tab/c80-tab.types.js.map +1 -0
  46. package/esm2022/lib/tab/index.js.map +1 -1
  47. package/esm2022/lib/table/index.js +2 -0
  48. package/esm2022/lib/table/index.js.map +1 -1
  49. package/esm2022/lib/table/table-data-utils.service.js +1 -3
  50. package/esm2022/lib/table/table-data-utils.service.js.map +1 -1
  51. package/esm2022/lib/table/table-dto-mapper.service.js +98 -0
  52. package/esm2022/lib/table/table-dto-mapper.service.js.map +1 -0
  53. package/esm2022/lib/table/table-pagination.service.js +79 -0
  54. package/esm2022/lib/table/table-pagination.service.js.map +1 -0
  55. package/esm2022/lib/table/table.component.js +66 -6
  56. package/esm2022/lib/table/table.component.js.map +1 -1
  57. package/esm2022/lib/table/table.types.js.map +1 -1
  58. package/esm2022/lib/table/table.utils.js +3 -2
  59. package/esm2022/lib/table/table.utils.js.map +1 -1
  60. package/index.d.ts +1 -0
  61. package/lib/action-list/action-list.types.d.ts +1 -1
  62. package/lib/error-notification/error-notification.component.d.ts +20 -0
  63. package/lib/error-notification/error-notification.types.d.ts +4 -0
  64. package/lib/error-notification/index.d.ts +2 -0
  65. package/lib/icon/icon.component.d.ts +1 -1
  66. package/lib/modal/index.d.ts +1 -0
  67. package/lib/modal/modal.component.d.ts +1 -16
  68. package/lib/modal/modal.service.d.ts +1 -1
  69. package/lib/modal/modal.types.d.ts +15 -0
  70. package/lib/select/index.d.ts +1 -1
  71. package/lib/select/select.component.d.ts +2 -1
  72. package/lib/snackbar/index.d.ts +1 -1
  73. package/lib/snackbar/snackbar.component.d.ts +1 -1
  74. package/lib/snackbar/snackbar.service.d.ts +1 -1
  75. package/lib/stat-card/index.d.ts +1 -0
  76. package/lib/stat-card/stat-card.component.d.ts +1 -7
  77. package/lib/stat-card/stat-card.types.d.ts +7 -0
  78. package/lib/tab/index.d.ts +1 -1
  79. package/lib/table/index.d.ts +2 -0
  80. package/lib/table/table-dto-mapper.service.d.ts +34 -0
  81. package/lib/table/table-pagination.service.d.ts +41 -0
  82. package/lib/table/table.component.d.ts +24 -3
  83. package/lib/table/table.types.d.ts +16 -1
  84. package/lib/table/table.utils.d.ts +2 -1
  85. package/package.json +1 -1
  86. package/esm2022/lib/select/select.model.js +0 -2
  87. package/esm2022/lib/select/select.model.js.map +0 -1
  88. package/esm2022/lib/snackbar/snackbar.model.js +0 -2
  89. package/esm2022/lib/tab/c80-tab.model.js +0 -2
  90. package/esm2022/lib/tab/c80-tab.model.js.map +0 -1
  91. /package/lib/select/{select.model.d.ts → select.types.d.ts} +0 -0
  92. /package/lib/snackbar/{snackbar.model.d.ts → snackbar.types.d.ts} +0 -0
  93. /package/lib/tab/{c80-tab.model.d.ts → c80-tab.types.d.ts} +0 -0
package/esm2022/index.js CHANGED
@@ -15,4 +15,5 @@ export * from './lib/spinner';
15
15
  export * from './lib/stat-card';
16
16
  export * from './lib/tab';
17
17
  export * from './lib/table';
18
+ export * from './lib/error-notification';
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/ui/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC","sourcesContent":["export * from './lib/action-list';\nexport * from './lib/card-level';\nexport * from './lib/header';\nexport * from './lib/icon';\nexport * from './lib/info-list';\nexport * from './lib/input-field';\nexport * from './lib/input-search';\nexport * from './lib/modal';\nexport * from './lib/profile-stats';\nexport * from './lib/rating-display';\nexport * from './lib/rating-stars';\nexport * from './lib/select';\nexport * from './lib/snackbar';\nexport * from './lib/spinner';\nexport * from './lib/stat-card';\nexport * from './lib/tab';\nexport * from './lib/table';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/ui/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC","sourcesContent":["export * from './lib/action-list';\nexport * from './lib/card-level';\nexport * from './lib/header';\nexport * from './lib/icon';\nexport * from './lib/info-list';\nexport * from './lib/input-field';\nexport * from './lib/input-search';\nexport * from './lib/modal';\nexport * from './lib/profile-stats';\nexport * from './lib/rating-display';\nexport * from './lib/rating-stars';\nexport * from './lib/select';\nexport * from './lib/snackbar';\nexport * from './lib/spinner';\nexport * from './lib/stat-card';\nexport * from './lib/tab';\nexport * from './lib/table';\nexport * from './lib/error-notification';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"action-list.types.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/action-list/action-list.types.ts"],"names":[],"mappings":"","sourcesContent":["import { IconType } from \"../icon\";\n\nexport interface ActionItem {\n label: string;\n description?: string;\n icon?: IconType;\n action?: string | (() => void);\n isDanger?: boolean;\n isNavigable?: boolean;\n}"]}
1
+ {"version":3,"file":"action-list.types.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/action-list/action-list.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { IconType } from '../icon';\n\nexport interface ActionItem {\n label: string;\n description?: string;\n icon?: IconType;\n action?: string | (() => void);\n isDanger?: boolean;\n isNavigable?: boolean;\n}"]}
@@ -37,9 +37,7 @@ export class CardLevelComponent {
37
37
  }, ...(ngDevMode ? [{ debugName: "bidirectionalFillPercent" }] : []));
38
38
  // Determina la dirección del fill (left/right)
39
39
  /* v8 ignore next 3 */
40
- fillDirection = computed(() => {
41
- return this.cardLevelData().value >= 0 ? 'right' : 'left';
42
- }, ...(ngDevMode ? [{ debugName: "fillDirection" }] : []));
40
+ fillDirection = computed(() => this.cardLevelData().value >= 0 ? 'right' : 'left', ...(ngDevMode ? [{ debugName: "fillDirection" }] : []));
43
41
  // Color según el valor y umbrales
44
42
  /* v8 ignore next 11 */
45
43
  fillColor = computed(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"card-level.component.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/card-level/card-level.component.ts","../../../../../libs/ui/src/lib/card-level/card-level.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, input, computed, ChangeDetectionStrategy } from '@angular/core';\nimport type { CardLevelData } from './card-level.interface';\n\n/**\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'c80-card-level',\n standalone: true,\n imports: [],\n templateUrl: './card-level.component.html',\n styleUrl: './card-level.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CardLevelComponent {\n /* v8 ignore next */\n cardLevelData = input.required<CardLevelData>();\n /* v8 ignore next */\n size = input<number>(1); // Multiplicador del tamaño base (220px)\n\n // ID único generado para el componente\n /* v8 ignore next 5 */\n readonly generatedId = computed(() => {\n const label = this.cardLevelData().label.toLowerCase().replaceAll(/\\s+/g, '-');\n const randomNum = Math.floor(Math.random() * 10000);\n return `${label}-${randomNum}`;\n });\n\n // Ancho calculado de la card\n /* v8 ignore next 4 */\n readonly cardWidth = computed(() => {\n const baseWidth = 140;\n const calculatedWidth = baseWidth * this.size();\n return `${calculatedWidth}px`;\n });\n\n // Detecta si el rango es bidireccional (min negativo, max positivo)\n /* v8 ignore next 4 */\n isBidirectional = computed(() => {\n const data = this.cardLevelData();\n return data.min < 0 && data.max > 0;\n });\n\n // Calcula el porcentaje de fill para barras bidireccionales\n /* v8 ignore next 4 */\n bidirectionalFillPercent = computed(() => {\n const data = this.cardLevelData();\n const totalRange = data.max - data.min;\n return Math.abs(data.value / totalRange) * 100;\n });\n\n // Determina la dirección del fill (left/right)\n /* v8 ignore next 3 */\n fillDirection = computed(() => {\n return this.cardLevelData().value >= 0 ? 'right' : 'left';\n });\n\n // Color según el valor y umbrales\n /* v8 ignore next 11 */\n fillColor = computed(() => {\n const data = this.cardLevelData();\n const absValue = Math.abs(data.value);\n const absHigh = Math.abs(data.high);\n const absLow = Math.abs(data.low);\n\n if (absValue >= absHigh) {\n return 'var(--color-danger)';\n }\n if (absValue >= absLow) {\n return 'var(--color-warning)';\n }\n return 'var(--color-success)';\n });\n}\n","<!-- eslint-disable @angular-eslint/template/no-inline-styles -->\n<div class=\"card-level-container\" [style.width]=\"cardWidth()\">\n <label [for]=\"generatedId()\">\n <strong>{{ cardLevelData().label }}</strong>\n\n <span class=\"value-display\">\n @if (isBidirectional()) {\n <!-- Barra bidireccional desde el centro -->\n <div class=\"bidirectional-meter\">\n <div class=\"meter-track\">\n <div class=\"center-line\"></div>\n <div class=\"meter-fill\" [class.fill-left]=\"fillDirection() === 'left'\" [class.fill-right]=\"fillDirection() === 'right'\" [style.width.%]=\"bidirectionalFillPercent()\" [style.background]=\"fillColor()\">\n </div>\n </div>\n </div>\n } @else {\n <!-- Meter estándar para rangos unidireccionales -->\n <meter [id]=\"generatedId()\" [optimum]=\"cardLevelData().optimum\" [min]=\"cardLevelData().min\" [max]=\"cardLevelData().max\" [low]=\"cardLevelData().low\" [high]=\"cardLevelData().high\" [value]=\"cardLevelData().value\">\n </meter>\n }\n\n {{ cardLevelData().value }}{{ cardLevelData().unit }}\n </span>\n </label>\n</div>\n<!-- eslint-enable @angular-eslint/template/no-inline-styles -->"]}
1
+ {"version":3,"file":"card-level.component.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/card-level/card-level.component.ts","../../../../../libs/ui/src/lib/card-level/card-level.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;;AAGpF;;GAEG;AAUH,MAAM,OAAO,kBAAkB;IAC7B,oBAAoB;IACpB,aAAa,GAAG,KAAK,CAAC,QAAQ,wDAAiB,CAAC;IAChD,oBAAoB;IACpB,IAAI,GAAG,KAAK,CAAS,CAAC,gDAAC,CAAC,CAAC,wCAAwC;IAEjE,uCAAuC;IACvC,sBAAsB;IACb,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;QACpD,OAAO,GAAG,KAAK,IAAI,SAAS,EAAE,CAAC;IACjC,CAAC,uDAAC,CAAC;IAEH,6BAA6B;IAC7B,sBAAsB;IACb,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,MAAM,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,GAAG,eAAe,IAAI,CAAC;IAChC,CAAC,qDAAC,CAAC;IAEH,oEAAoE;IACpE,sBAAsB;IACtB,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACtC,CAAC,2DAAC,CAAC;IAEH,4DAA4D;IAC5D,sBAAsB;IACtB,wBAAwB,GAAG,QAAQ,CAAC,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;IACjD,CAAC,oEAAC,CAAC;IAEH,+CAA+C;IAC/C,sBAAsB;IACtB,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,yDAAC,CAAC;IAEnF,kCAAkC;IAClC,uBAAuB;IACvB,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACvB,OAAO,sBAAsB,CAAC;QAChC,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC,qDAAC,CAAC;wGAxDQ,kBAAkB;4FAAlB,kBAAkB,0VCf/B,qtCAyBgE;;4FDVnD,kBAAkB;kBAT9B,SAAS;+BAEE,gBAAgB,cACd,IAAI,WACP,EAAE,mBAGM,uBAAuB,CAAC,MAAM","sourcesContent":["import { Component, input, computed, ChangeDetectionStrategy } from '@angular/core';\nimport type { CardLevelData } from './card-level.interface';\n\n/**\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'c80-card-level',\n standalone: true,\n imports: [],\n templateUrl: './card-level.component.html',\n styleUrl: './card-level.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CardLevelComponent {\n /* v8 ignore next */\n cardLevelData = input.required<CardLevelData>();\n /* v8 ignore next */\n size = input<number>(1); // Multiplicador del tamaño base (220px)\n\n // ID único generado para el componente\n /* v8 ignore next 5 */\n readonly generatedId = computed(() => {\n const label = this.cardLevelData().label.toLowerCase().replaceAll(/\\s+/g, '-');\n const randomNum = Math.floor(Math.random() * 10000);\n return `${label}-${randomNum}`;\n });\n\n // Ancho calculado de la card\n /* v8 ignore next 4 */\n readonly cardWidth = computed(() => {\n const baseWidth = 140;\n const calculatedWidth = baseWidth * this.size();\n return `${calculatedWidth}px`;\n });\n\n // Detecta si el rango es bidireccional (min negativo, max positivo)\n /* v8 ignore next 4 */\n isBidirectional = computed(() => {\n const data = this.cardLevelData();\n return data.min < 0 && data.max > 0;\n });\n\n // Calcula el porcentaje de fill para barras bidireccionales\n /* v8 ignore next 4 */\n bidirectionalFillPercent = computed(() => {\n const data = this.cardLevelData();\n const totalRange = data.max - data.min;\n return Math.abs(data.value / totalRange) * 100;\n });\n\n // Determina la dirección del fill (left/right)\n /* v8 ignore next 3 */\n fillDirection = computed(() => this.cardLevelData().value >= 0 ? 'right' : 'left');\n\n // Color según el valor y umbrales\n /* v8 ignore next 11 */\n fillColor = computed(() => {\n const data = this.cardLevelData();\n const absValue = Math.abs(data.value);\n const absHigh = Math.abs(data.high);\n const absLow = Math.abs(data.low);\n\n if (absValue >= absHigh) {\n return 'var(--color-danger)';\n }\n if (absValue >= absLow) {\n return 'var(--color-warning)';\n }\n return 'var(--color-success)';\n });\n}\n","<!-- eslint-disable @angular-eslint/template/no-inline-styles -->\n<div class=\"card-level-container\" [style.width]=\"cardWidth()\">\n <label [for]=\"generatedId()\">\n <strong>{{ cardLevelData().label }}</strong>\n\n <span class=\"value-display\">\n @if (isBidirectional()) {\n <!-- Barra bidireccional desde el centro -->\n <div class=\"bidirectional-meter\">\n <div class=\"meter-track\">\n <div class=\"center-line\"></div>\n <div class=\"meter-fill\" [class.fill-left]=\"fillDirection() === 'left'\" [class.fill-right]=\"fillDirection() === 'right'\" [style.width.%]=\"bidirectionalFillPercent()\" [style.background]=\"fillColor()\">\n </div>\n </div>\n </div>\n } @else {\n <!-- Meter estándar para rangos unidireccionales -->\n <meter [id]=\"generatedId()\" [optimum]=\"cardLevelData().optimum\" [min]=\"cardLevelData().min\" [max]=\"cardLevelData().max\" [low]=\"cardLevelData().low\" [high]=\"cardLevelData().high\" [value]=\"cardLevelData().value\">\n </meter>\n }\n\n {{ cardLevelData().value }}{{ cardLevelData().unit }}\n </span>\n </label>\n</div>\n<!-- eslint-enable @angular-eslint/template/no-inline-styles -->"]}
@@ -1 +1 @@
1
- {"version":3,"file":"card-level.interface.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/card-level/card-level.interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface CardLevelData {\r\n label: string;\r\n value: number;\r\n min: number;\r\n max: number;\r\n optimum: number;\r\n low: number;\r\n high: number;\r\n unit: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"card-level.interface.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/card-level/card-level.interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface CardLevelData {\n label: string;\n value: number;\n min: number;\n max: number;\n optimum: number;\n low: number;\n high: number;\n unit: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/card-level/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC","sourcesContent":["export * from './card-level.component';\r\nexport * from './card-level.interface';\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/card-level/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC","sourcesContent":["export * from './card-level.component';\nexport * from './card-level.interface';\n"]}
@@ -0,0 +1,41 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';
2
+ import { IconComponent } from '../icon';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Componente reutilizable para mostrar mensajes de error
6
+ */
7
+ export class ErrorNotificationComponent {
8
+ config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9
+ dismiss = output();
10
+ /**
11
+ * Divide el mensaje en oraciones separadas por '. '
12
+ * Excluye la última oración si termina en punto
13
+ */
14
+ sentences = computed(() => {
15
+ const message = this.config().message;
16
+ const parts = message.split('. ');
17
+ // Si solo hay una parte, devolverla como está
18
+ if (parts.length === 1) {
19
+ return [message];
20
+ }
21
+ // Si la última parte está vacía (mensaje terminaba en '. '), eliminarla
22
+ if (parts.at(-1) === '') {
23
+ return parts.slice(0, -1).map(part => `${part}.`);
24
+ }
25
+ // Agregar punto a todas las partes excepto la última
26
+ return parts.map((part, index) => index === parts.length - 1 ? part : `${part}.`);
27
+ }, ...(ngDevMode ? [{ debugName: "sentences" }] : []));
28
+ /**
29
+ * Emite evento de cierre
30
+ */
31
+ onDismiss() {
32
+ this.dismiss.emit();
33
+ }
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ErrorNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: ErrorNotificationComponent, isStandalone: true, selector: "c80-error-notification", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { dismiss: "dismiss" }, ngImport: i0, template: "<div class=\"error-notification\">\n <div class=\"error-notification__content\">\n <c80-icon icon=\"error\" [size]=\"1.2\" />\n <div class=\"error-notification__message\">\n @for (sentence of sentences(); track $index) {\n <p>{{ sentence }}</p>\n }\n </div>\n </div>\n @if (config().dismissible !== false) {\n <c80-icon icon=\"close\" [size]=\"0.8\" (click)=\"onDismiss()\" (keydown.enter)=\"onDismiss()\" class=\"error-notification__close\" aria-label=\"Cerrar notificaci\u00F3n\" />\n }\n</div>", styles: [".error-notification{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-md);background:#8b000014;border:1px solid rgba(139,68,68,.2);border-radius:var(--border-radius-lg);color:#8b0000;animation:slideDown .3s cubic-bezier(.4,0,.2,1)}.error-notification p{margin:0;font-size:.875rem;line-height:1.5;font-weight:var(--font-weight-medium)}.error-notification__message{display:flex;flex-direction:column}.error-notification__content{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.error-notification__content c80-icon{flex-shrink:0}.error-notification__close{flex-shrink:0;cursor:pointer;opacity:.7;transition:opacity .2s}.error-notification__close:hover{opacity:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "c80-icon", inputs: ["icon", "color", "customColor", "disabled", "size", "button", "border", "type", "textLeft", "textRight", "dark"], outputs: ["iconClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ErrorNotificationComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'c80-error-notification', standalone: true, imports: [IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"error-notification\">\n <div class=\"error-notification__content\">\n <c80-icon icon=\"error\" [size]=\"1.2\" />\n <div class=\"error-notification__message\">\n @for (sentence of sentences(); track $index) {\n <p>{{ sentence }}</p>\n }\n </div>\n </div>\n @if (config().dismissible !== false) {\n <c80-icon icon=\"close\" [size]=\"0.8\" (click)=\"onDismiss()\" (keydown.enter)=\"onDismiss()\" class=\"error-notification__close\" aria-label=\"Cerrar notificaci\u00F3n\" />\n }\n</div>", styles: [".error-notification{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-md);background:#8b000014;border:1px solid rgba(139,68,68,.2);border-radius:var(--border-radius-lg);color:#8b0000;animation:slideDown .3s cubic-bezier(.4,0,.2,1)}.error-notification p{margin:0;font-size:.875rem;line-height:1.5;font-weight:var(--font-weight-medium)}.error-notification__message{display:flex;flex-direction:column}.error-notification__content{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.error-notification__content c80-icon{flex-shrink:0}.error-notification__close{flex-shrink:0;cursor:pointer;opacity:.7;transition:opacity .2s}.error-notification__close:hover{opacity:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}\n"] }]
40
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], dismiss: [{ type: i0.Output, args: ["dismiss"] }] } });
41
+ //# sourceMappingURL=error-notification.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-notification.component.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/error-notification/error-notification.component.ts","../../../../../libs/ui/src/lib/error-notification/error-notification.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;;AAGxC;;GAEG;AAUH,MAAM,OAAO,0BAA0B;IACnC,MAAM,GAAG,KAAK,CAAC,QAAQ,iDAA2B,CAAC;IAEnD,OAAO,GAAG,MAAM,EAAQ,CAAC;IAEzB;;;OAGG;IACgB,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,8CAA8C;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAED,wEAAwE;QACxE,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,qDAAqD;QACrD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CACjD,CAAC;IACN,CAAC,qDAAC,CAAC;IAEH;;OAEG;IACO,SAAS;QACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;wGAlCQ,0BAA0B;4FAA1B,0BAA0B,yPChBvC,ujBAYM,y3BDDQ,aAAa;;4FAKd,0BAA0B;kBATtC,SAAS;+BAEI,wBAAwB,cACtB,IAAI,WACP,CAAC,aAAa,CAAC,mBAGP,uBAAuB,CAAC,MAAM","sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport type { ErrorNotificationConfig } from './error-notification.types';\n\n/**\n * Componente reutilizable para mostrar mensajes de error\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'c80-error-notification',\n standalone: true,\n imports: [IconComponent],\n templateUrl: './error-notification.component.html',\n styleUrl: './error-notification.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ErrorNotificationComponent {\n config = input.required<ErrorNotificationConfig>();\n\n dismiss = output<void>();\n\n /**\n * Divide el mensaje en oraciones separadas por '. '\n * Excluye la última oración si termina en punto\n */\n protected readonly sentences = computed(() => {\n const message = this.config().message;\n const parts = message.split('. ');\n\n // Si solo hay una parte, devolverla como está\n if (parts.length === 1) {\n return [message];\n }\n\n // Si la última parte está vacía (mensaje terminaba en '. '), eliminarla\n if (parts.at(-1) === '') {\n return parts.slice(0, -1).map(part => `${part}.`);\n }\n\n // Agregar punto a todas las partes excepto la última\n return parts.map((part, index) =>\n index === parts.length - 1 ? part : `${part}.`\n );\n });\n\n /**\n * Emite evento de cierre\n */\n protected onDismiss(): void {\n this.dismiss.emit();\n }\n}\n","<div class=\"error-notification\">\n <div class=\"error-notification__content\">\n <c80-icon icon=\"error\" [size]=\"1.2\" />\n <div class=\"error-notification__message\">\n @for (sentence of sentences(); track $index) {\n <p>{{ sentence }}</p>\n }\n </div>\n </div>\n @if (config().dismissible !== false) {\n <c80-icon icon=\"close\" [size]=\"0.8\" (click)=\"onDismiss()\" (keydown.enter)=\"onDismiss()\" class=\"error-notification__close\" aria-label=\"Cerrar notificación\" />\n }\n</div>"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=error-notification.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-notification.types.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/error-notification/error-notification.types.ts"],"names":[],"mappings":"","sourcesContent":["export interface ErrorNotificationConfig {\n message: string;\n dismissible?: boolean;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export * from './error-notification.component';
2
+ export * from './error-notification.types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/error-notification/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC","sourcesContent":["export * from './error-notification.component';\nexport * from './error-notification.types';\n"]}
@@ -15,10 +15,10 @@ export class HeaderComponent {
15
15
  this.location.back();
16
16
  }
17
17
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: HeaderComponent, isStandalone: true, selector: "c80-header", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<header class=\"header\" [class.header--no-border]=\"config().showBorder === false\">\n @if (config().showBackButton !== false) {\n <c80-icon button icon=\"arrowLeft\" [size]=\"1.2\" (iconClick)=\"onBackClick()\" title=\"Volver\" class=\"header__back-btn\" />\n }\n <h1 class=\"header__title\">{{ config().title }}</h1>\n <div class=\"header__actions\">\n <ng-content />\n </div>\n</header>", styles: [".header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;border-bottom:1px solid var(--color-border)}.header--no-border{border-bottom:none}.header__back-btn{flex-shrink:0}.header__title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0;flex:1;-webkit-user-select:none;user-select:none}.header__actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}@media(max-width:768px){.header{padding:.75rem;gap:.75rem;margin-bottom:.5rem}.header__title{font-size:1.25rem}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "c80-icon", inputs: ["icon", "color", "customColor", "disabled", "size", "button", "border", "type", "textLeft", "textRight", "dark"], outputs: ["iconClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: HeaderComponent, isStandalone: true, selector: "c80-header", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<header class=\"header\" [class.header--no-border]=\"config().showBorder === false\">\n @if (config().showBackButton !== false) {\n <c80-icon button icon=\"arrowLeft\" [size]=\"1.2\" (iconClick)=\"onBackClick()\" title=\"Volver\" class=\"header__back-btn\" />\n }\n <h1 class=\"header__title\">{{ config().title }}</h1>\n <div class=\"header__actions\">\n <ng-content />\n </div>\n</header>", styles: [".header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem;border-bottom:1px solid var(--color-border)}.header--no-border{border-bottom:none}.header__back-btn{flex-shrink:0}.header__title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0;-webkit-user-select:none;user-select:none}.header__actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0;margin-left:auto}@media(max-width:768px){.header{padding:.75rem;gap:.75rem;margin-bottom:.5rem}.header__title{font-size:1.25rem}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "c80-icon", inputs: ["icon", "color", "customColor", "disabled", "size", "button", "border", "type", "textLeft", "textRight", "dark"], outputs: ["iconClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: HeaderComponent, decorators: [{
21
21
  type: Component,
22
- args: [{ selector: 'c80-header', standalone: true, imports: [IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<header class=\"header\" [class.header--no-border]=\"config().showBorder === false\">\n @if (config().showBackButton !== false) {\n <c80-icon button icon=\"arrowLeft\" [size]=\"1.2\" (iconClick)=\"onBackClick()\" title=\"Volver\" class=\"header__back-btn\" />\n }\n <h1 class=\"header__title\">{{ config().title }}</h1>\n <div class=\"header__actions\">\n <ng-content />\n </div>\n</header>", styles: [".header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;border-bottom:1px solid var(--color-border)}.header--no-border{border-bottom:none}.header__back-btn{flex-shrink:0}.header__title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0;flex:1;-webkit-user-select:none;user-select:none}.header__actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}@media(max-width:768px){.header{padding:.75rem;gap:.75rem;margin-bottom:.5rem}.header__title{font-size:1.25rem}}\n"] }]
22
+ args: [{ selector: 'c80-header', standalone: true, imports: [IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<header class=\"header\" [class.header--no-border]=\"config().showBorder === false\">\n @if (config().showBackButton !== false) {\n <c80-icon button icon=\"arrowLeft\" [size]=\"1.2\" (iconClick)=\"onBackClick()\" title=\"Volver\" class=\"header__back-btn\" />\n }\n <h1 class=\"header__title\">{{ config().title }}</h1>\n <div class=\"header__actions\">\n <ng-content />\n </div>\n</header>", styles: [".header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem;border-bottom:1px solid var(--color-border)}.header--no-border{border-bottom:none}.header__back-btn{flex-shrink:0}.header__title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0;-webkit-user-select:none;user-select:none}.header__actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0;margin-left:auto}@media(max-width:768px){.header{padding:.75rem;gap:.75rem;margin-bottom:.5rem}.header__title{font-size:1.25rem}}\n"] }]
23
23
  }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
24
24
  //# sourceMappingURL=header.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.component.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/header/header.component.ts","../../../../../libs/ui/src/lib/header/header.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;;AAGxC;;GAEG;AAUH,MAAM,OAAO,eAAe;IACP,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,GAAG,KAAK,CAAC,QAAQ,iDAAgB,CAAC;IAExC;;OAEG;IACO,WAAW;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;wGAVQ,eAAe;4FAAf,eAAe,4MCjB5B,iaAQS,8kBDIK,aAAa;;4FAKd,eAAe;kBAT3B,SAAS;+BAEI,YAAY,cACV,IAAI,WACP,CAAC,aAAa,CAAC,mBAGP,uBAAuB,CAAC,MAAM","sourcesContent":["import { Location } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport type { HeaderConfig } from './header.types';\n\n/**\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'c80-header',\n standalone: true,\n imports: [IconComponent],\n templateUrl: './header.component.html',\n styleUrl: './header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderComponent {\n private readonly location = inject(Location);\n\n config = input.required<HeaderConfig>();\n\n /**\n *\n */\n protected onBackClick(): void {\n this.location.back();\n }\n}","<header class=\"header\" [class.header--no-border]=\"config().showBorder === false\">\n @if (config().showBackButton !== false) {\n <c80-icon button icon=\"arrowLeft\" [size]=\"1.2\" (iconClick)=\"onBackClick()\" title=\"Volver\" class=\"header__back-btn\" />\n }\n <h1 class=\"header__title\">{{ config().title }}</h1>\n <div class=\"header__actions\">\n <ng-content />\n </div>\n</header>"]}
1
+ {"version":3,"file":"header.component.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/header/header.component.ts","../../../../../libs/ui/src/lib/header/header.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;;AAGxC;;GAEG;AAUH,MAAM,OAAO,eAAe;IACP,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,GAAG,KAAK,CAAC,QAAQ,iDAAgB,CAAC;IAExC;;OAEG;IACO,WAAW;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;wGAVQ,eAAe;4FAAf,eAAe,4MCjB5B,iaAQS,snBDIK,aAAa;;4FAKd,eAAe;kBAT3B,SAAS;+BAEI,YAAY,cACV,IAAI,WACP,CAAC,aAAa,CAAC,mBAGP,uBAAuB,CAAC,MAAM","sourcesContent":["import { Location } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\nimport { IconComponent } from '../icon';\nimport type { HeaderConfig } from './header.types';\n\n/**\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'c80-header',\n standalone: true,\n imports: [IconComponent],\n templateUrl: './header.component.html',\n styleUrl: './header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderComponent {\n private readonly location = inject(Location);\n\n config = input.required<HeaderConfig>();\n\n /**\n *\n */\n protected onBackClick(): void {\n this.location.back();\n }\n}","<header class=\"header\" [class.header--no-border]=\"config().showBorder === false\">\n @if (config().showBackButton !== false) {\n <c80-icon button icon=\"arrowLeft\" [size]=\"1.2\" (iconClick)=\"onBackClick()\" title=\"Volver\" class=\"header__back-btn\" />\n }\n <h1 class=\"header__title\">{{ config().title }}</h1>\n <div class=\"header__actions\">\n <ng-content />\n </div>\n</header>"]}
@@ -57,9 +57,7 @@ export class IconComponent {
57
57
  return !hasCustomColor && isOpacityReducedColor ? SECONDARY_WARN_OPACITY : DEFAULT_OPACITY;
58
58
  }, ...(ngDevMode ? [{ debugName: "iconOpacity" }] : []));
59
59
  // Optimización: Un solo lookup a ICON_DEFINITIONS
60
- iconDefinition = computed(() => {
61
- return ICON_DEFINITIONS[this.icon()] ?? ICON_DEFINITIONS['default'];
62
- }, ...(ngDevMode ? [{ debugName: "iconDefinition" }] : []));
60
+ iconDefinition = computed(() => ICON_DEFINITIONS[this.icon()] ?? ICON_DEFINITIONS['default'], ...(ngDevMode ? [{ debugName: "iconDefinition" }] : []));
63
61
  iconPath = computed(() => this.iconDefinition().path, ...(ngDevMode ? [{ debugName: "iconPath" }] : []));
64
62
  additionalShapes = computed(() => this.iconDefinition().additionalShapes ?? [], ...(ngDevMode ? [{ debugName: "additionalShapes" }] : []));
65
63
  shouldFillIcon = computed(() => shouldIconUseFill(this.icon()), ...(ngDevMode ? [{ debugName: "shouldFillIcon" }] : []));
@@ -1 +1 @@
1
- {"version":3,"file":"icon.component.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/icon/icon.component.ts","../../../../../libs/ui/src/lib/icon/icon.component.html"],"names":[],"mappings":"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","sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { Component, input, output, computed, ChangeDetectionStrategy, inject } from '@angular/core';\nimport {\n BASE_ICON_SIZE,\n BASE_ICON_COLORS,\n DISABLED_COLOR,\n DEFAULT_ICON_COLOR,\n DISABLED_OPACITY,\n SECONDARY_WARN_OPACITY,\n DEFAULT_OPACITY,\n OPACITY_REDUCED_COLORS,\n SVG_STROKE_ATTRS,\n THEME_DARK_COLOR,\n THEME_LIGHT_COLOR,\n} from './icon.constants';\nimport { ICON_DEFINITIONS } from './icon.definitions';\nimport type { ColorType, ButtonType, IconType } from './icon.types';\nimport { transformToBoolean, shouldIconUseFill } from './icon.utils';\nimport { ThemeService } from './theme.service';\n\n\n/**\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'c80-icon',\n standalone: true,\n imports: [NgTemplateOutlet],\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IconComponent {\n private readonly themeService = inject(ThemeService);\n\n /* v8 ignore next */\n readonly icon = input<IconType>('check'); // Tipo de icono a mostrar\n /* v8 ignore next */\n readonly color = input<ColorType | undefined>(undefined); // Color del icono (primary, secondary, warn, success)\n /* v8 ignore next */\n readonly customColor = input<string | undefined>(undefined); // Color personalizado (sobrescribe color)\n /* v8 ignore next */\n readonly disabled = input(false); // Estado deshabilitado\n /* v8 ignore next */\n readonly size = input(1); // Multiplicador de tamaño (1 = 24px)\n /* v8 ignore next */\n readonly button = input(false, { transform: transformToBoolean }); // Renderiza como botón clickeable\n /* v8 ignore next */\n readonly border = input(false, { transform: transformToBoolean }); // Agrega borde al wrapper\n /* v8 ignore next */\n readonly type = input<ButtonType>('button'); // Tipo de botón (button, submit, reset)\n /* v8 ignore next */\n readonly textLeft = input<string | undefined>(undefined); // Texto a la izquierda del icono\n /* v8 ignore next */\n readonly textRight = input<string | undefined>(undefined); // Texto a la derecha del icono\n /* v8 ignore next */\n readonly dark = input(false, { transform: transformToBoolean }); // Modo oscuro\n\n readonly iconClick = output<Event>(); // Evento emitido al hacer click (solo si button=true)\n\n readonly iconSize = computed(() => BASE_ICON_SIZE * this.size());\n\n readonly isDarkMode = computed(() => this.dark() || this.themeService.isDark());\n\n readonly iconColor = computed(() => {\n if (this.disabled()) return DISABLED_COLOR;\n\n const custom = this.customColor();\n if (custom) return custom;\n\n const colorType = this.color();\n\n // Si no hay color específico, usar color adaptativo al tema\n if (!colorType) {\n return this.themeService.isDark() ? THEME_DARK_COLOR : THEME_LIGHT_COLOR;\n }\n\n return BASE_ICON_COLORS[colorType] ?? DEFAULT_ICON_COLOR;\n });\n\n readonly iconOpacity = computed(() => {\n if (this.disabled()) return DISABLED_OPACITY;\n\n const hasCustomColor = this.customColor() !== undefined;\n const colorType = this.color();\n const isOpacityReducedColor = colorType && OPACITY_REDUCED_COLORS.includes(colorType);\n\n return !hasCustomColor && isOpacityReducedColor ? SECONDARY_WARN_OPACITY : DEFAULT_OPACITY;\n });\n\n // Optimización: Un solo lookup a ICON_DEFINITIONS\n readonly iconDefinition = computed(() => {\n return ICON_DEFINITIONS[this.icon()] ?? ICON_DEFINITIONS['default'];\n });\n\n readonly iconPath = computed(() => this.iconDefinition().path);\n\n readonly additionalShapes = computed(() => this.iconDefinition().additionalShapes ?? []);\n\n readonly shouldFillIcon = computed(() => shouldIconUseFill(this.icon()));\n\n readonly multiColorIcon = computed(() => this.iconDefinition().multiColor);\n\n readonly hasMultiPaths = computed(() => this.multiColorIcon() !== undefined);\n\n readonly iconStrokeWidth = computed(() => this.iconDefinition().strokeWidth ?? SVG_STROKE_ATTRS.strokeWidth);\n\n // Exponer constantes SVG al template\n readonly svgStrokeAttrs = SVG_STROKE_ATTRS;\n\n /**\n *\n * @param event\n */\n onButtonClick(event: Event): void {\n if (!this.disabled()) {\n this.iconClick.emit(event);\n }\n }\n}\n","<ng-template #svgContent>\n <!-- eslint-disable-next-line @angular-eslint/template/no-inline-styles -->\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\n @for (shape of additionalShapes(); track $index) {\n @if (shape.type === 'circle') {\n <circle [attr.cx]=\"shape.cx\" [attr.cy]=\"shape.cy\" [attr.r]=\"shape.r\" [attr.stroke]=\"iconColor()\" [attr.stroke-width]=\"svgStrokeAttrs.strokeWidth\" [attr.fill]=\"shape.fill === 'color' ? iconColor() : 'none'\" />\n } @else if (shape.type === 'rect') {\n <rect [attr.x]=\"shape.x\" [attr.y]=\"shape.y\" [attr.width]=\"shape.width\" [attr.height]=\"shape.height\" [attr.rx]=\"shape.rx || null\" [attr.stroke]=\"iconColor()\" [attr.stroke-width]=\"svgStrokeAttrs.strokeWidth\"\n [attr.fill]=\"shape.fill === 'color' ? iconColor() : 'none'\" />\n } @else if (shape.type === 'path') {\n <path [attr.d]=\"shape.d\" [attr.stroke]=\"iconColor()\" [attr.stroke-width]=\"svgStrokeAttrs.strokeWidth\" [attr.stroke-linecap]=\"svgStrokeAttrs.strokeLinecap\" [attr.stroke-linejoin]=\"svgStrokeAttrs.strokeLinejoin\"\n [attr.fill]=\"shape.fill === 'color' ? iconColor() : 'none'\" />\n }\n }\n\n @if (hasMultiPaths()) {\n <!-- Iconos con múltiples paths y colores personalizados -->\n @for (path of multiColorIcon()!.paths; track $index) {\n <path [attr.d]=\"path\" [attr.fill]=\"multiColorIcon()!.colors[$index] || iconColor()\" stroke=\"none\" />\n }\n } @else {\n <!-- Iconos con un solo path -->\n <path [attr.d]=\"iconPath()\" [attr.stroke]=\"iconColor()\" [attr.fill]=\"shouldFillIcon() ? iconColor() : 'none'\" [attr.stroke-width]=\"iconStrokeWidth()\" [attr.stroke-linecap]=\"svgStrokeAttrs.strokeLinecap\"\n [attr.stroke-linejoin]=\"svgStrokeAttrs.strokeLinejoin\" />\n }\n </svg>\n</ng-template>\n\n<ng-template #textContent>\n @if (textLeft()) {\n <span class=\"icon-text ms-3\">{{ textLeft() }}</span>\n }\n <!-- eslint-disable-next-line @angular-eslint/template/no-inline-styles -->\n <span class=\"icon-content\" [style.width.px]=\"iconSize() + 8\" [style.height.px]=\"iconSize() + 8\">\n <ng-container *ngTemplateOutlet=\"svgContent\" />\n </span>\n @if (textRight()) {\n <span class=\"icon-text me-3\">{{ textRight() }}</span>\n }\n</ng-template>\n\n@if (button()) {\n<button [type]=\"type()\" [disabled]=\"disabled()\" class=\"icon-wrapper\" [class.icon-wrapper-border]=\"border()\" [class.dark-mode]=\"isDarkMode()\" (click)=\"onButtonClick($event)\">\n <ng-container *ngTemplateOutlet=\"textContent\" />\n</button>\n} @else {\n<span class=\"icon-wrapper\" [class.icon-wrapper-border]=\"border()\" [class.dark-mode]=\"isDarkMode()\">\n <ng-container *ngTemplateOutlet=\"textContent\" />\n</span>\n}"]}
1
+ {"version":3,"file":"icon.component.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/icon/icon.component.ts","../../../../../libs/ui/src/lib/icon/icon.component.html"],"names":[],"mappings":"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","sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { Component, input, output, computed, ChangeDetectionStrategy, inject } from '@angular/core';\nimport {\n BASE_ICON_SIZE,\n BASE_ICON_COLORS,\n DISABLED_COLOR,\n DEFAULT_ICON_COLOR,\n DISABLED_OPACITY,\n SECONDARY_WARN_OPACITY,\n DEFAULT_OPACITY,\n OPACITY_REDUCED_COLORS,\n SVG_STROKE_ATTRS,\n THEME_DARK_COLOR,\n THEME_LIGHT_COLOR,\n} from './icon.constants';\nimport { ICON_DEFINITIONS } from './icon.definitions';\nimport type { ColorType, ButtonType, IconType } from './icon.types';\nimport { transformToBoolean, shouldIconUseFill } from './icon.utils';\nimport { ThemeService } from './theme.service';\n\n\n/**\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'c80-icon',\n standalone: true,\n imports: [NgTemplateOutlet],\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IconComponent {\n private readonly themeService = inject(ThemeService);\n\n /* v8 ignore next */\n readonly icon = input<IconType>('check'); // Tipo de icono a mostrar\n /* v8 ignore next */\n readonly color = input<ColorType | undefined>(undefined); // Color del icono (primary, secondary, warn, success)\n /* v8 ignore next */\n readonly customColor = input<string | undefined>(undefined); // Color personalizado (sobrescribe color)\n /* v8 ignore next */\n readonly disabled = input(false); // Estado deshabilitado\n /* v8 ignore next */\n readonly size = input(1); // Multiplicador de tamaño (1 = 24px)\n /* v8 ignore next */\n readonly button = input(false, { transform: transformToBoolean }); // Renderiza como botón clickeable\n /* v8 ignore next */\n readonly border = input(false, { transform: transformToBoolean }); // Agrega borde al wrapper\n /* v8 ignore next */\n readonly type = input<ButtonType>('button'); // Tipo de botón (button, submit, reset)\n /* v8 ignore next */\n readonly textLeft = input<string | undefined>(undefined); // Texto a la izquierda del icono\n /* v8 ignore next */\n readonly textRight = input<string | undefined>(undefined); // Texto a la derecha del icono\n /* v8 ignore next */\n readonly dark = input(false, { transform: transformToBoolean }); // Modo oscuro\n\n readonly iconClick = output<Event>(); // Evento emitido al hacer click (solo si button=true)\n\n readonly iconSize = computed(() => BASE_ICON_SIZE * this.size());\n\n readonly isDarkMode = computed(() => this.dark() || this.themeService.isDark());\n\n readonly iconColor = computed(() => {\n if (this.disabled()) return DISABLED_COLOR;\n\n const custom = this.customColor();\n if (custom) return custom;\n\n const colorType = this.color();\n\n // Si no hay color específico, usar color adaptativo al tema\n if (!colorType) {\n return this.themeService.isDark() ? THEME_DARK_COLOR : THEME_LIGHT_COLOR;\n }\n\n return BASE_ICON_COLORS[colorType] ?? DEFAULT_ICON_COLOR;\n });\n\n readonly iconOpacity = computed(() => {\n if (this.disabled()) return DISABLED_OPACITY;\n\n const hasCustomColor = this.customColor() !== undefined;\n const colorType = this.color();\n const isOpacityReducedColor = colorType && OPACITY_REDUCED_COLORS.includes(colorType);\n\n return !hasCustomColor && isOpacityReducedColor ? SECONDARY_WARN_OPACITY : DEFAULT_OPACITY;\n });\n\n // Optimización: Un solo lookup a ICON_DEFINITIONS\n readonly iconDefinition = computed(() => ICON_DEFINITIONS[this.icon()] ?? ICON_DEFINITIONS['default']);\n\n readonly iconPath = computed(() => this.iconDefinition().path);\n\n readonly additionalShapes = computed(() => this.iconDefinition().additionalShapes ?? []);\n\n readonly shouldFillIcon = computed(() => shouldIconUseFill(this.icon()));\n\n readonly multiColorIcon = computed(() => this.iconDefinition().multiColor);\n\n readonly hasMultiPaths = computed(() => this.multiColorIcon() !== undefined);\n\n readonly iconStrokeWidth = computed(() => this.iconDefinition().strokeWidth ?? SVG_STROKE_ATTRS.strokeWidth);\n\n // Exponer constantes SVG al template\n readonly svgStrokeAttrs = SVG_STROKE_ATTRS;\n\n /**\n *\n * @param event\n */\n onButtonClick(event: Event): void {\n if (!this.disabled()) {\n this.iconClick.emit(event);\n }\n }\n}\n","<ng-template #svgContent>\n <!-- eslint-disable-next-line @angular-eslint/template/no-inline-styles -->\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\n @for (shape of additionalShapes(); track $index) {\n @if (shape.type === 'circle') {\n <circle [attr.cx]=\"shape.cx\" [attr.cy]=\"shape.cy\" [attr.r]=\"shape.r\" [attr.stroke]=\"iconColor()\" [attr.stroke-width]=\"svgStrokeAttrs.strokeWidth\" [attr.fill]=\"shape.fill === 'color' ? iconColor() : 'none'\" />\n } @else if (shape.type === 'rect') {\n <rect [attr.x]=\"shape.x\" [attr.y]=\"shape.y\" [attr.width]=\"shape.width\" [attr.height]=\"shape.height\" [attr.rx]=\"shape.rx || null\" [attr.stroke]=\"iconColor()\" [attr.stroke-width]=\"svgStrokeAttrs.strokeWidth\"\n [attr.fill]=\"shape.fill === 'color' ? iconColor() : 'none'\" />\n } @else if (shape.type === 'path') {\n <path [attr.d]=\"shape.d\" [attr.stroke]=\"iconColor()\" [attr.stroke-width]=\"svgStrokeAttrs.strokeWidth\" [attr.stroke-linecap]=\"svgStrokeAttrs.strokeLinecap\" [attr.stroke-linejoin]=\"svgStrokeAttrs.strokeLinejoin\"\n [attr.fill]=\"shape.fill === 'color' ? iconColor() : 'none'\" />\n }\n }\n\n @if (hasMultiPaths()) {\n <!-- Iconos con múltiples paths y colores personalizados -->\n @for (path of multiColorIcon()!.paths; track $index) {\n <path [attr.d]=\"path\" [attr.fill]=\"multiColorIcon()!.colors[$index] || iconColor()\" stroke=\"none\" />\n }\n } @else {\n <!-- Iconos con un solo path -->\n <path [attr.d]=\"iconPath()\" [attr.stroke]=\"iconColor()\" [attr.fill]=\"shouldFillIcon() ? iconColor() : 'none'\" [attr.stroke-width]=\"iconStrokeWidth()\" [attr.stroke-linecap]=\"svgStrokeAttrs.strokeLinecap\"\n [attr.stroke-linejoin]=\"svgStrokeAttrs.strokeLinejoin\" />\n }\n </svg>\n</ng-template>\n\n<ng-template #textContent>\n @if (textLeft()) {\n <span class=\"icon-text ms-3\">{{ textLeft() }}</span>\n }\n <!-- eslint-disable-next-line @angular-eslint/template/no-inline-styles -->\n <span class=\"icon-content\" [style.width.px]=\"iconSize() + 8\" [style.height.px]=\"iconSize() + 8\">\n <ng-container *ngTemplateOutlet=\"svgContent\" />\n </span>\n @if (textRight()) {\n <span class=\"icon-text me-3\">{{ textRight() }}</span>\n }\n</ng-template>\n\n@if (button()) {\n<button [type]=\"type()\" [disabled]=\"disabled()\" class=\"icon-wrapper\" [class.icon-wrapper-border]=\"border()\" [class.dark-mode]=\"isDarkMode()\" (click)=\"onButtonClick($event)\">\n <ng-container *ngTemplateOutlet=\"textContent\" />\n</button>\n} @else {\n<span class=\"icon-wrapper\" [class.icon-wrapper-border]=\"border()\" [class.dark-mode]=\"isDarkMode()\">\n <ng-container *ngTemplateOutlet=\"textContent\" />\n</span>\n}"]}
@@ -101,6 +101,13 @@ export const ICON_DEFINITIONS = {
101
101
  upload: {
102
102
  path: 'M12 15V3m0 0l-4 4m4-4l4 4M2 17l.621 2.485A2 2 0 0 0 4.561 21h14.878a2 2 0 0 0 1.94-1.515L22 17'
103
103
  },
104
+ image: {
105
+ path: 'm21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21',
106
+ additionalShapes: [
107
+ { type: 'rect', x: '3', y: '3', width: '18', height: '18', rx: '2' },
108
+ { type: 'circle', cx: '9', cy: '9', r: '2' }
109
+ ]
110
+ },
104
111
  pendingActions: {
105
112
  path: 'M12 8v4l3 3m6-3a9 9 0 1 1-18 0 9 9 0 0 1 18 0z'
106
113
  },
@@ -304,7 +311,7 @@ export const ICON_DEFINITIONS = {
304
311
  path: 'M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z'
305
312
  },
306
313
  arrowLeft: {
307
- path: 'm19 12H5m0 0 7 7m-7-7 7-7'
314
+ path: 'm15 18-6-6 6-6'
308
315
  },
309
316
  arrowRight: {
310
317
  path: 'm9 18 6-6-6-6'
@@ -418,6 +425,72 @@ export const ICON_DEFINITIONS = {
418
425
  ]
419
426
  }
420
427
  },
428
+ local_drink: {
429
+ path: 'M3 2l2.01 18.23C5.13 21.23 5.97 22 7 22h10c1.03 0 1.87-.77 1.99-1.77L21 2H3zm9 17c-1.66 0-3-1.34-3-3 0-2 3-5.4 3-5.4s3 3.4 3 5.4c0 1.66-1.34 3-3 3zm6.33-11H5.67l-.44-4h13.53l-.43 4z'
430
+ },
431
+ list: {
432
+ path: 'M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z'
433
+ },
434
+ gpsFixed: {
435
+ path: 'M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z'
436
+ },
437
+ locationPin: {
438
+ path: 'M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'
439
+ },
440
+ controlPoint: {
441
+ path: 'M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7z',
442
+ additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]
443
+ },
444
+ photo: {
445
+ path: 'M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'
446
+ },
447
+ restaurant: {
448
+ path: 'M11 9H9V2H7v7H5V2H3v7c0 2.12 1.66 3.84 3.75 3.97V22h2.5v-9.03C11.34 12.84 13 11.12 13 9V2h-2v7zm5-3v8h2.5v8H21V2c-2.76 0-5 2.24-5 4z'
449
+ },
450
+ iceCream: {
451
+ path: 'M8.79 12.4 12 20.94l3.21-8.54C16.26 12.15 17 11.2 17 10c0-1.66-1.34-3-3-3 0-.55-.45-1-1-1s-1 .45-1 1c-1.66 0-3 1.34-3 3 0 1.2.74 2.15 1.79 2.4z',
452
+ additionalShapes: [
453
+ { type: 'path', d: 'M14 2a3 3 0 0 1 3 3h-2a1 1 0 0 0-1-1z' },
454
+ { type: 'path', d: 'M10 2a3 3 0 0 0-3 3h2a1 1 0 0 1 1-1z' }
455
+ ]
456
+ },
457
+ barChart: {
458
+ path: 'M5 9.2h3V19H5V9.2zM10.6 5h2.8v14h-2.8V5zm5.6 8H19v6h-2.8v-6z'
459
+ },
460
+ waterDrop: {
461
+ path: 'M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'
462
+ },
463
+ cocktailGlass: {
464
+ path: 'M21 5V3H3v2l8 9v5H6v2h12v-2h-5v-5l8-9zM7.43 7 5.66 5h12.69l-1.78 2H7.43z'
465
+ },
466
+ acUnit: {
467
+ path: 'M22 11h-4.17l3.24-3.24-1.41-1.42L15 11h-2V9l4.66-4.66-1.42-1.41L13 6.17V2h-2v4.17L7.76 2.93 6.34 4.34 11 9v2H9L4.34 6.34 2.93 7.76 6.17 11H2v2h4.17l-3.24 3.24 1.41 1.42L9 13h2v2l-4.66 4.66 1.42 1.41L11 17.83V22h2v-4.17l3.24 3.24 1.42-1.41L13 15v-2h2l4.66 4.66 1.41-1.42L17.83 13H22v-2z'
468
+ },
469
+ formatListNumbered: {
470
+ path: 'M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z'
471
+ },
472
+ widgets: {
473
+ path: 'M13 13v8h8v-8h-8zM3 21h8v-8H3v8zM3 3v8h8V3H3zm13.66-1.31L11 7.34 16.66 13l5.66-5.66-5.66-5.65z'
474
+ },
475
+ contrast: {
476
+ path: 'M12 22c5.52 0 10-4.48 10-10S17.52 2 12 2 2 6.48 2 12s4.48 10 10 10zm0-18c4.42 0 8 3.58 8 8s-3.58 8-8 8z',
477
+ additionalShapes: [{ type: 'path', d: 'M12 4v16' }]
478
+ },
479
+ grid3x3: {
480
+ path: 'M20 3H4c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zM8 19H5v-3h3v3zm0-5H5v-3h3v3zm0-5H5V6h3v3zm5 10h-3v-3h3v3zm0-5h-3v-3h3v3zm0-5h-3V6h3v3zm5 10h-3v-3h3v3zm0-5h-3v-3h3v3zm0-5h-3V6h3v3z'
481
+ },
482
+ monetizationOn: {
483
+ path: 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1.41 16.09V20h-2.67v-1.93c-1.71-.36-3.16-1.46-3.27-3.4h1.96c.1 1.05.82 1.87 2.65 1.87 1.96 0 2.4-.98 2.4-1.59 0-.83-.44-1.61-2.67-2.14-2.48-.6-4.18-1.62-4.18-3.67 0-1.72 1.39-2.84 3.11-3.21V4h2.67v1.95c1.86.45 2.79 1.86 2.85 3.39H14.3c-.05-1.11-.64-1.87-2.22-1.87-1.5 0-2.4.68-2.4 1.64 0 .84.65 1.39 2.67 1.91s4.18 1.39 4.18 3.91c-.01 1.83-1.38 2.83-3.12 3.16z'
484
+ },
485
+ calculate: {
486
+ path: 'M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM13.03 7.06 14.09 6l1.41 1.41L16.91 6l1.06 1.06-1.41 1.41 1.41 1.41-1.06 1.06-1.41-1.4-1.41 1.41-1.06-1.06 1.41-1.41-1.41-1.42zM6.25 7.72h5v1.5h-5v-1.5zM11.5 16h-2v2H8v-2H6v-1.5h2v-2h1.5v2h2V16zm5.13.02-1.41-1.41-1.46 1.41-1.05-1.05 1.41-1.41-1.41-1.41L13.76 11l1.41 1.41 1.41-1.41 1.06 1.06-1.41 1.41 1.41 1.41-1.01 1.05z'
487
+ },
488
+ buildCircle: {
489
+ path: 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5.78 14.61-1.14 1.14-1.71-1.71-2.28 2.27-1.14-1.14 2.27-2.27-1.71-1.71 1.14-1.14 1.71 1.71 1.71-1.71 1.14 1.14-1.71 1.71 1.72 1.71zM15.5 7.5c0 .83-.67 1.5-1.5 1.5H8.75v3.68A2.99 2.99 0 0 0 10 9.5c1.65 0 3 1.35 3 3s-1.35 3-3 3c-1.3 0-2.4-.84-2.82-2H5.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h1.68c.15-.62.51-1.16 1-1.55V7.5c0-.28.22-.5.5-.5H14c.28 0 .5.22.5.5z'
490
+ },
491
+ addBox: {
492
+ path: 'M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2z'
493
+ },
421
494
  default: {
422
495
  path: '',
423
496
  additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]
@@ -1 +1 @@
1
- {"version":3,"file":"icon.definitions.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/icon/icon.definitions.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,0IAA0I,CAAC;AAE9J;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA6C;IACtE,KAAK,EAAE;QACH,IAAI,EAAE,gBAAgB;KACzB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,sBAAsB;KAC/B;IACD,IAAI,EAAE;QACF,IAAI,EAAE,0DAA0D;QAChE,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;KAC3F;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,8EAA8E;KACvF;IACD,GAAG,EAAE;QACD,IAAI,EAAE,kBAAkB;KAC3B;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,UAAU;KACnB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,iFAAiF;QACvF,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;KACrE;IACD,GAAG,EAAE;QACD,IAAI,EAAE,cAAc;QACpB,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;YAC5C,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE;YAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,EAAE;SACxC;KACJ;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,yEAAyE;QAC/E,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;KACrE;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;KACtE;IACD,OAAO,EAAE;QACL,IAAI,EAAE,2HAA2H;KACpI;IACD,WAAW,EAAE;QACT,IAAI,EAAE,eAAe;QACrB,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;KACtE;IACD,YAAY,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;KACtE;IACD,KAAK,EAAE;QACH,IAAI,EAAE,oBAAoB;QAC1B,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;KACtE;IACD,KAAK,EAAE;QACH,IAAI,EAAE,kBAAkB;QACxB,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;YACnE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;SACvE;KACJ;IACD,OAAO,EAAE;QACL,IAAI,EAAE,gBAAgB;KACzB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,cAAc;KACvB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,EAAE;QACR,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE;YACpE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;SAChE;KACJ;IACD,SAAS,EAAE;QACP,IAAI,EAAE,EAAE;QACR,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE;YACpE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/D;KACJ;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,+CAA+C;KACxD;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,gGAAgG;KACzG;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,gDAAgD;KACzD;IACD,UAAU,EAAE;QACR,IAAI,EAAE,wGAAwG;QAC9G,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;KACtE;IACD,IAAI,EAAE;QACF,IAAI,EAAE,eAAe;KACxB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,eAAe;KACxB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,yHAAyH;KAClI;IACD,UAAU,EAAE;QACR,IAAI,EAAE,+FAA+F;QACrG,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;KACrE;IACD,aAAa,EAAE;QACX,IAAI,EAAE,uKAAuK;YACzK,yIAAyI;YACzI,0JAA0J;YAC1J,uDAAuD;KAC9D;IACD,KAAK,EAAE;QACH,IAAI,EAAE,uGAAuG;KAChH;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACpF;IACD,IAAI,EAAE;QACF,IAAI,EAAE,8FAA8F;QACpG,IAAI,EAAE,IAAI;KACb;IACD,UAAU,EAAE;QACR,IAAI,EAAE,8FAA8F;QACpG,IAAI,EAAE,IAAI;KACb;IACD,OAAO,EAAE;QACL,IAAI,EAAE,oBAAoB;QAC1B,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;KACtE;IACD,GAAG,EAAE;QACD,IAAI,EAAE,yHAAyH;KAClI;IACD,mBAAmB,EAAE;QACjB,IAAI,EAAE,iBAAiB;QACvB,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,0FAA0F,EAAE,CAAC;KACtI;IACD,SAAS,EAAE;QACP,IAAI,EAAE,+IAA+I;KACxJ;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,kEAAkE;KAC3E;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,6CAA6C;QACnD,IAAI,EAAE,IAAI;KACb;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,+GAA+G;QACrH,IAAI,EAAE,IAAI;KACb;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,6EAA6E;QACnF,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC;KAC5D;IACD,UAAU,EAAE;QACR,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,GAAG;QAChB,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;KACtE;IACD,IAAI,EAAE;QACF,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,KAAK;KACrB;IACD,WAAW,EAAE;QACT,IAAI,EAAE,gBAAgB;QACtB,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;KAC3F;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;KAC3F;IACD,UAAU,EAAE;QACR,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;KAC3F;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,kJAAkJ;YACpJ,mJAAmJ;QACvJ,IAAI,EAAE,IAAI;KACb;IACD,OAAO,EAAE;QACL,IAAI,EAAE,2HAA2H;QACjI,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,4JAA4J,EAAE;YACjL,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,+BAA+B,EAAE;SACvD;KACJ;IACD,WAAW,EAAE;QACT,IAAI,EAAE,kEAAkE;QACxE,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE;YAChD,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,oCAAoC,EAAE;SAC5D;KACJ;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,yBAAyB;QAC/B,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE;YACvC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,oBAAoB,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,oBAAoB,EAAE;SAC5C;KACJ;IACD,OAAO,EAAE;QACL,IAAI,EAAE,kDAAkD;KAC3D;IACD,KAAK,EAAE;QACH,IAAI,EAAE,sDAAsD;QAC5D,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE;YAC9C,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;YAC7D,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,+GAA+G,EAAE;SACvI;KACJ;IACD,GAAG,EAAE;QACD,IAAI,EAAE,0HAA0H;QAChI,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,yCAAyC,EAAE;YAC9D,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,6BAA6B,EAAE;SACrD;KACJ;IACD,IAAI,EAAE;QACF,IAAI,EAAE,uEAAuE;KAChF;IACD,OAAO,EAAE;QACL,IAAI,EAAE,+DAA+D;KACxE;IACD,IAAI,EAAE;QACF,IAAI,EAAE,sCAAsC;KAC/C;IACD,IAAI,EAAE;QACF,IAAI,EAAE,4DAA4D;QAClE,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;KACvD;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,6EAA6E;KACtF;IACD,IAAI,EAAE;QACF,IAAI,EAAE,iEAAiE;QACvE,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,uBAAuB,EAAE;SAC/C;KACJ;IACD,KAAK,EAAE;QACH,IAAI,EAAE,uFAAuF;QAC7F,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;KAC3F;IACD,KAAK,EAAE;QACH,IAAI,EAAE,aAAa;QACnB,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;KACtE;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,sBAAsB;QAC5B,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;KAC3F;IACD,KAAK,EAAE;QACH,IAAI,EAAE,aAAa;QACnB,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE;YAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE;SAChC;KACJ;IACD,IAAI,EAAE;QACF,IAAI,EAAE,mGAAmG;KAC5G;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,kGAAkG;KAC3G;IACD,KAAK,EAAE;QACH,IAAI,EAAE,6BAA6B;KACtC;IACD,KAAK,EAAE;QACH,IAAI,EAAE,qCAAqC;KAC9C;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,wIAAwI;KACjJ;IACD,IAAI,EAAE;QACF,IAAI,EAAE,gDAAgD;QACtD,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC;KAC3D;IACD,IAAI,EAAE;QACF,IAAI,EAAE,yBAAyB;KAClC;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,mJAAmJ;KAC5J;IACD,SAAS,EAAE;QACP,IAAI,EAAE,2BAA2B;KACpC;IACD,UAAU,EAAE;QACR,IAAI,EAAE,eAAe;KACxB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,wBAAwB;KACjC;IACD,OAAO,EAAE;QACL,IAAI,EAAE,mDAAmD;QACzD,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE;SACrC;KACJ;IACD,IAAI,EAAE;QACF,IAAI,EAAE,kHAAkH;QACxH,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;KAC3F;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,mCAAmC;KAC5C;IACD,IAAI,EAAE;QACF,IAAI,EAAE,iDAAiD;KAC1D;IACD,IAAI,EAAE;QACF,IAAI,EAAE,gDAAgD;QACtD,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;KACtE;IACD,OAAO,EAAE;QACL,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;YAC/C,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;SAClE;KACJ;IACD,SAAS,EAAE;QACP,IAAI,EAAE,oDAAoD;KAC7D;IACD,oBAAoB,EAAE;QAClB,IAAI,EAAE,mIAAmI;YACrI,6JAA6J;YAC7J,oLAAoL;YACpL,oIAAoI;YACpI,2IAA2I;KAClJ;IACD,KAAK,EAAE;QACH,IAAI,EAAE,yRAAyR;KAClS;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,uDAAuD;QAC7D,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE;YACpE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE;YACpE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;SAClE;KACJ;IACD,UAAU,EAAE;QACR,IAAI,EAAE,wMAAwM;KACjN;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,kBAAkB;QACxB,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE;YACpD,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;SACtE;KACJ;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,gEAAgE;KACzE;IACD,KAAK,EAAE;QACH,IAAI,EAAE,UAAU;KACnB;IACD,WAAW,EAAE;QACT,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,IAAI;KACb;IACD,WAAW,EAAE;QACT,IAAI,EAAE,UAAU;QAChB,gBAAgB,EAAE;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,uCAAuC,EAAE;SAC/D;KACJ;IACD,IAAI,EAAE;QACF,IAAI,EAAE,2CAA2C;QACjD,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;KACpE;IACD,GAAG,EAAE;QACD,IAAI,EAAE,6LAA6L;YAC/L,+HAA+H;YAC/H,sPAAsP;YACtP,gPAAgP;KACvP;IACD,IAAI,EAAE;QACF,IAAI,EAAE,gKAAgK;YAClK,yKAAyK;KAChL;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,UAAU,EAAE;YACR,MAAM,EAAE;gBACJ,SAAS,EAAE,wBAAwB;gBACnC,SAAS,EAAE,iCAAiC;gBAC5C,SAAS,EAAE,sCAAsC;gBACjD,SAAS,EAAE,yBAAyB;aACvC;YACD,KAAK,EAAE;gBACH,yHAAyH;gBACzH,uIAAuI;gBACvI,+HAA+H;gBAC/H,qIAAqI;aACxI;SACJ;KACJ;IACD,OAAO,EAAE;QACL,IAAI,EAAE,EAAE;QACR,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;KACtE;CACK,CAAC","sourcesContent":["import type { IconDefinition } from './icon.types';\n\nconst HEART_PATH = 'M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z';\n\n/**\n * ICON DEFINITIONS - Estructura unificada que combina paths, shapes y multi-color\n * \n * NUEVA ARQUITECTURA: Una sola fuente de verdad para cada icono\n * - path: Path principal del SVG\n * - additionalShapes: Formas complementarias (círculos, rectángulos) \n * - multiColor: Configuración para iconos con múltiples colores específicos\n * \n * BENEFICIOS:\n * - Una búsqueda en lugar de 3 lookups separados (mejor performance)\n * - Garantiza consistencia (no hay iconos \"a medias\")\n * - Fácil mantenimiento y escalabilidad\n * - TypeScript más robusto\n */\nexport const ICON_DEFINITIONS: Readonly<Record<string, IconDefinition>> = {\n check: {\n path: 'M5 13l4 4L19 7'\n },\n cancel: {\n path: 'M6 6l12 12M6 18L18 6'\n },\n edit: {\n path: 'M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z',\n additionalShapes: [{ type: 'rect', x: '5', y: '19', width: '14', height: '2', rx: '1' }]\n },\n delete: {\n path: 'M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'\n },\n add: {\n path: 'M12 5v14M5 12h14'\n },\n remove: {\n path: 'M5 12h14'\n },\n view: {\n path: 'M12 5C7 5 2.73 8.11 1 12c1.73 3.89 6 7 11 7s9.27-3.11 11-7c-1.73-3.89-6-7-11-7z',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '3' }]\n },\n get: {\n path: 'm8.5 8.5 7 7',\n additionalShapes: [\n { type: 'circle', cx: '6', cy: '6', r: '3' },\n { type: 'circle', cx: '18', cy: '18', r: '3' },\n { type: 'path', d: 'm13 11 2 2-2 2' }\n ]\n },\n settings: {\n path: 'M12 1v6m0 6v10M3.34 7l5.2 3M15.46 14l5.2 3M3.34 17l5.2-3M15.46 10l5.2-3',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '3' }]\n },\n schedule: {\n path: 'M12 6v6l4 2',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n refresh: {\n path: 'M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8M21 3v5h-5M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16M3 21v-5h5'\n },\n checkCircle: {\n path: 'm9 12 2 2 4-4',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n cancelCircle: {\n path: 'm15 9-6 6m0-6 6 6',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n error: {\n path: 'M15 9L9 15M9 9l6 6',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n queue: {\n path: 'M3 12h18m-9-9v18',\n additionalShapes: [\n { type: 'rect', x: '2', y: '3', width: '20', height: '6', rx: '1' },\n { type: 'rect', x: '2', y: '15', width: '20', height: '6', rx: '1' }\n ]\n },\n arrowUp: {\n path: 'm18 15-6-6-6 6'\n },\n arrowDown: {\n path: 'm6 9 6 6 6-6'\n },\n toggleOn: {\n path: '',\n additionalShapes: [\n { type: 'rect', x: '2', y: '7', width: '20', height: '10', rx: '5' },\n { type: 'circle', cx: '18', cy: '12', r: '4', fill: 'color' }\n ]\n },\n toggleOff: {\n path: '',\n additionalShapes: [\n { type: 'rect', x: '2', y: '7', width: '20', height: '10', rx: '5' },\n { type: 'circle', cx: '6', cy: '12', r: '4', fill: 'color' }\n ]\n },\n search: {\n path: 'm21 21-6-6m2-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0z'\n },\n upload: {\n path: 'M12 15V3m0 0l-4 4m4-4l4 4M2 17l.621 2.485A2 2 0 0 0 4.561 21h14.878a2 2 0 0 0 1.94-1.515L22 17'\n },\n pendingActions: {\n path: 'M12 8v4l3 3m6-3a9 9 0 1 1-18 0 9 9 0 0 1 18 0z'\n },\n playCircle: {\n path: 'M14.752 11.168l-3.197-2.132A1 1 0 0 0 10 9.87v4.263a1 1 0 0 0 1.555.832l3.197-2.132a1 1 0 0 0 0-1.664z',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n play: {\n path: 'M8 5v14l11-7z'\n },\n stop: {\n path: 'M6 6h12v12H6z'\n },\n tune: {\n path: 'M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z'\n },\n visibility: {\n path: 'M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5z',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '3' }]\n },\n visibilityOff: {\n path: 'M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7z' +\n 'M2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27z' +\n 'M7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2z' +\n 'm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z'\n },\n close: {\n path: 'M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'\n },\n record: {\n path: '',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '5', fill: 'color' }]\n },\n star: {\n path: 'M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z',\n fill: true\n },\n starFilled: {\n path: 'M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z',\n fill: true\n },\n xCircle: {\n path: 'M15 9l-6 6m0-6l6 6',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n key: {\n path: 'M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4'\n },\n exclamationTriangle: {\n path: 'M12 9v4m0 4h.01',\n additionalShapes: [{ type: 'path', d: 'M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z' }]\n },\n clipboard: {\n path: 'M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'\n },\n download: {\n path: 'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4m4-5l5 5m0 0l5-5m-5 5V3'\n },\n shield: {\n path: 'M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z',\n fill: true\n },\n person: {\n path: 'M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z',\n fill: true\n },\n envelope: {\n path: 'M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z',\n additionalShapes: [{ type: 'path', d: 'm22 6-10 7L2 6' }]\n },\n infoCircle: {\n path: 'M12 16v-4m0-4h.01',\n strokeWidth: '3',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n info: {\n path: 'M12 11v5m0-9h.01',\n strokeWidth: '2.5'\n },\n checkSquare: {\n path: 'm9 11 3 3L22 4',\n additionalShapes: [{ type: 'rect', x: '3', y: '3', width: '18', height: '18', rx: '2' }]\n },\n square: {\n path: '',\n additionalShapes: [{ type: 'rect', x: '3', y: '3', width: '18', height: '18', rx: '2' }]\n },\n dashSquare: {\n path: 'M8 12h8',\n additionalShapes: [{ type: 'rect', x: '3', y: '3', width: '18', height: '18', rx: '2' }]\n },\n people: {\n path: 'M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3z' +\n 'm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z',\n fill: true\n },\n boxSeam: {\n path: 'M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z',\n additionalShapes: [\n { type: 'path', d: 'M21 8.5v7c0 .6-.2 1.2-.6 1.7l-7 4c-.3.2-.6.3-1 .3-.3 0-.7-.1-1-.3l-7-4c-.4-.5-.6-1.1-.6-1.7v-7c0-.6.2-1.2.6-1.7l7-4c.6-.4 1.4-.4 2 0l7 4c.4.5.6 1.1.6 1.7z' },\n { type: 'path', d: 'M3.3 7L12 12l8.7-5M12 22.5V12' }\n ]\n },\n personBadge: {\n path: 'M12 2L4 6v5c0 5.55 3.84 10.74 8 12 4.16-1.26 8-6.45 8-12V6l-8-4z',\n additionalShapes: [\n { type: 'circle', cx: '12', cy: '12', r: '1.5' },\n { type: 'path', d: 'M12 9.5v1m0 3v1m2.5-2.5h-1m-3 0h-1' }\n ]\n },\n listTask: {\n path: 'M9 6h12M9 12h12M9 18h12',\n additionalShapes: [\n { type: 'path', d: 'M3 5l1.5 1.5L7 4' },\n { type: 'path', d: 'M3 11l1.5 1.5L7 10' },\n { type: 'path', d: 'M3 17l1.5 1.5L7 16' }\n ]\n },\n shuffle: {\n path: 'M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5'\n },\n motor: {\n path: 'M9 3v3m6-3v3M9 18v3m6-3v3M3 9h3M3 15h3m12-6h3m-3 6h3',\n additionalShapes: [\n { type: 'circle', cx: '12', cy: '12', r: '8' },\n { type: 'circle', cx: '12', cy: '12', r: '3', fill: 'color' },\n { type: 'path', d: 'M12 4v2m0 12v2M4 12h2m12 0h2M7.05 7.05l1.42 1.42m7.07 7.07l1.41 1.41M7.05 16.95l1.42-1.42m7.07-7.07l1.41-1.41' }\n ]\n },\n box: {\n path: 'M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8z',\n additionalShapes: [\n { type: 'path', d: 'M12 2.7L3.3 7v9.3l8.7 5 8.7-5V7L12 2.7z' },\n { type: 'path', d: 'M12 22V12M3.3 7L12 12l8.7-5' }\n ]\n },\n bell: {\n path: 'M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9M13.73 21a2 2 0 0 1-3.46 0'\n },\n message: {\n path: 'M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'\n },\n send: {\n path: 'M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z'\n },\n file: {\n path: 'M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z',\n additionalShapes: [{ type: 'path', d: 'M13 2v7h7' }]\n },\n folder: {\n path: 'M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'\n },\n save: {\n path: 'M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z',\n additionalShapes: [\n { type: 'path', d: 'M15 3v6h4M9 21v-8h6v8' }\n ]\n },\n print: {\n path: 'M6 9V2h12v7M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2',\n additionalShapes: [{ type: 'rect', x: '6', y: '14', width: '12', height: '8', rx: '1' }]\n },\n clock: {\n path: 'M12 6v6l4 2',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n calendar: {\n path: 'M8 2v4m8-4v4M3 10h18',\n additionalShapes: [{ type: 'rect', x: '3', y: '4', width: '18', height: '18', rx: '2' }]\n },\n timer: {\n path: 'M12 8v4l2 2',\n additionalShapes: [\n { type: 'circle', cx: '12', cy: '13', r: '9' },\n { type: 'path', d: 'M9 2h6' }\n ]\n },\n lock: {\n path: 'M19 11H5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7a2 2 0 0 0-2-2zM7 11V7a5 5 0 0 1 10 0v4'\n },\n unlock: {\n path: 'M19 11H5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7a2 2 0 0 0-2-2zM7 11V7a5 5 0 0 1 9.9-1'\n },\n chart: {\n path: 'M3 3v18h18M7 16l4-4 4 4 6-6'\n },\n table: {\n path: 'M3 3h18v18H3zM3 9h18M3 15h18M9 3v18'\n },\n database: {\n path: 'M12 8c-4.97 0-9-1.34-9-3s4.03-3 9-3 9 1.34 9 3-4.03 3-9 3zM3 5v5c0 1.66 4.03 3 9 3s9-1.34 9-3V5M3 10v5c0 1.66 4.03 3 9 3s9-1.34 9-3v-5'\n },\n home: {\n path: 'm3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z',\n additionalShapes: [{ type: 'path', d: 'M9 22V12h6v10' }]\n },\n menu: {\n path: 'M3 12h18M3 6h18M3 18h18'\n },\n moreVert: {\n path: 'M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z'\n },\n arrowLeft: {\n path: 'm19 12H5m0 0 7 7m-7-7 7-7'\n },\n arrowRight: {\n path: 'm9 18 6-6-6-6'\n },\n arrowBack: {\n path: 'm12 19-7-7 7-7M19 12H5'\n },\n history: {\n path: 'M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8',\n additionalShapes: [\n { type: 'path', d: 'M3 3v5h5' },\n { type: 'path', d: 'M12 7v5l4 2' }\n ]\n },\n copy: {\n path: 'M8 4v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.242a2 2 0 0 0-.602-1.43L16.083 2.57A2 2 0 0 0 14.685 2H10a2 2 0 0 0-2 2z',\n additionalShapes: [{ type: 'rect', x: '4', y: '8', width: '12', height: '12', rx: '2' }]\n },\n filter: {\n path: 'M22 3H2l8 9.46V19l4 2v-8.54L22 3z'\n },\n sort: {\n path: 'M11 5h10M11 9h7M11 13h4M3 17l3 3m0 0l3-3m-3 3V4'\n },\n help: {\n path: 'M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n warning: {\n path: 'M12 9v4',\n additionalShapes: [\n { type: 'circle', cx: '12', cy: '12', r: '10' },\n { type: 'circle', cx: '12', cy: '17', r: '0.5', fill: 'color' }\n ]\n },\n dashboard: {\n path: 'M3 13h8V3H3zm0 8h8v-6H3zm10 0h8V11h-8zm0-18v6h8V3z'\n },\n settingsApplications: {\n path: 'M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm7-7H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2z' +\n 'm-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3-.35.3h-2.8' +\n 'c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42c-.09-.15-.05-.34.08-.45l1.48-1.16c-.03-.23-.05-.46-.05-.69 0-.23.02-.46.05-.68' +\n 'l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8' +\n 'c.17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69z'\n },\n route: {\n path: 'M19 15.18V7c0-2.21-1.79-4-4-4s-4 1.79-4 4v10c0 1.1-.9 2-2 2s-2-.9-2-2V8.82C8.16 8.4 9 7.3 9 6c0-1.66-1.34-3-3-3S3 4.34 3 6c0 1.3.84 2.4 2 2.82V17c0 2.21 1.79 4 4 4s4-1.79 4-4V7c0-1.1.9-2 2-2s2 .9 2 2v8.18A2.996 2.996 0 0 0 15 18c0 1.66 1.34 3 3 3s3-1.34 3-3c0-1.3-.84-2.4-2-2.82z'\n },\n developerBoard: {\n path: 'M9 2v4m6-4v4M9 18v4m6-18v4M2 9h4M2 15h4m16-6h4m-4 6h4',\n additionalShapes: [\n { type: 'rect', x: '5', y: '5', width: '14', height: '14', rx: '2' },\n { type: 'rect', x: '9', y: '9', width: '6', height: '6', rx: '0.5' },\n { type: 'circle', cx: '12', cy: '12', r: '1.5', fill: 'color' }\n ]\n },\n directions: {\n path: 'm21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83zM13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11l-3.5 3.5z'\n },\n category: {\n path: 'M12 2 6.5 11h11z',\n additionalShapes: [\n { type: 'circle', cx: '17.5', cy: '17.5', r: '3.5' },\n { type: 'rect', x: '3', y: '14', width: '7', height: '7', rx: '1' }\n ]\n },\n logout: {\n path: 'M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4m7 14 5-5m0 0-5-5m5 5H9'\n },\n heart: {\n path: HEART_PATH\n },\n heartFilled: {\n path: HEART_PATH,\n fill: true\n },\n heartBroken: {\n path: HEART_PATH,\n additionalShapes: [\n { type: 'path', d: 'M12 5.5l-1 2.5h2l-1.5 3h1.5l-1 3.5V21' }\n ]\n },\n user: {\n path: 'M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '7', r: '4' }]\n },\n sun: {\n path: 'M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1z' +\n 'M11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1z' +\n 'M5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06z' +\n 'm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z'\n },\n moon: {\n path: 'M9.37 5.51C9.19 6.15 9.1 6.82 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4.68 0 1.35-.09 1.99-.27C17.45 17.19 14.93 19 12 19c-3.86 0-7-3.14-7-7 0-2.93 1.81-5.45 4.37-6.49z' +\n 'M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9c0-.46-.04-.92-.1-1.36-.98 1.37-2.58 2.26-4.4 2.26-2.98 0-5.4-2.42-5.4-5.4 0-1.81.89-3.42 2.26-4.4-.44-.06-.9-.1-1.36-.1z'\n },\n google: {\n path: '',\n multiColor: {\n colors: [\n '#4285F4', // Azul - parte superior\n '#34A853', // Verde - parte inferior derecha\n '#FBBC05', // Amarillo - parte inferior izquierda\n '#EA4335', // Rojo - parte izquierda\n ],\n paths: [\n 'M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z',\n 'M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z',\n 'M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z',\n 'M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z'\n ]\n }\n },\n default: {\n path: '',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n }\n} as const;"]}
1
+ {"version":3,"file":"icon.definitions.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/icon/icon.definitions.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable max-len */\n/* eslint-disable max-lines */\nimport type { IconDefinition } from './icon.types';\n\nconst HEART_PATH = 'M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z';\n\n/**\n * ICON DEFINITIONS - Estructura unificada que combina paths, shapes y multi-color\n * \n * NUEVA ARQUITECTURA: Una sola fuente de verdad para cada icono\n * - path: Path principal del SVG\n * - additionalShapes: Formas complementarias (círculos, rectángulos) \n * - multiColor: Configuración para iconos con múltiples colores específicos\n * \n * BENEFICIOS:\n * - Una búsqueda en lugar de 3 lookups separados (mejor performance)\n * - Garantiza consistencia (no hay iconos \"a medias\")\n * - Fácil mantenimiento y escalabilidad\n * - TypeScript más robusto\n */\nexport const ICON_DEFINITIONS: Readonly<Record<string, IconDefinition>> = {\n check: {\n path: 'M5 13l4 4L19 7'\n },\n cancel: {\n path: 'M6 6l12 12M6 18L18 6'\n },\n edit: {\n path: 'M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z',\n additionalShapes: [{ type: 'rect', x: '5', y: '19', width: '14', height: '2', rx: '1' }]\n },\n delete: {\n path: 'M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'\n },\n add: {\n path: 'M12 5v14M5 12h14'\n },\n remove: {\n path: 'M5 12h14'\n },\n view: {\n path: 'M12 5C7 5 2.73 8.11 1 12c1.73 3.89 6 7 11 7s9.27-3.11 11-7c-1.73-3.89-6-7-11-7z',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '3' }]\n },\n get: {\n path: 'm8.5 8.5 7 7',\n additionalShapes: [\n { type: 'circle', cx: '6', cy: '6', r: '3' },\n { type: 'circle', cx: '18', cy: '18', r: '3' },\n { type: 'path', d: 'm13 11 2 2-2 2' }\n ]\n },\n settings: {\n path: 'M12 1v6m0 6v10M3.34 7l5.2 3M15.46 14l5.2 3M3.34 17l5.2-3M15.46 10l5.2-3',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '3' }]\n },\n schedule: {\n path: 'M12 6v6l4 2',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n refresh: {\n path: 'M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8M21 3v5h-5M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16M3 21v-5h5'\n },\n checkCircle: {\n path: 'm9 12 2 2 4-4',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n cancelCircle: {\n path: 'm15 9-6 6m0-6 6 6',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n error: {\n path: 'M15 9L9 15M9 9l6 6',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n queue: {\n path: 'M3 12h18m-9-9v18',\n additionalShapes: [\n { type: 'rect', x: '2', y: '3', width: '20', height: '6', rx: '1' },\n { type: 'rect', x: '2', y: '15', width: '20', height: '6', rx: '1' }\n ]\n },\n arrowUp: {\n path: 'm18 15-6-6-6 6'\n },\n arrowDown: {\n path: 'm6 9 6 6 6-6'\n },\n toggleOn: {\n path: '',\n additionalShapes: [\n { type: 'rect', x: '2', y: '7', width: '20', height: '10', rx: '5' },\n { type: 'circle', cx: '18', cy: '12', r: '4', fill: 'color' }\n ]\n },\n toggleOff: {\n path: '',\n additionalShapes: [\n { type: 'rect', x: '2', y: '7', width: '20', height: '10', rx: '5' },\n { type: 'circle', cx: '6', cy: '12', r: '4', fill: 'color' }\n ]\n },\n search: {\n path: 'm21 21-6-6m2-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0z'\n },\n upload: {\n path: 'M12 15V3m0 0l-4 4m4-4l4 4M2 17l.621 2.485A2 2 0 0 0 4.561 21h14.878a2 2 0 0 0 1.94-1.515L22 17'\n },\n image: {\n path: 'm21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21',\n additionalShapes: [\n { type: 'rect', x: '3', y: '3', width: '18', height: '18', rx: '2' },\n { type: 'circle', cx: '9', cy: '9', r: '2' }\n ]\n },\n pendingActions: {\n path: 'M12 8v4l3 3m6-3a9 9 0 1 1-18 0 9 9 0 0 1 18 0z'\n },\n playCircle: {\n path: 'M14.752 11.168l-3.197-2.132A1 1 0 0 0 10 9.87v4.263a1 1 0 0 0 1.555.832l3.197-2.132a1 1 0 0 0 0-1.664z',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n play: {\n path: 'M8 5v14l11-7z'\n },\n stop: {\n path: 'M6 6h12v12H6z'\n },\n tune: {\n path: 'M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z'\n },\n visibility: {\n path: 'M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5z',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '3' }]\n },\n visibilityOff: {\n path: 'M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7z' +\n 'M2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27z' +\n 'M7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2z' +\n 'm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z'\n },\n close: {\n path: 'M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'\n },\n record: {\n path: '',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '5', fill: 'color' }]\n },\n star: {\n path: 'M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z',\n fill: true\n },\n starFilled: {\n path: 'M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z',\n fill: true\n },\n xCircle: {\n path: 'M15 9l-6 6m0-6l6 6',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n key: {\n path: 'M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4'\n },\n exclamationTriangle: {\n path: 'M12 9v4m0 4h.01',\n additionalShapes: [{ type: 'path', d: 'M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z' }]\n },\n clipboard: {\n path: 'M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'\n },\n download: {\n path: 'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4m4-5l5 5m0 0l5-5m-5 5V3'\n },\n shield: {\n path: 'M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z',\n fill: true\n },\n person: {\n path: 'M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z',\n fill: true\n },\n envelope: {\n path: 'M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z',\n additionalShapes: [{ type: 'path', d: 'm22 6-10 7L2 6' }]\n },\n infoCircle: {\n path: 'M12 16v-4m0-4h.01',\n strokeWidth: '3',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n info: {\n path: 'M12 11v5m0-9h.01',\n strokeWidth: '2.5'\n },\n checkSquare: {\n path: 'm9 11 3 3L22 4',\n additionalShapes: [{ type: 'rect', x: '3', y: '3', width: '18', height: '18', rx: '2' }]\n },\n square: {\n path: '',\n additionalShapes: [{ type: 'rect', x: '3', y: '3', width: '18', height: '18', rx: '2' }]\n },\n dashSquare: {\n path: 'M8 12h8',\n additionalShapes: [{ type: 'rect', x: '3', y: '3', width: '18', height: '18', rx: '2' }]\n },\n people: {\n path: 'M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3z' +\n 'm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z',\n fill: true\n },\n boxSeam: {\n path: 'M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z',\n additionalShapes: [\n { type: 'path', d: 'M21 8.5v7c0 .6-.2 1.2-.6 1.7l-7 4c-.3.2-.6.3-1 .3-.3 0-.7-.1-1-.3l-7-4c-.4-.5-.6-1.1-.6-1.7v-7c0-.6.2-1.2.6-1.7l7-4c.6-.4 1.4-.4 2 0l7 4c.4.5.6 1.1.6 1.7z' },\n { type: 'path', d: 'M3.3 7L12 12l8.7-5M12 22.5V12' }\n ]\n },\n personBadge: {\n path: 'M12 2L4 6v5c0 5.55 3.84 10.74 8 12 4.16-1.26 8-6.45 8-12V6l-8-4z',\n additionalShapes: [\n { type: 'circle', cx: '12', cy: '12', r: '1.5' },\n { type: 'path', d: 'M12 9.5v1m0 3v1m2.5-2.5h-1m-3 0h-1' }\n ]\n },\n listTask: {\n path: 'M9 6h12M9 12h12M9 18h12',\n additionalShapes: [\n { type: 'path', d: 'M3 5l1.5 1.5L7 4' },\n { type: 'path', d: 'M3 11l1.5 1.5L7 10' },\n { type: 'path', d: 'M3 17l1.5 1.5L7 16' }\n ]\n },\n shuffle: {\n path: 'M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5'\n },\n motor: {\n path: 'M9 3v3m6-3v3M9 18v3m6-3v3M3 9h3M3 15h3m12-6h3m-3 6h3',\n additionalShapes: [\n { type: 'circle', cx: '12', cy: '12', r: '8' },\n { type: 'circle', cx: '12', cy: '12', r: '3', fill: 'color' },\n { type: 'path', d: 'M12 4v2m0 12v2M4 12h2m12 0h2M7.05 7.05l1.42 1.42m7.07 7.07l1.41 1.41M7.05 16.95l1.42-1.42m7.07-7.07l1.41-1.41' }\n ]\n },\n box: {\n path: 'M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8z',\n additionalShapes: [\n { type: 'path', d: 'M12 2.7L3.3 7v9.3l8.7 5 8.7-5V7L12 2.7z' },\n { type: 'path', d: 'M12 22V12M3.3 7L12 12l8.7-5' }\n ]\n },\n bell: {\n path: 'M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9M13.73 21a2 2 0 0 1-3.46 0'\n },\n message: {\n path: 'M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'\n },\n send: {\n path: 'M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z'\n },\n file: {\n path: 'M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z',\n additionalShapes: [{ type: 'path', d: 'M13 2v7h7' }]\n },\n folder: {\n path: 'M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'\n },\n save: {\n path: 'M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z',\n additionalShapes: [\n { type: 'path', d: 'M15 3v6h4M9 21v-8h6v8' }\n ]\n },\n print: {\n path: 'M6 9V2h12v7M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2',\n additionalShapes: [{ type: 'rect', x: '6', y: '14', width: '12', height: '8', rx: '1' }]\n },\n clock: {\n path: 'M12 6v6l4 2',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n calendar: {\n path: 'M8 2v4m8-4v4M3 10h18',\n additionalShapes: [{ type: 'rect', x: '3', y: '4', width: '18', height: '18', rx: '2' }]\n },\n timer: {\n path: 'M12 8v4l2 2',\n additionalShapes: [\n { type: 'circle', cx: '12', cy: '13', r: '9' },\n { type: 'path', d: 'M9 2h6' }\n ]\n },\n lock: {\n path: 'M19 11H5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7a2 2 0 0 0-2-2zM7 11V7a5 5 0 0 1 10 0v4'\n },\n unlock: {\n path: 'M19 11H5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7a2 2 0 0 0-2-2zM7 11V7a5 5 0 0 1 9.9-1'\n },\n chart: {\n path: 'M3 3v18h18M7 16l4-4 4 4 6-6'\n },\n table: {\n path: 'M3 3h18v18H3zM3 9h18M3 15h18M9 3v18'\n },\n database: {\n path: 'M12 8c-4.97 0-9-1.34-9-3s4.03-3 9-3 9 1.34 9 3-4.03 3-9 3zM3 5v5c0 1.66 4.03 3 9 3s9-1.34 9-3V5M3 10v5c0 1.66 4.03 3 9 3s9-1.34 9-3v-5'\n },\n home: {\n path: 'm3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z',\n additionalShapes: [{ type: 'path', d: 'M9 22V12h6v10' }]\n },\n menu: {\n path: 'M3 12h18M3 6h18M3 18h18'\n },\n moreVert: {\n path: 'M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z'\n },\n arrowLeft: {\n path: 'm15 18-6-6 6-6'\n },\n arrowRight: {\n path: 'm9 18 6-6-6-6'\n },\n arrowBack: {\n path: 'm12 19-7-7 7-7M19 12H5'\n },\n history: {\n path: 'M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8',\n additionalShapes: [\n { type: 'path', d: 'M3 3v5h5' },\n { type: 'path', d: 'M12 7v5l4 2' }\n ]\n },\n copy: {\n path: 'M8 4v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.242a2 2 0 0 0-.602-1.43L16.083 2.57A2 2 0 0 0 14.685 2H10a2 2 0 0 0-2 2z',\n additionalShapes: [{ type: 'rect', x: '4', y: '8', width: '12', height: '12', rx: '2' }]\n },\n filter: {\n path: 'M22 3H2l8 9.46V19l4 2v-8.54L22 3z'\n },\n sort: {\n path: 'M11 5h10M11 9h7M11 13h4M3 17l3 3m0 0l3-3m-3 3V4'\n },\n help: {\n path: 'M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n warning: {\n path: 'M12 9v4',\n additionalShapes: [\n { type: 'circle', cx: '12', cy: '12', r: '10' },\n { type: 'circle', cx: '12', cy: '17', r: '0.5', fill: 'color' }\n ]\n },\n dashboard: {\n path: 'M3 13h8V3H3zm0 8h8v-6H3zm10 0h8V11h-8zm0-18v6h8V3z'\n },\n settingsApplications: {\n path: 'M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm7-7H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2z' +\n 'm-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3-.35.3h-2.8' +\n 'c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42c-.09-.15-.05-.34.08-.45l1.48-1.16c-.03-.23-.05-.46-.05-.69 0-.23.02-.46.05-.68' +\n 'l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8' +\n 'c.17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69z'\n },\n route: {\n path: 'M19 15.18V7c0-2.21-1.79-4-4-4s-4 1.79-4 4v10c0 1.1-.9 2-2 2s-2-.9-2-2V8.82C8.16 8.4 9 7.3 9 6c0-1.66-1.34-3-3-3S3 4.34 3 6c0 1.3.84 2.4 2 2.82V17c0 2.21 1.79 4 4 4s4-1.79 4-4V7c0-1.1.9-2 2-2s2 .9 2 2v8.18A2.996 2.996 0 0 0 15 18c0 1.66 1.34 3 3 3s3-1.34 3-3c0-1.3-.84-2.4-2-2.82z'\n },\n developerBoard: {\n path: 'M9 2v4m6-4v4M9 18v4m6-18v4M2 9h4M2 15h4m16-6h4m-4 6h4',\n additionalShapes: [\n { type: 'rect', x: '5', y: '5', width: '14', height: '14', rx: '2' },\n { type: 'rect', x: '9', y: '9', width: '6', height: '6', rx: '0.5' },\n { type: 'circle', cx: '12', cy: '12', r: '1.5', fill: 'color' }\n ]\n },\n directions: {\n path: 'm21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83zM13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11l-3.5 3.5z'\n },\n category: {\n path: 'M12 2 6.5 11h11z',\n additionalShapes: [\n { type: 'circle', cx: '17.5', cy: '17.5', r: '3.5' },\n { type: 'rect', x: '3', y: '14', width: '7', height: '7', rx: '1' }\n ]\n },\n logout: {\n path: 'M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4m7 14 5-5m0 0-5-5m5 5H9'\n },\n heart: {\n path: HEART_PATH\n },\n heartFilled: {\n path: HEART_PATH,\n fill: true\n },\n heartBroken: {\n path: HEART_PATH,\n additionalShapes: [\n { type: 'path', d: 'M12 5.5l-1 2.5h2l-1.5 3h1.5l-1 3.5V21' }\n ]\n },\n user: {\n path: 'M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '7', r: '4' }]\n },\n sun: {\n path: 'M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1z' +\n 'M11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1z' +\n 'M5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06z' +\n 'm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z'\n },\n moon: {\n path: 'M9.37 5.51C9.19 6.15 9.1 6.82 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4.68 0 1.35-.09 1.99-.27C17.45 17.19 14.93 19 12 19c-3.86 0-7-3.14-7-7 0-2.93 1.81-5.45 4.37-6.49z' +\n 'M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9c0-.46-.04-.92-.1-1.36-.98 1.37-2.58 2.26-4.4 2.26-2.98 0-5.4-2.42-5.4-5.4 0-1.81.89-3.42 2.26-4.4-.44-.06-.9-.1-1.36-.1z'\n },\n google: {\n path: '',\n multiColor: {\n colors: [\n '#4285F4', // Azul - parte superior\n '#34A853', // Verde - parte inferior derecha\n '#FBBC05', // Amarillo - parte inferior izquierda\n '#EA4335', // Rojo - parte izquierda\n ],\n paths: [\n 'M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z',\n 'M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z',\n 'M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z',\n 'M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z'\n ]\n }\n },\n local_drink: {\n path: 'M3 2l2.01 18.23C5.13 21.23 5.97 22 7 22h10c1.03 0 1.87-.77 1.99-1.77L21 2H3zm9 17c-1.66 0-3-1.34-3-3 0-2 3-5.4 3-5.4s3 3.4 3 5.4c0 1.66-1.34 3-3 3zm6.33-11H5.67l-.44-4h13.53l-.43 4z'\n },\n list: {\n path: 'M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z'\n },\n gpsFixed: {\n path: 'M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z'\n },\n locationPin: {\n path: 'M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'\n },\n controlPoint: {\n path: 'M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7z',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n },\n photo: {\n path: 'M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'\n },\n restaurant: {\n path: 'M11 9H9V2H7v7H5V2H3v7c0 2.12 1.66 3.84 3.75 3.97V22h2.5v-9.03C11.34 12.84 13 11.12 13 9V2h-2v7zm5-3v8h2.5v8H21V2c-2.76 0-5 2.24-5 4z'\n },\n iceCream: {\n path: 'M8.79 12.4 12 20.94l3.21-8.54C16.26 12.15 17 11.2 17 10c0-1.66-1.34-3-3-3 0-.55-.45-1-1-1s-1 .45-1 1c-1.66 0-3 1.34-3 3 0 1.2.74 2.15 1.79 2.4z',\n additionalShapes: [\n { type: 'path', d: 'M14 2a3 3 0 0 1 3 3h-2a1 1 0 0 0-1-1z' },\n { type: 'path', d: 'M10 2a3 3 0 0 0-3 3h2a1 1 0 0 1 1-1z' }\n ]\n },\n barChart: {\n path: 'M5 9.2h3V19H5V9.2zM10.6 5h2.8v14h-2.8V5zm5.6 8H19v6h-2.8v-6z'\n },\n waterDrop: {\n path: 'M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'\n },\n cocktailGlass: {\n path: 'M21 5V3H3v2l8 9v5H6v2h12v-2h-5v-5l8-9zM7.43 7 5.66 5h12.69l-1.78 2H7.43z'\n },\n acUnit: {\n path: 'M22 11h-4.17l3.24-3.24-1.41-1.42L15 11h-2V9l4.66-4.66-1.42-1.41L13 6.17V2h-2v4.17L7.76 2.93 6.34 4.34 11 9v2H9L4.34 6.34 2.93 7.76 6.17 11H2v2h4.17l-3.24 3.24 1.41 1.42L9 13h2v2l-4.66 4.66 1.42 1.41L11 17.83V22h2v-4.17l3.24 3.24 1.42-1.41L13 15v-2h2l4.66 4.66 1.41-1.42L17.83 13H22v-2z'\n },\n formatListNumbered: {\n path: 'M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z'\n },\n widgets: {\n path: 'M13 13v8h8v-8h-8zM3 21h8v-8H3v8zM3 3v8h8V3H3zm13.66-1.31L11 7.34 16.66 13l5.66-5.66-5.66-5.65z'\n },\n contrast: {\n path: 'M12 22c5.52 0 10-4.48 10-10S17.52 2 12 2 2 6.48 2 12s4.48 10 10 10zm0-18c4.42 0 8 3.58 8 8s-3.58 8-8 8z',\n additionalShapes: [{ type: 'path', d: 'M12 4v16' }]\n },\n grid3x3: {\n path: 'M20 3H4c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zM8 19H5v-3h3v3zm0-5H5v-3h3v3zm0-5H5V6h3v3zm5 10h-3v-3h3v3zm0-5h-3v-3h3v3zm0-5h-3V6h3v3zm5 10h-3v-3h3v3zm0-5h-3v-3h3v3zm0-5h-3V6h3v3z'\n },\n monetizationOn: {\n path: 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1.41 16.09V20h-2.67v-1.93c-1.71-.36-3.16-1.46-3.27-3.4h1.96c.1 1.05.82 1.87 2.65 1.87 1.96 0 2.4-.98 2.4-1.59 0-.83-.44-1.61-2.67-2.14-2.48-.6-4.18-1.62-4.18-3.67 0-1.72 1.39-2.84 3.11-3.21V4h2.67v1.95c1.86.45 2.79 1.86 2.85 3.39H14.3c-.05-1.11-.64-1.87-2.22-1.87-1.5 0-2.4.68-2.4 1.64 0 .84.65 1.39 2.67 1.91s4.18 1.39 4.18 3.91c-.01 1.83-1.38 2.83-3.12 3.16z'\n },\n calculate: {\n path: 'M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM13.03 7.06 14.09 6l1.41 1.41L16.91 6l1.06 1.06-1.41 1.41 1.41 1.41-1.06 1.06-1.41-1.4-1.41 1.41-1.06-1.06 1.41-1.41-1.41-1.42zM6.25 7.72h5v1.5h-5v-1.5zM11.5 16h-2v2H8v-2H6v-1.5h2v-2h1.5v2h2V16zm5.13.02-1.41-1.41-1.46 1.41-1.05-1.05 1.41-1.41-1.41-1.41L13.76 11l1.41 1.41 1.41-1.41 1.06 1.06-1.41 1.41 1.41 1.41-1.01 1.05z'\n },\n buildCircle: {\n path: 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5.78 14.61-1.14 1.14-1.71-1.71-2.28 2.27-1.14-1.14 2.27-2.27-1.71-1.71 1.14-1.14 1.71 1.71 1.71-1.71 1.14 1.14-1.71 1.71 1.72 1.71zM15.5 7.5c0 .83-.67 1.5-1.5 1.5H8.75v3.68A2.99 2.99 0 0 0 10 9.5c1.65 0 3 1.35 3 3s-1.35 3-3 3c-1.3 0-2.4-.84-2.82-2H5.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h1.68c.15-.62.51-1.16 1-1.55V7.5c0-.28.22-.5.5-.5H14c.28 0 .5.22.5.5z'\n },\n addBox: {\n path: 'M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2z'\n },\n default: {\n path: '',\n additionalShapes: [{ type: 'circle', cx: '12', cy: '12', r: '10' }]\n }\n} as const;"]}
@@ -14,6 +14,9 @@ export class ThemeService {
14
14
  if (stored) {
15
15
  return stored === 'dark';
16
16
  }
17
+ if (typeof globalThis.matchMedia !== 'function') {
18
+ return false;
19
+ }
17
20
  return globalThis.matchMedia('(prefers-color-scheme: dark)').matches;
18
21
  }
19
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"theme.service.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/icon/theme.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;AAEnD;;GAEG;AAEH,MAAM,OAAO,YAAY;IACZ,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,kDAAC,CAAC;IAEjD;;;OAGG;IACK,eAAe;QACnB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,KAAK,MAAM,CAAC;QAC7B,CAAC;QACD,OAAO,UAAU,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC;YAC1B,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,MAAe;QAC9B,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,UAAU;QACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/B,UAAU,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACnF,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;wGA/CQ,YAAY;4GAAZ,YAAY,cADC,MAAM;;4FACnB,YAAY;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE","sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n/**\n *\n */\n@Injectable({ providedIn: 'root' })\nexport class ThemeService {\n readonly isDark = signal(this.getInitialTheme());\n\n /**\n *\n * @returns true si el tema es oscuro\n */\n private getInitialTheme(): boolean {\n const stored = localStorage.getItem('theme');\n if (stored) {\n return stored === 'dark';\n }\n return globalThis.matchMedia('(prefers-color-scheme: dark)').matches;\n }\n\n /**\n *\n */\n toggle(): void {\n this.isDark.update(current => {\n const newValue = !current;\n localStorage.setItem('theme', newValue ? 'dark' : 'light');\n this.applyTheme(newValue);\n return newValue;\n });\n }\n\n /**\n *\n * @param isDark\n */\n private applyTheme(isDark: boolean): void {\n document.documentElement.dataset['theme'] = isDark ? 'dark' : 'light';\n }\n\n /**\n *\n */\n initialize(): void {\n this.applyTheme(this.isDark());\n\n globalThis.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n if (!localStorage.getItem('theme')) {\n this.isDark.set(e.matches);\n this.applyTheme(e.matches);\n }\n });\n }\n}\n"]}
1
+ {"version":3,"file":"theme.service.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/icon/theme.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;AAEnD;;GAEG;AAEH,MAAM,OAAO,YAAY;IACZ,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,kDAAC,CAAC;IAEjD;;;OAGG;IACK,eAAe;QACnB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,KAAK,MAAM,CAAC;QAC7B,CAAC;QACD,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,UAAU,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC;YAC1B,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,MAAe;QAC9B,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,UAAU;QACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/B,UAAU,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACnF,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;wGAlDQ,YAAY;4GAAZ,YAAY,cADC,MAAM;;4FACnB,YAAY;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE","sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n/**\n *\n */\n@Injectable({ providedIn: 'root' })\nexport class ThemeService {\n readonly isDark = signal(this.getInitialTheme());\n\n /**\n *\n * @returns true si el tema es oscuro\n */\n private getInitialTheme(): boolean {\n const stored = localStorage.getItem('theme');\n if (stored) {\n return stored === 'dark';\n }\n if (typeof globalThis.matchMedia !== 'function') {\n return false;\n }\n return globalThis.matchMedia('(prefers-color-scheme: dark)').matches;\n }\n\n /**\n *\n */\n toggle(): void {\n this.isDark.update(current => {\n const newValue = !current;\n localStorage.setItem('theme', newValue ? 'dark' : 'light');\n this.applyTheme(newValue);\n return newValue;\n });\n }\n\n /**\n *\n * @param isDark\n */\n private applyTheme(isDark: boolean): void {\n document.documentElement.dataset['theme'] = isDark ? 'dark' : 'light';\n }\n\n /**\n *\n */\n initialize(): void {\n this.applyTheme(this.isDark());\n\n globalThis.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n if (!localStorage.getItem('theme')) {\n this.isDark.set(e.matches);\n this.applyTheme(e.matches);\n }\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/modal/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './modal.component';\r\nexport * from './modal.service';\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/modal/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './modal.component';\nexport * from './modal.service';\nexport type { ModalType, ModalConfig, ModalResult } from './modal.types';\n"]}