@bsginstitute/bsg-integra 0.0.2 → 0.0.4
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.
- package/bsginstitute-bsg-integra-0.0.1.tgz +0 -0
- package/bsginstitute-bsg-integra-0.0.4.tgz +0 -0
- package/fesm2022/bsginstitute-bsg-integra.mjs +311 -306
- package/fesm2022/bsginstitute-bsg-integra.mjs.map +1 -1
- package/index.d.ts +95 -80
- package/package.json +1 -1
- package/src/lib/tokens/themes.css +28 -5
|
@@ -338,11 +338,11 @@ const alertVariants = cva(clsx(
|
|
|
338
338
|
'box-border'), {
|
|
339
339
|
variants: {
|
|
340
340
|
variant: {
|
|
341
|
-
default: 'text-
|
|
342
|
-
info: 'bg-
|
|
343
|
-
success: 'bg-
|
|
344
|
-
warning: 'bg-
|
|
345
|
-
destructive: 'bg-
|
|
341
|
+
default: 'text-muted-foreground',
|
|
342
|
+
info: 'bg-info/20 text-info',
|
|
343
|
+
success: 'bg-success/20 text-success',
|
|
344
|
+
warning: 'bg-warning/20 text-warning',
|
|
345
|
+
destructive: 'bg-destructive/20 text-destructive',
|
|
346
346
|
},
|
|
347
347
|
},
|
|
348
348
|
defaultVariants: {
|
|
@@ -718,8 +718,8 @@ const avatarVariants = cva(clsx(
|
|
|
718
718
|
},
|
|
719
719
|
type: {
|
|
720
720
|
default: 'bg-transparent',
|
|
721
|
-
fallback: 'bg-
|
|
722
|
-
image: 'bg-
|
|
721
|
+
fallback: 'bg-primary',
|
|
722
|
+
image: 'bg-muted',
|
|
723
723
|
},
|
|
724
724
|
},
|
|
725
725
|
defaultVariants: {
|
|
@@ -734,7 +734,7 @@ const avatarVariants = cva(clsx(
|
|
|
734
734
|
*/
|
|
735
735
|
const avatarInitialsVariants = cva(clsx(
|
|
736
736
|
// Color
|
|
737
|
-
'text-
|
|
737
|
+
'text-primary-foreground',
|
|
738
738
|
// Typography
|
|
739
739
|
'font-sans font-normal tracking-wide',
|
|
740
740
|
// Layout
|
|
@@ -980,11 +980,11 @@ const badgeVariants = cva(clsx(
|
|
|
980
980
|
'pointer-events-none select-none'), {
|
|
981
981
|
variants: {
|
|
982
982
|
variant: {
|
|
983
|
-
default: 'bg-
|
|
984
|
-
secondary: 'bg-
|
|
985
|
-
destructive: 'bg-
|
|
986
|
-
success: 'bg-
|
|
987
|
-
outline: 'bg-
|
|
983
|
+
default: 'bg-primary text-primary-foreground',
|
|
984
|
+
secondary: 'bg-secondary text-secondary-foreground',
|
|
985
|
+
destructive: 'bg-destructive text-destructive-foreground',
|
|
986
|
+
success: 'bg-success text-success-foreground',
|
|
987
|
+
outline: 'bg-background text-foreground border border-border',
|
|
988
988
|
},
|
|
989
989
|
size: {
|
|
990
990
|
dot: 'w-3 h-3', // 12x12
|
|
@@ -1001,7 +1001,7 @@ const badgeVariants = cva(clsx(
|
|
|
1001
1001
|
{
|
|
1002
1002
|
variant: 'outline',
|
|
1003
1003
|
size: 'dot',
|
|
1004
|
-
class: 'bg-transparent border border-
|
|
1004
|
+
class: 'bg-transparent border border-border',
|
|
1005
1005
|
},
|
|
1006
1006
|
// Default size "text" (pequeño)
|
|
1007
1007
|
{
|
|
@@ -1138,28 +1138,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
1138
1138
|
`, styles: [":host{display:inline-block}\n"] }]
|
|
1139
1139
|
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }] } });
|
|
1140
1140
|
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
*
|
|
1144
|
-
* Controls the button styles including size, variant, shape, and state
|
|
1145
|
-
*/
|
|
1146
|
-
const buttonVariants = cva(clsx(
|
|
1147
|
-
// Layout
|
|
1148
|
-
'inline-flex items-center justify-center',
|
|
1149
|
-
// Gap
|
|
1150
|
-
'gap-2.5',
|
|
1151
|
-
// Typography
|
|
1152
|
-
'text-sm font-medium leading-normal tracking-tight',
|
|
1153
|
-
// Cursor
|
|
1154
|
-
'cursor-pointer',
|
|
1155
|
-
// Transition
|
|
1156
|
-
'transition-all duration-200',
|
|
1157
|
-
// Whitespace
|
|
1158
|
-
'whitespace-nowrap',
|
|
1159
|
-
// Border reset
|
|
1160
|
-
'border-0',
|
|
1161
|
-
// Focus outline reset (prevent focus ring on click)
|
|
1162
|
-
'outline-none'), {
|
|
1141
|
+
// projects/bsg-integra/src/lib/components/button/button.variants.ts
|
|
1142
|
+
const buttonVariants = cva(clsx('inline-flex items-center justify-center', 'gap-2.5', 'text-sm font-medium leading-normal tracking-tight', 'cursor-pointer', 'transition-all duration-200', 'whitespace-nowrap', 'border-0', 'outline-none', 'relative'), {
|
|
1163
1143
|
variants: {
|
|
1164
1144
|
size: {
|
|
1165
1145
|
sm: 'h-[27px] py-2 px-4',
|
|
@@ -1169,7 +1149,7 @@ const buttonVariants = cva(clsx(
|
|
|
1169
1149
|
variant: {
|
|
1170
1150
|
default: clsx('bg-violet-600 text-white', 'hover:opacity-90', 'active:shadow-[inset_0_2px_4px_0_rgba(0,0,0,0.12)]', 'focus-visible:bg-violet-900 focus-visible:ring-2 focus-visible:ring-violet-600 focus-visible:ring-offset-2'),
|
|
1171
1151
|
secondary: clsx('bg-blue-600 text-white', 'hover:opacity-90', 'active:shadow-[inset_0_2px_4px_0_rgba(0,0,0,0.12)]', 'focus-visible:bg-blue-700 focus-visible:ring-2 focus-visible:ring-blue-600 focus-visible:ring-offset-2'),
|
|
1172
|
-
outline: clsx('bg-transparent text-violet-600 border border-violet-600', 'hover:
|
|
1152
|
+
outline: clsx('bg-transparent text-violet-600 border border-violet-600', 'hover:bg-violet-50', 'active:bg-violet-100', 'focus-visible:border-violet-900 focus-visible:text-violet-900 focus-visible:ring-2 focus-visible:ring-violet-600 focus-visible:ring-offset-2'),
|
|
1173
1153
|
ghost: clsx('bg-violet-100 text-slate-800', 'hover:opacity-90', 'active:shadow-[inset_0_2px_4px_0_rgba(0,0,0,0.12)]', 'focus-visible:bg-violet-200 focus-visible:ring-2 focus-visible:ring-violet-600 focus-visible:ring-offset-2'),
|
|
1174
1154
|
link: clsx('bg-transparent text-blue-600', 'hover:opacity-90', 'active:underline', 'focus-visible:text-blue-700 focus-visible:ring-2 focus-visible:ring-blue-600 focus-visible:ring-offset-2'),
|
|
1175
1155
|
destructive: clsx('bg-red-600 text-white', 'hover:opacity-90', 'active:shadow-[inset_0_2px_4px_0_rgba(0,0,0,0.12)]', 'focus-visible:bg-red-700 focus-visible:ring-2 focus-visible:ring-red-600 focus-visible:ring-offset-2'),
|
|
@@ -1179,7 +1159,7 @@ const buttonVariants = cva(clsx(
|
|
|
1179
1159
|
pill: 'rounded-full',
|
|
1180
1160
|
icon: 'rounded-md',
|
|
1181
1161
|
'icon-text': 'rounded-md',
|
|
1182
|
-
'icon-only': 'rounded-full
|
|
1162
|
+
'icon-only': 'rounded-full',
|
|
1183
1163
|
},
|
|
1184
1164
|
disabled: {
|
|
1185
1165
|
true: 'opacity-40 cursor-not-allowed pointer-events-none',
|
|
@@ -1187,62 +1167,22 @@ const buttonVariants = cva(clsx(
|
|
|
1187
1167
|
},
|
|
1188
1168
|
},
|
|
1189
1169
|
compoundVariants: [
|
|
1190
|
-
// Icon shape sizes
|
|
1191
1170
|
{ shape: 'icon', size: 'sm', class: 'w-[27px] h-[27px] p-2' },
|
|
1192
1171
|
{ shape: 'icon', size: 'md', class: 'w-[35px] h-[35px] p-2' },
|
|
1193
1172
|
{ shape: 'icon', size: 'lg', class: 'w-[43px] h-[43px] p-2' },
|
|
1194
|
-
|
|
1195
|
-
{
|
|
1196
|
-
|
|
1197
|
-
size: 'sm',
|
|
1198
|
-
class: 'w-[27px] h-[27px] min-w-[27px] min-h-[27px]',
|
|
1199
|
-
},
|
|
1200
|
-
{
|
|
1201
|
-
shape: 'icon-only',
|
|
1202
|
-
size: 'md',
|
|
1203
|
-
class: 'w-[35px] h-[35px] min-w-[35px] min-h-[35px]',
|
|
1204
|
-
},
|
|
1205
|
-
{
|
|
1206
|
-
shape: 'icon-only',
|
|
1207
|
-
size: 'lg',
|
|
1208
|
-
class: 'w-[43px] h-[43px] min-w-[43px] min-h-[43px]',
|
|
1209
|
-
},
|
|
1210
|
-
// Icon-only + outline variant
|
|
1173
|
+
{ shape: 'icon-only', size: 'sm', class: 'w-[27px] h-[27px] min-w-[27px] min-h-[27px] p-0' },
|
|
1174
|
+
{ shape: 'icon-only', size: 'md', class: 'w-[35px] h-[35px] min-w-[35px] min-h-[35px] p-0' },
|
|
1175
|
+
{ shape: 'icon-only', size: 'lg', class: 'w-[43px] h-[43px] min-w-[43px] min-h-[43px] p-0' },
|
|
1211
1176
|
{
|
|
1212
1177
|
shape: 'icon-only',
|
|
1213
1178
|
variant: 'outline',
|
|
1214
1179
|
class: 'bg-transparent border border-slate-300 text-purple-600 hover:opacity-90 active:border-purple-600 focus-visible:border-slate-500 focus-visible:text-purple-800 focus-visible:ring-2 focus-visible:ring-purple-600 focus-visible:ring-offset-2',
|
|
1215
1180
|
},
|
|
1216
|
-
|
|
1217
|
-
{
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
},
|
|
1222
|
-
// Icon-only + secondary variant
|
|
1223
|
-
{
|
|
1224
|
-
shape: 'icon-only',
|
|
1225
|
-
variant: 'secondary',
|
|
1226
|
-
class: 'bg-blue-600 text-white border border-blue-600',
|
|
1227
|
-
},
|
|
1228
|
-
// Icon-only + ghost variant
|
|
1229
|
-
{
|
|
1230
|
-
shape: 'icon-only',
|
|
1231
|
-
variant: 'ghost',
|
|
1232
|
-
class: 'bg-violet-100 text-slate-800 border border-violet-100',
|
|
1233
|
-
},
|
|
1234
|
-
// Icon-only + link variant
|
|
1235
|
-
{
|
|
1236
|
-
shape: 'icon-only',
|
|
1237
|
-
variant: 'link',
|
|
1238
|
-
class: 'bg-transparent text-blue-600 border border-transparent',
|
|
1239
|
-
},
|
|
1240
|
-
// Icon-only + destructive variant
|
|
1241
|
-
{
|
|
1242
|
-
shape: 'icon-only',
|
|
1243
|
-
variant: 'destructive',
|
|
1244
|
-
class: 'bg-red-600 text-white border border-red-600',
|
|
1245
|
-
},
|
|
1181
|
+
{ shape: 'icon-only', variant: 'default', class: 'bg-violet-600 text-white border border-violet-600' },
|
|
1182
|
+
{ shape: 'icon-only', variant: 'secondary', class: 'bg-blue-600 text-white border border-blue-600' },
|
|
1183
|
+
{ shape: 'icon-only', variant: 'ghost', class: 'bg-violet-100 text-slate-800 border border-violet-100' },
|
|
1184
|
+
{ shape: 'icon-only', variant: 'link', class: 'bg-transparent text-blue-600 border border-transparent' },
|
|
1185
|
+
{ shape: 'icon-only', variant: 'destructive', class: 'bg-red-600 text-white border border-red-600' },
|
|
1246
1186
|
],
|
|
1247
1187
|
defaultVariants: {
|
|
1248
1188
|
size: 'md',
|
|
@@ -1251,14 +1191,7 @@ const buttonVariants = cva(clsx(
|
|
|
1251
1191
|
disabled: false,
|
|
1252
1192
|
},
|
|
1253
1193
|
});
|
|
1254
|
-
|
|
1255
|
-
* Button icon variants
|
|
1256
|
-
*
|
|
1257
|
-
* Controls the icon styling within buttons
|
|
1258
|
-
*/
|
|
1259
|
-
const buttonIconVariants = cva(clsx(
|
|
1260
|
-
// Layout
|
|
1261
|
-
'shrink-0'), {
|
|
1194
|
+
const buttonIconVariants = cva(clsx('inline-flex items-center justify-center shrink-0 leading-none'), {
|
|
1262
1195
|
variants: {
|
|
1263
1196
|
position: {
|
|
1264
1197
|
left: '-mr-0.5',
|
|
@@ -1270,187 +1203,112 @@ const buttonIconVariants = cva(clsx(
|
|
|
1270
1203
|
position: 'left',
|
|
1271
1204
|
},
|
|
1272
1205
|
});
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
*
|
|
1276
|
-
* Controls the label text styling
|
|
1277
|
-
*/
|
|
1278
|
-
const buttonLabelVariants = cva(clsx(
|
|
1279
|
-
// Layout
|
|
1280
|
-
'inline-block'));
|
|
1281
|
-
/**
|
|
1282
|
-
* Button icon-only wrapper variants
|
|
1283
|
-
*
|
|
1284
|
-
* Controls the icon wrapper for icon-only buttons
|
|
1285
|
-
*/
|
|
1286
|
-
const buttonIconOnlyVariants = cva(clsx(
|
|
1287
|
-
// Layout
|
|
1288
|
-
'flex items-center justify-center', 'w-full h-full'), {
|
|
1206
|
+
const buttonLabelVariants = cva(clsx('inline-block'));
|
|
1207
|
+
const buttonIconOnlyVariants = cva(clsx('flex items-center justify-center leading-none'), {
|
|
1289
1208
|
variants: {
|
|
1290
|
-
size: {
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1209
|
+
size: { sm: '', md: '', lg: '' },
|
|
1210
|
+
},
|
|
1211
|
+
defaultVariants: { size: 'md' },
|
|
1212
|
+
});
|
|
1213
|
+
/** ✅ nuevo: spinner overlay centrado */
|
|
1214
|
+
const buttonSpinnerVariants = cva(clsx('absolute inset-0 flex items-center justify-center'), {
|
|
1215
|
+
variants: {
|
|
1216
|
+
shape: {
|
|
1217
|
+
rectangular: '',
|
|
1218
|
+
pill: '',
|
|
1219
|
+
icon: '',
|
|
1220
|
+
'icon-text': '',
|
|
1221
|
+
'icon-only': '',
|
|
1294
1222
|
},
|
|
1295
1223
|
},
|
|
1296
1224
|
defaultVariants: {
|
|
1297
|
-
|
|
1225
|
+
shape: 'rectangular',
|
|
1298
1226
|
},
|
|
1299
1227
|
});
|
|
1300
1228
|
|
|
1301
|
-
// Icon definitions for icon-only buttons
|
|
1302
|
-
const icons = {
|
|
1303
|
-
'chevron-left': `<svg width="100%" height="100%" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1304
|
-
<path d="M9.64776 3.57275C9.91136 3.30915 10.3386 3.30915 10.6023 3.57275C10.8659 3.83636 10.8659 4.26364 10.6023 4.52724L7.0295 8.1L10.6023 11.6728C10.8659 11.9364 10.8659 12.3636 10.6023 12.6272C10.3386 12.8908 9.91136 12.8908 9.64776 12.6272L5.59776 8.57724C5.33415 8.31364 5.33415 7.88636 5.59776 7.62275L9.64776 3.57275Z" fill="currentColor"/>
|
|
1305
|
-
</svg>`,
|
|
1306
|
-
'chevron-right': `<svg width="100%" height="100%" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1307
|
-
<path d="M6.35224 3.57275C6.08864 3.30915 5.66136 3.30915 5.39776 3.57275C5.13415 3.83636 5.13415 4.26364 5.39776 4.52724L8.9705 8.1L5.39776 11.6728C5.13415 11.9364 5.13415 12.3636 5.39776 12.6272C5.66136 12.8908 6.08864 12.8908 6.35224 12.6272L10.4022 8.57724C10.6659 8.31364 10.6659 7.88636 10.4022 7.62275L6.35224 3.57275Z" fill="currentColor"/>
|
|
1308
|
-
</svg>`,
|
|
1309
|
-
'chevron-up': `<svg width="100%" height="100%" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1310
|
-
<path d="M3.57275 9.64776C3.30915 9.91136 3.30915 10.3386 3.57275 10.6023C3.83636 10.8659 4.26364 10.8659 4.52724 10.6023L8.1 7.0295L11.6728 10.6023C11.9364 10.8659 12.3636 10.8659 12.6272 10.6023C12.8908 10.3386 12.8908 9.91136 12.6272 9.64776L8.57724 5.59776C8.31364 5.33415 7.88636 5.33415 7.62275 5.59776L3.57275 9.64776Z" fill="currentColor"/>
|
|
1311
|
-
</svg>`,
|
|
1312
|
-
'chevron-down': `<svg width="100%" height="100%" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1313
|
-
<path d="M3.57275 6.35224C3.30915 6.08864 3.30915 5.66136 3.57275 5.39776C3.83636 5.13415 4.26364 5.13415 4.52724 5.39776L8.1 8.9705L11.6728 5.39776C11.9364 5.13415 12.3636 5.13415 12.6272 5.39776C12.8908 5.66136 12.8908 6.08864 12.6272 6.35224L8.57724 10.4022C8.31364 10.6659 7.88636 10.6659 7.62275 10.4022L3.57275 6.35224Z" fill="currentColor"/>
|
|
1314
|
-
</svg>`,
|
|
1315
|
-
check: `<svg width="100%" height="100%" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1316
|
-
<path d="M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z" fill="currentColor"/>
|
|
1317
|
-
</svg>`,
|
|
1318
|
-
none: '',
|
|
1319
|
-
};
|
|
1320
|
-
/**
|
|
1321
|
-
* Button Component - Interactive button with multiple variants
|
|
1322
|
-
*
|
|
1323
|
-
* Following shadcn/ui pattern:
|
|
1324
|
-
* ```html
|
|
1325
|
-
* <bsg-button
|
|
1326
|
-
* [variant]="'default'"
|
|
1327
|
-
* [size]="'md'"
|
|
1328
|
-
* [shape]="'rectangular'"
|
|
1329
|
-
* [label]="'Click me'"
|
|
1330
|
-
* (Click)="onClick()"
|
|
1331
|
-
* />
|
|
1332
|
-
* ```
|
|
1333
|
-
*/
|
|
1334
1229
|
class ButtonComponent {
|
|
1335
|
-
sanitizer;
|
|
1336
|
-
constructor(sanitizer) {
|
|
1337
|
-
this.sanitizer = sanitizer;
|
|
1338
|
-
}
|
|
1339
|
-
/** Size of the button */
|
|
1340
1230
|
size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
1341
|
-
/** Visual variant of the button */
|
|
1342
1231
|
variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
1343
|
-
/** Shape of the button */
|
|
1344
1232
|
shape = input('rectangular', ...(ngDevMode ? [{ debugName: "shape" }] : []));
|
|
1345
|
-
/** Button label text */
|
|
1346
1233
|
label = input('Boton', ...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
1347
|
-
/** Show icon */
|
|
1348
|
-
icon = input(false, ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
1349
|
-
/** Icon position (left or right) */
|
|
1350
|
-
iconPosition = input('left', ...(ngDevMode ? [{ debugName: "iconPosition" }] : []));
|
|
1351
|
-
/** Icon name for icon-only buttons */
|
|
1352
|
-
iconName = input('chevron-left', ...(ngDevMode ? [{ debugName: "iconName" }] : []));
|
|
1353
|
-
/** Disabled state */
|
|
1354
1234
|
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
1355
|
-
/**
|
|
1235
|
+
/** ✅ nuevo: muestra spinner y bloquea click */
|
|
1236
|
+
spinner = input(false, ...(ngDevMode ? [{ debugName: "spinner" }] : []));
|
|
1237
|
+
/** Accesibilidad para icon buttons */
|
|
1238
|
+
ariaLabel = input(null, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
|
|
1356
1239
|
className = input(...(ngDevMode ? [undefined, { debugName: "className" }] : []));
|
|
1357
|
-
/** Click event emitter */
|
|
1358
1240
|
Click = output();
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1241
|
+
isDisabled = computed(() => this.disabled() || this.spinner(), ...(ngDevMode ? [{ debugName: "isDisabled" }] : []));
|
|
1242
|
+
isIconButton = computed(() => this.shape() === 'icon-only' || this.shape() === 'icon', ...(ngDevMode ? [{ debugName: "isIconButton" }] : []));
|
|
1243
|
+
buttonSquarePx = computed(() => (this.size() === 'sm' ? 27 : this.size() === 'lg' ? 43 : 35), ...(ngDevMode ? [{ debugName: "buttonSquarePx" }] : []));
|
|
1244
|
+
iconFontPx = computed(() => (this.size() === 'sm' ? 15 : this.size() === 'lg' ? 22 : 18), ...(ngDevMode ? [{ debugName: "iconFontPx" }] : []));
|
|
1245
|
+
spinnerPx = computed(() => (this.size() === 'sm' ? 14 : this.size() === 'lg' ? 20 : 16), ...(ngDevMode ? [{ debugName: "spinnerPx" }] : []));
|
|
1362
1246
|
buttonClasses = computed(() => clsx(buttonVariants({
|
|
1363
1247
|
size: this.size(),
|
|
1364
1248
|
variant: this.variant(),
|
|
1365
1249
|
shape: this.shape(),
|
|
1366
|
-
disabled: this.
|
|
1367
|
-
}), this.
|
|
1368
|
-
// Computed icon classes
|
|
1369
|
-
iconClasses(position) {
|
|
1370
|
-
return clsx(buttonIconVariants({ position }), this.shape() === 'icon' && 'm-0');
|
|
1371
|
-
}
|
|
1372
|
-
// Computed label classes
|
|
1250
|
+
disabled: this.isDisabled(),
|
|
1251
|
+
}), this.className()), ...(ngDevMode ? [{ debugName: "buttonClasses" }] : []));
|
|
1373
1252
|
labelClasses = computed(() => clsx(buttonLabelVariants()), ...(ngDevMode ? [{ debugName: "labelClasses" }] : []));
|
|
1374
|
-
// Computed icon-only wrapper classes
|
|
1375
1253
|
iconOnlyClasses = computed(() => clsx(buttonIconOnlyVariants({ size: this.size() })), ...(ngDevMode ? [{ debugName: "iconOnlyClasses" }] : []));
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
if (variantVal === 'outline')
|
|
1380
|
-
return '#7C3AED';
|
|
1381
|
-
if (variantVal === 'ghost')
|
|
1382
|
-
return '#1E293B';
|
|
1383
|
-
if (variantVal === 'link')
|
|
1384
|
-
return '#2563EB';
|
|
1385
|
-
return 'white';
|
|
1386
|
-
}, ...(ngDevMode ? [{ debugName: "iconColor" }] : []));
|
|
1387
|
-
getIconSvg(iconName) {
|
|
1388
|
-
const svg = icons[iconName] || icons['none'];
|
|
1389
|
-
return this.sanitizer.bypassSecurityTrustHtml(svg);
|
|
1254
|
+
spinnerClasses = computed(() => clsx(buttonSpinnerVariants({ shape: this.shape() })), ...(ngDevMode ? [{ debugName: "spinnerClasses" }] : []));
|
|
1255
|
+
iconClasses(position) {
|
|
1256
|
+
return clsx(buttonIconVariants({ position }));
|
|
1390
1257
|
}
|
|
1391
1258
|
handleClick(event) {
|
|
1392
|
-
if (!this.
|
|
1259
|
+
if (!this.isDisabled())
|
|
1393
1260
|
this.Click.emit(event);
|
|
1394
|
-
}
|
|
1395
1261
|
}
|
|
1396
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ButtonComponent, deps: [
|
|
1397
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ButtonComponent, isStandalone: true, selector: "bsg-button", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, shape: { classPropertyName: "shape", publicName: "shape", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null },
|
|
1262
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1263
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ButtonComponent, isStandalone: true, selector: "bsg-button", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, shape: { classPropertyName: "shape", publicName: "shape", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, spinner: { classPropertyName: "spinner", publicName: "spinner", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { Click: "Click" }, ngImport: i0, template: `
|
|
1398
1264
|
<button
|
|
1399
1265
|
type="button"
|
|
1400
1266
|
(click)="handleClick($event)"
|
|
1401
1267
|
[class]="buttonClasses()"
|
|
1402
1268
|
[disabled]="isDisabled()"
|
|
1403
1269
|
[attr.aria-disabled]="isDisabled()"
|
|
1404
|
-
[attr.aria-
|
|
1405
|
-
|
|
1406
|
-
"
|
|
1270
|
+
[attr.aria-busy]="spinner() ? 'true' : null"
|
|
1271
|
+
[attr.aria-label]="ariaLabel() ?? (isIconButton() ? (label() || 'Icon button') : null)"
|
|
1272
|
+
[style.width.px]="isIconButton() ? buttonSquarePx() : null"
|
|
1273
|
+
[style.minWidth.px]="isIconButton() ? buttonSquarePx() : null"
|
|
1274
|
+
[style.height.px]="isIconButton() ? buttonSquarePx() : null"
|
|
1275
|
+
[style.minHeight.px]="isIconButton() ? buttonSquarePx() : null"
|
|
1276
|
+
[style.padding]="isIconButton() ? '0' : null"
|
|
1407
1277
|
>
|
|
1408
|
-
<!--
|
|
1409
|
-
@if (
|
|
1278
|
+
<!-- Spinner -->
|
|
1279
|
+
@if (spinner()) {
|
|
1410
1280
|
<span
|
|
1411
|
-
[class]="
|
|
1412
|
-
[
|
|
1413
|
-
|
|
1281
|
+
[class]="spinnerClasses()"
|
|
1282
|
+
[style.fontSize.px]="spinnerPx()"
|
|
1283
|
+
[attr.aria-hidden]="'true'"
|
|
1284
|
+
>
|
|
1285
|
+
<i class="fa-solid fa-spinner fa-spin"></i>
|
|
1286
|
+
</span>
|
|
1414
1287
|
}
|
|
1415
1288
|
|
|
1416
|
-
<!--
|
|
1417
|
-
@if (
|
|
1418
|
-
<
|
|
1419
|
-
[class]="
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
fill="none"
|
|
1424
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1289
|
+
<!-- Icon-only / Icon button content -->
|
|
1290
|
+
@if (isIconButton()) {
|
|
1291
|
+
<span
|
|
1292
|
+
[class]="iconOnlyClasses()"
|
|
1293
|
+
[style.fontSize.px]="iconFontPx()"
|
|
1294
|
+
[style.lineHeight]="1"
|
|
1295
|
+
[style.opacity]="spinner() ? 0 : 1"
|
|
1425
1296
|
>
|
|
1426
|
-
<
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1297
|
+
<ng-content></ng-content>
|
|
1298
|
+
</span>
|
|
1299
|
+
} @else {
|
|
1300
|
+
<span class="bsg-btn-icon" [class]="iconClasses('left')" [style.opacity]="spinner() ? 0 : 1">
|
|
1301
|
+
<ng-content select="[left-icon]"></ng-content>
|
|
1302
|
+
</span>
|
|
1432
1303
|
|
|
1433
|
-
|
|
1434
|
-
<span [class]="labelClasses()">{{ label() }}</span>
|
|
1435
|
-
}
|
|
1304
|
+
<span [class]="labelClasses()" [style.opacity]="spinner() ? 0 : 1">{{ label() }}</span>
|
|
1436
1305
|
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
width="15"
|
|
1441
|
-
height="15"
|
|
1442
|
-
viewBox="0 0 15 15"
|
|
1443
|
-
fill="none"
|
|
1444
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1445
|
-
>
|
|
1446
|
-
<path
|
|
1447
|
-
d="M6.43152 0.706459C7.98489 0.461733 9.57507 0.757369 10.9371 1.54325C11.236 1.71571 11.3389 2.09758 11.1666 2.39652C10.9941 2.6955 10.6117 2.79791 10.3127 2.6254C9.19838 1.98244 7.8971 1.74102 6.62622 1.9412C5.35531 2.14143 4.19123 2.77142 3.32849 3.72587C2.46577 4.68036 1.95621 5.90193 1.88501 7.18656C1.81383 8.47123 2.18524 9.74182 2.93726 10.7858C3.68927 11.8297 4.7767 12.5845 6.0177 12.9239C7.2587 13.2632 8.57874 13.167 9.75733 12.651C10.936 12.1351 11.9022 11.2303 12.4948 10.0882C13.0872 8.94613 13.2698 7.63546 13.0129 6.37479C12.944 6.03664 13.1625 5.7065 13.5006 5.63749C13.8388 5.56857 14.169 5.78696 14.2379 6.12516C14.5519 7.66605 14.3279 9.26786 13.6038 10.6637C12.8796 12.0596 11.699 13.1654 10.2584 13.7961C8.81797 14.4266 7.20484 14.5441 5.68811 14.1293C4.17129 13.7145 2.84198 12.7923 1.92285 11.5164C1.00374 10.2404 0.549867 8.68771 0.636842 7.11759C0.723839 5.54744 1.3469 4.05449 2.40137 2.88786C3.45582 1.7213 4.87818 0.951184 6.43152 0.706459ZM13.3084 2.05778C13.5524 1.81398 13.9482 1.81382 14.1921 2.05778C14.4362 2.30186 14.4362 2.6981 14.1921 2.94218L7.94214 9.19218C7.69815 9.43613 7.30244 9.43597 7.05835 9.19218L5.18335 7.31718C4.93927 7.0731 4.93927 6.67686 5.18335 6.43278C5.42744 6.18898 5.82315 6.18882 6.06714 6.43278L7.50025 7.86588L13.3084 2.05778Z"
|
|
1448
|
-
[attr.fill]="iconColor()"
|
|
1449
|
-
/>
|
|
1450
|
-
</svg>
|
|
1306
|
+
<span class="bsg-btn-icon" [class]="iconClasses('right')" [style.opacity]="spinner() ? 0 : 1">
|
|
1307
|
+
<ng-content select="[right-icon]"></ng-content>
|
|
1308
|
+
</span>
|
|
1451
1309
|
}
|
|
1452
1310
|
</button>
|
|
1453
|
-
`, isInline: true, styles: [":host{display:inline-block}\n"] });
|
|
1311
|
+
`, isInline: true, styles: [":host{display:inline-block}.bsg-btn-icon:empty{display:none}:host ::ng-deep i{color:inherit}\n"] });
|
|
1454
1312
|
}
|
|
1455
1313
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
1456
1314
|
type: Component,
|
|
@@ -1461,57 +1319,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
1461
1319
|
[class]="buttonClasses()"
|
|
1462
1320
|
[disabled]="isDisabled()"
|
|
1463
1321
|
[attr.aria-disabled]="isDisabled()"
|
|
1464
|
-
[attr.aria-
|
|
1465
|
-
|
|
1466
|
-
"
|
|
1322
|
+
[attr.aria-busy]="spinner() ? 'true' : null"
|
|
1323
|
+
[attr.aria-label]="ariaLabel() ?? (isIconButton() ? (label() || 'Icon button') : null)"
|
|
1324
|
+
[style.width.px]="isIconButton() ? buttonSquarePx() : null"
|
|
1325
|
+
[style.minWidth.px]="isIconButton() ? buttonSquarePx() : null"
|
|
1326
|
+
[style.height.px]="isIconButton() ? buttonSquarePx() : null"
|
|
1327
|
+
[style.minHeight.px]="isIconButton() ? buttonSquarePx() : null"
|
|
1328
|
+
[style.padding]="isIconButton() ? '0' : null"
|
|
1467
1329
|
>
|
|
1468
|
-
<!--
|
|
1469
|
-
@if (
|
|
1330
|
+
<!-- Spinner -->
|
|
1331
|
+
@if (spinner()) {
|
|
1470
1332
|
<span
|
|
1471
|
-
[class]="
|
|
1472
|
-
[
|
|
1473
|
-
|
|
1333
|
+
[class]="spinnerClasses()"
|
|
1334
|
+
[style.fontSize.px]="spinnerPx()"
|
|
1335
|
+
[attr.aria-hidden]="'true'"
|
|
1336
|
+
>
|
|
1337
|
+
<i class="fa-solid fa-spinner fa-spin"></i>
|
|
1338
|
+
</span>
|
|
1474
1339
|
}
|
|
1475
1340
|
|
|
1476
|
-
<!--
|
|
1477
|
-
@if (
|
|
1478
|
-
<
|
|
1479
|
-
[class]="
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
fill="none"
|
|
1484
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1341
|
+
<!-- Icon-only / Icon button content -->
|
|
1342
|
+
@if (isIconButton()) {
|
|
1343
|
+
<span
|
|
1344
|
+
[class]="iconOnlyClasses()"
|
|
1345
|
+
[style.fontSize.px]="iconFontPx()"
|
|
1346
|
+
[style.lineHeight]="1"
|
|
1347
|
+
[style.opacity]="spinner() ? 0 : 1"
|
|
1485
1348
|
>
|
|
1486
|
-
<
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1349
|
+
<ng-content></ng-content>
|
|
1350
|
+
</span>
|
|
1351
|
+
} @else {
|
|
1352
|
+
<span class="bsg-btn-icon" [class]="iconClasses('left')" [style.opacity]="spinner() ? 0 : 1">
|
|
1353
|
+
<ng-content select="[left-icon]"></ng-content>
|
|
1354
|
+
</span>
|
|
1492
1355
|
|
|
1493
|
-
|
|
1494
|
-
<span [class]="labelClasses()">{{ label() }}</span>
|
|
1495
|
-
}
|
|
1356
|
+
<span [class]="labelClasses()" [style.opacity]="spinner() ? 0 : 1">{{ label() }}</span>
|
|
1496
1357
|
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
width="15"
|
|
1501
|
-
height="15"
|
|
1502
|
-
viewBox="0 0 15 15"
|
|
1503
|
-
fill="none"
|
|
1504
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1505
|
-
>
|
|
1506
|
-
<path
|
|
1507
|
-
d="M6.43152 0.706459C7.98489 0.461733 9.57507 0.757369 10.9371 1.54325C11.236 1.71571 11.3389 2.09758 11.1666 2.39652C10.9941 2.6955 10.6117 2.79791 10.3127 2.6254C9.19838 1.98244 7.8971 1.74102 6.62622 1.9412C5.35531 2.14143 4.19123 2.77142 3.32849 3.72587C2.46577 4.68036 1.95621 5.90193 1.88501 7.18656C1.81383 8.47123 2.18524 9.74182 2.93726 10.7858C3.68927 11.8297 4.7767 12.5845 6.0177 12.9239C7.2587 13.2632 8.57874 13.167 9.75733 12.651C10.936 12.1351 11.9022 11.2303 12.4948 10.0882C13.0872 8.94613 13.2698 7.63546 13.0129 6.37479C12.944 6.03664 13.1625 5.7065 13.5006 5.63749C13.8388 5.56857 14.169 5.78696 14.2379 6.12516C14.5519 7.66605 14.3279 9.26786 13.6038 10.6637C12.8796 12.0596 11.699 13.1654 10.2584 13.7961C8.81797 14.4266 7.20484 14.5441 5.68811 14.1293C4.17129 13.7145 2.84198 12.7923 1.92285 11.5164C1.00374 10.2404 0.549867 8.68771 0.636842 7.11759C0.723839 5.54744 1.3469 4.05449 2.40137 2.88786C3.45582 1.7213 4.87818 0.951184 6.43152 0.706459ZM13.3084 2.05778C13.5524 1.81398 13.9482 1.81382 14.1921 2.05778C14.4362 2.30186 14.4362 2.6981 14.1921 2.94218L7.94214 9.19218C7.69815 9.43613 7.30244 9.43597 7.05835 9.19218L5.18335 7.31718C4.93927 7.0731 4.93927 6.67686 5.18335 6.43278C5.42744 6.18898 5.82315 6.18882 6.06714 6.43278L7.50025 7.86588L13.3084 2.05778Z"
|
|
1508
|
-
[attr.fill]="iconColor()"
|
|
1509
|
-
/>
|
|
1510
|
-
</svg>
|
|
1358
|
+
<span class="bsg-btn-icon" [class]="iconClasses('right')" [style.opacity]="spinner() ? 0 : 1">
|
|
1359
|
+
<ng-content select="[right-icon]"></ng-content>
|
|
1360
|
+
</span>
|
|
1511
1361
|
}
|
|
1512
1362
|
</button>
|
|
1513
|
-
`, styles: [":host{display:inline-block}\n"] }]
|
|
1514
|
-
}],
|
|
1363
|
+
`, styles: [":host{display:inline-block}.bsg-btn-icon:empty{display:none}:host ::ng-deep i{color:inherit}\n"] }]
|
|
1364
|
+
}], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], shape: [{ type: i0.Input, args: [{ isSignal: true, alias: "shape", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], spinner: [{ type: i0.Input, args: [{ isSignal: true, alias: "spinner", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], Click: [{ type: i0.Output, args: ["Click"] }] } });
|
|
1515
1365
|
|
|
1516
1366
|
/**
|
|
1517
1367
|
* Card container variants
|
|
@@ -1530,19 +1380,19 @@ const cardVariants = cva(clsx(
|
|
|
1530
1380
|
// Border
|
|
1531
1381
|
'rounded-lg',
|
|
1532
1382
|
// Background
|
|
1533
|
-
'bg-
|
|
1383
|
+
'bg-card',
|
|
1534
1384
|
// Transition
|
|
1535
1385
|
'transition-all duration-200'), {
|
|
1536
1386
|
variants: {
|
|
1537
1387
|
variant: {
|
|
1538
|
-
default: 'border border-
|
|
1388
|
+
default: 'border border-border',
|
|
1539
1389
|
},
|
|
1540
1390
|
contentVariant: {
|
|
1541
1391
|
default: '',
|
|
1542
|
-
metric: clsx('items-center justify-center', 'px-[89px] py-4', 'min-h-[87px]', 'bg-
|
|
1543
|
-
infoDate: clsx('items-center justify-center', 'px-2 py-[17px]', 'gap-2', 'min-h-[84px]', 'w-fit max-w-[101px]', 'bg-
|
|
1544
|
-
infoCurrency: clsx('items-start justify-start', 'p-4', 'gap-4', 'min-h-[90px]', 'w-fit max-w-[273px]', 'bg-
|
|
1545
|
-
placeholder: clsx('w-[277px] min-h-[225px]', 'border border-
|
|
1392
|
+
metric: clsx('items-center justify-center', 'px-[89px] py-4', 'min-h-[87px]', 'bg-destructive/10 border border-destructive/30'),
|
|
1393
|
+
infoDate: clsx('items-center justify-center', 'px-2 py-[17px]', 'gap-2', 'min-h-[84px]', 'w-fit max-w-[101px]', 'bg-info/10 border-0'),
|
|
1394
|
+
infoCurrency: clsx('items-start justify-start', 'p-4', 'gap-4', 'min-h-[90px]', 'w-fit max-w-[273px]', 'bg-info/30 border-0'),
|
|
1395
|
+
placeholder: clsx('w-[277px] min-h-[225px]', 'border border-border', 'bg-transparent', 'p-0'),
|
|
1546
1396
|
},
|
|
1547
1397
|
},
|
|
1548
1398
|
defaultVariants: {
|
|
@@ -1573,7 +1423,7 @@ const cardHeaderVariants = cva(clsx(
|
|
|
1573
1423
|
// Typography
|
|
1574
1424
|
'text-sm font-normal leading-normal',
|
|
1575
1425
|
// Color
|
|
1576
|
-
'text-
|
|
1426
|
+
'text-muted-foreground'));
|
|
1577
1427
|
/**
|
|
1578
1428
|
* Card info icon variants
|
|
1579
1429
|
*
|
|
@@ -1603,7 +1453,7 @@ const cardValueVariants = cva(clsx(
|
|
|
1603
1453
|
// Typography
|
|
1604
1454
|
'text-[32px] font-extrabold leading-[1.2]',
|
|
1605
1455
|
// Color
|
|
1606
|
-
'text-
|
|
1456
|
+
'text-card-foreground'));
|
|
1607
1457
|
/**
|
|
1608
1458
|
* Card helper row variants
|
|
1609
1459
|
*
|
|
@@ -1625,7 +1475,7 @@ const cardHelperVariants = cva(clsx(
|
|
|
1625
1475
|
// Layout
|
|
1626
1476
|
'shrink-0',
|
|
1627
1477
|
// Default color (green for positive)
|
|
1628
|
-
'text-
|
|
1478
|
+
'text-success'));
|
|
1629
1479
|
/**
|
|
1630
1480
|
* Card helper description variants
|
|
1631
1481
|
*
|
|
@@ -1635,7 +1485,7 @@ const cardHelperDescriptionVariants = cva(clsx(
|
|
|
1635
1485
|
// Typography
|
|
1636
1486
|
'text-[13px] font-normal leading-normal',
|
|
1637
1487
|
// Color
|
|
1638
|
-
'text-
|
|
1488
|
+
'text-muted-foreground'));
|
|
1639
1489
|
/**
|
|
1640
1490
|
* Card metric title variants
|
|
1641
1491
|
*
|
|
@@ -1647,7 +1497,7 @@ const cardMetricTitleVariants = cva(clsx(
|
|
|
1647
1497
|
// Typography
|
|
1648
1498
|
'text-xs font-medium leading-normal text-center',
|
|
1649
1499
|
// Color
|
|
1650
|
-
'text-
|
|
1500
|
+
'text-muted-foreground'));
|
|
1651
1501
|
/**
|
|
1652
1502
|
* Card metric value variants
|
|
1653
1503
|
*
|
|
@@ -1659,7 +1509,7 @@ const cardMetricValueVariants = cva(clsx(
|
|
|
1659
1509
|
// Typography
|
|
1660
1510
|
'text-2xl font-bold leading-normal text-center',
|
|
1661
1511
|
// Color
|
|
1662
|
-
'text-
|
|
1512
|
+
'text-destructive'));
|
|
1663
1513
|
/**
|
|
1664
1514
|
* Card info label variants
|
|
1665
1515
|
*
|
|
@@ -1671,7 +1521,7 @@ const cardInfoLabelVariants = cva(clsx(
|
|
|
1671
1521
|
// Typography
|
|
1672
1522
|
'text-xs font-medium leading-normal text-center',
|
|
1673
1523
|
// Color
|
|
1674
|
-
'text-
|
|
1524
|
+
'text-muted-foreground'));
|
|
1675
1525
|
/**
|
|
1676
1526
|
* Card info text variants
|
|
1677
1527
|
*
|
|
@@ -1683,7 +1533,7 @@ const cardInfoTextVariants = cva(clsx(
|
|
|
1683
1533
|
// Typography
|
|
1684
1534
|
'text-sm font-bold leading-normal text-center',
|
|
1685
1535
|
// Color
|
|
1686
|
-
'text-
|
|
1536
|
+
'text-muted-foreground'));
|
|
1687
1537
|
/**
|
|
1688
1538
|
* Card currency label variants
|
|
1689
1539
|
*
|
|
@@ -1695,7 +1545,7 @@ const cardCurrencyLabelVariants = cva(clsx(
|
|
|
1695
1545
|
// Typography
|
|
1696
1546
|
'text-sm font-medium leading-normal',
|
|
1697
1547
|
// Color
|
|
1698
|
-
'text-
|
|
1548
|
+
'text-foreground'));
|
|
1699
1549
|
/**
|
|
1700
1550
|
* Card currency content variants
|
|
1701
1551
|
*
|
|
@@ -1727,7 +1577,7 @@ const cardCurrencyTextVariants = cva(clsx(
|
|
|
1727
1577
|
// Typography
|
|
1728
1578
|
'text-xl font-bold leading-normal',
|
|
1729
1579
|
// Color
|
|
1730
|
-
'text-
|
|
1580
|
+
'text-info'));
|
|
1731
1581
|
/**
|
|
1732
1582
|
* Slot header/body/footer variants (estilo shadcn)
|
|
1733
1583
|
* Son “wrappers” que te permiten componer cards personalizadas.
|
|
@@ -2062,11 +1912,11 @@ const carouselArrowVariants = cva(clsx('absolute top-1/2 -translate-y-1/2', 'z-2
|
|
|
2062
1912
|
// Tamaño
|
|
2063
1913
|
'w-7 h-7 sm:w-8 sm:h-8 md:w-9 md:h-9 lg:w-[41px] lg:h-[41px]',
|
|
2064
1914
|
// Forma
|
|
2065
|
-
'rounded-full bg-
|
|
1915
|
+
'rounded-full bg-background border border-border',
|
|
2066
1916
|
// Color del icono
|
|
2067
|
-
'text-
|
|
1917
|
+
'text-primary',
|
|
2068
1918
|
// Interacción
|
|
2069
|
-
'cursor-pointer p-0', 'transition-opacity duration-200', 'disabled:opacity-40 disabled:cursor-not-allowed', 'hover:not-disabled:opacity-80', 'focus-visible:outline-2 focus-visible:outline-
|
|
1919
|
+
'cursor-pointer p-0', 'transition-opacity duration-200', 'disabled:opacity-40 disabled:cursor-not-allowed', 'hover:not-disabled:opacity-80', 'focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-2', 'focus:not-focus-visible:outline-none'), {
|
|
2070
1920
|
variants: {
|
|
2071
1921
|
direction: {
|
|
2072
1922
|
prev: 'left-2.5',
|
|
@@ -2079,7 +1929,7 @@ const carouselArrowVariants = cva(clsx('absolute top-1/2 -translate-y-1/2', 'z-2
|
|
|
2079
1929
|
});
|
|
2080
1930
|
const carouselChevronVariants = cva(clsx('block', 'w-4 h-4 sm:w-5 sm:h-5 md:w-[22px] md:h-[22px] lg:w-6 lg:h-6', 'pointer-events-none'));
|
|
2081
1931
|
const carouselIndicatorsVariants = cva(clsx('flex items-center justify-center', 'gap-3 sm:gap-5', 'mt-4 sm:mt-6', 'w-full', 'pointer-events-auto'));
|
|
2082
|
-
const carouselIndicatorVariants = cva(clsx('w-2.5 h-2.5 sm:w-3 sm:h-3', 'rounded-full', 'bg-
|
|
1932
|
+
const carouselIndicatorVariants = cva(clsx('w-2.5 h-2.5 sm:w-3 sm:h-3', 'rounded-full', 'bg-primary', 'border-0', 'p-0', 'cursor-pointer', 'transition-opacity duration-200', 'shrink-0', 'hover:opacity-60', 'focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-2', 'focus:not-focus-visible:outline-none'), {
|
|
2083
1933
|
variants: {
|
|
2084
1934
|
active: {
|
|
2085
1935
|
true: 'opacity-100',
|
|
@@ -3343,7 +3193,7 @@ const dialogOverlayVariants = cva(clsx('fixed inset-0', 'z-[9999]', 'flex justif
|
|
|
3343
3193
|
/**
|
|
3344
3194
|
* Dialog content variants
|
|
3345
3195
|
*/
|
|
3346
|
-
const dialogContentVariants = cva(clsx('relative', 'flex flex-col', 'shrink-0', 'bg-
|
|
3196
|
+
const dialogContentVariants = cva(clsx('relative', 'flex flex-col', 'shrink-0', 'bg-card', 'rounded-xl', 'shadow-xl', 'max-h-[90vh]', 'w-full', 'box-border', 'animate-in zoom-in-95 duration-200', 'select-text', 'focus:outline-none'), {
|
|
3347
3197
|
variants: {
|
|
3348
3198
|
size: {
|
|
3349
3199
|
sm: 'max-w-sm',
|
|
@@ -3366,9 +3216,9 @@ const dialogContentVariants = cva(clsx('relative', 'flex flex-col', 'shrink-0',
|
|
|
3366
3216
|
const dialogHeaderVariants = cva(clsx('flex items-center', 'min-h-[57px]', 'px-[17px] py-5 md:px-3.5 md:py-4', 'rounded-t-xl', 'box-border', 'font-sans text-base font-semibold leading-normal', 'md:text-sm'), {
|
|
3367
3217
|
variants: {
|
|
3368
3218
|
tone: {
|
|
3369
|
-
brand: 'bg-
|
|
3370
|
-
info: 'bg-
|
|
3371
|
-
secondary: 'bg-
|
|
3219
|
+
brand: 'bg-brand text-brand-foreground',
|
|
3220
|
+
info: 'bg-primary/20 text-primary',
|
|
3221
|
+
secondary: 'bg-primary/20 text-primary',
|
|
3372
3222
|
},
|
|
3373
3223
|
},
|
|
3374
3224
|
defaultVariants: {
|
|
@@ -3378,7 +3228,7 @@ const dialogHeaderVariants = cva(clsx('flex items-center', 'min-h-[57px]', 'px-[
|
|
|
3378
3228
|
/**
|
|
3379
3229
|
* Dialog body variants
|
|
3380
3230
|
*/
|
|
3381
|
-
const dialogBodyVariants = cva(clsx('flex-1', 'px-[23px] py-5 md:px-3.5 md:py-4', 'box-border', 'font-sans text-sm font-medium leading-normal', 'md:text-[13px]', 'text-
|
|
3231
|
+
const dialogBodyVariants = cva(clsx('flex-1', 'px-[23px] py-5 md:px-3.5 md:py-4', 'box-border', 'font-sans text-sm font-medium leading-normal', 'md:text-[13px]', 'text-muted-foreground'), {
|
|
3382
3232
|
variants: {
|
|
3383
3233
|
scrollable: {
|
|
3384
3234
|
true: 'overflow-y-auto max-h-[calc(90vh-200px)] md:max-h-[calc(95vh-180px)]',
|
|
@@ -3392,7 +3242,7 @@ const dialogBodyVariants = cva(clsx('flex-1', 'px-[23px] py-5 md:px-3.5 md:py-4'
|
|
|
3392
3242
|
/**
|
|
3393
3243
|
* Dialog footer variants
|
|
3394
3244
|
*/
|
|
3395
|
-
const dialogFooterVariants = cva(clsx('flex items-center justify-end flex-nowrap', 'gap-8 md:gap-5', 'px-[23px] py-5 md:px-3.5 md:py-4', 'border-t border-
|
|
3245
|
+
const dialogFooterVariants = cva(clsx('flex items-center justify-end flex-nowrap', 'gap-8 md:gap-5', 'px-[23px] py-5 md:px-3.5 md:py-4', 'border-t border-border', 'box-border', 'w-full'));
|
|
3396
3246
|
|
|
3397
3247
|
// projects/bsg-integra/src/lib/components/dialog/dialog.component.ts
|
|
3398
3248
|
class DialogComponent {
|
|
@@ -3707,7 +3557,7 @@ const labelVariants = cva(clsx(
|
|
|
3707
3557
|
// Typography
|
|
3708
3558
|
'text-sm', 'font-inherit',
|
|
3709
3559
|
// Color
|
|
3710
|
-
'text-
|
|
3560
|
+
'text-foreground'));
|
|
3711
3561
|
|
|
3712
3562
|
/**
|
|
3713
3563
|
* Label Component
|
|
@@ -6472,6 +6322,123 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
6472
6322
|
`, styles: [":host{display:block}\n"] }]
|
|
6473
6323
|
}], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }] } });
|
|
6474
6324
|
|
|
6325
|
+
/**
|
|
6326
|
+
* Spinner variants
|
|
6327
|
+
*
|
|
6328
|
+
* Controls the spinner appearance including size and color variants.
|
|
6329
|
+
* Based on shadcn/ui spinner pattern.
|
|
6330
|
+
*/
|
|
6331
|
+
const spinnerVariants = cva(clsx(
|
|
6332
|
+
// Base animation
|
|
6333
|
+
'animate-spin',
|
|
6334
|
+
// Accessibility
|
|
6335
|
+
'shrink-0'), {
|
|
6336
|
+
variants: {
|
|
6337
|
+
/**
|
|
6338
|
+
* Size variants
|
|
6339
|
+
* Following shadcn/ui pattern: size-3, size-4 (default), size-6, size-8
|
|
6340
|
+
*/
|
|
6341
|
+
size: {
|
|
6342
|
+
xs: 'size-3',
|
|
6343
|
+
sm: 'size-4',
|
|
6344
|
+
md: 'size-6',
|
|
6345
|
+
lg: 'size-8',
|
|
6346
|
+
xl: 'size-10',
|
|
6347
|
+
},
|
|
6348
|
+
/**
|
|
6349
|
+
* Color variants using design tokens
|
|
6350
|
+
*/
|
|
6351
|
+
variant: {
|
|
6352
|
+
default: 'text-foreground',
|
|
6353
|
+
primary: 'text-primary',
|
|
6354
|
+
secondary: 'text-secondary-foreground',
|
|
6355
|
+
muted: 'text-muted-foreground',
|
|
6356
|
+
destructive: 'text-destructive',
|
|
6357
|
+
success: 'text-success',
|
|
6358
|
+
warning: 'text-warning',
|
|
6359
|
+
info: 'text-info',
|
|
6360
|
+
brand: 'text-brand',
|
|
6361
|
+
},
|
|
6362
|
+
},
|
|
6363
|
+
defaultVariants: {
|
|
6364
|
+
size: 'sm',
|
|
6365
|
+
variant: 'primary',
|
|
6366
|
+
},
|
|
6367
|
+
});
|
|
6368
|
+
|
|
6369
|
+
/**
|
|
6370
|
+
* Spinner Component
|
|
6371
|
+
*
|
|
6372
|
+
* A loading indicator that shows a spinning animation.
|
|
6373
|
+
* Based on shadcn/ui spinner pattern using an SVG loader icon.
|
|
6374
|
+
*
|
|
6375
|
+
* @example
|
|
6376
|
+
* ```html
|
|
6377
|
+
* <!-- Basic usage -->
|
|
6378
|
+
* <bsg-spinner />
|
|
6379
|
+
*
|
|
6380
|
+
* <!-- With size -->
|
|
6381
|
+
* <bsg-spinner size="lg" />
|
|
6382
|
+
*
|
|
6383
|
+
* <!-- With variant (color) -->
|
|
6384
|
+
* <bsg-spinner variant="destructive" />
|
|
6385
|
+
*
|
|
6386
|
+
* <!-- Custom aria-label -->
|
|
6387
|
+
* <bsg-spinner ariaLabel="Processing request..." />
|
|
6388
|
+
* ```
|
|
6389
|
+
*/
|
|
6390
|
+
class SpinnerComponent {
|
|
6391
|
+
/** Spinner size */
|
|
6392
|
+
size = input('sm', ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
6393
|
+
/** Spinner color variant */
|
|
6394
|
+
variant = input('primary', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
6395
|
+
/** Accessibility label for screen readers */
|
|
6396
|
+
ariaLabel = input('Loading', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
|
|
6397
|
+
/** Additional CSS classes */
|
|
6398
|
+
className = input(...(ngDevMode ? [undefined, { debugName: "className" }] : []));
|
|
6399
|
+
/** Computed spinner classes */
|
|
6400
|
+
spinnerClasses = computed(() => clsx(spinnerVariants({
|
|
6401
|
+
size: this.size(),
|
|
6402
|
+
variant: this.variant(),
|
|
6403
|
+
}), this.className()), ...(ngDevMode ? [{ debugName: "spinnerClasses" }] : []));
|
|
6404
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6405
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: SpinnerComponent, isStandalone: true, selector: "bsg-spinner", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
6406
|
+
<svg
|
|
6407
|
+
[class]="spinnerClasses()"
|
|
6408
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
6409
|
+
viewBox="0 0 24 24"
|
|
6410
|
+
fill="none"
|
|
6411
|
+
stroke="currentColor"
|
|
6412
|
+
stroke-width="2"
|
|
6413
|
+
stroke-linecap="round"
|
|
6414
|
+
stroke-linejoin="round"
|
|
6415
|
+
role="status"
|
|
6416
|
+
[attr.aria-label]="ariaLabel()"
|
|
6417
|
+
>
|
|
6418
|
+
<path d="M21 12a9 9 0 1 1-6.219-8.56" />
|
|
6419
|
+
</svg>
|
|
6420
|
+
`, isInline: true, styles: [":host{display:inline-flex;align-items:center;justify-content:center}\n"] });
|
|
6421
|
+
}
|
|
6422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
6423
|
+
type: Component,
|
|
6424
|
+
args: [{ selector: 'bsg-spinner', standalone: true, template: `
|
|
6425
|
+
<svg
|
|
6426
|
+
[class]="spinnerClasses()"
|
|
6427
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
6428
|
+
viewBox="0 0 24 24"
|
|
6429
|
+
fill="none"
|
|
6430
|
+
stroke="currentColor"
|
|
6431
|
+
stroke-width="2"
|
|
6432
|
+
stroke-linecap="round"
|
|
6433
|
+
stroke-linejoin="round"
|
|
6434
|
+
role="status"
|
|
6435
|
+
[attr.aria-label]="ariaLabel()"
|
|
6436
|
+
>
|
|
6437
|
+
<path d="M21 12a9 9 0 1 1-6.219-8.56" />
|
|
6438
|
+
</svg>
|
|
6439
|
+
`, styles: [":host{display:inline-flex;align-items:center;justify-content:center}\n"] }]
|
|
6440
|
+
}], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }] } });
|
|
6441
|
+
|
|
6475
6442
|
/**
|
|
6476
6443
|
* Switch root variants
|
|
6477
6444
|
*
|
|
@@ -6538,7 +6505,7 @@ const switchThumbVariants = cva(clsx(
|
|
|
6538
6505
|
false: 'translate-x-0',
|
|
6539
6506
|
},
|
|
6540
6507
|
size: {
|
|
6541
|
-
sm: 'size-3 data-[checked=true]:translate-x-
|
|
6508
|
+
sm: 'size-3 data-[checked=true]:translate-x-5',
|
|
6542
6509
|
default: 'size-4 data-[checked=true]:translate-x-4',
|
|
6543
6510
|
lg: 'size-5 data-[checked=true]:translate-x-5',
|
|
6544
6511
|
},
|
|
@@ -7263,6 +7230,35 @@ class TimePickerComponent {
|
|
|
7263
7230
|
this.selectedHour.set(hour);
|
|
7264
7231
|
this.selectedMinute.set(Math.min(snappedMinute, 59));
|
|
7265
7232
|
this.updateTimeValue();
|
|
7233
|
+
// Scroll to show selected values
|
|
7234
|
+
this.scrollToSelected();
|
|
7235
|
+
}
|
|
7236
|
+
/** Scroll both lists to show the selected values centered */
|
|
7237
|
+
scrollToSelected() {
|
|
7238
|
+
// Use setTimeout to allow Angular to render the changes first
|
|
7239
|
+
setTimeout(() => {
|
|
7240
|
+
this.scrollToElement(this.hoursList, this.selectedHour());
|
|
7241
|
+
this.scrollToElement(this.minutesList, this.selectedMinute());
|
|
7242
|
+
}, 0);
|
|
7243
|
+
}
|
|
7244
|
+
/** Scroll a list to center the element with the given value */
|
|
7245
|
+
scrollToElement(listRef, value) {
|
|
7246
|
+
if (!listRef?.nativeElement)
|
|
7247
|
+
return;
|
|
7248
|
+
const listElement = listRef.nativeElement;
|
|
7249
|
+
const optionElement = listElement.querySelector(`[data-value="${value}"]`);
|
|
7250
|
+
if (optionElement) {
|
|
7251
|
+
// Calculate scroll position to center the element
|
|
7252
|
+
const listHeight = listElement.clientHeight;
|
|
7253
|
+
const optionTop = optionElement.offsetTop;
|
|
7254
|
+
const optionHeight = optionElement.offsetHeight;
|
|
7255
|
+
// Scroll to center the option in the list
|
|
7256
|
+
const scrollTop = optionTop - listHeight / 2 + optionHeight / 2;
|
|
7257
|
+
listElement.scrollTo({
|
|
7258
|
+
top: Math.max(0, scrollTop),
|
|
7259
|
+
behavior: 'smooth',
|
|
7260
|
+
});
|
|
7261
|
+
}
|
|
7266
7262
|
}
|
|
7267
7263
|
clearTime() {
|
|
7268
7264
|
if (this.state() === 'disabled')
|
|
@@ -7285,8 +7281,13 @@ class TimePickerComponent {
|
|
|
7285
7281
|
toggleDropdown() {
|
|
7286
7282
|
if (this.state() === 'disabled')
|
|
7287
7283
|
return;
|
|
7284
|
+
const wasOpen = this.isOpen();
|
|
7288
7285
|
this.isOpen.update((v) => !v);
|
|
7289
7286
|
this.openChange.emit(this.isOpen());
|
|
7287
|
+
// Scroll to selected values when opening
|
|
7288
|
+
if (!wasOpen && this.internalValue()) {
|
|
7289
|
+
this.scrollToSelected();
|
|
7290
|
+
}
|
|
7290
7291
|
}
|
|
7291
7292
|
openDropdown() {
|
|
7292
7293
|
if (this.state() === 'disabled')
|
|
@@ -7294,6 +7295,10 @@ class TimePickerComponent {
|
|
|
7294
7295
|
if (!this.isOpen()) {
|
|
7295
7296
|
this.isOpen.set(true);
|
|
7296
7297
|
this.openChange.emit(true);
|
|
7298
|
+
// Scroll to selected values when opening
|
|
7299
|
+
if (this.internalValue()) {
|
|
7300
|
+
this.scrollToSelected();
|
|
7301
|
+
}
|
|
7297
7302
|
}
|
|
7298
7303
|
}
|
|
7299
7304
|
closeDropdown() {
|
|
@@ -8287,5 +8292,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
8287
8292
|
* Generated bundle index. Do not edit.
|
|
8288
8293
|
*/
|
|
8289
8294
|
|
|
8290
|
-
export { AccordionComponent, AccordionContentComponent, AccordionItemComponent, AccordionTriggerComponent, AlertComponent, AvatarComponent, BadgeComponent, ButtonComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CarouselComponent, CarouselItemComponent, CheckboxComponent, CollapsibleComponent, CollapsibleContentComponent, CollapsibleTriggerDirective, ComboboxComponent, DialogComponent, InputComponent, LabelComponent, RadioComponent, RadioGroupComponent, SelectComponent, SidebarComponent, SidebarContentComponent, SidebarFooterComponent, SidebarGroupActionComponent, SidebarGroupComponent, SidebarGroupContentComponent, SidebarGroupLabelComponent, SidebarHeaderComponent, SidebarInsetComponent, SidebarMenuActionComponent, SidebarMenuBadgeComponent, SidebarMenuButtonComponent, SidebarMenuComponent, SidebarMenuItemComponent, SidebarMenuSubButtonComponent, SidebarMenuSubComponent, SidebarMenuSubItemComponent, SidebarProviderComponent, SidebarRailComponent, SidebarSeparatorComponent, SidebarService, SidebarTriggerComponent, SkeletonComponent, SwitchComponent, TextareaComponent, TimePickerComponent, ToastComponent, TooltipComponent, accordionContentVariants, accordionItemVariants, accordionTriggerVariants, accordionVariants, alertCloseVariants, alertContentVariants, alertIconVariants, alertVariants, avatarIconVariants, avatarImgVariants, avatarInitialsVariants, avatarVariants, badgeIconVariants, badgeVariants, buttonIconOnlyVariants, buttonIconVariants, buttonLabelVariants, buttonVariants, cardActionIconVariants, cardCurrencyContentVariants, cardCurrencyIconVariants, cardCurrencyLabelVariants, cardCurrencyTextVariants, cardHeaderRowVariants, cardHeaderVariants, cardHelperDescriptionVariants, cardHelperRowVariants, cardHelperVariants, cardInfoIconVariants, cardInfoLabelVariants, cardInfoTextVariants, cardMetricTitleVariants, cardMetricValueVariants, cardSlotBodyVariants, cardSlotFooterVariants, cardSlotHeaderVariants, cardValueVariants, cardVariants, carouselArrowVariants, carouselChevronVariants, carouselContainerVariants, carouselIndicatorVariants, carouselIndicatorsVariants, carouselRootVariants, carouselTrackVariants, carouselViewportVariants, checkboxVariants, comboboxDropdownVariants, comboboxEmptyStateVariants, comboboxErrorMessageVariants, comboboxIconVariants, comboboxOptionVariants, comboboxOptionsContainerVariants, comboboxSearchInputVariants, comboboxSearchWrapperVariants, comboboxTriggerVariants, comboboxValueVariants, comboboxWrapperVariants, dialogBodyVariants, dialogContentVariants, dialogFooterVariants, dialogHeaderVariants, dialogOverlayVariants, inputVariants, labelVariants, radioFocusRingVariants, radioGroupVariants, radioInnerVariants, radioLabelVariants, radioOptionVariants, radioOuterVariants, radioWrapperVariants, selectDropdownVariants, selectErrorVariants, selectIconVariants, selectOptionVariants, selectTriggerVariants, selectValueVariants, selectWrapperVariants, sidebarChevronVariants, sidebarContentVariants, sidebarFooterVariants, sidebarGroupActionVariants, sidebarGroupContentVariants, sidebarGroupLabelVariants, sidebarGroupVariants, sidebarHeaderVariants, sidebarInsetVariants, sidebarMenuActionVariants, sidebarMenuBadgeVariants, sidebarMenuButtonVariants, sidebarMenuItemVariants, sidebarMenuSkeletonVariants, sidebarMenuSubButtonVariants, sidebarMenuSubItemVariants, sidebarMenuSubVariants, sidebarMenuVariants, sidebarProviderVariants, sidebarRailVariants, sidebarSeparatorVariants, sidebarTriggerVariants, sidebarVariants, sidebarWrapperVariants, skeletonVariants, switchRootVariants, switchThumbVariants, textareaVariants, timepickerActionButtonVariants, timepickerActionsVariants, timepickerColumnHeaderVariants, timepickerColumnVariants, timepickerDropdownVariants, timepickerErrorMessageVariants, timepickerFieldVariants, timepickerIconButtonVariants, timepickerInputVariants, timepickerLabelVariants, timepickerListVariants, timepickerOptionVariants, timepickerSelectionAreaVariants, timepickerSeparatorVariants, timepickerWrapperVariants, toastAccentVariants, toastCloseVariants, toastContentVariants, toastIconVariants, toastVariants, tooltipArrowVariants, tooltipContentVariants, tooltipTriggerVariants };
|
|
8295
|
+
export { AccordionComponent, AccordionContentComponent, AccordionItemComponent, AccordionTriggerComponent, AlertComponent, AvatarComponent, BadgeComponent, ButtonComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CarouselComponent, CarouselItemComponent, CheckboxComponent, CollapsibleComponent, CollapsibleContentComponent, CollapsibleTriggerDirective, ComboboxComponent, DialogComponent, InputComponent, LabelComponent, RadioComponent, RadioGroupComponent, SelectComponent, SidebarComponent, SidebarContentComponent, SidebarFooterComponent, SidebarGroupActionComponent, SidebarGroupComponent, SidebarGroupContentComponent, SidebarGroupLabelComponent, SidebarHeaderComponent, SidebarInsetComponent, SidebarMenuActionComponent, SidebarMenuBadgeComponent, SidebarMenuButtonComponent, SidebarMenuComponent, SidebarMenuItemComponent, SidebarMenuSubButtonComponent, SidebarMenuSubComponent, SidebarMenuSubItemComponent, SidebarProviderComponent, SidebarRailComponent, SidebarSeparatorComponent, SidebarService, SidebarTriggerComponent, SkeletonComponent, SpinnerComponent, SwitchComponent, TextareaComponent, TimePickerComponent, ToastComponent, TooltipComponent, accordionContentVariants, accordionItemVariants, accordionTriggerVariants, accordionVariants, alertCloseVariants, alertContentVariants, alertIconVariants, alertVariants, avatarIconVariants, avatarImgVariants, avatarInitialsVariants, avatarVariants, badgeIconVariants, badgeVariants, buttonIconOnlyVariants, buttonIconVariants, buttonLabelVariants, buttonSpinnerVariants, buttonVariants, cardActionIconVariants, cardCurrencyContentVariants, cardCurrencyIconVariants, cardCurrencyLabelVariants, cardCurrencyTextVariants, cardHeaderRowVariants, cardHeaderVariants, cardHelperDescriptionVariants, cardHelperRowVariants, cardHelperVariants, cardInfoIconVariants, cardInfoLabelVariants, cardInfoTextVariants, cardMetricTitleVariants, cardMetricValueVariants, cardSlotBodyVariants, cardSlotFooterVariants, cardSlotHeaderVariants, cardValueVariants, cardVariants, carouselArrowVariants, carouselChevronVariants, carouselContainerVariants, carouselIndicatorVariants, carouselIndicatorsVariants, carouselRootVariants, carouselTrackVariants, carouselViewportVariants, checkboxVariants, comboboxDropdownVariants, comboboxEmptyStateVariants, comboboxErrorMessageVariants, comboboxIconVariants, comboboxOptionVariants, comboboxOptionsContainerVariants, comboboxSearchInputVariants, comboboxSearchWrapperVariants, comboboxTriggerVariants, comboboxValueVariants, comboboxWrapperVariants, dialogBodyVariants, dialogContentVariants, dialogFooterVariants, dialogHeaderVariants, dialogOverlayVariants, inputVariants, labelVariants, radioFocusRingVariants, radioGroupVariants, radioInnerVariants, radioLabelVariants, radioOptionVariants, radioOuterVariants, radioWrapperVariants, selectDropdownVariants, selectErrorVariants, selectIconVariants, selectOptionVariants, selectTriggerVariants, selectValueVariants, selectWrapperVariants, sidebarChevronVariants, sidebarContentVariants, sidebarFooterVariants, sidebarGroupActionVariants, sidebarGroupContentVariants, sidebarGroupLabelVariants, sidebarGroupVariants, sidebarHeaderVariants, sidebarInsetVariants, sidebarMenuActionVariants, sidebarMenuBadgeVariants, sidebarMenuButtonVariants, sidebarMenuItemVariants, sidebarMenuSkeletonVariants, sidebarMenuSubButtonVariants, sidebarMenuSubItemVariants, sidebarMenuSubVariants, sidebarMenuVariants, sidebarProviderVariants, sidebarRailVariants, sidebarSeparatorVariants, sidebarTriggerVariants, sidebarVariants, sidebarWrapperVariants, skeletonVariants, spinnerVariants, switchRootVariants, switchThumbVariants, textareaVariants, timepickerActionButtonVariants, timepickerActionsVariants, timepickerColumnHeaderVariants, timepickerColumnVariants, timepickerDropdownVariants, timepickerErrorMessageVariants, timepickerFieldVariants, timepickerIconButtonVariants, timepickerInputVariants, timepickerLabelVariants, timepickerListVariants, timepickerOptionVariants, timepickerSelectionAreaVariants, timepickerSeparatorVariants, timepickerWrapperVariants, toastAccentVariants, toastCloseVariants, toastContentVariants, toastIconVariants, toastVariants, tooltipArrowVariants, tooltipContentVariants, tooltipTriggerVariants };
|
|
8291
8296
|
//# sourceMappingURL=bsginstitute-bsg-integra.mjs.map
|