@caribeng/ui 22.4.0 → 22.5.0

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 (186) hide show
  1. package/README.md +311 -313
  2. package/fesm2022/caribeng-ui-account-picker.mjs +533 -0
  3. package/fesm2022/caribeng-ui-aging.mjs +488 -0
  4. package/fesm2022/{caribeng-ui-caribe-alert.mjs → caribeng-ui-alert.mjs} +45 -45
  5. package/fesm2022/caribeng-ui-amount.mjs +249 -0
  6. package/fesm2022/caribeng-ui-anchor.mjs +2 -2
  7. package/fesm2022/{caribeng-ui-caribe-animation-lottie.mjs → caribeng-ui-animation-lottie.mjs} +41 -41
  8. package/fesm2022/caribeng-ui-audit-log.mjs +323 -0
  9. package/fesm2022/caribeng-ui-avatar.mjs +2 -2
  10. package/fesm2022/caribeng-ui-breadcrumb.mjs +13 -3
  11. package/fesm2022/{caribeng-ui-caribe-button-group.mjs → caribeng-ui-button-group.mjs} +15 -15
  12. package/fesm2022/caribeng-ui-button.mjs +2 -2
  13. package/fesm2022/{caribeng-ui-caribe-card-content.mjs → caribeng-ui-card-content.mjs} +39 -39
  14. package/fesm2022/{caribeng-ui-caribe-card-move.mjs → caribeng-ui-card-move.mjs} +65 -65
  15. package/fesm2022/{caribeng-ui-caribe-card-primary.mjs → caribeng-ui-card-primary.mjs} +31 -31
  16. package/fesm2022/{caribeng-ui-caribe-card-select.mjs → caribeng-ui-card-select.mjs} +67 -67
  17. package/fesm2022/caribeng-ui-carousel.mjs +2 -2
  18. package/fesm2022/caribeng-ui-cascadeselect.mjs +45 -9
  19. package/fesm2022/caribeng-ui-chat.mjs +2 -2
  20. package/fesm2022/{caribeng-ui-caribe-coachmark.mjs → caribeng-ui-coachmark.mjs} +85 -85
  21. package/fesm2022/caribeng-ui-command-palette.mjs +2 -2
  22. package/fesm2022/caribeng-ui-comments.mjs +864 -0
  23. package/fesm2022/caribeng-ui-datagrid.mjs +1635 -0
  24. package/fesm2022/caribeng-ui-dataview.mjs +2 -2
  25. package/fesm2022/caribeng-ui-datepicker.mjs +2 -2
  26. package/fesm2022/caribeng-ui-document.mjs +495 -0
  27. package/fesm2022/{caribeng-ui-caribe-dots-indicator.mjs → caribeng-ui-dots-indicator.mjs} +41 -41
  28. package/fesm2022/caribeng-ui-dynamic-form.mjs +1581 -0
  29. package/fesm2022/caribeng-ui-editor.mjs +2303 -1311
  30. package/fesm2022/{caribeng-ui-caribe-expansion-panel.mjs → caribeng-ui-expansion-panel.mjs} +39 -39
  31. package/fesm2022/{caribeng-ui-caribe-fab-menu.mjs → caribeng-ui-fab-menu.mjs} +75 -75
  32. package/fesm2022/caribeng-ui-file-card.mjs +2 -2
  33. package/fesm2022/{caribeng-ui-caribe-file-download.mjs → caribeng-ui-file-download.mjs} +63 -63
  34. package/fesm2022/caribeng-ui-financial-report.mjs +380 -0
  35. package/fesm2022/{caribeng-ui-caribe-float-menu.mjs → caribeng-ui-float-menu.mjs} +31 -31
  36. package/fesm2022/caribeng-ui-floatlabel.mjs +2 -2
  37. package/fesm2022/caribeng-ui-flow.mjs +1508 -0
  38. package/fesm2022/{caribeng-ui-caribe-footer.mjs → caribeng-ui-footer.mjs} +19 -19
  39. package/fesm2022/caribeng-ui-gantt.mjs +1094 -0
  40. package/fesm2022/{caribeng-ui-caribe-header.mjs → caribeng-ui-header.mjs} +49 -49
  41. package/fesm2022/{caribeng-ui-caribe-icon-button.mjs → caribeng-ui-icon-button.mjs} +23 -23
  42. package/fesm2022/caribeng-ui-image-cropper.mjs +671 -0
  43. package/fesm2022/caribeng-ui-import-wizard.mjs +746 -0
  44. package/fesm2022/caribeng-ui-infinite-scroll.mjs +226 -0
  45. package/fesm2022/caribeng-ui-input-number.mjs +22 -6
  46. package/fesm2022/{caribeng-ui-caribe-input-search.mjs → caribeng-ui-input-search.mjs} +65 -65
  47. package/fesm2022/{caribeng-ui-caribe-input-token.mjs → caribeng-ui-input-token.mjs} +59 -59
  48. package/fesm2022/caribeng-ui-inputotp.mjs +2 -2
  49. package/fesm2022/caribeng-ui-journal-entry.mjs +340 -0
  50. package/fesm2022/caribeng-ui-kanban.mjs +6 -6
  51. package/fesm2022/caribeng-ui-kpi.mjs +189 -0
  52. package/fesm2022/{caribeng-ui-caribe-link.mjs → caribeng-ui-link.mjs} +37 -37
  53. package/fesm2022/caribeng-ui-masonry.mjs +93 -0
  54. package/fesm2022/caribeng-ui-media-player.mjs +821 -0
  55. package/fesm2022/caribeng-ui-mentions.mjs +2 -2
  56. package/fesm2022/caribeng-ui-notification-center.mjs +636 -0
  57. package/fesm2022/{caribeng-ui-caribe-off-canvas.mjs → caribeng-ui-off-canvas.mjs} +55 -55
  58. package/fesm2022/{caribeng-ui-caribe-onboarding.mjs → caribeng-ui-onboarding.mjs} +105 -105
  59. package/fesm2022/caribeng-ui-orderlist.mjs +2 -2
  60. package/fesm2022/caribeng-ui-pdfviewer.mjs +1755 -25
  61. package/fesm2022/caribeng-ui-period-picker.mjs +637 -0
  62. package/fesm2022/caribeng-ui-phone-input.mjs +2 -2
  63. package/fesm2022/caribeng-ui-picklist.mjs +2 -2
  64. package/fesm2022/caribeng-ui-pivot.mjs +419 -0
  65. package/fesm2022/caribeng-ui-pricing.mjs +2 -2
  66. package/fesm2022/caribeng-ui-rating.mjs +14 -17
  67. package/fesm2022/caribeng-ui-reconciliation.mjs +386 -0
  68. package/fesm2022/caribeng-ui-scheduler.mjs +1027 -0
  69. package/fesm2022/caribeng-ui-select.mjs +2 -2
  70. package/fesm2022/{caribeng-ui-caribe-shortcut.mjs → caribeng-ui-shortcut.mjs} +29 -29
  71. package/fesm2022/caribeng-ui-sidebar.mjs +2 -2
  72. package/fesm2022/caribeng-ui-signature-pad.mjs +654 -0
  73. package/fesm2022/{caribeng-ui-caribe-status.mjs → caribeng-ui-status.mjs} +11 -11
  74. package/fesm2022/{caribeng-ui-caribe-step-indicator.mjs → caribeng-ui-step-indicator.mjs} +53 -53
  75. package/fesm2022/caribeng-ui-stepper.mjs +2 -2
  76. package/fesm2022/caribeng-ui-steps.mjs +2 -2
  77. package/fesm2022/caribeng-ui-table.mjs +323 -15
  78. package/fesm2022/caribeng-ui-tabmenu.mjs +2 -2
  79. package/fesm2022/caribeng-ui-tabs.mjs +2 -2
  80. package/fesm2022/{caribeng-ui-caribe-tag-button.mjs → caribeng-ui-tag-button.mjs} +25 -25
  81. package/fesm2022/caribeng-ui-tag.mjs +2 -2
  82. package/fesm2022/caribeng-ui-tieredmenu.mjs +6 -6
  83. package/fesm2022/{caribeng-ui-caribe-tracker.mjs → caribeng-ui-tracker.mjs} +29 -29
  84. package/fesm2022/{caribeng-ui-caribe-transaction-status.mjs → caribeng-ui-transaction-status.mjs} +11 -11
  85. package/fesm2022/caribeng-ui-treeselect.mjs +44 -9
  86. package/fesm2022/caribeng-ui-treetable.mjs +236 -17
  87. package/fesm2022/{caribeng-ui-caribe-voucher.mjs → caribeng-ui-voucher.mjs} +45 -45
  88. package/fesm2022/caribeng-ui-xlsx.mjs +486 -0
  89. package/fesm2022/caribeng-ui.mjs +1181 -1
  90. package/package.json +217 -177
  91. package/types/caribeng-ui-account-picker.d.ts +142 -0
  92. package/types/caribeng-ui-aging.d.ts +123 -0
  93. package/types/{caribeng-ui-caribe-alert.d.ts → caribeng-ui-alert.d.ts} +2 -2
  94. package/types/caribeng-ui-amount.d.ts +82 -0
  95. package/types/{caribeng-ui-caribe-animation-lottie.d.ts → caribeng-ui-animation-lottie.d.ts} +2 -2
  96. package/types/caribeng-ui-audit-log.d.ts +86 -0
  97. package/types/caribeng-ui-breadcrumb.d.ts +2 -2
  98. package/types/{caribeng-ui-caribe-button-group.d.ts → caribeng-ui-button-group.d.ts} +2 -2
  99. package/types/{caribeng-ui-caribe-card-content.d.ts → caribeng-ui-card-content.d.ts} +2 -2
  100. package/types/{caribeng-ui-caribe-card-move.d.ts → caribeng-ui-card-move.d.ts} +1 -1
  101. package/types/{caribeng-ui-caribe-card-primary.d.ts → caribeng-ui-card-primary.d.ts} +2 -2
  102. package/types/{caribeng-ui-caribe-card-select.d.ts → caribeng-ui-card-select.d.ts} +2 -2
  103. package/types/caribeng-ui-cascadeselect.d.ts +6 -0
  104. package/types/{caribeng-ui-caribe-coachmark.d.ts → caribeng-ui-coachmark.d.ts} +2 -2
  105. package/types/caribeng-ui-comments.d.ts +214 -0
  106. package/types/caribeng-ui-datagrid.d.ts +269 -0
  107. package/types/caribeng-ui-document.d.ts +138 -0
  108. package/types/{caribeng-ui-caribe-dots-indicator.d.ts → caribeng-ui-dots-indicator.d.ts} +2 -2
  109. package/types/caribeng-ui-dynamic-form.d.ts +409 -0
  110. package/types/caribeng-ui-editor.d.ts +110 -12
  111. package/types/{caribeng-ui-caribe-expansion-panel.d.ts → caribeng-ui-expansion-panel.d.ts} +1 -1
  112. package/types/{caribeng-ui-caribe-fab-menu.d.ts → caribeng-ui-fab-menu.d.ts} +2 -2
  113. package/types/{caribeng-ui-caribe-file-download.d.ts → caribeng-ui-file-download.d.ts} +1 -1
  114. package/types/caribeng-ui-financial-report.d.ts +102 -0
  115. package/types/{caribeng-ui-caribe-float-menu.d.ts → caribeng-ui-float-menu.d.ts} +2 -2
  116. package/types/caribeng-ui-flow.d.ts +228 -0
  117. package/types/{caribeng-ui-caribe-footer.d.ts → caribeng-ui-footer.d.ts} +2 -2
  118. package/types/caribeng-ui-gantt.d.ts +244 -0
  119. package/types/{caribeng-ui-caribe-header.d.ts → caribeng-ui-header.d.ts} +2 -2
  120. package/types/{caribeng-ui-caribe-icon-button.d.ts → caribeng-ui-icon-button.d.ts} +2 -2
  121. package/types/{caribeng-ui-caribe-illustration.d.ts → caribeng-ui-illustration.d.ts} +1 -1
  122. package/types/caribeng-ui-image-cropper.d.ts +169 -0
  123. package/types/caribeng-ui-import-wizard.d.ts +149 -0
  124. package/types/caribeng-ui-infinite-scroll.d.ts +75 -0
  125. package/types/caribeng-ui-input-number.d.ts +1 -1
  126. package/types/{caribeng-ui-caribe-input-search.d.ts → caribeng-ui-input-search.d.ts} +2 -2
  127. package/types/{caribeng-ui-caribe-input-token.d.ts → caribeng-ui-input-token.d.ts} +2 -2
  128. package/types/caribeng-ui-journal-entry.d.ts +110 -0
  129. package/types/caribeng-ui-kpi.d.ts +64 -0
  130. package/types/{caribeng-ui-caribe-link.d.ts → caribeng-ui-link.d.ts} +2 -2
  131. package/types/{caribeng-ui-caribe-logo.d.ts → caribeng-ui-logo.d.ts} +1 -1
  132. package/types/caribeng-ui-masonry.d.ts +32 -0
  133. package/types/caribeng-ui-media-player.d.ts +140 -0
  134. package/types/caribeng-ui-notification-center.d.ts +153 -0
  135. package/types/{caribeng-ui-caribe-off-canvas.d.ts → caribeng-ui-off-canvas.d.ts} +2 -2
  136. package/types/{caribeng-ui-caribe-onboarding.d.ts → caribeng-ui-onboarding.d.ts} +2 -2
  137. package/types/caribeng-ui-pdfviewer.d.ts +245 -5
  138. package/types/caribeng-ui-period-picker.d.ts +148 -0
  139. package/types/caribeng-ui-pivot.d.ts +116 -0
  140. package/types/caribeng-ui-reconciliation.d.ts +109 -0
  141. package/types/caribeng-ui-scheduler.d.ts +188 -0
  142. package/types/{caribeng-ui-caribe-shortcut.d.ts → caribeng-ui-shortcut.d.ts} +2 -2
  143. package/types/caribeng-ui-signature-pad.d.ts +151 -0
  144. package/types/{caribeng-ui-caribe-status.d.ts → caribeng-ui-status.d.ts} +2 -2
  145. package/types/{caribeng-ui-caribe-step-indicator.d.ts → caribeng-ui-step-indicator.d.ts} +2 -2
  146. package/types/caribeng-ui-table.d.ts +66 -2
  147. package/types/{caribeng-ui-caribe-tag-button.d.ts → caribeng-ui-tag-button.d.ts} +2 -2
  148. package/types/{caribeng-ui-caribe-tracker.d.ts → caribeng-ui-tracker.d.ts} +2 -2
  149. package/types/{caribeng-ui-caribe-transaction-status.d.ts → caribeng-ui-transaction-status.d.ts} +2 -2
  150. package/types/caribeng-ui-treeselect.d.ts +6 -0
  151. package/types/caribeng-ui-treetable.d.ts +67 -2
  152. package/types/{caribeng-ui-caribe-voucher.d.ts → caribeng-ui-voucher.d.ts} +2 -2
  153. package/types/caribeng-ui-xlsx.d.ts +79 -0
  154. package/types/caribeng-ui.d.ts +711 -2
  155. package/fesm2022/caribeng-ui-caribe-calendar.mjs +0 -92
  156. package/fesm2022/caribeng-ui-caribe-circle-loading.mjs +0 -130
  157. package/fesm2022/caribeng-ui-caribe-data-table.mjs +0 -94
  158. package/fesm2022/caribeng-ui-caribe-file-select.mjs +0 -88
  159. package/fesm2022/caribeng-ui-caribe-inline-alert.mjs +0 -100
  160. package/fesm2022/caribeng-ui-caribe-input-date.mjs +0 -138
  161. package/fesm2022/caribeng-ui-caribe-input-select.mjs +0 -154
  162. package/fesm2022/caribeng-ui-caribe-loader.mjs +0 -48
  163. package/fesm2022/caribeng-ui-caribe-modal.mjs +0 -119
  164. package/fesm2022/caribeng-ui-caribe-pictogram.mjs +0 -52
  165. package/fesm2022/caribeng-ui-caribe-pop-over.mjs +0 -104
  166. package/fesm2022/caribeng-ui-caribe-preloader.mjs +0 -57
  167. package/fesm2022/caribeng-ui-caribe-progress-bar.mjs +0 -84
  168. package/fesm2022/caribeng-ui-caribe-stroke.mjs +0 -69
  169. package/fesm2022/caribeng-ui-caribe-switch.mjs +0 -182
  170. package/types/caribeng-ui-caribe-calendar.d.ts +0 -27
  171. package/types/caribeng-ui-caribe-circle-loading.d.ts +0 -28
  172. package/types/caribeng-ui-caribe-data-table.d.ts +0 -26
  173. package/types/caribeng-ui-caribe-file-select.d.ts +0 -31
  174. package/types/caribeng-ui-caribe-inline-alert.d.ts +0 -28
  175. package/types/caribeng-ui-caribe-input-date.d.ts +0 -40
  176. package/types/caribeng-ui-caribe-input-select.d.ts +0 -47
  177. package/types/caribeng-ui-caribe-loader.d.ts +0 -22
  178. package/types/caribeng-ui-caribe-modal.d.ts +0 -21
  179. package/types/caribeng-ui-caribe-pictogram.d.ts +0 -15
  180. package/types/caribeng-ui-caribe-pop-over.d.ts +0 -17
  181. package/types/caribeng-ui-caribe-preloader.d.ts +0 -24
  182. package/types/caribeng-ui-caribe-progress-bar.d.ts +0 -28
  183. package/types/caribeng-ui-caribe-stroke.d.ts +0 -17
  184. package/types/caribeng-ui-caribe-switch.d.ts +0 -55
  185. /package/fesm2022/{caribeng-ui-caribe-illustration.mjs → caribeng-ui-illustration.mjs} +0 -0
  186. /package/fesm2022/{caribeng-ui-caribe-logo.mjs → caribeng-ui-logo.mjs} +0 -0
@@ -0,0 +1,323 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, output, signal, computed, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { injectCbTranslation, cbFormat } from '@caribeng/ui';
4
+ import { CbButton } from '@caribeng/ui/button';
5
+ import { CbIcon } from '@caribeng/ui/icon';
6
+ import { CbSelect } from '@caribeng/ui/select';
7
+ import { cbDownloadXlsx } from '@caribeng/ui/xlsx';
8
+
9
+ const toDate = (d) => (d instanceof Date ? d : new Date(d));
10
+ const fold = (s) => s.normalize('NFD').replace(/[̀-ͯ]/g, '').toLowerCase();
11
+ let nextUid = 0;
12
+ /**
13
+ * Visor de auditoría de CaribeNG: el historial de cambios (quién, cuándo, qué
14
+ * acción y sobre qué registro), agrupado por día, con la diferencia antes /
15
+ * después de cada campo.
16
+ *
17
+ * - Búsqueda y filtros por usuario y acción; cada registro con cambios se abre
18
+ * para ver la tabla Campo · Antes · Después.
19
+ * - `format` da el texto de los valores (importes, fechas, cuentas); Excel descarga el historial.
20
+ *
21
+ * @example
22
+ * ```html
23
+ * <cb-audit-log [entries]="historial" [format]="formatoValor" />
24
+ * ```
25
+ */
26
+ class CbAuditLog {
27
+ constructor() {
28
+ this.t = injectCbTranslation();
29
+ this.fmt = cbFormat;
30
+ this.uid = `cb-audit-log-${++nextUid}`;
31
+ /** Registros de auditoría (en cualquier orden: se muestran del más reciente al más antiguo). */
32
+ this.entries = input([], /* @ts-ignore */
33
+ ...(ngDevMode ? [{ debugName: "entries" }] : /* istanbul ignore next */ []));
34
+ /** Texto de un valor según su campo (importes, fechas, códigos…). */
35
+ this.format = input(null, /* @ts-ignore */
36
+ ...(ngDevMode ? [{ debugName: "format" }] : /* istanbul ignore next */ []));
37
+ /** Nombres de las acciones propias (`{ approve: 'aprobó' }`). */
38
+ this.actionLabels = input({}, /* @ts-ignore */
39
+ ...(ngDevMode ? [{ debugName: "actionLabels" }] : /* istanbul ignore next */ []));
40
+ this.entryOpen = output();
41
+ this.query = signal('', /* @ts-ignore */
42
+ ...(ngDevMode ? [{ debugName: "query" }] : /* istanbul ignore next */ []));
43
+ this.user = signal('', /* @ts-ignore */
44
+ ...(ngDevMode ? [{ debugName: "user" }] : /* istanbul ignore next */ []));
45
+ this.action = signal('', /* @ts-ignore */
46
+ ...(ngDevMode ? [{ debugName: "action" }] : /* istanbul ignore next */ []));
47
+ this.open = signal(new Set(), /* @ts-ignore */
48
+ ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
49
+ this.userOptions = computed(() => [{ label: this.t().auditAllUsers, value: '' }, ...[...new Set(this.entries().map((e) => e.user))].sort().map((u) => ({ label: u, value: u }))], /* @ts-ignore */
50
+ ...(ngDevMode ? [{ debugName: "userOptions" }] : /* istanbul ignore next */ []));
51
+ this.actionOptions = computed(() => [{ label: this.t().auditAllActions, value: '' }, ...[...new Set(this.entries().map((e) => e.action))].map((a) => ({ label: this.actionName(a), value: a }))], /* @ts-ignore */
52
+ ...(ngDevMode ? [{ debugName: "actionOptions" }] : /* istanbul ignore next */ []));
53
+ this.filtered = computed(() => {
54
+ const q = fold(this.query().trim());
55
+ const user = this.user();
56
+ const action = this.action();
57
+ return [...this.entries()]
58
+ .filter((e) => (!user || e.user === user) && (!action || e.action === action))
59
+ .filter((e) => !q || fold(`${e.user} ${e.entity} ${e.note ?? ''} ${(e.changes ?? []).map((c) => `${c.label ?? c.field} ${this.show(c.field, c.before)} ${this.show(c.field, c.after)}`).join(' ')}`).includes(q))
60
+ .sort((a, b) => toDate(b.date).getTime() - toDate(a.date).getTime());
61
+ }, /* @ts-ignore */
62
+ ...(ngDevMode ? [{ debugName: "filtered" }] : /* istanbul ignore next */ []));
63
+ this.groups = computed(() => {
64
+ const out = [];
65
+ const fmt = new Intl.DateTimeFormat(this.t().intlLocale, { dateStyle: 'full' });
66
+ for (const e of this.filtered()) {
67
+ const d = toDate(e.date);
68
+ const day = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`;
69
+ let g = out.find((x) => x.day === day);
70
+ if (!g) {
71
+ const label = fmt.format(d);
72
+ g = { day, label: label.charAt(0).toLocaleUpperCase() + label.slice(1), entries: [] };
73
+ out.push(g);
74
+ }
75
+ g.entries.push(e);
76
+ }
77
+ return out;
78
+ }, /* @ts-ignore */
79
+ ...(ngDevMode ? [{ debugName: "groups" }] : /* istanbul ignore next */ []));
80
+ }
81
+ actionName(action) {
82
+ const t = this.t();
83
+ const custom = this.actionLabels()[action];
84
+ if (custom)
85
+ return custom;
86
+ return action === 'create' ? t.auditCreated : action === 'update' ? t.auditUpdated : action === 'delete' ? t.auditDeleted : action;
87
+ }
88
+ initials(name) {
89
+ return name
90
+ .split(/\s+/)
91
+ .filter(Boolean)
92
+ .slice(0, 2)
93
+ .map((p) => p[0].toUpperCase())
94
+ .join('');
95
+ }
96
+ time(d) {
97
+ return new Intl.DateTimeFormat(this.t().intlLocale, { hour: '2-digit', minute: '2-digit' }).format(toDate(d));
98
+ }
99
+ iso(d) {
100
+ return toDate(d).toISOString();
101
+ }
102
+ isEmpty(v) {
103
+ return v === null || v === undefined || v === '';
104
+ }
105
+ show(field, value) {
106
+ if (this.isEmpty(value))
107
+ return '';
108
+ const f = this.format();
109
+ if (f)
110
+ return f(field, value);
111
+ if (value instanceof Date)
112
+ return new Intl.DateTimeFormat(this.t().intlLocale, { dateStyle: 'medium' }).format(value);
113
+ if (typeof value === 'boolean')
114
+ return value ? this.t().yes : this.t().no;
115
+ return String(value);
116
+ }
117
+ isOpen(id) {
118
+ return this.open().has(id);
119
+ }
120
+ toggle(id) {
121
+ const next = new Set(this.open());
122
+ if (next.has(id))
123
+ next.delete(id);
124
+ else {
125
+ next.add(id);
126
+ const e = this.entries().find((x) => x.id === id);
127
+ if (e)
128
+ this.entryOpen.emit(e);
129
+ }
130
+ this.open.set(next);
131
+ }
132
+ /** Hoja de Excel con un renglón por campo cambiado (o por registro, si no hay cambios). */
133
+ toExcelSheet() {
134
+ const t = this.t();
135
+ const rows = [];
136
+ for (const e of this.filtered()) {
137
+ const base = [toDate(e.date), this.time(e.date), e.user, this.actionName(e.action), e.entity];
138
+ if (e.changes?.length)
139
+ for (const c of e.changes)
140
+ rows.push([...base, c.label || c.field, this.show(c.field, c.before), this.show(c.field, c.after), e.note ?? '']);
141
+ else
142
+ rows.push([...base, '', '', '', e.note ?? '']);
143
+ }
144
+ return {
145
+ name: t.auditTitle,
146
+ columns: [{ header: t.agingDate, type: 'date' }, { header: t.auditTime }, { header: t.auditUser }, { header: t.auditAction }, { header: t.auditEntity }, { header: t.auditField }, { header: t.auditBefore }, { header: t.auditAfter }, { header: t.auditNote }],
147
+ rows,
148
+ };
149
+ }
150
+ exportExcel(filename) {
151
+ cbDownloadXlsx(filename ?? this.t().auditTitle, this.toExcelSheet());
152
+ }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbAuditLog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: CbAuditLog, isStandalone: true, selector: "cb-audit-log", inputs: { entries: { classPropertyName: "entries", publicName: "entries", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, actionLabels: { classPropertyName: "actionLabels", publicName: "actionLabels", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { entryOpen: "entryOpen" }, host: { classAttribute: "cb-audit-log" }, ngImport: i0, template: `
155
+ <div class="cb-al__filters" role="search">
156
+ <label class="cb-al__search">
157
+ <cb-icon name="search" [size]="15" aria-hidden="true" />
158
+ <input type="search" [placeholder]="t().auditSearch" [attr.aria-label]="t().auditSearch" [value]="query()" (input)="query.set($any($event.target).value)" />
159
+ </label>
160
+ <cb-select [options]="userOptions()" optionValue="value" [value]="user()" (valueChange)="user.set($any($event))" [ariaLabel]="t().auditUser" />
161
+ <cb-select [options]="actionOptions()" optionValue="value" [value]="action()" (valueChange)="action.set($any($event))" [ariaLabel]="t().auditAction" />
162
+ <span class="cb-al__spacer"></span>
163
+ <span class="cb-al__count" aria-live="polite">{{ fmt(t().auditCount, filtered().length) }}</span>
164
+ <cb-button size="sm" variant="outlined" (click)="exportExcel()">
165
+ <cb-icon name="download" [size]="15" aria-hidden="true" />
166
+ {{ t().reportExcel }}
167
+ </cb-button>
168
+ </div>
169
+
170
+ @for (group of groups(); track group.day) {
171
+ <section class="cb-al__day" [attr.aria-labelledby]="uid + '-' + group.day">
172
+ <h3 class="cb-al__day-title" [id]="uid + '-' + group.day">{{ group.label }}</h3>
173
+ <ol class="cb-al__list">
174
+ @for (e of group.entries; track e.id) {
175
+ <li class="cb-al__entry" [class]="'cb-al__entry--' + e.action">
176
+ <span class="cb-al__avatar" aria-hidden="true">{{ initials(e.user) }}</span>
177
+ <div class="cb-al__body">
178
+ <p class="cb-al__line">
179
+ <strong>{{ e.user }}</strong> {{ actionName(e.action) }} <span class="cb-al__entity">{{ e.entity }}</span>
180
+ <time class="cb-al__time" [attr.datetime]="iso(e.date)">{{ time(e.date) }}</time>
181
+ </p>
182
+ @if (e.note) {
183
+ <p class="cb-al__note">{{ e.note }}</p>
184
+ }
185
+ @if (e.changes?.length) {
186
+ <button type="button" class="cb-al__toggle" [attr.aria-expanded]="isOpen(e.id)" [attr.aria-controls]="uid + '-c-' + e.id" (click)="toggle(e.id)">
187
+ <cb-icon name="chevron-right" [size]="13" [class.cb-is-open]="isOpen(e.id)" aria-hidden="true" />
188
+ {{ e.changes!.length === 1 ? t().auditChangesOne : fmt(t().auditChanges, e.changes!.length) }}
189
+ </button>
190
+ @if (isOpen(e.id)) {
191
+ <table class="cb-al__diff" [id]="uid + '-c-' + e.id" [attr.aria-label]="fmt(t().auditChangesOf, e.entity)">
192
+ <thead>
193
+ <tr>
194
+ <th scope="col">{{ t().auditField }}</th>
195
+ <th scope="col">{{ t().auditBefore }}</th>
196
+ <th scope="col">{{ t().auditAfter }}</th>
197
+ </tr>
198
+ </thead>
199
+ <tbody>
200
+ @for (c of e.changes; track c.field) {
201
+ <tr>
202
+ <th scope="row">{{ c.label || c.field }}</th>
203
+ <td class="cb-al__before">
204
+ @if (isEmpty(c.before)) {
205
+ <span class="cb-al__empty">{{ t().auditEmpty }}</span>
206
+ } @else {
207
+ <del>{{ show(c.field, c.before) }}</del>
208
+ }
209
+ </td>
210
+ <td class="cb-al__after">
211
+ @if (isEmpty(c.after)) {
212
+ <span class="cb-al__empty">{{ t().auditEmpty }}</span>
213
+ } @else {
214
+ <ins>{{ show(c.field, c.after) }}</ins>
215
+ }
216
+ </td>
217
+ </tr>
218
+ }
219
+ </tbody>
220
+ </table>
221
+ }
222
+ }
223
+ </div>
224
+ </li>
225
+ }
226
+ </ol>
227
+ </section>
228
+ } @empty {
229
+ <p class="cb-al__none">{{ t().auditNone }}</p>
230
+ }
231
+ `, isInline: true, styles: [":host{display:grid;gap:var(--cb-space-4, 1rem);width:100%;min-width:0;color:var(--cb-color-text);font-family:var(--cb-font-sans);font-size:var(--cb-text-sm, .875rem)}.cb-al__filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.cb-al__filters cb-select{min-width:11rem}.cb-al__search{display:inline-flex;flex:1 1 14rem;align-items:center;gap:.4rem;height:2.5rem;padding:0 .75rem;border:1px solid var(--cb-color-border-strong);border-radius:var(--cb-radius-md);background:var(--cb-color-bg);color:var(--cb-color-text-muted)}.cb-al__search:focus-within{border-color:var(--cb-color-primary-500);box-shadow:0 0 0 3px color-mix(in srgb,var(--cb-color-primary-500) 25%,transparent)}.cb-al__search input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--cb-color-text);font:inherit;font-size:var(--cb-text-base, 1rem)}.cb-al__spacer{flex:1}.cb-al__count{color:var(--cb-color-text-muted)}.cb-al__day-title{margin:0 0 .5rem;color:var(--cb-color-text-muted);font-size:var(--cb-text-xs, .75rem);font-weight:var(--cb-font-weight-semibold, 600);text-transform:uppercase;letter-spacing:.04em}.cb-al__list{display:grid;gap:0;margin:0;padding:0;list-style:none}.cb-al__entry{position:relative;display:grid;grid-template-columns:2rem 1fr;gap:.75rem;padding:0 0 1rem}.cb-al__entry:not(:last-child):before{position:absolute;top:2.1rem;bottom:.2rem;left:calc(1rem - 1px);width:2px;background:var(--cb-color-border);content:\"\"}.cb-al__avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--cb-color-surface-subtle);color:var(--cb-color-text);font-size:var(--cb-text-xs, .75rem);font-weight:var(--cb-font-weight-semibold, 600);box-shadow:inset 0 0 0 2px var(--cb-color-border-strong)}.cb-al__entry--create .cb-al__avatar{box-shadow:inset 0 0 0 2px var(--cb-color-success-500, #10b981)}.cb-al__entry--update .cb-al__avatar{box-shadow:inset 0 0 0 2px var(--cb-color-primary-500)}.cb-al__entry--delete .cb-al__avatar{box-shadow:inset 0 0 0 2px var(--cb-color-danger-500, #ef4444)}.cb-al__body{display:grid;gap:.3rem;min-width:0;padding-top:.3rem}.cb-al__line,.cb-al__note{margin:0}.cb-al__entity{font-weight:var(--cb-font-weight-medium, 500)}.cb-al__time{margin-left:.4rem;color:var(--cb-color-text-muted);font-size:var(--cb-text-xs, .75rem);font-variant-numeric:tabular-nums}.cb-al__note{color:var(--cb-color-text-muted);font-style:italic}.cb-al__toggle{display:inline-flex;align-items:center;justify-self:start;gap:.25rem;padding:0;border:0;background:none;color:var(--cb-color-primary-text, var(--cb-color-primary-700));font:inherit;cursor:pointer}.cb-al__toggle cb-icon{transition:transform var(--cb-duration-fast, .12s) var(--cb-ease, ease)}.cb-al__toggle cb-icon.cb-is-open{transform:rotate(90deg)}.cb-al__toggle:focus-visible{outline:2px solid var(--cb-color-focus-ring);outline-offset:2px;border-radius:2px}.cb-al__diff{width:100%;max-width:44rem;border:1px solid var(--cb-color-border);border-radius:var(--cb-radius-md);border-collapse:separate;border-spacing:0;overflow:hidden}.cb-al__diff th,.cb-al__diff td{padding:.4rem .65rem;border-bottom:1px solid var(--cb-color-border);text-align:start;vertical-align:top}.cb-al__diff tr:last-child>*{border-bottom:0}.cb-al__diff thead th{background:var(--cb-color-surface-subtle);color:var(--cb-color-text-muted);font-size:var(--cb-text-xs, .75rem);font-weight:var(--cb-font-weight-semibold, 600)}.cb-al__diff tbody th{width:30%;font-weight:var(--cb-font-weight-medium, 500)}.cb-al__before del{padding:0 .2rem;border-radius:3px;background:color-mix(in srgb,var(--cb-color-danger-500, #ef4444) 12%,transparent);color:var(--cb-color-danger-text, #b91c1c)}.cb-al__after ins{padding:0 .2rem;border-radius:3px;background:color-mix(in srgb,var(--cb-color-success-500, #10b981) 14%,transparent);color:var(--cb-color-success-text, #047857);text-decoration:none}.cb-al__empty{color:var(--cb-color-text-muted);font-style:italic}.cb-al__none{margin:0;padding:2rem 1rem;color:var(--cb-color-text-muted);text-align:center}\n"], dependencies: [{ kind: "component", type: CbButton, selector: "cb-button", inputs: ["severity", "variant", "size", "disabled", "loading", "fullWidth", "type", "ariaLabel", "ariaHaspopup", "ariaExpanded", "ariaControls"] }, { kind: "component", type: CbIcon, selector: "cb-icon", inputs: ["name", "size", "spin", "ariaLabel"] }, { kind: "component", type: CbSelect, selector: "cb-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "group", "optionGroupLabel", "optionGroupChildren", "placeholder", "size", "filter", "filterPlaceholder", "emptyMessage", "showClear", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "invalid", "disabled", "inputId", "ariaLabel", "ariaLabelledBy", "value"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
232
+ }
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbAuditLog, decorators: [{
234
+ type: Component,
235
+ args: [{ selector: 'cb-audit-log', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, imports: [CbButton, CbIcon, CbSelect], host: { class: 'cb-audit-log' }, template: `
236
+ <div class="cb-al__filters" role="search">
237
+ <label class="cb-al__search">
238
+ <cb-icon name="search" [size]="15" aria-hidden="true" />
239
+ <input type="search" [placeholder]="t().auditSearch" [attr.aria-label]="t().auditSearch" [value]="query()" (input)="query.set($any($event.target).value)" />
240
+ </label>
241
+ <cb-select [options]="userOptions()" optionValue="value" [value]="user()" (valueChange)="user.set($any($event))" [ariaLabel]="t().auditUser" />
242
+ <cb-select [options]="actionOptions()" optionValue="value" [value]="action()" (valueChange)="action.set($any($event))" [ariaLabel]="t().auditAction" />
243
+ <span class="cb-al__spacer"></span>
244
+ <span class="cb-al__count" aria-live="polite">{{ fmt(t().auditCount, filtered().length) }}</span>
245
+ <cb-button size="sm" variant="outlined" (click)="exportExcel()">
246
+ <cb-icon name="download" [size]="15" aria-hidden="true" />
247
+ {{ t().reportExcel }}
248
+ </cb-button>
249
+ </div>
250
+
251
+ @for (group of groups(); track group.day) {
252
+ <section class="cb-al__day" [attr.aria-labelledby]="uid + '-' + group.day">
253
+ <h3 class="cb-al__day-title" [id]="uid + '-' + group.day">{{ group.label }}</h3>
254
+ <ol class="cb-al__list">
255
+ @for (e of group.entries; track e.id) {
256
+ <li class="cb-al__entry" [class]="'cb-al__entry--' + e.action">
257
+ <span class="cb-al__avatar" aria-hidden="true">{{ initials(e.user) }}</span>
258
+ <div class="cb-al__body">
259
+ <p class="cb-al__line">
260
+ <strong>{{ e.user }}</strong> {{ actionName(e.action) }} <span class="cb-al__entity">{{ e.entity }}</span>
261
+ <time class="cb-al__time" [attr.datetime]="iso(e.date)">{{ time(e.date) }}</time>
262
+ </p>
263
+ @if (e.note) {
264
+ <p class="cb-al__note">{{ e.note }}</p>
265
+ }
266
+ @if (e.changes?.length) {
267
+ <button type="button" class="cb-al__toggle" [attr.aria-expanded]="isOpen(e.id)" [attr.aria-controls]="uid + '-c-' + e.id" (click)="toggle(e.id)">
268
+ <cb-icon name="chevron-right" [size]="13" [class.cb-is-open]="isOpen(e.id)" aria-hidden="true" />
269
+ {{ e.changes!.length === 1 ? t().auditChangesOne : fmt(t().auditChanges, e.changes!.length) }}
270
+ </button>
271
+ @if (isOpen(e.id)) {
272
+ <table class="cb-al__diff" [id]="uid + '-c-' + e.id" [attr.aria-label]="fmt(t().auditChangesOf, e.entity)">
273
+ <thead>
274
+ <tr>
275
+ <th scope="col">{{ t().auditField }}</th>
276
+ <th scope="col">{{ t().auditBefore }}</th>
277
+ <th scope="col">{{ t().auditAfter }}</th>
278
+ </tr>
279
+ </thead>
280
+ <tbody>
281
+ @for (c of e.changes; track c.field) {
282
+ <tr>
283
+ <th scope="row">{{ c.label || c.field }}</th>
284
+ <td class="cb-al__before">
285
+ @if (isEmpty(c.before)) {
286
+ <span class="cb-al__empty">{{ t().auditEmpty }}</span>
287
+ } @else {
288
+ <del>{{ show(c.field, c.before) }}</del>
289
+ }
290
+ </td>
291
+ <td class="cb-al__after">
292
+ @if (isEmpty(c.after)) {
293
+ <span class="cb-al__empty">{{ t().auditEmpty }}</span>
294
+ } @else {
295
+ <ins>{{ show(c.field, c.after) }}</ins>
296
+ }
297
+ </td>
298
+ </tr>
299
+ }
300
+ </tbody>
301
+ </table>
302
+ }
303
+ }
304
+ </div>
305
+ </li>
306
+ }
307
+ </ol>
308
+ </section>
309
+ } @empty {
310
+ <p class="cb-al__none">{{ t().auditNone }}</p>
311
+ }
312
+ `, styles: [":host{display:grid;gap:var(--cb-space-4, 1rem);width:100%;min-width:0;color:var(--cb-color-text);font-family:var(--cb-font-sans);font-size:var(--cb-text-sm, .875rem)}.cb-al__filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.cb-al__filters cb-select{min-width:11rem}.cb-al__search{display:inline-flex;flex:1 1 14rem;align-items:center;gap:.4rem;height:2.5rem;padding:0 .75rem;border:1px solid var(--cb-color-border-strong);border-radius:var(--cb-radius-md);background:var(--cb-color-bg);color:var(--cb-color-text-muted)}.cb-al__search:focus-within{border-color:var(--cb-color-primary-500);box-shadow:0 0 0 3px color-mix(in srgb,var(--cb-color-primary-500) 25%,transparent)}.cb-al__search input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--cb-color-text);font:inherit;font-size:var(--cb-text-base, 1rem)}.cb-al__spacer{flex:1}.cb-al__count{color:var(--cb-color-text-muted)}.cb-al__day-title{margin:0 0 .5rem;color:var(--cb-color-text-muted);font-size:var(--cb-text-xs, .75rem);font-weight:var(--cb-font-weight-semibold, 600);text-transform:uppercase;letter-spacing:.04em}.cb-al__list{display:grid;gap:0;margin:0;padding:0;list-style:none}.cb-al__entry{position:relative;display:grid;grid-template-columns:2rem 1fr;gap:.75rem;padding:0 0 1rem}.cb-al__entry:not(:last-child):before{position:absolute;top:2.1rem;bottom:.2rem;left:calc(1rem - 1px);width:2px;background:var(--cb-color-border);content:\"\"}.cb-al__avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--cb-color-surface-subtle);color:var(--cb-color-text);font-size:var(--cb-text-xs, .75rem);font-weight:var(--cb-font-weight-semibold, 600);box-shadow:inset 0 0 0 2px var(--cb-color-border-strong)}.cb-al__entry--create .cb-al__avatar{box-shadow:inset 0 0 0 2px var(--cb-color-success-500, #10b981)}.cb-al__entry--update .cb-al__avatar{box-shadow:inset 0 0 0 2px var(--cb-color-primary-500)}.cb-al__entry--delete .cb-al__avatar{box-shadow:inset 0 0 0 2px var(--cb-color-danger-500, #ef4444)}.cb-al__body{display:grid;gap:.3rem;min-width:0;padding-top:.3rem}.cb-al__line,.cb-al__note{margin:0}.cb-al__entity{font-weight:var(--cb-font-weight-medium, 500)}.cb-al__time{margin-left:.4rem;color:var(--cb-color-text-muted);font-size:var(--cb-text-xs, .75rem);font-variant-numeric:tabular-nums}.cb-al__note{color:var(--cb-color-text-muted);font-style:italic}.cb-al__toggle{display:inline-flex;align-items:center;justify-self:start;gap:.25rem;padding:0;border:0;background:none;color:var(--cb-color-primary-text, var(--cb-color-primary-700));font:inherit;cursor:pointer}.cb-al__toggle cb-icon{transition:transform var(--cb-duration-fast, .12s) var(--cb-ease, ease)}.cb-al__toggle cb-icon.cb-is-open{transform:rotate(90deg)}.cb-al__toggle:focus-visible{outline:2px solid var(--cb-color-focus-ring);outline-offset:2px;border-radius:2px}.cb-al__diff{width:100%;max-width:44rem;border:1px solid var(--cb-color-border);border-radius:var(--cb-radius-md);border-collapse:separate;border-spacing:0;overflow:hidden}.cb-al__diff th,.cb-al__diff td{padding:.4rem .65rem;border-bottom:1px solid var(--cb-color-border);text-align:start;vertical-align:top}.cb-al__diff tr:last-child>*{border-bottom:0}.cb-al__diff thead th{background:var(--cb-color-surface-subtle);color:var(--cb-color-text-muted);font-size:var(--cb-text-xs, .75rem);font-weight:var(--cb-font-weight-semibold, 600)}.cb-al__diff tbody th{width:30%;font-weight:var(--cb-font-weight-medium, 500)}.cb-al__before del{padding:0 .2rem;border-radius:3px;background:color-mix(in srgb,var(--cb-color-danger-500, #ef4444) 12%,transparent);color:var(--cb-color-danger-text, #b91c1c)}.cb-al__after ins{padding:0 .2rem;border-radius:3px;background:color-mix(in srgb,var(--cb-color-success-500, #10b981) 14%,transparent);color:var(--cb-color-success-text, #047857);text-decoration:none}.cb-al__empty{color:var(--cb-color-text-muted);font-style:italic}.cb-al__none{margin:0;padding:2rem 1rem;color:var(--cb-color-text-muted);text-align:center}\n"] }]
313
+ }], propDecorators: { entries: [{ type: i0.Input, args: [{ isSignal: true, alias: "entries", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], actionLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionLabels", required: false }] }], entryOpen: [{ type: i0.Output, args: ["entryOpen"] }] } });
314
+
315
+ /*
316
+ * Public API Surface de @caribeng/ui/audit-log
317
+ */
318
+
319
+ /**
320
+ * Generated bundle index. Do not edit.
321
+ */
322
+
323
+ export { CbAuditLog };
@@ -50,7 +50,7 @@ class CbAvatar {
50
50
  } @else {
51
51
  <span class="cb-avatar__label">{{ label() }}</span>
52
52
  }
53
- `, isInline: true, styles: [":host{display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden;font-family:var(--cb-font-sans);font-weight:var(--cb-font-weight-semibold);line-height:1;color:var(--_fg);background-color:var(--_bg);-webkit-user-select:none;user-select:none}:host(.cb-avatar--circle){border-radius:var(--cb-radius-full)}:host(.cb-avatar--square){border-radius:var(--cb-radius-md)}.cb-avatar__img{width:100%;height:100%;object-fit:cover}.cb-avatar__label{text-transform:uppercase}:host(.cb-avatar--primary){--_bg: var(--cb-color-primary-500);--_fg: var(--cb-color-primary-contrast)}:host(.cb-avatar--secondary){--_bg: var(--cb-color-surface-200);--_fg: var(--cb-color-text)}:host(.cb-avatar--success){--_bg: var(--cb-color-success-500);--_fg: var(--cb-color-success-contrast)}:host(.cb-avatar--info){--_bg: var(--cb-color-info-500);--_fg: var(--cb-color-info-contrast)}:host(.cb-avatar--warning){--_bg: var(--cb-color-warning-500);--_fg: var(--cb-color-warning-contrast)}:host(.cb-avatar--danger){--_bg: var(--cb-color-danger-500);--_fg: var(--cb-color-danger-contrast)}:host(.cb-avatar--help){--_bg: var(--cb-color-help-500);--_fg: var(--cb-color-help-contrast)}:host(.cb-avatar--contrast){--_bg: var(--cb-color-text);--_fg: var(--cb-color-bg)}:host-context([data-theme=\"dark\"]):host(.cb-avatar--secondary){--_bg: var(--cb-color-surface-300)}\n"], dependencies: [{ kind: "component", type: CbIcon, selector: "cb-icon", inputs: ["name", "size", "spin", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
+ `, isInline: true, styles: [":host{display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden;font-family:var(--cb-font-sans);font-weight:var(--cb-font-weight-semibold);line-height:1;color:var(--_fg);background-color:var(--_bg);-webkit-user-select:none;user-select:none}:host(.cb-avatar--circle){border-radius:var(--cb-radius-full)}:host(.cb-avatar--square){border-radius:var(--cb-radius-md)}.cb-avatar__img{width:100%;height:100%;object-fit:cover}.cb-avatar__label{text-transform:uppercase}:host(.cb-avatar--primary){--_bg: var(--cb-color-primary-500);--_fg: var(--cb-color-primary-contrast)}:host(.cb-avatar--secondary){--_bg: var(--cb-color-border);--_fg: var(--cb-color-text)}:host(.cb-avatar--success){--_bg: var(--cb-color-success-500);--_fg: var(--cb-color-success-contrast)}:host(.cb-avatar--info){--_bg: var(--cb-color-info-500);--_fg: var(--cb-color-info-contrast)}:host(.cb-avatar--warning){--_bg: var(--cb-color-warning-500);--_fg: var(--cb-color-warning-contrast)}:host(.cb-avatar--danger){--_bg: var(--cb-color-danger-500);--_fg: var(--cb-color-danger-contrast)}:host(.cb-avatar--help){--_bg: var(--cb-color-help-500);--_fg: var(--cb-color-help-contrast)}:host(.cb-avatar--contrast){--_bg: var(--cb-color-text);--_fg: var(--cb-color-bg)}\n"], dependencies: [{ kind: "component", type: CbIcon, selector: "cb-icon", inputs: ["name", "size", "spin", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
54
  }
55
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbAvatar, decorators: [{
56
56
  type: Component,
@@ -70,7 +70,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
70
70
  } @else {
71
71
  <span class="cb-avatar__label">{{ label() }}</span>
72
72
  }
73
- `, styles: [":host{display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden;font-family:var(--cb-font-sans);font-weight:var(--cb-font-weight-semibold);line-height:1;color:var(--_fg);background-color:var(--_bg);-webkit-user-select:none;user-select:none}:host(.cb-avatar--circle){border-radius:var(--cb-radius-full)}:host(.cb-avatar--square){border-radius:var(--cb-radius-md)}.cb-avatar__img{width:100%;height:100%;object-fit:cover}.cb-avatar__label{text-transform:uppercase}:host(.cb-avatar--primary){--_bg: var(--cb-color-primary-500);--_fg: var(--cb-color-primary-contrast)}:host(.cb-avatar--secondary){--_bg: var(--cb-color-surface-200);--_fg: var(--cb-color-text)}:host(.cb-avatar--success){--_bg: var(--cb-color-success-500);--_fg: var(--cb-color-success-contrast)}:host(.cb-avatar--info){--_bg: var(--cb-color-info-500);--_fg: var(--cb-color-info-contrast)}:host(.cb-avatar--warning){--_bg: var(--cb-color-warning-500);--_fg: var(--cb-color-warning-contrast)}:host(.cb-avatar--danger){--_bg: var(--cb-color-danger-500);--_fg: var(--cb-color-danger-contrast)}:host(.cb-avatar--help){--_bg: var(--cb-color-help-500);--_fg: var(--cb-color-help-contrast)}:host(.cb-avatar--contrast){--_bg: var(--cb-color-text);--_fg: var(--cb-color-bg)}:host-context([data-theme=\"dark\"]):host(.cb-avatar--secondary){--_bg: var(--cb-color-surface-300)}\n"] }]
73
+ `, styles: [":host{display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden;font-family:var(--cb-font-sans);font-weight:var(--cb-font-weight-semibold);line-height:1;color:var(--_fg);background-color:var(--_bg);-webkit-user-select:none;user-select:none}:host(.cb-avatar--circle){border-radius:var(--cb-radius-full)}:host(.cb-avatar--square){border-radius:var(--cb-radius-md)}.cb-avatar__img{width:100%;height:100%;object-fit:cover}.cb-avatar__label{text-transform:uppercase}:host(.cb-avatar--primary){--_bg: var(--cb-color-primary-500);--_fg: var(--cb-color-primary-contrast)}:host(.cb-avatar--secondary){--_bg: var(--cb-color-border);--_fg: var(--cb-color-text)}:host(.cb-avatar--success){--_bg: var(--cb-color-success-500);--_fg: var(--cb-color-success-contrast)}:host(.cb-avatar--info){--_bg: var(--cb-color-info-500);--_fg: var(--cb-color-info-contrast)}:host(.cb-avatar--warning){--_bg: var(--cb-color-warning-500);--_fg: var(--cb-color-warning-contrast)}:host(.cb-avatar--danger){--_bg: var(--cb-color-danger-500);--_fg: var(--cb-color-danger-contrast)}:host(.cb-avatar--help){--_bg: var(--cb-color-help-500);--_fg: var(--cb-color-help-contrast)}:host(.cb-avatar--contrast){--_bg: var(--cb-color-text);--_fg: var(--cb-color-bg)}\n"] }]
74
74
  }], propDecorators: { image: [{ type: i0.Input, args: [{ isSignal: true, alias: "image", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], shape: [{ type: i0.Input, args: [{ isSignal: true, alias: "shape", required: false }] }], severity: [{ type: i0.Input, args: [{ isSignal: true, alias: "severity", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }] } });
75
75
 
76
76
  /*
@@ -27,7 +27,7 @@ class CbBreadcrumb {
27
27
  /** Icono separador entre elementos. */
28
28
  this.separator = input('chevron-right', /* @ts-ignore */
29
29
  ...(ngDevMode ? [{ debugName: "separator" }] : /* istanbul ignore next */ []));
30
- /** Se emite al hacer clic en un elemento con enlace. */
30
+ /** Se emite al hacer clic en un elemento con enlace o con `command` (que no sea el último). */
31
31
  this.itemClick = output();
32
32
  }
33
33
  select(item, event) {
@@ -45,6 +45,11 @@ class CbBreadcrumb {
45
45
  @if (item.icon) { <cb-icon [name]="item.icon" [size]="15" aria-hidden="true" /> }
46
46
  <span>{{ item.label }}</span>
47
47
  </a>
48
+ } @else if (item.command && !last) {
49
+ <button type="button" class="cb-breadcrumb__link cb-breadcrumb__button" (click)="select(item, $event)">
50
+ @if (item.icon) { <cb-icon [name]="item.icon" [size]="15" aria-hidden="true" /> }
51
+ <span>{{ item.label }}</span>
52
+ </button>
48
53
  } @else {
49
54
  <span class="cb-breadcrumb__current" [attr.aria-current]="last ? 'page' : null">
50
55
  @if (item.icon) { <cb-icon [name]="item.icon" [size]="15" aria-hidden="true" /> }
@@ -58,7 +63,7 @@ class CbBreadcrumb {
58
63
  }
59
64
  </ol>
60
65
  </nav>
61
- `, isInline: true, styles: [":host{display:block;font-family:var(--cb-font-sans);font-size:var(--cb-text-sm)}.cb-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cb-space-1);list-style:none;margin:0;padding:0}.cb-breadcrumb__item{display:inline-flex;align-items:center;gap:var(--cb-space-1)}.cb-breadcrumb__link{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .25rem;border-radius:var(--cb-radius-sm);color:var(--cb-color-text-muted);text-decoration:none;transition:color var(--cb-duration-fast) var(--cb-ease)}.cb-breadcrumb__link:hover{color:var(--cb-color-primary-500)}.cb-breadcrumb__link:focus-visible{outline:2px solid var(--cb-color-focus-ring);outline-offset:1px}.cb-breadcrumb__current{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .25rem;color:var(--cb-color-text);font-weight:var(--cb-font-weight-medium)}.cb-breadcrumb__sep{color:var(--cb-color-text-muted);opacity:.6}\n"], dependencies: [{ kind: "component", type: CbIcon, selector: "cb-icon", inputs: ["name", "size", "spin", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
+ `, isInline: true, styles: [":host{display:block;font-family:var(--cb-font-sans);font-size:var(--cb-text-sm)}.cb-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cb-space-1);list-style:none;margin:0;padding:0}.cb-breadcrumb__item{display:inline-flex;align-items:center;gap:var(--cb-space-1)}.cb-breadcrumb__link{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .25rem;border-radius:var(--cb-radius-sm);color:var(--cb-color-text-muted);text-decoration:none;transition:color var(--cb-duration-fast) var(--cb-ease)}.cb-breadcrumb__button{margin:0;border:0;background:transparent;font:inherit;cursor:pointer}.cb-breadcrumb__link:hover{color:var(--cb-color-primary-text)}.cb-breadcrumb__link:focus-visible{outline:2px solid var(--cb-color-focus-ring);outline-offset:1px}.cb-breadcrumb__current{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .25rem;color:var(--cb-color-text);font-weight:var(--cb-font-weight-medium)}.cb-breadcrumb__sep{color:var(--cb-color-text-muted);opacity:.6}\n"], dependencies: [{ kind: "component", type: CbIcon, selector: "cb-icon", inputs: ["name", "size", "spin", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
67
  }
63
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbBreadcrumb, decorators: [{
64
69
  type: Component,
@@ -72,6 +77,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
72
77
  @if (item.icon) { <cb-icon [name]="item.icon" [size]="15" aria-hidden="true" /> }
73
78
  <span>{{ item.label }}</span>
74
79
  </a>
80
+ } @else if (item.command && !last) {
81
+ <button type="button" class="cb-breadcrumb__link cb-breadcrumb__button" (click)="select(item, $event)">
82
+ @if (item.icon) { <cb-icon [name]="item.icon" [size]="15" aria-hidden="true" /> }
83
+ <span>{{ item.label }}</span>
84
+ </button>
75
85
  } @else {
76
86
  <span class="cb-breadcrumb__current" [attr.aria-current]="last ? 'page' : null">
77
87
  @if (item.icon) { <cb-icon [name]="item.icon" [size]="15" aria-hidden="true" /> }
@@ -85,7 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
85
95
  }
86
96
  </ol>
87
97
  </nav>
88
- `, styles: [":host{display:block;font-family:var(--cb-font-sans);font-size:var(--cb-text-sm)}.cb-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cb-space-1);list-style:none;margin:0;padding:0}.cb-breadcrumb__item{display:inline-flex;align-items:center;gap:var(--cb-space-1)}.cb-breadcrumb__link{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .25rem;border-radius:var(--cb-radius-sm);color:var(--cb-color-text-muted);text-decoration:none;transition:color var(--cb-duration-fast) var(--cb-ease)}.cb-breadcrumb__link:hover{color:var(--cb-color-primary-500)}.cb-breadcrumb__link:focus-visible{outline:2px solid var(--cb-color-focus-ring);outline-offset:1px}.cb-breadcrumb__current{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .25rem;color:var(--cb-color-text);font-weight:var(--cb-font-weight-medium)}.cb-breadcrumb__sep{color:var(--cb-color-text-muted);opacity:.6}\n"] }]
98
+ `, styles: [":host{display:block;font-family:var(--cb-font-sans);font-size:var(--cb-text-sm)}.cb-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cb-space-1);list-style:none;margin:0;padding:0}.cb-breadcrumb__item{display:inline-flex;align-items:center;gap:var(--cb-space-1)}.cb-breadcrumb__link{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .25rem;border-radius:var(--cb-radius-sm);color:var(--cb-color-text-muted);text-decoration:none;transition:color var(--cb-duration-fast) var(--cb-ease)}.cb-breadcrumb__button{margin:0;border:0;background:transparent;font:inherit;cursor:pointer}.cb-breadcrumb__link:hover{color:var(--cb-color-primary-text)}.cb-breadcrumb__link:focus-visible{outline:2px solid var(--cb-color-focus-ring);outline-offset:1px}.cb-breadcrumb__current{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .25rem;color:var(--cb-color-text);font-weight:var(--cb-font-weight-medium)}.cb-breadcrumb__sep{color:var(--cb-color-text-muted);opacity:.6}\n"] }]
89
99
  }], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], separator: [{ type: i0.Input, args: [{ isSignal: true, alias: "separator", required: false }] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }] } });
90
100
 
91
101
  /*
@@ -3,7 +3,7 @@ import { input, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@a
3
3
  import { injectCbTranslation } from '@caribeng/ui';
4
4
 
5
5
  /**
6
- * Button-group de Caribe Design: contenedor que agrupa acciones relacionadas
6
+ * Button-group: contenedor que agrupa acciones relacionadas
7
7
  * en una superficie segmentada, en horizontal o vertical.
8
8
  *
9
9
  * @example
@@ -25,13 +25,13 @@ class CbButtonGroup {
25
25
  ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
26
26
  }
27
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbButtonGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: CbButtonGroup, isStandalone: true, selector: "cb-button-group", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" }, properties: { "attr.aria-label": "(ariaLabel() ?? t().actionGroup)", "class.cb-button-group-host--vertical": "orientation() === 'vertical'" }, classAttribute: "cb-button-group-host" }, ngImport: i0, template: `
29
- <div
30
- class="cb-button-group"
31
- [class.cb-button-group--vertical]="orientation() === 'vertical'"
32
- >
33
- <ng-content />
34
- </div>
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: CbButtonGroup, isStandalone: true, selector: "cb-button-group", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" }, properties: { "attr.aria-label": "(ariaLabel() ?? t().actionGroup)", "class.cb-button-group-host--vertical": "orientation() === 'vertical'" }, classAttribute: "cb-button-group-host" }, ngImport: i0, template: `
29
+ <div
30
+ class="cb-button-group"
31
+ [class.cb-button-group--vertical]="orientation() === 'vertical'"
32
+ >
33
+ <ng-content />
34
+ </div>
35
35
  `, isInline: true, styles: [":host{display:inline-flex}.cb-button-group{display:inline-flex;flex-direction:row;align-items:stretch;gap:var(--cb-space-1, .25rem);padding:var(--cb-space-1, .25rem);background-color:var(--cb-color-surface-100, #f1f5f9);border:1px solid var(--cb-color-border, #e2e8f0);border-radius:var(--cb-radius-md, .5rem);font-family:var(--cb-font-sans, inherit)}.cb-button-group--vertical{flex-direction:column}.cb-button-group ::ng-deep>button,.cb-button-group ::ng-deep>a{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--cb-space-1, .25rem);padding:var(--cb-space-2, .5rem) var(--cb-space-4, 1rem);font:inherit;font-size:var(--cb-text-sm, .875rem);font-weight:var(--cb-font-weight-medium, 500);color:var(--cb-color-text, #0f172a);background-color:transparent;border:none;border-radius:var(--cb-radius-sm, .375rem);cursor:pointer;transition:background-color var(--cb-duration-fast, .12s) var(--cb-ease, ease)}.cb-button-group ::ng-deep>button:hover,.cb-button-group ::ng-deep>a:hover{background-color:var(--cb-color-surface-0, #ffffff)}.cb-button-group ::ng-deep>button[aria-pressed=true],.cb-button-group ::ng-deep>button.is-active{background-color:var(--cb-color-surface-0, #ffffff);color:var(--cb-color-primary-700, #065f46);box-shadow:var(--cb-shadow-sm, 0 1px 2px rgba(0, 0, 0, .1))}:host-context([data-theme=\"dark\"]) .cb-button-group{background-color:var(--cb-color-surface-800, #1e293b);border-color:var(--cb-color-surface-600, #475569)}:host-context([data-theme=\"dark\"]) .cb-button-group ::ng-deep>button,:host-context([data-theme=\"dark\"]) .cb-button-group ::ng-deep>a{color:var(--cb-color-surface-0, #f8fafc)}:host-context([data-theme=\"dark\"]) .cb-button-group ::ng-deep>button:hover,:host-context([data-theme=\"dark\"]) .cb-button-group ::ng-deep>a:hover,:host-context([data-theme=\"dark\"]) .cb-button-group ::ng-deep>button[aria-pressed=true]{background-color:var(--cb-color-surface-700, #334155)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
36
  }
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbButtonGroup, decorators: [{
@@ -41,13 +41,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
41
41
  role: 'group',
42
42
  '[attr.aria-label]': '(ariaLabel() ?? t().actionGroup)',
43
43
  '[class.cb-button-group-host--vertical]': "orientation() === 'vertical'",
44
- }, template: `
45
- <div
46
- class="cb-button-group"
47
- [class.cb-button-group--vertical]="orientation() === 'vertical'"
48
- >
49
- <ng-content />
50
- </div>
44
+ }, template: `
45
+ <div
46
+ class="cb-button-group"
47
+ [class.cb-button-group--vertical]="orientation() === 'vertical'"
48
+ >
49
+ <ng-content />
50
+ </div>
51
51
  `, styles: [":host{display:inline-flex}.cb-button-group{display:inline-flex;flex-direction:row;align-items:stretch;gap:var(--cb-space-1, .25rem);padding:var(--cb-space-1, .25rem);background-color:var(--cb-color-surface-100, #f1f5f9);border:1px solid var(--cb-color-border, #e2e8f0);border-radius:var(--cb-radius-md, .5rem);font-family:var(--cb-font-sans, inherit)}.cb-button-group--vertical{flex-direction:column}.cb-button-group ::ng-deep>button,.cb-button-group ::ng-deep>a{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--cb-space-1, .25rem);padding:var(--cb-space-2, .5rem) var(--cb-space-4, 1rem);font:inherit;font-size:var(--cb-text-sm, .875rem);font-weight:var(--cb-font-weight-medium, 500);color:var(--cb-color-text, #0f172a);background-color:transparent;border:none;border-radius:var(--cb-radius-sm, .375rem);cursor:pointer;transition:background-color var(--cb-duration-fast, .12s) var(--cb-ease, ease)}.cb-button-group ::ng-deep>button:hover,.cb-button-group ::ng-deep>a:hover{background-color:var(--cb-color-surface-0, #ffffff)}.cb-button-group ::ng-deep>button[aria-pressed=true],.cb-button-group ::ng-deep>button.is-active{background-color:var(--cb-color-surface-0, #ffffff);color:var(--cb-color-primary-700, #065f46);box-shadow:var(--cb-shadow-sm, 0 1px 2px rgba(0, 0, 0, .1))}:host-context([data-theme=\"dark\"]) .cb-button-group{background-color:var(--cb-color-surface-800, #1e293b);border-color:var(--cb-color-surface-600, #475569)}:host-context([data-theme=\"dark\"]) .cb-button-group ::ng-deep>button,:host-context([data-theme=\"dark\"]) .cb-button-group ::ng-deep>a{color:var(--cb-color-surface-0, #f8fafc)}:host-context([data-theme=\"dark\"]) .cb-button-group ::ng-deep>button:hover,:host-context([data-theme=\"dark\"]) .cb-button-group ::ng-deep>a:hover,:host-context([data-theme=\"dark\"]) .cb-button-group ::ng-deep>button[aria-pressed=true]{background-color:var(--cb-color-surface-700, #334155)}\n"] }]
52
52
  }], propDecorators: { orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }] } });
53
53
 
@@ -91,7 +91,7 @@ class CbButton {
91
91
  <ng-content />
92
92
  </span>
93
93
  </button>
94
- `, isInline: true, styles: [":host{display:inline-flex}:host(.cb-button-host--block){display:flex;width:100%}:host(.cb-button-host--block) .cb-button{width:100%}.cb-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--cb-space-2);box-sizing:border-box;border:var(--cb-border-width) solid transparent;border-radius:var(--cb-radius-md);font-family:var(--cb-font-sans);font-weight:var(--cb-font-weight-semibold);line-height:var(--cb-line-height-tight);text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:transparent;transition:background-color var(--cb-duration-fast) var(--cb-ease),color var(--cb-duration-fast) var(--cb-ease),border-color var(--cb-duration-fast) var(--cb-ease),box-shadow var(--cb-duration-fast) var(--cb-ease)}.cb-button:focus-visible{outline:2px solid var(--cb-color-focus-ring);outline-offset:2px}.cb-button:disabled,.cb-button.cb-is-disabled{cursor:not-allowed;opacity:.55}.cb-button.cb-is-loading{cursor:progress}.cb-button--primary{--_50: var(--cb-color-primary-50);--_100: var(--cb-color-primary-100);--_200: var(--cb-color-primary-200);--_300: var(--cb-color-primary-300);--_400: var(--cb-color-primary-400);--_500: var(--cb-color-primary-500);--_600: var(--cb-color-primary-600);--_700: var(--cb-color-primary-700);--_950: var(--cb-color-primary-950)}.cb-button--success{--_50: var(--cb-color-success-50);--_100: var(--cb-color-success-100);--_200: var(--cb-color-success-200);--_300: var(--cb-color-success-300);--_400: var(--cb-color-success-400);--_500: var(--cb-color-success-500);--_600: var(--cb-color-success-600);--_700: var(--cb-color-success-700);--_950: var(--cb-color-success-950)}.cb-button--info{--_50: var(--cb-color-info-50);--_100: var(--cb-color-info-100);--_200: var(--cb-color-info-200);--_300: var(--cb-color-info-300);--_400: var(--cb-color-info-400);--_500: var(--cb-color-info-500);--_600: var(--cb-color-info-600);--_700: var(--cb-color-info-700);--_950: var(--cb-color-info-950)}.cb-button--warning{--_50: var(--cb-color-warning-50);--_100: var(--cb-color-warning-100);--_200: var(--cb-color-warning-200);--_300: var(--cb-color-warning-300);--_400: var(--cb-color-warning-400);--_500: var(--cb-color-warning-500);--_600: var(--cb-color-warning-600);--_700: var(--cb-color-warning-700);--_950: var(--cb-color-warning-950)}.cb-button--danger{--_50: var(--cb-color-danger-50);--_100: var(--cb-color-danger-100);--_200: var(--cb-color-danger-200);--_300: var(--cb-color-danger-300);--_400: var(--cb-color-danger-400);--_500: var(--cb-color-danger-500);--_600: var(--cb-color-danger-600);--_700: var(--cb-color-danger-700);--_950: var(--cb-color-danger-950)}.cb-button--help{--_50: var(--cb-color-help-50);--_100: var(--cb-color-help-100);--_200: var(--cb-color-help-200);--_300: var(--cb-color-help-300);--_400: var(--cb-color-help-400);--_500: var(--cb-color-help-500);--_600: var(--cb-color-help-600);--_700: var(--cb-color-help-700);--_950: var(--cb-color-help-950)}.cb-button--chromatic.cb-button--solid{background-color:var(--_500);color:#fff;border-color:var(--_500)}.cb-button--chromatic.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_600);border-color:var(--_600)}.cb-button--chromatic.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--_700);border-color:var(--_700)}.cb-button--chromatic.cb-button--outlined{color:var(--_500);border-color:var(--_200)}.cb-button--chromatic.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_50)}.cb-button--chromatic.cb-button--outlined:active:not(:disabled):not(.cb-is-loading){background-color:var(--_100)}.cb-button--chromatic.cb-button--text{color:var(--_500)}.cb-button--chromatic.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_50)}.cb-button--chromatic.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--_100)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid{background-color:var(--_400);color:var(--_950);border-color:var(--_400)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_300);border-color:var(--_300)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--_200);border-color:var(--_200)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined{color:var(--_400);border-color:var(--_700)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text{color:var(--_400)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--_400) 6%,transparent)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--_400) 16%,transparent)}.cb-button--secondary.cb-button--solid{background-color:var(--cb-color-surface-100);color:var(--cb-color-surface-600);border-color:var(--cb-color-surface-100)}.cb-button--secondary.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-200);border-color:var(--cb-color-surface-200)}.cb-button--secondary.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-300);border-color:var(--cb-color-surface-300)}.cb-button--secondary.cb-button--outlined{color:var(--cb-color-surface-500);border-color:var(--cb-color-surface-200)}.cb-button--secondary.cb-button--text{color:var(--cb-color-surface-500)}.cb-button--secondary.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),.cb-button--secondary.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-50)}.cb-button--secondary.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),.cb-button--secondary.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid{background-color:var(--cb-color-surface-800);color:var(--cb-color-surface-300);border-color:var(--cb-color-surface-800)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-700);border-color:var(--cb-color-surface-700)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-600);border-color:var(--cb-color-surface-600)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined{color:var(--cb-color-surface-400);border-color:var(--cb-color-surface-700)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text{color:var(--cb-color-surface-400)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--cb-color-surface-0) 6%,transparent)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--cb-color-surface-0) 14%,transparent)}.cb-button--contrast.cb-button--solid{background-color:var(--cb-color-surface-950);color:var(--cb-color-surface-0);border-color:var(--cb-color-surface-950)}.cb-button--contrast.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-900);border-color:var(--cb-color-surface-900)}.cb-button--contrast.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-800);border-color:var(--cb-color-surface-800)}.cb-button--contrast.cb-button--outlined{color:var(--cb-color-surface-950);border-color:var(--cb-color-surface-700)}.cb-button--contrast.cb-button--text{color:var(--cb-color-surface-950)}.cb-button--contrast.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),.cb-button--contrast.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-50)}.cb-button--contrast.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),.cb-button--contrast.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid{background-color:var(--cb-color-surface-0);color:var(--cb-color-surface-950);border-color:var(--cb-color-surface-0)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100);border-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-200);border-color:var(--cb-color-surface-200)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined{color:var(--cb-color-surface-0);border-color:var(--cb-color-surface-500)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text{color:var(--cb-color-surface-0)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-800)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-700)}.cb-button--sm{min-height:2rem;padding:var(--cb-space-1) var(--cb-space-3);font-size:var(--cb-text-sm)}.cb-button--md{min-height:2.5rem;padding:var(--cb-space-2) var(--cb-space-4);font-size:var(--cb-text-base)}.cb-button--lg{min-height:3rem;padding:var(--cb-space-3) var(--cb-space-6);font-size:var(--cb-text-lg)}.cb-button__content{display:inline-flex;align-items:center;gap:var(--cb-space-2)}.cb-button__spinner{color:currentColor}\n"], dependencies: [{ kind: "component", type: CbIcon, selector: "cb-icon", inputs: ["name", "size", "spin", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
+ `, isInline: true, styles: [":host{display:inline-flex}:host(.cb-button-host--block){display:flex;width:100%}:host(.cb-button-host--block) .cb-button{width:100%}.cb-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--cb-space-2);box-sizing:border-box;border:var(--cb-border-width) solid transparent;border-radius:var(--cb-radius-md);font-family:var(--cb-font-sans);font-weight:var(--cb-font-weight-semibold);line-height:var(--cb-line-height-tight);text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:transparent;transition:background-color var(--cb-duration-fast) var(--cb-ease),color var(--cb-duration-fast) var(--cb-ease),border-color var(--cb-duration-fast) var(--cb-ease),box-shadow var(--cb-duration-fast) var(--cb-ease)}.cb-button:focus-visible{outline:2px solid var(--cb-color-focus-ring);outline-offset:2px}.cb-button:disabled,.cb-button.cb-is-disabled{cursor:not-allowed;opacity:.55}.cb-button.cb-is-loading{cursor:progress}.cb-button--primary{--_50: var(--cb-color-primary-50);--_100: var(--cb-color-primary-100);--_200: var(--cb-color-primary-200);--_300: var(--cb-color-primary-300);--_400: var(--cb-color-primary-400);--_500: var(--cb-color-primary-500);--_600: var(--cb-color-primary-600);--_700: var(--cb-color-primary-700);--_950: var(--cb-color-primary-950)}.cb-button--success{--_50: var(--cb-color-success-50);--_100: var(--cb-color-success-100);--_200: var(--cb-color-success-200);--_300: var(--cb-color-success-300);--_400: var(--cb-color-success-400);--_500: var(--cb-color-success-500);--_600: var(--cb-color-success-600);--_700: var(--cb-color-success-700);--_950: var(--cb-color-success-950)}.cb-button--info{--_50: var(--cb-color-info-50);--_100: var(--cb-color-info-100);--_200: var(--cb-color-info-200);--_300: var(--cb-color-info-300);--_400: var(--cb-color-info-400);--_500: var(--cb-color-info-500);--_600: var(--cb-color-info-600);--_700: var(--cb-color-info-700);--_950: var(--cb-color-info-950)}.cb-button--warning{--_50: var(--cb-color-warning-50);--_100: var(--cb-color-warning-100);--_200: var(--cb-color-warning-200);--_300: var(--cb-color-warning-300);--_400: var(--cb-color-warning-400);--_500: var(--cb-color-warning-500);--_600: var(--cb-color-warning-600);--_700: var(--cb-color-warning-700);--_950: var(--cb-color-warning-950)}.cb-button--danger{--_50: var(--cb-color-danger-50);--_100: var(--cb-color-danger-100);--_200: var(--cb-color-danger-200);--_300: var(--cb-color-danger-300);--_400: var(--cb-color-danger-400);--_500: var(--cb-color-danger-500);--_600: var(--cb-color-danger-600);--_700: var(--cb-color-danger-700);--_800: var(--cb-color-danger-800);--_950: var(--cb-color-danger-950);--_solid: var(--_600);--_solid-fg: #ffffff;--_solid-hover: var(--_700);--_solid-active: var(--_800)}.cb-button--help{--_50: var(--cb-color-help-50);--_100: var(--cb-color-help-100);--_200: var(--cb-color-help-200);--_300: var(--cb-color-help-300);--_400: var(--cb-color-help-400);--_500: var(--cb-color-help-500);--_600: var(--cb-color-help-600);--_700: var(--cb-color-help-700);--_800: var(--cb-color-help-800);--_950: var(--cb-color-help-950);--_solid: var(--_600);--_solid-fg: #ffffff;--_solid-hover: var(--_700);--_solid-active: var(--_800)}.cb-button--chromatic.cb-button--solid{background-color:var(--_solid, var(--_500));color:var(--_solid-fg, var(--_950));border-color:var(--_solid, var(--_500))}.cb-button--chromatic.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_solid-hover, var(--_400));border-color:var(--_solid-hover, var(--_400))}.cb-button--chromatic.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--_solid-active, var(--_300));border-color:var(--_solid-active, var(--_300))}.cb-button--chromatic.cb-button--outlined{color:var(--_700);border-color:var(--_200)}.cb-button--chromatic.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_50)}.cb-button--chromatic.cb-button--outlined:active:not(:disabled):not(.cb-is-loading){background-color:var(--_100)}.cb-button--chromatic.cb-button--text{color:var(--_700)}.cb-button--chromatic.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_50)}.cb-button--chromatic.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--_100)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid{background-color:var(--_400);color:var(--_950);border-color:var(--_400)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_300);border-color:var(--_300)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--_200);border-color:var(--_200)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined{color:var(--_400);border-color:var(--_700)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text{color:var(--_400)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--_400) 6%,transparent)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--_400) 16%,transparent)}.cb-button--secondary.cb-button--solid{background-color:var(--cb-color-surface-100);color:var(--cb-color-surface-600);border-color:var(--cb-color-surface-100)}.cb-button--secondary.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-200);border-color:var(--cb-color-surface-200)}.cb-button--secondary.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-300);border-color:var(--cb-color-surface-300)}.cb-button--secondary.cb-button--outlined{color:var(--cb-color-surface-500);border-color:var(--cb-color-surface-200)}.cb-button--secondary.cb-button--text{color:var(--cb-color-surface-500)}.cb-button--secondary.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),.cb-button--secondary.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-50)}.cb-button--secondary.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),.cb-button--secondary.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid{background-color:var(--cb-color-surface-800);color:var(--cb-color-surface-300);border-color:var(--cb-color-surface-800)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-700);border-color:var(--cb-color-surface-700)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-600);border-color:var(--cb-color-surface-600)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined{color:var(--cb-color-surface-400);border-color:var(--cb-color-surface-700)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text{color:var(--cb-color-surface-400)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--cb-color-surface-0) 6%,transparent)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--cb-color-surface-0) 14%,transparent)}.cb-button--contrast.cb-button--solid{background-color:var(--cb-color-surface-950);color:var(--cb-color-surface-0);border-color:var(--cb-color-surface-950)}.cb-button--contrast.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-900);border-color:var(--cb-color-surface-900)}.cb-button--contrast.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-800);border-color:var(--cb-color-surface-800)}.cb-button--contrast.cb-button--outlined{color:var(--cb-color-surface-950);border-color:var(--cb-color-surface-700)}.cb-button--contrast.cb-button--text{color:var(--cb-color-surface-950)}.cb-button--contrast.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),.cb-button--contrast.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-50)}.cb-button--contrast.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),.cb-button--contrast.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid{background-color:var(--cb-color-surface-0);color:var(--cb-color-surface-950);border-color:var(--cb-color-surface-0)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100);border-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-200);border-color:var(--cb-color-surface-200)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined{color:var(--cb-color-surface-0);border-color:var(--cb-color-surface-500)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text{color:var(--cb-color-surface-0)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-800)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-700)}.cb-button--sm{min-height:2rem;padding:var(--cb-space-1) var(--cb-space-3);font-size:var(--cb-text-sm)}.cb-button--md{min-height:2.5rem;padding:var(--cb-space-2) var(--cb-space-4);font-size:var(--cb-text-base)}.cb-button--lg{min-height:3rem;padding:var(--cb-space-3) var(--cb-space-6);font-size:var(--cb-text-lg)}.cb-button__content{display:inline-flex;align-items:center;gap:var(--cb-space-2)}.cb-button__spinner{color:currentColor}\n"], dependencies: [{ kind: "component", type: CbIcon, selector: "cb-icon", inputs: ["name", "size", "spin", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
95
95
  }
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbButton, decorators: [{
97
97
  type: Component,
@@ -119,7 +119,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
119
119
  <ng-content />
120
120
  </span>
121
121
  </button>
122
- `, styles: [":host{display:inline-flex}:host(.cb-button-host--block){display:flex;width:100%}:host(.cb-button-host--block) .cb-button{width:100%}.cb-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--cb-space-2);box-sizing:border-box;border:var(--cb-border-width) solid transparent;border-radius:var(--cb-radius-md);font-family:var(--cb-font-sans);font-weight:var(--cb-font-weight-semibold);line-height:var(--cb-line-height-tight);text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:transparent;transition:background-color var(--cb-duration-fast) var(--cb-ease),color var(--cb-duration-fast) var(--cb-ease),border-color var(--cb-duration-fast) var(--cb-ease),box-shadow var(--cb-duration-fast) var(--cb-ease)}.cb-button:focus-visible{outline:2px solid var(--cb-color-focus-ring);outline-offset:2px}.cb-button:disabled,.cb-button.cb-is-disabled{cursor:not-allowed;opacity:.55}.cb-button.cb-is-loading{cursor:progress}.cb-button--primary{--_50: var(--cb-color-primary-50);--_100: var(--cb-color-primary-100);--_200: var(--cb-color-primary-200);--_300: var(--cb-color-primary-300);--_400: var(--cb-color-primary-400);--_500: var(--cb-color-primary-500);--_600: var(--cb-color-primary-600);--_700: var(--cb-color-primary-700);--_950: var(--cb-color-primary-950)}.cb-button--success{--_50: var(--cb-color-success-50);--_100: var(--cb-color-success-100);--_200: var(--cb-color-success-200);--_300: var(--cb-color-success-300);--_400: var(--cb-color-success-400);--_500: var(--cb-color-success-500);--_600: var(--cb-color-success-600);--_700: var(--cb-color-success-700);--_950: var(--cb-color-success-950)}.cb-button--info{--_50: var(--cb-color-info-50);--_100: var(--cb-color-info-100);--_200: var(--cb-color-info-200);--_300: var(--cb-color-info-300);--_400: var(--cb-color-info-400);--_500: var(--cb-color-info-500);--_600: var(--cb-color-info-600);--_700: var(--cb-color-info-700);--_950: var(--cb-color-info-950)}.cb-button--warning{--_50: var(--cb-color-warning-50);--_100: var(--cb-color-warning-100);--_200: var(--cb-color-warning-200);--_300: var(--cb-color-warning-300);--_400: var(--cb-color-warning-400);--_500: var(--cb-color-warning-500);--_600: var(--cb-color-warning-600);--_700: var(--cb-color-warning-700);--_950: var(--cb-color-warning-950)}.cb-button--danger{--_50: var(--cb-color-danger-50);--_100: var(--cb-color-danger-100);--_200: var(--cb-color-danger-200);--_300: var(--cb-color-danger-300);--_400: var(--cb-color-danger-400);--_500: var(--cb-color-danger-500);--_600: var(--cb-color-danger-600);--_700: var(--cb-color-danger-700);--_950: var(--cb-color-danger-950)}.cb-button--help{--_50: var(--cb-color-help-50);--_100: var(--cb-color-help-100);--_200: var(--cb-color-help-200);--_300: var(--cb-color-help-300);--_400: var(--cb-color-help-400);--_500: var(--cb-color-help-500);--_600: var(--cb-color-help-600);--_700: var(--cb-color-help-700);--_950: var(--cb-color-help-950)}.cb-button--chromatic.cb-button--solid{background-color:var(--_500);color:#fff;border-color:var(--_500)}.cb-button--chromatic.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_600);border-color:var(--_600)}.cb-button--chromatic.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--_700);border-color:var(--_700)}.cb-button--chromatic.cb-button--outlined{color:var(--_500);border-color:var(--_200)}.cb-button--chromatic.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_50)}.cb-button--chromatic.cb-button--outlined:active:not(:disabled):not(.cb-is-loading){background-color:var(--_100)}.cb-button--chromatic.cb-button--text{color:var(--_500)}.cb-button--chromatic.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_50)}.cb-button--chromatic.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--_100)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid{background-color:var(--_400);color:var(--_950);border-color:var(--_400)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_300);border-color:var(--_300)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--_200);border-color:var(--_200)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined{color:var(--_400);border-color:var(--_700)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text{color:var(--_400)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--_400) 6%,transparent)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--_400) 16%,transparent)}.cb-button--secondary.cb-button--solid{background-color:var(--cb-color-surface-100);color:var(--cb-color-surface-600);border-color:var(--cb-color-surface-100)}.cb-button--secondary.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-200);border-color:var(--cb-color-surface-200)}.cb-button--secondary.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-300);border-color:var(--cb-color-surface-300)}.cb-button--secondary.cb-button--outlined{color:var(--cb-color-surface-500);border-color:var(--cb-color-surface-200)}.cb-button--secondary.cb-button--text{color:var(--cb-color-surface-500)}.cb-button--secondary.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),.cb-button--secondary.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-50)}.cb-button--secondary.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),.cb-button--secondary.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid{background-color:var(--cb-color-surface-800);color:var(--cb-color-surface-300);border-color:var(--cb-color-surface-800)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-700);border-color:var(--cb-color-surface-700)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-600);border-color:var(--cb-color-surface-600)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined{color:var(--cb-color-surface-400);border-color:var(--cb-color-surface-700)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text{color:var(--cb-color-surface-400)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--cb-color-surface-0) 6%,transparent)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--cb-color-surface-0) 14%,transparent)}.cb-button--contrast.cb-button--solid{background-color:var(--cb-color-surface-950);color:var(--cb-color-surface-0);border-color:var(--cb-color-surface-950)}.cb-button--contrast.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-900);border-color:var(--cb-color-surface-900)}.cb-button--contrast.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-800);border-color:var(--cb-color-surface-800)}.cb-button--contrast.cb-button--outlined{color:var(--cb-color-surface-950);border-color:var(--cb-color-surface-700)}.cb-button--contrast.cb-button--text{color:var(--cb-color-surface-950)}.cb-button--contrast.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),.cb-button--contrast.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-50)}.cb-button--contrast.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),.cb-button--contrast.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid{background-color:var(--cb-color-surface-0);color:var(--cb-color-surface-950);border-color:var(--cb-color-surface-0)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100);border-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-200);border-color:var(--cb-color-surface-200)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined{color:var(--cb-color-surface-0);border-color:var(--cb-color-surface-500)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text{color:var(--cb-color-surface-0)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-800)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-700)}.cb-button--sm{min-height:2rem;padding:var(--cb-space-1) var(--cb-space-3);font-size:var(--cb-text-sm)}.cb-button--md{min-height:2.5rem;padding:var(--cb-space-2) var(--cb-space-4);font-size:var(--cb-text-base)}.cb-button--lg{min-height:3rem;padding:var(--cb-space-3) var(--cb-space-6);font-size:var(--cb-text-lg)}.cb-button__content{display:inline-flex;align-items:center;gap:var(--cb-space-2)}.cb-button__spinner{color:currentColor}\n"] }]
122
+ `, styles: [":host{display:inline-flex}:host(.cb-button-host--block){display:flex;width:100%}:host(.cb-button-host--block) .cb-button{width:100%}.cb-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--cb-space-2);box-sizing:border-box;border:var(--cb-border-width) solid transparent;border-radius:var(--cb-radius-md);font-family:var(--cb-font-sans);font-weight:var(--cb-font-weight-semibold);line-height:var(--cb-line-height-tight);text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:transparent;transition:background-color var(--cb-duration-fast) var(--cb-ease),color var(--cb-duration-fast) var(--cb-ease),border-color var(--cb-duration-fast) var(--cb-ease),box-shadow var(--cb-duration-fast) var(--cb-ease)}.cb-button:focus-visible{outline:2px solid var(--cb-color-focus-ring);outline-offset:2px}.cb-button:disabled,.cb-button.cb-is-disabled{cursor:not-allowed;opacity:.55}.cb-button.cb-is-loading{cursor:progress}.cb-button--primary{--_50: var(--cb-color-primary-50);--_100: var(--cb-color-primary-100);--_200: var(--cb-color-primary-200);--_300: var(--cb-color-primary-300);--_400: var(--cb-color-primary-400);--_500: var(--cb-color-primary-500);--_600: var(--cb-color-primary-600);--_700: var(--cb-color-primary-700);--_950: var(--cb-color-primary-950)}.cb-button--success{--_50: var(--cb-color-success-50);--_100: var(--cb-color-success-100);--_200: var(--cb-color-success-200);--_300: var(--cb-color-success-300);--_400: var(--cb-color-success-400);--_500: var(--cb-color-success-500);--_600: var(--cb-color-success-600);--_700: var(--cb-color-success-700);--_950: var(--cb-color-success-950)}.cb-button--info{--_50: var(--cb-color-info-50);--_100: var(--cb-color-info-100);--_200: var(--cb-color-info-200);--_300: var(--cb-color-info-300);--_400: var(--cb-color-info-400);--_500: var(--cb-color-info-500);--_600: var(--cb-color-info-600);--_700: var(--cb-color-info-700);--_950: var(--cb-color-info-950)}.cb-button--warning{--_50: var(--cb-color-warning-50);--_100: var(--cb-color-warning-100);--_200: var(--cb-color-warning-200);--_300: var(--cb-color-warning-300);--_400: var(--cb-color-warning-400);--_500: var(--cb-color-warning-500);--_600: var(--cb-color-warning-600);--_700: var(--cb-color-warning-700);--_950: var(--cb-color-warning-950)}.cb-button--danger{--_50: var(--cb-color-danger-50);--_100: var(--cb-color-danger-100);--_200: var(--cb-color-danger-200);--_300: var(--cb-color-danger-300);--_400: var(--cb-color-danger-400);--_500: var(--cb-color-danger-500);--_600: var(--cb-color-danger-600);--_700: var(--cb-color-danger-700);--_800: var(--cb-color-danger-800);--_950: var(--cb-color-danger-950);--_solid: var(--_600);--_solid-fg: #ffffff;--_solid-hover: var(--_700);--_solid-active: var(--_800)}.cb-button--help{--_50: var(--cb-color-help-50);--_100: var(--cb-color-help-100);--_200: var(--cb-color-help-200);--_300: var(--cb-color-help-300);--_400: var(--cb-color-help-400);--_500: var(--cb-color-help-500);--_600: var(--cb-color-help-600);--_700: var(--cb-color-help-700);--_800: var(--cb-color-help-800);--_950: var(--cb-color-help-950);--_solid: var(--_600);--_solid-fg: #ffffff;--_solid-hover: var(--_700);--_solid-active: var(--_800)}.cb-button--chromatic.cb-button--solid{background-color:var(--_solid, var(--_500));color:var(--_solid-fg, var(--_950));border-color:var(--_solid, var(--_500))}.cb-button--chromatic.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_solid-hover, var(--_400));border-color:var(--_solid-hover, var(--_400))}.cb-button--chromatic.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--_solid-active, var(--_300));border-color:var(--_solid-active, var(--_300))}.cb-button--chromatic.cb-button--outlined{color:var(--_700);border-color:var(--_200)}.cb-button--chromatic.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_50)}.cb-button--chromatic.cb-button--outlined:active:not(:disabled):not(.cb-is-loading){background-color:var(--_100)}.cb-button--chromatic.cb-button--text{color:var(--_700)}.cb-button--chromatic.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_50)}.cb-button--chromatic.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--_100)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid{background-color:var(--_400);color:var(--_950);border-color:var(--_400)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--_300);border-color:var(--_300)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--_200);border-color:var(--_200)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined{color:var(--_400);border-color:var(--_700)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text{color:var(--_400)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--_400) 6%,transparent)}:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--chromatic.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--_400) 16%,transparent)}.cb-button--secondary.cb-button--solid{background-color:var(--cb-color-surface-100);color:var(--cb-color-surface-600);border-color:var(--cb-color-surface-100)}.cb-button--secondary.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-200);border-color:var(--cb-color-surface-200)}.cb-button--secondary.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-300);border-color:var(--cb-color-surface-300)}.cb-button--secondary.cb-button--outlined{color:var(--cb-color-surface-500);border-color:var(--cb-color-surface-200)}.cb-button--secondary.cb-button--text{color:var(--cb-color-surface-500)}.cb-button--secondary.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),.cb-button--secondary.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-50)}.cb-button--secondary.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),.cb-button--secondary.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid{background-color:var(--cb-color-surface-800);color:var(--cb-color-surface-300);border-color:var(--cb-color-surface-800)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-700);border-color:var(--cb-color-surface-700)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-600);border-color:var(--cb-color-surface-600)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined{color:var(--cb-color-surface-400);border-color:var(--cb-color-surface-700)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text{color:var(--cb-color-surface-400)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--cb-color-surface-0) 6%,transparent)}:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--secondary.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:color-mix(in srgb,var(--cb-color-surface-0) 14%,transparent)}.cb-button--contrast.cb-button--solid{background-color:var(--cb-color-surface-950);color:var(--cb-color-surface-0);border-color:var(--cb-color-surface-950)}.cb-button--contrast.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-900);border-color:var(--cb-color-surface-900)}.cb-button--contrast.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-800);border-color:var(--cb-color-surface-800)}.cb-button--contrast.cb-button--outlined{color:var(--cb-color-surface-950);border-color:var(--cb-color-surface-700)}.cb-button--contrast.cb-button--text{color:var(--cb-color-surface-950)}.cb-button--contrast.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),.cb-button--contrast.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-50)}.cb-button--contrast.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),.cb-button--contrast.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid{background-color:var(--cb-color-surface-0);color:var(--cb-color-surface-950);border-color:var(--cb-color-surface-0)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-100);border-color:var(--cb-color-surface-100)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--solid:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-200);border-color:var(--cb-color-surface-200)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined{color:var(--cb-color-surface-0);border-color:var(--cb-color-surface-500)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text{color:var(--cb-color-surface-0)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined:hover:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text:hover:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-800)}:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--outlined:active:not(:disabled):not(.cb-is-loading),:host-context([data-theme=\"dark\"]) .cb-button--contrast.cb-button--text:active:not(:disabled):not(.cb-is-loading){background-color:var(--cb-color-surface-700)}.cb-button--sm{min-height:2rem;padding:var(--cb-space-1) var(--cb-space-3);font-size:var(--cb-text-sm)}.cb-button--md{min-height:2.5rem;padding:var(--cb-space-2) var(--cb-space-4);font-size:var(--cb-text-base)}.cb-button--lg{min-height:3rem;padding:var(--cb-space-3) var(--cb-space-6);font-size:var(--cb-text-lg)}.cb-button__content{display:inline-flex;align-items:center;gap:var(--cb-space-2)}.cb-button__spinner{color:currentColor}\n"] }]
123
123
  }], propDecorators: { severity: [{ type: i0.Input, args: [{ isSignal: true, alias: "severity", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaHaspopup: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaHaspopup", required: false }] }], ariaExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaExpanded", required: false }] }], ariaControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaControls", required: false }] }] } });
124
124
  function toBoolean(value) {
125
125
  return value !== false && value != null && `${value}` !== 'false';