@akira-io/ui 1.1.0 → 1.2.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.
- package/dist/blocks.d.ts +27 -27
- package/dist/blocks.js +79 -66
- package/dist/blocks.js.map +1 -1
- package/dist/{chunk-SA5LM2GD.js → chunk-2HLBBU3O.js} +44 -20
- package/dist/chunk-2HLBBU3O.js.map +1 -0
- package/dist/{chunk-MNGNBEYN.js → chunk-3HKIYFWI.js} +263 -166
- package/dist/chunk-3HKIYFWI.js.map +1 -0
- package/dist/{chunk-UUTXPPRN.js → chunk-DW42Z75X.js} +147 -90
- package/dist/chunk-DW42Z75X.js.map +1 -0
- package/dist/{chunk-DSD7MVLL.js → chunk-I5UZAJB4.js} +13 -9
- package/dist/chunk-I5UZAJB4.js.map +1 -0
- package/dist/{chunk-JAHTUAQL.js → chunk-MCMBS2SB.js} +6 -5
- package/dist/chunk-MCMBS2SB.js.map +1 -0
- package/dist/{chunk-YOVY3KT6.js → chunk-NGMG2UWX.js} +3 -3
- package/dist/{chunk-YOVY3KT6.js.map → chunk-NGMG2UWX.js.map} +1 -1
- package/dist/{chunk-6QM5BA7B.js → chunk-O5DZTX7D.js} +40 -23
- package/dist/chunk-O5DZTX7D.js.map +1 -0
- package/dist/{chunk-5AJFQ6C4.js → chunk-QNF4LJVT.js} +2 -2
- package/dist/chunk-QNF4LJVT.js.map +1 -0
- package/dist/{chunk-LKSM3WLK.js → chunk-SBLZ6T3D.js} +6 -5
- package/dist/chunk-SBLZ6T3D.js.map +1 -0
- package/dist/{chunk-KYWA5UYN.js → chunk-SH5QZCOW.js} +46 -28
- package/dist/chunk-SH5QZCOW.js.map +1 -0
- package/dist/chunk-UTSTTTH5.js +48 -0
- package/dist/chunk-UTSTTTH5.js.map +1 -0
- package/dist/code.d.ts +5 -2
- package/dist/code.js +52 -53
- package/dist/code.js.map +1 -1
- package/dist/{context-VgHq4U98.d.ts → context-OwSoVEri.d.ts} +55 -27
- package/dist/editor.d.ts +8 -6
- package/dist/editor.js +31 -18
- package/dist/editor.js.map +1 -1
- package/dist/field-DWm5NXeV.d.ts +39 -0
- package/dist/index.d.ts +230 -238
- package/dist/index.js +451 -337
- package/dist/index.js.map +1 -1
- package/dist/inertia.d.ts +1 -1
- package/dist/inertia.js +6 -7
- package/dist/inertia.js.map +1 -1
- package/dist/{button-B6wQRe7p.d.ts → input-Dxnsxi-f.d.ts} +6 -2
- package/dist/{json-viewer-BTHBACj9.d.ts → json-viewer-BARA2RCW.d.ts} +3 -2
- package/dist/{language-Dgjr9bm3.d.ts → language-Cv_N_53L.d.ts} +5 -2
- package/dist/locales/pt.d.ts +9 -9
- package/dist/locales/pt.js +7 -1
- package/dist/locales/pt.js.map +1 -1
- package/dist/shells.d.ts +6 -7
- package/dist/shells.js +9 -9
- package/dist/shells.js.map +1 -1
- package/dist/sidebar-Bp6Q46j-.d.ts +80 -0
- package/dist/{types-CT0rBsFc.d.ts → types-B-eGPoFD.d.ts} +3 -2
- package/dist/{types-B4QS3h5p.d.ts → types-cmBL8zOc.d.ts} +4 -1
- package/package.json +3 -3
- package/dist/chunk-5AJFQ6C4.js.map +0 -1
- package/dist/chunk-6QM5BA7B.js.map +0 -1
- package/dist/chunk-6X4TKSF6.js +0 -21
- package/dist/chunk-6X4TKSF6.js.map +0 -1
- package/dist/chunk-DSD7MVLL.js.map +0 -1
- package/dist/chunk-JAHTUAQL.js.map +0 -1
- package/dist/chunk-KYWA5UYN.js.map +0 -1
- package/dist/chunk-LKSM3WLK.js.map +0 -1
- package/dist/chunk-MNGNBEYN.js.map +0 -1
- package/dist/chunk-SA5LM2GD.js.map +0 -1
- package/dist/chunk-UUEWFCKT.js +0 -28
- package/dist/chunk-UUEWFCKT.js.map +0 -1
- package/dist/chunk-UUTXPPRN.js.map +0 -1
- package/dist/input-4uxAHW6y.d.ts +0 -5
- package/dist/password-input-r39y2pCT.d.ts +0 -50
- package/dist/sidebar-BhOIlSjt.d.ts +0 -80
package/dist/blocks.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, ConfirmDialog, Popover, PopoverTrigger, PopoverContent, FloatingSheet, FloatingSheetBody, FloatingSheetFooter, Tabs, TabsList, TabsTrigger, TabsContent, Textarea, Switch, FieldError, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, InputOTP, InputOTPGroup, InputOTPSlot, Alert, AlertDescription, Calendar } from './chunk-
|
|
2
|
-
import { CopyButton } from './chunk-
|
|
3
|
-
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, Label } from './chunk-
|
|
4
|
-
import { Card } from './chunk-
|
|
5
|
-
export { DEFAULT_TOUR_LABELS, TourProvider, resolveSteps, shouldStartTour, stepsForBreakpoint, useTour, useTourController } from './chunk-
|
|
6
|
-
import { useUiLabels, useUiLocale } from './chunk-
|
|
7
|
-
export { UiLocaleProvider, useUiLabels, useUiLocale } from './chunk-
|
|
1
|
+
import { CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, ConfirmDialog, Popover, PopoverTrigger, PopoverContent, FloatingSheet, FloatingSheetBody, FloatingSheetFooter, Tabs, TabsList, TabsTrigger, TabsContent, Textarea, Switch, FieldError, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, InputOTP, InputOTPGroup, InputOTPSlot, Alert, AlertDescription, Calendar } from './chunk-DW42Z75X.js';
|
|
2
|
+
import { CopyButton } from './chunk-MCMBS2SB.js';
|
|
3
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, Label } from './chunk-O5DZTX7D.js';
|
|
4
|
+
import { Card } from './chunk-2HLBBU3O.js';
|
|
5
|
+
export { DEFAULT_TOUR_LABELS, TourProvider, resolveSteps, shouldStartTour, stepsForBreakpoint, useTour, useTourController } from './chunk-NGMG2UWX.js';
|
|
6
|
+
import { useUiLabels, useUiLocale } from './chunk-QNF4LJVT.js';
|
|
7
|
+
export { UiLocaleProvider, useUiLabels, useUiLocale } from './chunk-QNF4LJVT.js';
|
|
8
8
|
import { resolveLink } from './chunk-L2H5GIF7.js';
|
|
9
|
-
import { Input } from './chunk-
|
|
10
|
-
import { Button, cn, elevatedSurface, nestedSurfaceReset, recessedSurface, compactRadius, controlRadius, Spinner } from './chunk-
|
|
9
|
+
import { Separator, Input } from './chunk-UTSTTTH5.js';
|
|
10
|
+
import { Button, cn, elevatedSurface, nestedSurfaceReset, recessedSurface, compactRadius, focusRing, controlRadius, Spinner } from './chunk-I5UZAJB4.js';
|
|
11
11
|
import { createContext, useState, useCallback, useEffect, useContext, useId, useRef } from 'react';
|
|
12
12
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
13
13
|
import { TriangleAlert, CalendarDays, ArrowLeft, ChevronRight, AlertCircle, ShieldOff, EyeOff, Eye, RefreshCw, ChevronLeft, ArrowLeftToLine, X, ArrowRight, ArrowUpRight, ArrowDownRight } from 'lucide-react';
|
|
@@ -102,7 +102,8 @@ function DangerZone({
|
|
|
102
102
|
processing = false,
|
|
103
103
|
labels,
|
|
104
104
|
footer,
|
|
105
|
-
className
|
|
105
|
+
className,
|
|
106
|
+
slotName = "danger-zone"
|
|
106
107
|
}) {
|
|
107
108
|
const copy = { ...dangerZoneLabels, ...labels };
|
|
108
109
|
const [activeId, setActiveId] = useState(null);
|
|
@@ -110,13 +111,13 @@ function DangerZone({
|
|
|
110
111
|
return /* @__PURE__ */ jsxs(
|
|
111
112
|
"section",
|
|
112
113
|
{
|
|
113
|
-
"data-slot": "danger-zone",
|
|
114
114
|
className: cn(
|
|
115
115
|
elevatedSurface,
|
|
116
116
|
nestedSurfaceReset,
|
|
117
117
|
"gap-6 p-6 flex flex-col bg-destructive/5 ring-destructive/30",
|
|
118
118
|
className
|
|
119
119
|
),
|
|
120
|
+
"data-slot": slotName,
|
|
120
121
|
children: [
|
|
121
122
|
/* @__PURE__ */ jsxs("div", { "data-slot": "danger-zone-header", className: "gap-3 flex", children: [
|
|
122
123
|
/* @__PURE__ */ jsx("span", { className: "size-11 rounded-2xl flex shrink-0 items-center justify-center bg-destructive/10 text-destructive", children: /* @__PURE__ */ jsx(TriangleAlert, { className: "size-5" }) }),
|
|
@@ -813,13 +814,14 @@ function FormOverlayActions({
|
|
|
813
814
|
submit = false,
|
|
814
815
|
className,
|
|
815
816
|
onCancel,
|
|
816
|
-
onSave
|
|
817
|
+
onSave,
|
|
818
|
+
slotName = "form-overlay-actions"
|
|
817
819
|
}) {
|
|
818
820
|
return /* @__PURE__ */ jsxs(
|
|
819
821
|
"div",
|
|
820
822
|
{
|
|
821
|
-
"data-slot": "form-overlay-actions",
|
|
822
823
|
className: cn("gap-2 flex items-center justify-end", className),
|
|
824
|
+
"data-slot": slotName,
|
|
823
825
|
children: [
|
|
824
826
|
/* @__PURE__ */ jsx(
|
|
825
827
|
Button,
|
|
@@ -858,7 +860,8 @@ function DetailEditSheet({
|
|
|
858
860
|
className,
|
|
859
861
|
children,
|
|
860
862
|
onSave,
|
|
861
|
-
onCancel
|
|
863
|
+
onCancel,
|
|
864
|
+
slotName = "detail-edit-sheet"
|
|
862
865
|
}) {
|
|
863
866
|
const handleSubmit = (event) => {
|
|
864
867
|
event.preventDefault();
|
|
@@ -886,11 +889,12 @@ function DetailEditSheet({
|
|
|
886
889
|
children: /* @__PURE__ */ jsxs(
|
|
887
890
|
"form",
|
|
888
891
|
{
|
|
889
|
-
"data-slot": "detail-edit-sheet",
|
|
890
892
|
onSubmit: handleSubmit,
|
|
891
893
|
className: "min-h-0 flex flex-1 flex-col",
|
|
894
|
+
"data-slot": slotName,
|
|
892
895
|
children: [
|
|
893
896
|
/* @__PURE__ */ jsx(FloatingSheetBody, { children }),
|
|
897
|
+
/* @__PURE__ */ jsx(Separator, {}),
|
|
894
898
|
/* @__PURE__ */ jsx(FloatingSheetFooter, { children: /* @__PURE__ */ jsx(
|
|
895
899
|
FormOverlayActions,
|
|
896
900
|
{
|
|
@@ -918,7 +922,8 @@ function FormDialog({
|
|
|
918
922
|
className,
|
|
919
923
|
children,
|
|
920
924
|
onSave,
|
|
921
|
-
onCancel
|
|
925
|
+
onCancel,
|
|
926
|
+
slotName = "form-dialog"
|
|
922
927
|
}) {
|
|
923
928
|
const handleSubmit = (event) => {
|
|
924
929
|
event.preventDefault();
|
|
@@ -952,11 +957,11 @@ function FormDialog({
|
|
|
952
957
|
children: /* @__PURE__ */ jsx(
|
|
953
958
|
DialogContent,
|
|
954
959
|
{
|
|
955
|
-
"data-slot": "form-dialog",
|
|
956
960
|
...description ? {} : { "aria-describedby": void 0 },
|
|
957
961
|
className: cn("gap-0 p-0", className),
|
|
958
962
|
onEscapeKeyDown: blockWhileProcessing,
|
|
959
963
|
onInteractOutside: blockWhileProcessing,
|
|
964
|
+
slotName,
|
|
960
965
|
children: /* @__PURE__ */ jsxs(
|
|
961
966
|
"form",
|
|
962
967
|
{
|
|
@@ -1013,14 +1018,15 @@ function InfoField({
|
|
|
1013
1018
|
copyLabel,
|
|
1014
1019
|
copiedLabel,
|
|
1015
1020
|
iconClassName,
|
|
1016
|
-
className
|
|
1021
|
+
className,
|
|
1022
|
+
slotName = "info-field"
|
|
1017
1023
|
}) {
|
|
1018
1024
|
const text = copyableText(value, copyValue);
|
|
1019
1025
|
return /* @__PURE__ */ jsxs(
|
|
1020
1026
|
"div",
|
|
1021
1027
|
{
|
|
1022
|
-
"data-slot": "info-field",
|
|
1023
1028
|
className: cn("gap-3 flex items-center", className),
|
|
1029
|
+
"data-slot": slotName,
|
|
1024
1030
|
children: [
|
|
1025
1031
|
/* @__PURE__ */ jsx("div", { className: cn("p-2 rounded-xl bg-muted", iconClassName), children: /* @__PURE__ */ jsx(Icon, { className: "size-5 text-muted-foreground" }) }),
|
|
1026
1032
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
@@ -1155,12 +1161,12 @@ function SettingsCard({
|
|
|
1155
1161
|
control,
|
|
1156
1162
|
children,
|
|
1157
1163
|
inset = false,
|
|
1158
|
-
className
|
|
1164
|
+
className,
|
|
1165
|
+
slotName = "settings-card"
|
|
1159
1166
|
}) {
|
|
1160
1167
|
return /* @__PURE__ */ jsxs(
|
|
1161
1168
|
"section",
|
|
1162
1169
|
{
|
|
1163
|
-
"data-slot": "settings-card",
|
|
1164
1170
|
"data-inset": inset || void 0,
|
|
1165
1171
|
className: cn(
|
|
1166
1172
|
elevatedSurface,
|
|
@@ -1168,6 +1174,7 @@ function SettingsCard({
|
|
|
1168
1174
|
inset && recessedSurface,
|
|
1169
1175
|
className
|
|
1170
1176
|
),
|
|
1177
|
+
"data-slot": slotName,
|
|
1171
1178
|
children: [
|
|
1172
1179
|
/* @__PURE__ */ jsxs("div", { className: "gap-4 sm:flex-row sm:items-center sm:justify-between flex flex-col", children: [
|
|
1173
1180
|
/* @__PURE__ */ jsxs("div", { className: "gap-3 flex items-center", children: [
|
|
@@ -1198,12 +1205,12 @@ function SettingsPanel({
|
|
|
1198
1205
|
description,
|
|
1199
1206
|
children,
|
|
1200
1207
|
inset = true,
|
|
1201
|
-
className
|
|
1208
|
+
className,
|
|
1209
|
+
slotName = "settings-panel"
|
|
1202
1210
|
}) {
|
|
1203
1211
|
return /* @__PURE__ */ jsxs(
|
|
1204
1212
|
"div",
|
|
1205
1213
|
{
|
|
1206
|
-
"data-slot": "settings-panel",
|
|
1207
1214
|
"data-inset": inset || void 0,
|
|
1208
1215
|
className: cn(
|
|
1209
1216
|
elevatedSurface,
|
|
@@ -1211,6 +1218,7 @@ function SettingsPanel({
|
|
|
1211
1218
|
inset && recessedSurface,
|
|
1212
1219
|
className
|
|
1213
1220
|
),
|
|
1221
|
+
"data-slot": slotName,
|
|
1214
1222
|
children: [
|
|
1215
1223
|
(title || description) && /* @__PURE__ */ jsxs("div", { children: [
|
|
1216
1224
|
title && /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
@@ -1259,16 +1267,17 @@ function SettingsField({
|
|
|
1259
1267
|
error,
|
|
1260
1268
|
required,
|
|
1261
1269
|
className,
|
|
1262
|
-
children
|
|
1270
|
+
children,
|
|
1271
|
+
slotName = "settings-field"
|
|
1263
1272
|
}) {
|
|
1264
1273
|
const generated = useId();
|
|
1265
1274
|
const fieldId = id ?? generated;
|
|
1266
1275
|
return /* @__PURE__ */ jsxs(
|
|
1267
1276
|
"div",
|
|
1268
1277
|
{
|
|
1269
|
-
"data-slot": "settings-field",
|
|
1270
1278
|
"data-invalid": error ? true : void 0,
|
|
1271
1279
|
className: cn("space-y-2 py-1", className),
|
|
1280
|
+
"data-slot": slotName,
|
|
1272
1281
|
children: [
|
|
1273
1282
|
/* @__PURE__ */ jsxs(Label, { htmlFor: fieldId, children: [
|
|
1274
1283
|
label,
|
|
@@ -1302,6 +1311,7 @@ function TextField({
|
|
|
1302
1311
|
onChange,
|
|
1303
1312
|
disabled,
|
|
1304
1313
|
placeholder,
|
|
1314
|
+
slotName = "text-field",
|
|
1305
1315
|
...field
|
|
1306
1316
|
}) {
|
|
1307
1317
|
return /* @__PURE__ */ jsx(SettingsField, { ...field, children: (fieldId) => /* @__PURE__ */ jsx(
|
|
@@ -1313,7 +1323,7 @@ function TextField({
|
|
|
1313
1323
|
disabled,
|
|
1314
1324
|
placeholder,
|
|
1315
1325
|
"aria-invalid": field.error ? true : void 0,
|
|
1316
|
-
|
|
1326
|
+
slotName,
|
|
1317
1327
|
onChange: (event) => onChange(event.target.value)
|
|
1318
1328
|
}
|
|
1319
1329
|
) });
|
|
@@ -1326,6 +1336,7 @@ function NumberField({
|
|
|
1326
1336
|
min,
|
|
1327
1337
|
max,
|
|
1328
1338
|
step,
|
|
1339
|
+
slotName = "number-field",
|
|
1329
1340
|
...field
|
|
1330
1341
|
}) {
|
|
1331
1342
|
return /* @__PURE__ */ jsx(SettingsField, { ...field, children: (fieldId) => /* @__PURE__ */ jsx(
|
|
@@ -1341,7 +1352,7 @@ function NumberField({
|
|
|
1341
1352
|
disabled,
|
|
1342
1353
|
placeholder,
|
|
1343
1354
|
"aria-invalid": field.error ? true : void 0,
|
|
1344
|
-
|
|
1355
|
+
slotName,
|
|
1345
1356
|
onChange: (event) => onChange(
|
|
1346
1357
|
event.target.value === "" ? "" : event.target.valueAsNumber
|
|
1347
1358
|
)
|
|
@@ -1354,6 +1365,7 @@ function DateField({
|
|
|
1354
1365
|
disabled,
|
|
1355
1366
|
min,
|
|
1356
1367
|
max,
|
|
1368
|
+
slotName = "date-field",
|
|
1357
1369
|
...field
|
|
1358
1370
|
}) {
|
|
1359
1371
|
return /* @__PURE__ */ jsx(SettingsField, { ...field, children: (fieldId) => /* @__PURE__ */ jsx(
|
|
@@ -1366,7 +1378,7 @@ function DateField({
|
|
|
1366
1378
|
max,
|
|
1367
1379
|
disabled,
|
|
1368
1380
|
"aria-invalid": field.error ? true : void 0,
|
|
1369
|
-
|
|
1381
|
+
slotName,
|
|
1370
1382
|
onChange: (event) => onChange(event.target.value)
|
|
1371
1383
|
}
|
|
1372
1384
|
) });
|
|
@@ -1377,6 +1389,7 @@ function SelectField({
|
|
|
1377
1389
|
options,
|
|
1378
1390
|
disabled,
|
|
1379
1391
|
placeholder,
|
|
1392
|
+
slotName = "select-field",
|
|
1380
1393
|
...field
|
|
1381
1394
|
}) {
|
|
1382
1395
|
return /* @__PURE__ */ jsx(SettingsField, { ...field, children: (fieldId) => /* @__PURE__ */ jsxs(
|
|
@@ -1390,7 +1403,7 @@ function SelectField({
|
|
|
1390
1403
|
SelectTrigger,
|
|
1391
1404
|
{
|
|
1392
1405
|
id: fieldId,
|
|
1393
|
-
|
|
1406
|
+
slotName,
|
|
1394
1407
|
"aria-invalid": field.error ? true : void 0,
|
|
1395
1408
|
children: /* @__PURE__ */ jsx(SelectValue, { placeholder })
|
|
1396
1409
|
}
|
|
@@ -1415,16 +1428,17 @@ function SettingsPage({
|
|
|
1415
1428
|
control,
|
|
1416
1429
|
linkComponent,
|
|
1417
1430
|
children,
|
|
1418
|
-
className
|
|
1431
|
+
className,
|
|
1432
|
+
slotName = "settings-page"
|
|
1419
1433
|
}) {
|
|
1420
1434
|
return /* @__PURE__ */ jsx(SettingsLinkContext.Provider, { value: linkComponent, children: /* @__PURE__ */ jsxs(
|
|
1421
1435
|
"div",
|
|
1422
1436
|
{
|
|
1423
|
-
"data-slot": "settings-page",
|
|
1424
1437
|
className: cn(
|
|
1425
1438
|
"gap-8 max-w-4xl mx-auto flex w-full flex-col",
|
|
1426
1439
|
className
|
|
1427
1440
|
),
|
|
1441
|
+
"data-slot": slotName,
|
|
1428
1442
|
children: [
|
|
1429
1443
|
title && /* @__PURE__ */ jsx(
|
|
1430
1444
|
SectionHeader,
|
|
@@ -1451,7 +1465,8 @@ function SettingsSection({
|
|
|
1451
1465
|
wide = false,
|
|
1452
1466
|
linkComponent,
|
|
1453
1467
|
children,
|
|
1454
|
-
className
|
|
1468
|
+
className,
|
|
1469
|
+
slotName = "settings-section"
|
|
1455
1470
|
}) {
|
|
1456
1471
|
const labels = useUiLabels("settings", settingsLabels, {
|
|
1457
1472
|
back: backLabel
|
|
@@ -1461,12 +1476,12 @@ function SettingsSection({
|
|
|
1461
1476
|
return /* @__PURE__ */ jsxs(
|
|
1462
1477
|
"section",
|
|
1463
1478
|
{
|
|
1464
|
-
"data-slot": "settings-section",
|
|
1465
1479
|
className: cn(
|
|
1466
1480
|
"gap-6 mx-auto flex w-full flex-col",
|
|
1467
1481
|
wide ? "max-w-4xl" : "max-w-2xl",
|
|
1468
1482
|
className
|
|
1469
1483
|
),
|
|
1484
|
+
"data-slot": slotName,
|
|
1470
1485
|
children: [
|
|
1471
1486
|
backHref && /* @__PURE__ */ jsxs(
|
|
1472
1487
|
Link,
|
|
@@ -1497,13 +1512,14 @@ function SettingsGroup({
|
|
|
1497
1512
|
label,
|
|
1498
1513
|
columns = 2,
|
|
1499
1514
|
children,
|
|
1500
|
-
className
|
|
1515
|
+
className,
|
|
1516
|
+
slotName = "settings-group"
|
|
1501
1517
|
}) {
|
|
1502
1518
|
return /* @__PURE__ */ jsxs(
|
|
1503
1519
|
"div",
|
|
1504
1520
|
{
|
|
1505
|
-
"data-slot": "settings-group",
|
|
1506
1521
|
className: cn("gap-3 flex flex-col", className),
|
|
1522
|
+
"data-slot": slotName,
|
|
1507
1523
|
children: [
|
|
1508
1524
|
label && /* @__PURE__ */ jsx("p", { className: "font-bold tracking-widest text-[11px] text-muted-foreground uppercase", children: label }),
|
|
1509
1525
|
/* @__PURE__ */ jsx(
|
|
@@ -1530,7 +1546,8 @@ function SettingsEntry({
|
|
|
1530
1546
|
badge,
|
|
1531
1547
|
disabled = false,
|
|
1532
1548
|
linkComponent,
|
|
1533
|
-
className
|
|
1549
|
+
className,
|
|
1550
|
+
slotName = "settings-entry"
|
|
1534
1551
|
}) {
|
|
1535
1552
|
const contextLink = useContext(SettingsLinkContext);
|
|
1536
1553
|
const Link = resolveLink(linkComponent ?? contextLink);
|
|
@@ -1568,25 +1585,14 @@ function SettingsEntry({
|
|
|
1568
1585
|
}
|
|
1569
1586
|
);
|
|
1570
1587
|
if (disabled) {
|
|
1571
|
-
return /* @__PURE__ */ jsx(
|
|
1572
|
-
"div",
|
|
1573
|
-
{
|
|
1574
|
-
"data-slot": "settings-entry",
|
|
1575
|
-
"data-disabled": "true",
|
|
1576
|
-
"aria-disabled": "true",
|
|
1577
|
-
children: card
|
|
1578
|
-
}
|
|
1579
|
-
);
|
|
1588
|
+
return /* @__PURE__ */ jsx("div", { "data-disabled": "true", "aria-disabled": "true", "data-slot": slotName, children: card });
|
|
1580
1589
|
}
|
|
1581
1590
|
return /* @__PURE__ */ jsx(
|
|
1582
1591
|
Link,
|
|
1583
1592
|
{
|
|
1584
|
-
"data-slot": "settings-entry",
|
|
1585
1593
|
href,
|
|
1586
|
-
className: cn(
|
|
1587
|
-
|
|
1588
|
-
"outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50"
|
|
1589
|
-
),
|
|
1594
|
+
className: cn(compactRadius, focusRing),
|
|
1595
|
+
"data-slot": slotName,
|
|
1590
1596
|
children: card
|
|
1591
1597
|
}
|
|
1592
1598
|
);
|
|
@@ -1625,13 +1631,13 @@ function StatCard({
|
|
|
1625
1631
|
trend,
|
|
1626
1632
|
comparisonLabel,
|
|
1627
1633
|
inset = false,
|
|
1628
|
-
className
|
|
1634
|
+
className,
|
|
1635
|
+
slotName = "stat-card"
|
|
1629
1636
|
}) {
|
|
1630
1637
|
const resolvedTrend = resolveTrend(trend);
|
|
1631
1638
|
return /* @__PURE__ */ jsxs(
|
|
1632
1639
|
"div",
|
|
1633
1640
|
{
|
|
1634
|
-
"data-slot": "stat-card",
|
|
1635
1641
|
"data-inset": inset || void 0,
|
|
1636
1642
|
className: cn(
|
|
1637
1643
|
elevatedSurface,
|
|
@@ -1639,6 +1645,7 @@ function StatCard({
|
|
|
1639
1645
|
inset && recessedSurface,
|
|
1640
1646
|
className
|
|
1641
1647
|
),
|
|
1648
|
+
"data-slot": slotName,
|
|
1642
1649
|
children: [
|
|
1643
1650
|
/* @__PURE__ */ jsxs("div", { className: "mb-4 gap-4 flex items-start justify-between", children: [
|
|
1644
1651
|
/* @__PURE__ */ jsx("div", { className: cn("rounded-2xl p-3 shrink-0", iconClassName), children: /* @__PURE__ */ jsx(Icon, { className: "size-6" }) }),
|
|
@@ -1745,7 +1752,8 @@ function TwoFactorVerifyForm({
|
|
|
1745
1752
|
submitLabel,
|
|
1746
1753
|
footer,
|
|
1747
1754
|
labels,
|
|
1748
|
-
className
|
|
1755
|
+
className,
|
|
1756
|
+
slotName = "two-factor-verify-form"
|
|
1749
1757
|
}) {
|
|
1750
1758
|
const text = resolveLabels(labels);
|
|
1751
1759
|
const fieldId = useId();
|
|
@@ -1778,11 +1786,11 @@ function TwoFactorVerifyForm({
|
|
|
1778
1786
|
return /* @__PURE__ */ jsxs(
|
|
1779
1787
|
"form",
|
|
1780
1788
|
{
|
|
1781
|
-
"data-slot": "two-factor-verify-form",
|
|
1782
1789
|
"data-mode": mode,
|
|
1783
1790
|
"data-pending": pending || void 0,
|
|
1784
1791
|
onSubmit: handleSubmit,
|
|
1785
1792
|
className: cn("gap-5 flex w-full flex-col", className),
|
|
1793
|
+
"data-slot": slotName,
|
|
1786
1794
|
children: [
|
|
1787
1795
|
/* @__PURE__ */ jsxs("div", { className: "gap-2 flex flex-col", children: [
|
|
1788
1796
|
/* @__PURE__ */ jsx(Label, { htmlFor: fieldId, children: mode === "code" ? text.codeLabel : text.recoveryCodeLabel }),
|
|
@@ -1803,7 +1811,7 @@ function TwoFactorVerifyForm({
|
|
|
1803
1811
|
Input,
|
|
1804
1812
|
{
|
|
1805
1813
|
id: fieldId,
|
|
1806
|
-
|
|
1814
|
+
slotName: "two-factor-recovery-input",
|
|
1807
1815
|
value,
|
|
1808
1816
|
autoComplete: "one-time-code",
|
|
1809
1817
|
spellCheck: false,
|
|
@@ -1814,7 +1822,7 @@ function TwoFactorVerifyForm({
|
|
|
1814
1822
|
}
|
|
1815
1823
|
)
|
|
1816
1824
|
] }),
|
|
1817
|
-
messages.length > 0 && /* @__PURE__ */ jsxs(Alert, { variant: "destructive",
|
|
1825
|
+
messages.length > 0 && /* @__PURE__ */ jsxs(Alert, { variant: "destructive", slotName: "two-factor-error", children: [
|
|
1818
1826
|
/* @__PURE__ */ jsx(AlertCircle, {}),
|
|
1819
1827
|
/* @__PURE__ */ jsx(AlertDescription, { children: messages.map((message) => /* @__PURE__ */ jsx("p", { children: message }, message)) })
|
|
1820
1828
|
] }),
|
|
@@ -1854,14 +1862,15 @@ function TwoFactorChallenge({
|
|
|
1854
1862
|
description,
|
|
1855
1863
|
footer,
|
|
1856
1864
|
labels,
|
|
1857
|
-
className
|
|
1865
|
+
className,
|
|
1866
|
+
slotName = "two-factor-challenge"
|
|
1858
1867
|
}) {
|
|
1859
1868
|
const text = resolveLabels(labels);
|
|
1860
1869
|
return /* @__PURE__ */ jsxs(
|
|
1861
1870
|
"section",
|
|
1862
1871
|
{
|
|
1863
|
-
"data-slot": "two-factor-challenge",
|
|
1864
1872
|
className: cn("gap-6 flex w-full flex-col", className),
|
|
1873
|
+
"data-slot": slotName,
|
|
1865
1874
|
children: [
|
|
1866
1875
|
/* @__PURE__ */ jsxs("div", { className: "gap-2 flex flex-col", children: [
|
|
1867
1876
|
/* @__PURE__ */ jsx("h2", { className: "text-2xl font-bold tracking-tight text-foreground", children: title ?? text.challengeTitle }),
|
|
@@ -1888,7 +1897,8 @@ function TwoFactorDisableButton({
|
|
|
1888
1897
|
variant = "destructive",
|
|
1889
1898
|
size = "default",
|
|
1890
1899
|
labels,
|
|
1891
|
-
className
|
|
1900
|
+
className,
|
|
1901
|
+
slotName = "two-factor-disable"
|
|
1892
1902
|
}) {
|
|
1893
1903
|
const text = resolveLabels(labels);
|
|
1894
1904
|
const [open, setOpen] = useState(false);
|
|
@@ -1904,9 +1914,9 @@ function TwoFactorDisableButton({
|
|
|
1904
1914
|
return /* @__PURE__ */ jsxs(
|
|
1905
1915
|
"span",
|
|
1906
1916
|
{
|
|
1907
|
-
"data-slot": "two-factor-disable",
|
|
1908
1917
|
"data-open": open || void 0,
|
|
1909
1918
|
className: cn("inline-flex", className),
|
|
1919
|
+
"data-slot": slotName,
|
|
1910
1920
|
children: [
|
|
1911
1921
|
/* @__PURE__ */ jsxs(
|
|
1912
1922
|
Button,
|
|
@@ -1945,7 +1955,8 @@ function TwoFactorRecoveryCodes({
|
|
|
1945
1955
|
onRegenerate,
|
|
1946
1956
|
showHeading = true,
|
|
1947
1957
|
labels,
|
|
1948
|
-
className
|
|
1958
|
+
className,
|
|
1959
|
+
slotName = "two-factor-recovery-codes"
|
|
1949
1960
|
}) {
|
|
1950
1961
|
const text = resolveLabels(labels);
|
|
1951
1962
|
const [revealed, setRevealed] = useState(defaultRevealed);
|
|
@@ -1965,9 +1976,9 @@ function TwoFactorRecoveryCodes({
|
|
|
1965
1976
|
return /* @__PURE__ */ jsxs(
|
|
1966
1977
|
"div",
|
|
1967
1978
|
{
|
|
1968
|
-
"data-slot": "two-factor-recovery-codes",
|
|
1969
1979
|
"data-revealed": revealed || void 0,
|
|
1970
1980
|
className: cn("gap-4 flex w-full flex-col", className),
|
|
1981
|
+
"data-slot": slotName,
|
|
1971
1982
|
children: [
|
|
1972
1983
|
showHeading && /* @__PURE__ */ jsxs("div", { className: "gap-1 flex flex-col", children: [
|
|
1973
1984
|
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold text-foreground", children: text.recoveryTitle }),
|
|
@@ -2057,15 +2068,16 @@ function TwoFactorScanStep({
|
|
|
2057
2068
|
qrCodeSvg,
|
|
2058
2069
|
manualSetupKey,
|
|
2059
2070
|
labels,
|
|
2060
|
-
className
|
|
2071
|
+
className,
|
|
2072
|
+
slotName = "two-factor-scan-step"
|
|
2061
2073
|
}) {
|
|
2062
2074
|
const text = resolveLabels(labels);
|
|
2063
2075
|
const [revealed, setRevealed] = useState(false);
|
|
2064
2076
|
return /* @__PURE__ */ jsxs(
|
|
2065
2077
|
"div",
|
|
2066
2078
|
{
|
|
2067
|
-
"data-slot": "two-factor-scan-step",
|
|
2068
2079
|
className: cn("gap-5 flex w-full flex-col", className),
|
|
2080
|
+
"data-slot": slotName,
|
|
2069
2081
|
children: [
|
|
2070
2082
|
/* @__PURE__ */ jsx(
|
|
2071
2083
|
"div",
|
|
@@ -2149,7 +2161,8 @@ function TwoFactorSetupDialog({
|
|
|
2149
2161
|
onRegenerateRecoveryCodes,
|
|
2150
2162
|
onCompleted,
|
|
2151
2163
|
labels,
|
|
2152
|
-
className
|
|
2164
|
+
className,
|
|
2165
|
+
slotName = "two-factor-setup-dialog"
|
|
2153
2166
|
}) {
|
|
2154
2167
|
const text = resolveLabels(labels);
|
|
2155
2168
|
const [step, setStep] = useState(
|
|
@@ -2199,9 +2212,9 @@ function TwoFactorSetupDialog({
|
|
|
2199
2212
|
return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs(
|
|
2200
2213
|
DialogContent,
|
|
2201
2214
|
{
|
|
2202
|
-
"data-slot": "two-factor-setup-dialog",
|
|
2203
2215
|
"data-step": step,
|
|
2204
2216
|
className: cn("max-w-md p-0", className),
|
|
2217
|
+
slotName,
|
|
2205
2218
|
children: [
|
|
2206
2219
|
/* @__PURE__ */ jsxs(DialogHeader, { className: "p-6 md:p-8", children: [
|
|
2207
2220
|
/* @__PURE__ */ jsx(DialogTitle, { children: heading }),
|