@yuva-devlab/ui 1.3.2 → 1.4.1

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.
@@ -90,7 +90,7 @@
90
90
  }
91
91
  .dl-btn--ghost {
92
92
  background-color: transparent;
93
- color: var(--foreground);
93
+ color: inherit;
94
94
  }
95
95
  .dl-btn--ghost:hover {
96
96
  background-color: var(--accent);
@@ -0,0 +1,32 @@
1
+ .dl-copy-button {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ gap: 0.375rem;
6
+ font-size: 0.75rem;
7
+ font-weight: 500;
8
+ border-radius: var(--radius, 0.375rem);
9
+ border: 1px solid var(--border);
10
+ background: var(--card);
11
+ color: var(--foreground);
12
+ padding: 0.25rem 0.625rem;
13
+ cursor: pointer;
14
+ transition: all 0.15s ease;
15
+ user-select: none;
16
+ }
17
+
18
+ .dl-copy-button:hover {
19
+ background: var(--secondary);
20
+ border-color: var(--muted-foreground);
21
+ }
22
+
23
+ .dl-copy-button--copied {
24
+ border-color: var(--success);
25
+ color: var(--success);
26
+ }
27
+
28
+ .dl-copy-button__icon {
29
+ width: 0.875rem;
30
+ height: 0.875rem;
31
+ flex-shrink: 0;
32
+ }
@@ -21,6 +21,7 @@
21
21
  flex-direction: column;
22
22
  width: calc(100% - 2rem);
23
23
  max-width: var(--dl-dialog-max-width, 32rem);
24
+ height: auto;
24
25
  max-height: calc(100dvh - 3rem);
25
26
  border: 1px solid var(--border);
26
27
  background-color: var(--background);
@@ -48,25 +49,25 @@
48
49
  .dl-dialog--lg {
49
50
  width: 90vw;
50
51
  max-width: 44rem;
51
- height: 80vh;
52
+ height: auto;
52
53
  max-height: 80vh;
53
54
  }
54
55
  .dl-dialog--xl {
55
56
  width: 92vw;
56
57
  max-width: 56rem;
57
- height: 85vh;
58
+ height: auto;
58
59
  max-height: 85vh;
59
60
  }
60
61
  .dl-dialog--2xl {
61
62
  width: 94vw;
62
63
  max-width: 72rem;
63
- height: 85vh;
64
+ height: auto;
64
65
  max-height: 85vh;
65
66
  }
66
67
  .dl-dialog--full {
67
68
  width: calc(100vw - 2rem);
68
69
  max-width: calc(100vw - 2rem);
69
- height: calc(100dvh - 2rem);
70
+ height: auto;
70
71
  max-height: calc(100dvh - 2rem);
71
72
  }
72
73
 
@@ -38,7 +38,7 @@
38
38
  background-color: transparent;
39
39
  padding-block: 0.25rem;
40
40
  padding-inline: 0.75rem;
41
- font-size: 0.875rem;
41
+ font-size: 0.75rem;
42
42
  line-height: 1.25rem;
43
43
  font-family: inherit;
44
44
  color: var(--foreground);
@@ -76,7 +76,7 @@
76
76
  .dl-input::file-selector-button {
77
77
  border: 0;
78
78
  background: transparent;
79
- font-size: 0.875rem;
79
+ font-size: 0.75rem;
80
80
  font-weight: 500;
81
81
  color: var(--foreground);
82
82
  cursor: pointer;
@@ -1,5 +1,5 @@
1
1
  .dl-label {
2
- font-size: 0.875rem;
2
+ font-size: 0.75rem;
3
3
  font-weight: 500;
4
4
  line-height: 1;
5
5
  color: var(--foreground);
@@ -7,3 +7,7 @@
7
7
  .dl-label--error {
8
8
  color: var(--destructive);
9
9
  }
10
+ .dl-label-required {
11
+ color: var(--destructive);
12
+ margin-inline-start: 0.25rem;
13
+ }
@@ -0,0 +1,68 @@
1
+ .dl-metrics-grid {
2
+ display: grid;
3
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
4
+ border: 1px solid var(--border);
5
+ border-radius: var(--radius, 0.5rem);
6
+ background: var(--card);
7
+ overflow: hidden;
8
+ }
9
+
10
+ .dl-metric-card {
11
+ display: flex;
12
+ flex-direction: column;
13
+ padding: 1.25rem;
14
+ border-right: 1px solid var(--border);
15
+ position: relative;
16
+ transition: background-color 0.15s ease;
17
+ }
18
+
19
+ .dl-metric-card:last-child {
20
+ border-right: none;
21
+ }
22
+
23
+ .dl-metric-card__header {
24
+ display: flex;
25
+ align-items: center;
26
+ justify-content: space-between;
27
+ margin-bottom: 0.5rem;
28
+ }
29
+
30
+ .dl-metric-card__label {
31
+ font-size: 0.6875rem;
32
+ font-weight: 500;
33
+ text-transform: uppercase;
34
+ letter-spacing: 0.05em;
35
+ color: var(--muted-foreground);
36
+ }
37
+
38
+ .dl-metric-card__icon {
39
+ color: var(--muted-foreground);
40
+ display: inline-flex;
41
+ }
42
+
43
+ .dl-metric-card__value-row {
44
+ display: flex;
45
+ align-items: baseline;
46
+ gap: 0.5rem;
47
+ }
48
+
49
+ .dl-metric-card__value {
50
+ font-size: 1.75rem;
51
+ font-weight: 600;
52
+ line-height: 1.2;
53
+ color: var(--foreground);
54
+ }
55
+
56
+ .dl-metric-card__note {
57
+ margin-top: 0.375rem;
58
+ font-size: 0.6875rem;
59
+ color: var(--muted-foreground);
60
+ }
61
+
62
+ .dl-metric-card__note--positive {
63
+ color: var(--success);
64
+ }
65
+
66
+ .dl-metric-card__note--negative {
67
+ color: var(--destructive);
68
+ }
@@ -0,0 +1,37 @@
1
+ .dl-secret-reveal {
2
+ border-radius: var(--radius, 0.5rem);
3
+ border: 1px solid var(--border);
4
+ background: var(--card);
5
+ padding: 1rem;
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: 0.75rem;
9
+ }
10
+
11
+ .dl-secret-reveal__warning {
12
+ display: flex;
13
+ align-items: center;
14
+ gap: 0.5rem;
15
+ font-size: 0.75rem;
16
+ color: var(--warning);
17
+ line-height: 1.4;
18
+ }
19
+
20
+ .dl-secret-reveal__code-wrap {
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: space-between;
24
+ gap: 0.75rem;
25
+ background: var(--background);
26
+ border: 1px solid var(--border);
27
+ border-radius: calc(var(--radius, 0.5rem) - 2px);
28
+ padding: 0.5rem 0.75rem;
29
+ }
30
+
31
+ .dl-secret-reveal__code {
32
+ font-family: var(--font-mono, ui-monospace, monospace);
33
+ font-size: 0.8125rem;
34
+ color: var(--primary);
35
+ word-break: break-all;
36
+ user-select: all;
37
+ }
@@ -7,7 +7,7 @@
7
7
  background-color: transparent;
8
8
  padding-block: 0.5rem;
9
9
  padding-inline: 0.75rem;
10
- font-size: 0.875rem;
10
+ font-size: 0.75rem;
11
11
  font-family: inherit;
12
12
  color: var(--foreground);
13
13
  box-shadow: 0 1px 2px rgb(0 0 0/0.05);
@@ -471,7 +471,7 @@
471
471
  }
472
472
  .dl-btn--ghost {
473
473
  background-color: transparent;
474
- color: var(--foreground);
474
+ color: inherit;
475
475
  }
476
476
  .dl-btn--ghost:hover {
477
477
  background-color: var(--accent);
@@ -804,6 +804,40 @@
804
804
  animation: dl-fade-out 100ms ease;
805
805
  }
806
806
 
807
+ /* ── copy-button ── */
808
+ .dl-copy-button {
809
+ display: inline-flex;
810
+ align-items: center;
811
+ justify-content: center;
812
+ gap: 0.375rem;
813
+ font-size: 0.75rem;
814
+ font-weight: 500;
815
+ border-radius: var(--radius, 0.375rem);
816
+ border: 1px solid var(--border);
817
+ background: var(--card);
818
+ color: var(--foreground);
819
+ padding: 0.25rem 0.625rem;
820
+ cursor: pointer;
821
+ transition: all 0.15s ease;
822
+ user-select: none;
823
+ }
824
+
825
+ .dl-copy-button:hover {
826
+ background: var(--secondary);
827
+ border-color: var(--muted-foreground);
828
+ }
829
+
830
+ .dl-copy-button--copied {
831
+ border-color: var(--success);
832
+ color: var(--success);
833
+ }
834
+
835
+ .dl-copy-button__icon {
836
+ width: 0.875rem;
837
+ height: 0.875rem;
838
+ flex-shrink: 0;
839
+ }
840
+
807
841
  /* ── date-picker ── */
808
842
  .dl-date-picker-trigger {
809
843
  width: 100%;
@@ -860,6 +894,7 @@
860
894
  flex-direction: column;
861
895
  width: calc(100% - 2rem);
862
896
  max-width: var(--dl-dialog-max-width, 32rem);
897
+ height: auto;
863
898
  max-height: calc(100dvh - 3rem);
864
899
  border: 1px solid var(--border);
865
900
  background-color: var(--background);
@@ -887,25 +922,25 @@
887
922
  .dl-dialog--lg {
888
923
  width: 90vw;
889
924
  max-width: 44rem;
890
- height: 80vh;
925
+ height: auto;
891
926
  max-height: 80vh;
892
927
  }
893
928
  .dl-dialog--xl {
894
929
  width: 92vw;
895
930
  max-width: 56rem;
896
- height: 85vh;
931
+ height: auto;
897
932
  max-height: 85vh;
898
933
  }
899
934
  .dl-dialog--2xl {
900
935
  width: 94vw;
901
936
  max-width: 72rem;
902
- height: 85vh;
937
+ height: auto;
903
938
  max-height: 85vh;
904
939
  }
905
940
  .dl-dialog--full {
906
941
  width: calc(100vw - 2rem);
907
942
  max-width: calc(100vw - 2rem);
908
- height: calc(100dvh - 2rem);
943
+ height: auto;
909
944
  max-height: calc(100dvh - 2rem);
910
945
  }
911
946
 
@@ -1218,7 +1253,7 @@
1218
1253
  background-color: transparent;
1219
1254
  padding-block: 0.25rem;
1220
1255
  padding-inline: 0.75rem;
1221
- font-size: 0.875rem;
1256
+ font-size: 0.75rem;
1222
1257
  line-height: 1.25rem;
1223
1258
  font-family: inherit;
1224
1259
  color: var(--foreground);
@@ -1256,7 +1291,7 @@
1256
1291
  .dl-input::file-selector-button {
1257
1292
  border: 0;
1258
1293
  background: transparent;
1259
- font-size: 0.875rem;
1294
+ font-size: 0.75rem;
1260
1295
  font-weight: 500;
1261
1296
  color: var(--foreground);
1262
1297
  cursor: pointer;
@@ -1342,7 +1377,7 @@
1342
1377
 
1343
1378
  /* ── label ── */
1344
1379
  .dl-label {
1345
- font-size: 0.875rem;
1380
+ font-size: 0.75rem;
1346
1381
  font-weight: 500;
1347
1382
  line-height: 1;
1348
1383
  color: var(--foreground);
@@ -1350,6 +1385,10 @@
1350
1385
  .dl-label--error {
1351
1386
  color: var(--destructive);
1352
1387
  }
1388
+ .dl-label-required {
1389
+ color: var(--destructive);
1390
+ margin-inline-start: 0.25rem;
1391
+ }
1353
1392
 
1354
1393
  /* ── loading-state ── */
1355
1394
  .dl-loading {
@@ -1417,6 +1456,76 @@
1417
1456
  color: var(--accent-foreground);
1418
1457
  }
1419
1458
 
1459
+ /* ── metric-card ── */
1460
+ .dl-metrics-grid {
1461
+ display: grid;
1462
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
1463
+ border: 1px solid var(--border);
1464
+ border-radius: var(--radius, 0.5rem);
1465
+ background: var(--card);
1466
+ overflow: hidden;
1467
+ }
1468
+
1469
+ .dl-metric-card {
1470
+ display: flex;
1471
+ flex-direction: column;
1472
+ padding: 1.25rem;
1473
+ border-right: 1px solid var(--border);
1474
+ position: relative;
1475
+ transition: background-color 0.15s ease;
1476
+ }
1477
+
1478
+ .dl-metric-card:last-child {
1479
+ border-right: none;
1480
+ }
1481
+
1482
+ .dl-metric-card__header {
1483
+ display: flex;
1484
+ align-items: center;
1485
+ justify-content: space-between;
1486
+ margin-bottom: 0.5rem;
1487
+ }
1488
+
1489
+ .dl-metric-card__label {
1490
+ font-size: 0.6875rem;
1491
+ font-weight: 500;
1492
+ text-transform: uppercase;
1493
+ letter-spacing: 0.05em;
1494
+ color: var(--muted-foreground);
1495
+ }
1496
+
1497
+ .dl-metric-card__icon {
1498
+ color: var(--muted-foreground);
1499
+ display: inline-flex;
1500
+ }
1501
+
1502
+ .dl-metric-card__value-row {
1503
+ display: flex;
1504
+ align-items: baseline;
1505
+ gap: 0.5rem;
1506
+ }
1507
+
1508
+ .dl-metric-card__value {
1509
+ font-size: 1.75rem;
1510
+ font-weight: 600;
1511
+ line-height: 1.2;
1512
+ color: var(--foreground);
1513
+ }
1514
+
1515
+ .dl-metric-card__note {
1516
+ margin-top: 0.375rem;
1517
+ font-size: 0.6875rem;
1518
+ color: var(--muted-foreground);
1519
+ }
1520
+
1521
+ .dl-metric-card__note--positive {
1522
+ color: var(--success);
1523
+ }
1524
+
1525
+ .dl-metric-card__note--negative {
1526
+ color: var(--destructive);
1527
+ }
1528
+
1420
1529
  /* ── navigation-menu ── */
1421
1530
  .dl-navigation-menu {
1422
1531
  position: relative;
@@ -1935,6 +2044,45 @@
1935
2044
  background-color: color-mix(in oklch, var(--primary) 10%, transparent);
1936
2045
  }
1937
2046
 
2047
+ /* ── secret-reveal-card ── */
2048
+ .dl-secret-reveal {
2049
+ border-radius: var(--radius, 0.5rem);
2050
+ border: 1px solid var(--border);
2051
+ background: var(--card);
2052
+ padding: 1rem;
2053
+ display: flex;
2054
+ flex-direction: column;
2055
+ gap: 0.75rem;
2056
+ }
2057
+
2058
+ .dl-secret-reveal__warning {
2059
+ display: flex;
2060
+ align-items: center;
2061
+ gap: 0.5rem;
2062
+ font-size: 0.75rem;
2063
+ color: var(--warning);
2064
+ line-height: 1.4;
2065
+ }
2066
+
2067
+ .dl-secret-reveal__code-wrap {
2068
+ display: flex;
2069
+ align-items: center;
2070
+ justify-content: space-between;
2071
+ gap: 0.75rem;
2072
+ background: var(--background);
2073
+ border: 1px solid var(--border);
2074
+ border-radius: calc(var(--radius, 0.5rem) - 2px);
2075
+ padding: 0.5rem 0.75rem;
2076
+ }
2077
+
2078
+ .dl-secret-reveal__code {
2079
+ font-family: var(--font-mono, ui-monospace, monospace);
2080
+ font-size: 0.8125rem;
2081
+ color: var(--primary);
2082
+ word-break: break-all;
2083
+ user-select: all;
2084
+ }
2085
+
1938
2086
  /* ── select ── */
1939
2087
  .dl-select-trigger {
1940
2088
  display: inline-flex;
@@ -2511,7 +2659,7 @@
2511
2659
  background-color: transparent;
2512
2660
  padding-block: 0.5rem;
2513
2661
  padding-inline: 0.75rem;
2514
- font-size: 0.875rem;
2662
+ font-size: 0.75rem;
2515
2663
  font-family: inherit;
2516
2664
  color: var(--foreground);
2517
2665
  box-shadow: 0 1px 2px rgb(0 0 0/0.05);
package/dist/index.cjs CHANGED
@@ -111,6 +111,7 @@ __export(index_exports, {
111
111
  ContextMenuSubContent: () => ContextMenuSubContent,
112
112
  ContextMenuSubTrigger: () => ContextMenuSubTrigger,
113
113
  ContextMenuTrigger: () => ContextMenuTrigger,
114
+ CopyButton: () => CopyButton,
114
115
  DatePicker: () => DatePicker,
115
116
  Dialog: () => Dialog,
116
117
  DialogBody: () => DialogBody,
@@ -181,6 +182,8 @@ __export(index_exports, {
181
182
  MenubarSubContent: () => MenubarSubContent,
182
183
  MenubarSubTrigger: () => MenubarSubTrigger,
183
184
  MenubarTrigger: () => MenubarTrigger,
185
+ MetricCard: () => MetricCard,
186
+ MetricsGrid: () => MetricsGrid,
184
187
  NavigationMenu: () => NavigationMenu,
185
188
  NavigationMenuContent: () => NavigationMenuContent,
186
189
  NavigationMenuIndicator: () => NavigationMenuIndicator,
@@ -210,6 +213,7 @@ __export(index_exports, {
210
213
  ScrollArea: () => ScrollArea,
211
214
  ScrollBar: () => ScrollBar,
212
215
  SearchableSelect: () => SearchableSelect,
216
+ SecretRevealCard: () => SecretRevealCard,
213
217
  Select: () => Select,
214
218
  SelectContent: () => SelectContent,
215
219
  SelectGroup: () => SelectGroup,
@@ -1930,12 +1934,16 @@ var LabelPrimitive = __toESM(require("@radix-ui/react-label"), 1);
1930
1934
  var import_class_variance_authority4 = require("class-variance-authority");
1931
1935
  var import_jsx_runtime22 = require("react/jsx-runtime");
1932
1936
  var labelVariants = (0, import_class_variance_authority4.cva)("dl-label");
1933
- var Label3 = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1937
+ var Label3 = React21.forwardRef(({ className, children, required = false, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1934
1938
  LabelPrimitive.Root,
1935
1939
  {
1936
1940
  ref,
1937
1941
  className: cn(labelVariants(), className),
1938
- ...props
1942
+ ...props,
1943
+ children: [
1944
+ children,
1945
+ required && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "dl-label-required text-destructive ml-0.5", children: "*" })
1946
+ ]
1939
1947
  }
1940
1948
  ));
1941
1949
  Label3.displayName = LabelPrimitive.Root.displayName;
@@ -3917,6 +3925,112 @@ var ToggleGroupItem = React48.forwardRef(({ className, children, variant, size,
3917
3925
  );
3918
3926
  });
3919
3927
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
3928
+
3929
+ // src/components/metric-card/metric-card.tsx
3930
+ var React49 = __toESM(require("react"), 1);
3931
+ var import_jsx_runtime53 = require("react/jsx-runtime");
3932
+ var MetricCard = React49.forwardRef(
3933
+ ({ label, value, note, positive, icon, className, ...props }, ref) => {
3934
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { ref, className: cn("dl-metric-card", className), ...props, children: [
3935
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "dl-metric-card__header", children: [
3936
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "dl-metric-card__label", children: label }),
3937
+ icon && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "dl-metric-card__icon", children: icon })
3938
+ ] }),
3939
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "dl-metric-card__value-row", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "dl-metric-card__value", children: value }) }),
3940
+ note && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3941
+ "div",
3942
+ {
3943
+ className: cn(
3944
+ "dl-metric-card__note",
3945
+ positive === true && "dl-metric-card__note--positive",
3946
+ positive === false && "dl-metric-card__note--negative"
3947
+ ),
3948
+ children: note
3949
+ }
3950
+ )
3951
+ ] });
3952
+ }
3953
+ );
3954
+ MetricCard.displayName = "MetricCard";
3955
+ var MetricsGrid = React49.forwardRef(
3956
+ ({ children, className, ...props }, ref) => {
3957
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { ref, className: cn("dl-metrics-grid", className), ...props, children });
3958
+ }
3959
+ );
3960
+ MetricsGrid.displayName = "MetricsGrid";
3961
+
3962
+ // src/components/copy-button/copy-button.tsx
3963
+ var React50 = __toESM(require("react"), 1);
3964
+ var import_lucide_react21 = require("lucide-react");
3965
+ var import_jsx_runtime54 = require("react/jsx-runtime");
3966
+ var CopyButton = React50.forwardRef(
3967
+ ({
3968
+ textToCopy,
3969
+ label = "Copy",
3970
+ copiedLabel = "Copied",
3971
+ resetTimeoutMs = 2e3,
3972
+ className,
3973
+ onClick,
3974
+ ...props
3975
+ }, ref) => {
3976
+ const [isCopied, setIsCopied] = React50.useState(false);
3977
+ const handleCopy = async (e) => {
3978
+ onClick?.(e);
3979
+ if (e.defaultPrevented) return;
3980
+ try {
3981
+ await navigator.clipboard.writeText(textToCopy);
3982
+ setIsCopied(true);
3983
+ setTimeout(() => setIsCopied(false), resetTimeoutMs);
3984
+ } catch {
3985
+ }
3986
+ };
3987
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
3988
+ "button",
3989
+ {
3990
+ ref,
3991
+ type: "button",
3992
+ className: cn(
3993
+ "dl-copy-button",
3994
+ isCopied && "dl-copy-button--copied",
3995
+ className
3996
+ ),
3997
+ onClick: handleCopy,
3998
+ ...props,
3999
+ children: [
4000
+ isCopied ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react21.Check, { className: "dl-copy-button__icon" }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react21.Copy, { className: "dl-copy-button__icon" }),
4001
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { children: isCopied ? copiedLabel : label })
4002
+ ]
4003
+ }
4004
+ );
4005
+ }
4006
+ );
4007
+ CopyButton.displayName = "CopyButton";
4008
+
4009
+ // src/components/secret-reveal-card/secret-reveal-card.tsx
4010
+ var React51 = __toESM(require("react"), 1);
4011
+ var import_lucide_react22 = require("lucide-react");
4012
+ var import_jsx_runtime55 = require("react/jsx-runtime");
4013
+ var SecretRevealCard = React51.forwardRef(
4014
+ ({
4015
+ secret,
4016
+ warningMessage = "One-time reveal. Please copy and store this credential securely before closing.",
4017
+ copyLabel = "Copy Secret",
4018
+ className,
4019
+ ...props
4020
+ }, ref) => {
4021
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { ref, className: cn("dl-secret-reveal", className), ...props, children: [
4022
+ warningMessage && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "dl-secret-reveal__warning", children: [
4023
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react22.AlertTriangle, { className: "shrink-0 size-4" }),
4024
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { children: warningMessage })
4025
+ ] }),
4026
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "dl-secret-reveal__code-wrap", children: [
4027
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("code", { className: "dl-secret-reveal__code", children: secret }),
4028
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(CopyButton, { textToCopy: secret, label: copyLabel })
4029
+ ] })
4030
+ ] });
4031
+ }
4032
+ );
4033
+ SecretRevealCard.displayName = "SecretRevealCard";
3920
4034
  // Annotate the CommonJS export names for ESM import in node:
3921
4035
  0 && (module.exports = {
3922
4036
  Accordion,
@@ -3999,6 +4113,7 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
3999
4113
  ContextMenuSubContent,
4000
4114
  ContextMenuSubTrigger,
4001
4115
  ContextMenuTrigger,
4116
+ CopyButton,
4002
4117
  DatePicker,
4003
4118
  Dialog,
4004
4119
  DialogBody,
@@ -4069,6 +4184,8 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
4069
4184
  MenubarSubContent,
4070
4185
  MenubarSubTrigger,
4071
4186
  MenubarTrigger,
4187
+ MetricCard,
4188
+ MetricsGrid,
4072
4189
  NavigationMenu,
4073
4190
  NavigationMenuContent,
4074
4191
  NavigationMenuIndicator,
@@ -4098,6 +4215,7 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
4098
4215
  ScrollArea,
4099
4216
  ScrollBar,
4100
4217
  SearchableSelect,
4218
+ SecretRevealCard,
4101
4219
  Select,
4102
4220
  SelectContent,
4103
4221
  SelectGroup,