@assure-one/design-system 1.45.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/{brand-scope-BOKu4iOc.d.ts → brand-scope-DwLzUrSY.d.ts} +1 -1
  2. package/dist/{chunk-XNJP5LKC.js → chunk-AM4TSTSH.js} +43 -31
  3. package/dist/chunk-AM4TSTSH.js.map +1 -0
  4. package/dist/{chunk-64OYQNDR.js → chunk-FIRPQWYR.js} +197 -51
  5. package/dist/chunk-FIRPQWYR.js.map +1 -0
  6. package/dist/{chunk-ZS5VLSJW.js → chunk-IIBDSTOG.js} +18 -9
  7. package/dist/chunk-IIBDSTOG.js.map +1 -0
  8. package/dist/css/components.css +1 -1
  9. package/dist/{data-table-view-BWhKeUiw.d.ts → data-table-view-D9a1_IRF.d.ts} +50 -4
  10. package/dist/{design-system-provider-Coe2S3Lh.d.ts → design-system-provider-C6Tu1vyg.d.ts} +1 -1
  11. package/dist/index.d.ts +27 -9
  12. package/dist/index.js +190 -84
  13. package/dist/index.js.map +1 -1
  14. package/dist/legacy/index.d.ts +3 -3
  15. package/dist/legacy/index.js +2 -2
  16. package/dist/next/index.d.ts +2 -2
  17. package/dist/styles.css +1 -1
  18. package/dist/suite/index.d.ts +3 -3
  19. package/dist/suite/index.js +2 -2
  20. package/dist/{types-DlqmlVyZ.d.ts → types-BTHIs2nk.d.ts} +4 -0
  21. package/docs/components.md +2 -2
  22. package/docs/components.registry.json +2 -1
  23. package/package.json +1 -1
  24. package/public/brand/assure-audit-mark.svg +2 -5
  25. package/public/brand/assure-audit.svg +14 -7
  26. package/public/brand/assure-books-mark.svg +2 -5
  27. package/public/brand/assure-books.svg +14 -7
  28. package/public/brand/assure-pro-mark.svg +2 -5
  29. package/public/brand/assure-pro.svg +12 -7
  30. package/public/brand/assure-tax-mark.svg +2 -5
  31. package/public/brand/assure-tax.svg +12 -7
  32. package/dist/chunk-64OYQNDR.js.map +0 -1
  33. package/dist/chunk-XNJP5LKC.js.map +0 -1
  34. package/dist/chunk-ZS5VLSJW.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { slot, badgeAnatomy, stateAttributes, useDsMessages, deprecate, paginationAnatomy, Select, microInteractions, useFieldsetContext, useFieldControl, useControllableState, useFormReset2, useMergedRefs, switchAnatomy, CONTROL_LABEL_TEXT, tableAnatomy, Pressable, FormBridge, CONTROL_SIZE_CLASSES, FileUpload, FileChip, Button, Tooltip, TooltipTrigger, TooltipContent, Avatar, Input, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuLabel, dataTableAnatomy, Checkbox, DocumentDetailPanel, DocumentDetailHeader, DocumentDetailTitle, DocumentDetailRequester, DocumentDetailMetaRow, DocumentDetailActions, DropdownMenuItem, DocumentList, DocumentRow, DocumentListSection, Textarea, DropdownMenuCheckboxItem, Popover, PopoverTrigger, PopoverContent, PopoverClose, DropdownMenuShortcut, useId } from './chunk-ZS5VLSJW.js';
1
+ import { slot, badgeAnatomy, stateAttributes, useDsMessages, deprecate, paginationAnatomy, Select, microInteractions, useFieldsetContext, useFieldControl, useControllableState, useFormReset2, useMergedRefs, switchAnatomy, CONTROL_LABEL_TEXT, tableAnatomy, Pressable, Tooltip, TooltipTrigger, TooltipContent, FormBridge, CONTROL_SIZE_CLASSES, FileUpload, FileChip, Button, Avatar, Input, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuLabel, dataTableAnatomy, Checkbox, DocumentDetailPanel, DocumentDetailHeader, DocumentDetailTitle, DocumentDetailRequester, DocumentDetailMetaRow, DocumentDetailActions, DropdownMenuItem, DocumentList, DocumentRow, DocumentListSection, Textarea, DropdownMenuCheckboxItem, Popover, PopoverTrigger, PopoverContent, PopoverClose, DropdownMenuShortcut, useId } from './chunk-IIBDSTOG.js';
2
2
  import { cn, ShieldIcon, UploadIcon, SendIcon, ChevronLeftIcon, MoreHorizontalIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, ChevronsUpDownIcon, LockIcon, TrashIcon, HelpCircleIcon, ExtractIcon, ArrowRightIcon, CheckIcon, EyeIcon, FileTextIcon, CloseIcon, SparklesIcon, PlusIcon, SearchIcon, AlertTriangleIcon, FolderClosedIcon, CalendarIcon, PencilIcon, LockOpenIcon, FlagIcon, CheckCircleSolidIcon, DownloadIcon, XCircleSolidIcon, MessageCircleIcon, BellIcon, PaperclipIcon, UsersIcon, ClockIcon, PlayIcon, PauseIcon, StopIcon, SettingsIcon, Trash2Icon, FileIcon, SparkleIcon, MailIcon } from './chunk-ARCWF2S3.js';
3
3
  import { clsx } from 'clsx';
4
- import * as React2 from 'react';
4
+ import * as React3 from 'react';
5
5
  import { forwardRef, useMemo, createContext, useRef, useContext, useState, useCallback, useEffect } from 'react';
6
6
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
7
7
  import { cva } from 'class-variance-authority';
@@ -322,7 +322,7 @@ function getPageNumbers(current, total, siblings) {
322
322
  return [1, "ellipsis", ...range(leftSibling, rightSibling), "ellipsis", total];
323
323
  }
324
324
  var NAV_BUTTON = cn(
325
- "ds:inline-flex ds:size-7 ds:items-center ds:justify-center ds:rounded-btn ds:text-fg-3",
325
+ "ds:inline-flex ds:size-7 ds:cursor-pointer ds:items-center ds:justify-center ds:rounded-btn ds:text-fg-3",
326
326
  "ds:transition-colors ds:duration-[var(--duration-fast)] ds:ease-[var(--ease-out-quart)] ds:motion-reduce:transition-none",
327
327
  // Pressed takes the control press wash (Polish 2 §3.7, as ghost buttons do).
328
328
  "ds:hover:bg-surface-hover ds:hover:text-fg ds:active:bg-control-active-bg",
@@ -330,7 +330,10 @@ var NAV_BUTTON = cn(
330
330
  "ds:disabled:pointer-events-none ds:disabled:cursor-not-allowed ds:disabled:text-fg-disabled"
331
331
  );
332
332
  var PAGE_BUTTON_BASE = cn(
333
- "ds:inline-flex ds:h-7 ds:min-w-7 ds:items-center ds:justify-center ds:rounded-btn ds:px-2",
333
+ // The control-size inventory (W2-03) locates this control by a contiguous
334
+ // substring of the literal below (`scripts/control-sizes/inventory.mjs`),
335
+ // so `cursor-pointer` is appended after it rather than inserted inline.
336
+ "ds:inline-flex ds:h-7 ds:min-w-7 ds:items-center ds:justify-center ds:rounded-btn ds:px-2 ds:cursor-pointer",
334
337
  "ds:text-xs ds:font-medium ds:tabular-nums",
335
338
  "ds:transition-colors ds:duration-[var(--duration-fast)] ds:ease-[var(--ease-out-quart)] ds:motion-reduce:transition-none",
336
339
  "ds:focus-visible:outline-none ds:focus-visible:[box-shadow:var(--shadow-focus-ring)]"
@@ -951,7 +954,7 @@ var switchThumbVariants = cva(
951
954
  }
952
955
  }
953
956
  );
954
- var Switch = React2.forwardRef(
957
+ var Switch = React3.forwardRef(
955
958
  function Switch2({
956
959
  label,
957
960
  size,
@@ -985,8 +988,8 @@ var Switch = React2.forwardRef(
985
988
  defaultProp: defaultChecked ?? false,
986
989
  onChange: onCheckedChange
987
990
  });
988
- const initialChecked = React2.useRef(checkedProp ?? defaultChecked ?? false);
989
- const rootRef = React2.useRef(null);
991
+ const initialChecked = React3.useRef(checkedProp ?? defaultChecked ?? false);
992
+ const rootRef = React3.useRef(null);
990
993
  useFormReset2(rootRef, () => setChecked(initialChecked.current), form);
991
994
  const mergedRef = useMergedRefs(ref, rootRef);
992
995
  const root = /* @__PURE__ */ jsx(
@@ -1036,6 +1039,16 @@ var Switch = React2.forwardRef(
1036
1039
  }
1037
1040
  );
1038
1041
  Switch.displayName = SwitchPrimitive.Root.displayName;
1042
+ function useOverflowTooltip() {
1043
+ const ref = React3.useRef(null);
1044
+ const [overflowing, setOverflowing] = React3.useState(false);
1045
+ const measure = React3.useCallback(() => {
1046
+ const el = ref.current;
1047
+ if (!el) return;
1048
+ setOverflowing(el.scrollWidth > el.clientWidth || el.scrollHeight > el.clientHeight);
1049
+ }, []);
1050
+ return { ref, overflowing, onPointerEnter: measure, onFocus: measure };
1051
+ }
1039
1052
  var DEFAULT_TABLE_CONTEXT = { headerStyle: "plain", stickyHeader: false };
1040
1053
  var TableContext = createContext(DEFAULT_TABLE_CONTEXT);
1041
1054
  function useOverflowing(target) {
@@ -1129,7 +1142,14 @@ var TableFooter = forwardRef(
1129
1142
  ref,
1130
1143
  ...slot(tableAnatomy, "footer"),
1131
1144
  className: cn(
1132
- "ds:border-rule ds:bg-surface-2 ds:border-t ds:font-medium ds:[&>tr]:last:border-b-0",
1145
+ // The canonical totals look (table-standardization docs): a top
1146
+ // rule separating it from the body, and semibold weight (not the
1147
+ // body's regular/medium) on every cell — `numeric` cells read it
1148
+ // on their tabular-nums figures, a plain label cell ("Total") on
1149
+ // its text. Was `font-medium`; bumped to match "semibold numeric
1150
+ // cells" so apps stop hand-styling this row (visual change, noted
1151
+ // in the changeset).
1152
+ "ds:border-rule ds:bg-surface-2 ds:border-t ds:font-semibold ds:[&>tr]:last:border-b-0",
1133
1153
  className
1134
1154
  ),
1135
1155
  ...props
@@ -1279,27 +1299,144 @@ var TableHead = forwardRef(function TableHead2({
1279
1299
  );
1280
1300
  });
1281
1301
  TableHead.displayName = "TableHead";
1282
- var TableCell = forwardRef(function TableCell2({ className, align, numeric, muted, truncate, width, sticky, style, ...props }, ref) {
1302
+ var TableCell = forwardRef(function TableCell2({
1303
+ className,
1304
+ align,
1305
+ numeric,
1306
+ muted,
1307
+ truncate,
1308
+ width,
1309
+ sticky,
1310
+ overflowTooltip,
1311
+ style,
1312
+ children,
1313
+ onPointerEnter,
1314
+ onFocus,
1315
+ ...props
1316
+ }, ref) {
1317
+ const cellClassName = cn(
1318
+ // 13px, fg-2, soft 1px row divider, tabular nums; airier vertical
1319
+ // rhythm for the taller rows in the catalog layout.
1320
+ "ds:text-fg-2 ds:px-(--table-cell-padding-x) ds:py-(--table-cell-padding-y) ds:align-middle ds:text-(length:--control-font-size-md) ds:tabular-nums",
1321
+ "ds:[&:has([role=checkbox])]:pr-0",
1322
+ muted && "ds:text-fg-3",
1323
+ cellCommon({ align, numeric, truncate, sticky }, STICKY_CELL_SURFACE),
1324
+ className
1325
+ );
1326
+ const cellStyle = widthStyle(width, style);
1327
+ const overflow = useOverflowTooltip();
1328
+ const mergedRef = useMergedRefs(ref, overflow.ref);
1329
+ if (overflowTooltip && truncate) {
1330
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [
1331
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
1332
+ "td",
1333
+ {
1334
+ ref: mergedRef,
1335
+ ...slot(tableAnatomy, "cell"),
1336
+ className: cellClassName,
1337
+ style: cellStyle,
1338
+ onPointerEnter: (event) => {
1339
+ onPointerEnter?.(event);
1340
+ overflow.onPointerEnter();
1341
+ },
1342
+ onFocus: (event) => {
1343
+ onFocus?.(event);
1344
+ overflow.onFocus();
1345
+ },
1346
+ ...props,
1347
+ children
1348
+ }
1349
+ ) }),
1350
+ overflow.overflowing && /* @__PURE__ */ jsx(TooltipContent, { children })
1351
+ ] });
1352
+ }
1283
1353
  return /* @__PURE__ */ jsx(
1284
1354
  "td",
1285
1355
  {
1286
1356
  ref,
1287
1357
  ...slot(tableAnatomy, "cell"),
1288
- className: cn(
1289
- // 13px, fg-2, soft 1px row divider, tabular nums; airier vertical
1290
- // rhythm for the taller rows in the catalog layout.
1291
- "ds:text-fg-2 ds:px-(--table-cell-padding-x) ds:py-(--table-cell-padding-y) ds:align-middle ds:text-(length:--control-font-size-md) ds:tabular-nums",
1292
- "ds:[&:has([role=checkbox])]:pr-0",
1293
- muted && "ds:text-fg-3",
1294
- cellCommon({ align, numeric, truncate, sticky }, STICKY_CELL_SURFACE),
1295
- className
1296
- ),
1297
- style: widthStyle(width, style),
1298
- ...props
1358
+ className: cellClassName,
1359
+ style: cellStyle,
1360
+ onPointerEnter,
1361
+ onFocus,
1362
+ ...props,
1363
+ children
1299
1364
  }
1300
1365
  );
1301
1366
  });
1302
1367
  TableCell.displayName = "TableCell";
1368
+ var STICKY_GROUP_ROW_Z = "ds:z-[var(--z-base)]";
1369
+ var TableGroupRow = forwardRef(
1370
+ function TableGroupRow2({
1371
+ colSpan,
1372
+ label,
1373
+ trailing,
1374
+ collapsible = false,
1375
+ open = true,
1376
+ onOpenChange,
1377
+ messages: messagesProp,
1378
+ className,
1379
+ ...props
1380
+ }, ref) {
1381
+ const messages = useDsMessages("table", messagesProp);
1382
+ const { stickyHeader } = useContext(TableContext);
1383
+ return /* @__PURE__ */ jsx("tr", { ref, ...slot(tableAnatomy, "group-row"), ...props, children: /* @__PURE__ */ jsx(
1384
+ "td",
1385
+ {
1386
+ colSpan,
1387
+ className: cn(
1388
+ "ds:bg-surface-2 ds:border-rule ds:h-(--table-row-height) ds:border-b ds:px-(--table-cell-padding-x) ds:align-middle",
1389
+ // Stuck under the sticky header (W6-10's own token, so the two
1390
+ // heights can never drift apart) rather than on the `<tr>`: a
1391
+ // sticky `<tr>` in a collapsed-border table is the flaky part
1392
+ // across engines, a sticky cell is the reliable one — the same
1393
+ // choice `TableHead`'s own sticky rule makes above.
1394
+ stickyHeader && cn("ds:sticky ds:top-(--table-row-height) ds:[box-shadow:inset_0_-1px_0_var(--color-rule)]", STICKY_GROUP_ROW_Z),
1395
+ className
1396
+ ),
1397
+ children: /* @__PURE__ */ jsxs("div", { className: "ds:flex ds:items-center ds:gap-1.5", children: [
1398
+ collapsible && /* @__PURE__ */ jsx(
1399
+ Pressable,
1400
+ {
1401
+ ...slot(tableAnatomy, "group-row-toggle"),
1402
+ "aria-expanded": open,
1403
+ onClick: () => onOpenChange?.(!open),
1404
+ "aria-label": open ? messages.collapseSection : messages.expandSection,
1405
+ className: "ds:-ml-1 ds:inline-flex ds:size-5 ds:shrink-0 ds:items-center ds:justify-center ds:rounded-icon ds:text-fg-4 ds:hover:text-fg-2",
1406
+ children: /* @__PURE__ */ jsx(
1407
+ ChevronDownIcon,
1408
+ {
1409
+ className: cn(
1410
+ "ds:size-3.5 ds:transition-transform ds:duration-[var(--duration-fast)] ds:ease-[var(--ease-out-quart)] ds:motion-reduce:transition-none",
1411
+ !open && "ds:-rotate-90"
1412
+ ),
1413
+ "aria-hidden": "true"
1414
+ }
1415
+ )
1416
+ }
1417
+ ),
1418
+ /* @__PURE__ */ jsx(
1419
+ "span",
1420
+ {
1421
+ ...slot(tableAnatomy, "group-row-label"),
1422
+ className: "ds:font-mono ds:text-overline ds:text-fg-4 ds:font-medium ds:tracking-[0.14em] ds:uppercase",
1423
+ children: label
1424
+ }
1425
+ ),
1426
+ trailing && /* @__PURE__ */ jsx(
1427
+ "span",
1428
+ {
1429
+ ...slot(tableAnatomy, "group-row-trailing"),
1430
+ className: "ds:text-fg-3 ds:ml-auto ds:shrink-0 ds:text-xs",
1431
+ children: trailing
1432
+ }
1433
+ )
1434
+ ] })
1435
+ }
1436
+ ) });
1437
+ }
1438
+ );
1439
+ TableGroupRow.displayName = "TableGroupRow";
1303
1440
  var TableCaption = forwardRef(
1304
1441
  function TableCaption2({ className, ...props }, ref) {
1305
1442
  return /* @__PURE__ */ jsx(
@@ -1324,7 +1461,7 @@ var SEGMENTED_ITEM_CLASSES = cn(
1324
1461
  );
1325
1462
  var itemVariants = cva(
1326
1463
  cn(
1327
- "ds:inline-flex ds:items-center ds:justify-center ds:rounded-pill ds:px-3 ds:py-1.5 ds:text-(length:--control-font-size-md) ds:font-medium",
1464
+ "ds:inline-flex ds:cursor-pointer ds:items-center ds:justify-center ds:rounded-pill ds:px-3 ds:py-1.5 ds:text-(length:--control-font-size-md) ds:font-medium",
1328
1465
  "ds:text-fg-3",
1329
1466
  microInteractions.selection,
1330
1467
  "ds:hover:bg-surface-hover ds:hover:text-fg",
@@ -1347,7 +1484,7 @@ var itemVariants = cva(
1347
1484
  );
1348
1485
  var sizedItemVariants = cva(
1349
1486
  cn(
1350
- "ds:inline-flex ds:items-center ds:justify-center ds:rounded-pill ds:font-medium",
1487
+ "ds:inline-flex ds:cursor-pointer ds:items-center ds:justify-center ds:rounded-pill ds:font-medium",
1351
1488
  "ds:text-fg-3",
1352
1489
  microInteractions.selection,
1353
1490
  "ds:hover:bg-surface-hover ds:hover:text-fg",
@@ -1368,11 +1505,11 @@ var sizedItemVariants = cva(
1368
1505
  }
1369
1506
  }
1370
1507
  );
1371
- var ToggleGroupContext = React2.createContext({
1508
+ var ToggleGroupContext = React3.createContext({
1372
1509
  variant: "default",
1373
1510
  size: void 0
1374
1511
  });
1375
- var ToggleGroup = React2.forwardRef(function ToggleGroup2({
1512
+ var ToggleGroup = React3.forwardRef(function ToggleGroup2({
1376
1513
  className,
1377
1514
  variant,
1378
1515
  size,
@@ -1414,11 +1551,11 @@ var ToggleGroup = React2.forwardRef(function ToggleGroup2({
1414
1551
  defaultProp: defaultValue ?? emptyValue,
1415
1552
  onChange: onValueChange
1416
1553
  });
1417
- const initialValue = React2.useRef(valueProp ?? defaultValue ?? emptyValue);
1418
- const rootRef = React2.useRef(null);
1554
+ const initialValue = React3.useRef(valueProp ?? defaultValue ?? emptyValue);
1555
+ const rootRef = React3.useRef(null);
1419
1556
  const mergedRef = useMergedRefs(ref, rootRef);
1420
1557
  const labelledBy = wiring["aria-labelledby"] ?? (fieldset?.legendMounted ? fieldset.legendId : void 0);
1421
- const context = React2.useMemo(() => ({ variant, size }), [variant, size]);
1558
+ const context = React3.useMemo(() => ({ variant, size }), [variant, size]);
1422
1559
  const radixProps = {
1423
1560
  ...props,
1424
1561
  type,
@@ -1465,8 +1602,8 @@ var ToggleGroup = React2.forwardRef(function ToggleGroup2({
1465
1602
  ] });
1466
1603
  });
1467
1604
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
1468
- var ToggleGroupItem = React2.forwardRef(function ToggleGroupItem2({ className, variant, ...props }, ref) {
1469
- const ctx = React2.useContext(ToggleGroupContext);
1605
+ var ToggleGroupItem = React3.forwardRef(function ToggleGroupItem2({ className, variant, ...props }, ref) {
1606
+ const ctx = React3.useContext(ToggleGroupContext);
1470
1607
  const resolvedVariant = variant ?? ctx.variant;
1471
1608
  return /* @__PURE__ */ jsx(
1472
1609
  ToggleGroupPrimitive.Item,
@@ -1481,13 +1618,13 @@ var ToggleGroupItem = React2.forwardRef(function ToggleGroupItem2({ className, v
1481
1618
  );
1482
1619
  });
1483
1620
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
1484
- var Tabs = React2.forwardRef(
1621
+ var Tabs = React3.forwardRef(
1485
1622
  function Tabs2({ className, ...props }, ref) {
1486
1623
  return /* @__PURE__ */ jsx(TabsPrimitive.Root, { ref, className: cn(className), ...props });
1487
1624
  }
1488
1625
  );
1489
1626
  Tabs.displayName = TabsPrimitive.Root.displayName;
1490
- var TabsList = React2.forwardRef(function TabsList2({ className, variant = "default", ...props }, ref) {
1627
+ var TabsList = React3.forwardRef(function TabsList2({ className, variant = "default", ...props }, ref) {
1491
1628
  return /* @__PURE__ */ jsx(
1492
1629
  TabsPrimitive.List,
1493
1630
  {
@@ -1510,7 +1647,7 @@ var TabsList = React2.forwardRef(function TabsList2({ className, variant = "defa
1510
1647
  TabsList.displayName = TabsPrimitive.List.displayName;
1511
1648
  var triggerVariants = cva(
1512
1649
  cn(
1513
- "ds:inline-flex ds:items-center ds:justify-center ds:gap-2 ds:text-(length:--control-font-size-md) ds:font-medium",
1650
+ "ds:inline-flex ds:cursor-pointer ds:items-center ds:justify-center ds:gap-2 ds:text-(length:--control-font-size-md) ds:font-medium",
1514
1651
  "ds:text-fg-3",
1515
1652
  microInteractions.selection,
1516
1653
  "ds:focus-visible:outline-none ds:focus-visible:[box-shadow:var(--shadow-focus-ring)]",
@@ -1556,7 +1693,7 @@ var triggerVariants = cva(
1556
1693
  }
1557
1694
  }
1558
1695
  );
1559
- var TabsTrigger = React2.forwardRef(function TabsTrigger2({ className, variant, ...props }, ref) {
1696
+ var TabsTrigger = React3.forwardRef(function TabsTrigger2({ className, variant, ...props }, ref) {
1560
1697
  return /* @__PURE__ */ jsx(
1561
1698
  TabsPrimitive.Trigger,
1562
1699
  {
@@ -1567,7 +1704,7 @@ var TabsTrigger = React2.forwardRef(function TabsTrigger2({ className, variant,
1567
1704
  );
1568
1705
  });
1569
1706
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
1570
- var TabsContent = React2.forwardRef(function TabsContent2({ className, ...props }, ref) {
1707
+ var TabsContent = React3.forwardRef(function TabsContent2({ className, ...props }, ref) {
1571
1708
  return /* @__PURE__ */ jsx(
1572
1709
  TabsPrimitive.Content,
1573
1710
  {
@@ -1593,7 +1730,7 @@ function TeamMemberSelect({
1593
1730
  className,
1594
1731
  size
1595
1732
  }) {
1596
- const options = React2.useMemo(() => {
1733
+ const options = React3.useMemo(() => {
1597
1734
  const meBadge = /* @__PURE__ */ jsx(
1598
1735
  Badge,
1599
1736
  {
@@ -2866,7 +3003,7 @@ function MetaText({
2866
3003
  if (presentValues.length === 0) {
2867
3004
  return null;
2868
3005
  }
2869
- return /* @__PURE__ */ jsx("div", { className, children: presentValues.map((value, index) => /* @__PURE__ */ jsxs(React2.Fragment, { children: [
3006
+ return /* @__PURE__ */ jsx("div", { className, children: presentValues.map((value, index) => /* @__PURE__ */ jsxs(React3.Fragment, { children: [
2870
3007
  index > 0 && /* @__PURE__ */ jsx(
2871
3008
  "span",
2872
3009
  {
@@ -2951,7 +3088,7 @@ function MoreActions({ menu }) {
2951
3088
  /* @__PURE__ */ jsx(DropdownMenuContent, { align: "end", onClick: (event) => event.stopPropagation(), children: menu })
2952
3089
  ] });
2953
3090
  }
2954
- var DocumentFileRow = React2.forwardRef(
3091
+ var DocumentFileRow = React3.forwardRef(
2955
3092
  function DocumentFileRow2({
2956
3093
  name,
2957
3094
  fileType,
@@ -3018,7 +3155,7 @@ var DocumentFileRow = React2.forwardRef(
3018
3155
  }
3019
3156
  );
3020
3157
  DocumentFileRow.displayName = "DocumentFileRow";
3021
- var DocumentFileCard = React2.forwardRef(
3158
+ var DocumentFileCard = React3.forwardRef(
3022
3159
  function DocumentFileCard2({
3023
3160
  name,
3024
3161
  fileType,
@@ -3094,7 +3231,7 @@ var lineCaptionToneClass = {
3094
3231
  warning: "ds:text-warning-fg",
3095
3232
  danger: "ds:text-danger-fg"
3096
3233
  };
3097
- var DocumentFileLine = React2.forwardRef(
3234
+ var DocumentFileLine = React3.forwardRef(
3098
3235
  function DocumentFileLine2({
3099
3236
  name,
3100
3237
  fileType = "",
@@ -3268,7 +3405,7 @@ function FileGroup({ files }) {
3268
3405
  file.id
3269
3406
  )) });
3270
3407
  }
3271
- var DocumentChecklist = React2.forwardRef(
3408
+ var DocumentChecklist = React3.forwardRef(
3272
3409
  function DocumentChecklist2({
3273
3410
  items,
3274
3411
  title = "Your documents",
@@ -4237,14 +4374,23 @@ var DocumentRequestCard = forwardRef(
4237
4374
  docWord
4238
4375
  ] }),
4239
4376
  assignees.length > 0 && /* @__PURE__ */ jsxs("span", { className: "ds:text-fg-3 ds:ml-auto ds:flex ds:items-center ds:gap-2 ds:text-[12.5px]", children: [
4240
- /* @__PURE__ */ jsx("span", { className: "ds:flex ds:items-center ds:-space-x-1.5", children: assignees.map((name) => /* @__PURE__ */ jsx(
4241
- "span",
4242
- {
4243
- title: name,
4244
- className: "ds:border-surface ds:bg-surface-2 ds:text-fg-3 ds:ring-surface ds:grid ds:size-6 ds:place-items-center ds:rounded-full ds:border ds:text-[10px] ds:font-semibold ds:ring-1",
4245
- children: initials(name)
4246
- },
4247
- name
4377
+ /* @__PURE__ */ jsx("span", { className: "ds:flex ds:items-center ds:-space-x-1.5", children: assignees.map((name) => (
4378
+ // C-DOM-15 (assure-pro) freezes this row's exact markup —
4379
+ // Pro selects on it without a DS fork. A DS `Tooltip`
4380
+ // here (even `TooltipTrigger asChild`, which adds no
4381
+ // element) still stamps a `data-state="closed"` attribute
4382
+ // onto this span, which the freeze's structure snapshot
4383
+ // also protects, so this one stays on native `title=`
4384
+ // until the freeze lifts (module moves to Pro).
4385
+ /* @__PURE__ */ jsx(
4386
+ "span",
4387
+ {
4388
+ title: name,
4389
+ className: "ds:border-surface ds:bg-surface-2 ds:text-fg-3 ds:ring-surface ds:grid ds:size-6 ds:place-items-center ds:rounded-full ds:border ds:text-[10px] ds:font-semibold ds:ring-1",
4390
+ children: initials(name)
4391
+ },
4392
+ name
4393
+ )
4248
4394
  )) }),
4249
4395
  "Assigned"
4250
4396
  ] })
@@ -5603,6 +5749,6 @@ function SignatureEditor({
5603
5749
  }
5604
5750
  SignatureEditor.displayName = "SignatureEditor";
5605
5751
 
5606
- export { AIReceiptPanel, AiDraftCard, Assignee, AttentionItem, Badge, Blockquote, BottomNav, CategoryDivider, CategoryTag, ChannelTabs, ClientRailGroupHeader, ClientRailItem, Dash, DashGrid, DataTable, DataTableBody, DataTableCell, DataTableCellDue, DataTableCellId, DataTableCellMono, DataTableCellName, DataTableCheckbox, DataTableHead, DataTableHeader, DataTablePagination, DataTableResultsCount, DataTableRow, DataTableSearch, DataTableSpacer, DataTableToolbar, DataTableView, DocumentChecklist, DocumentFileCard, DocumentFileLine, DocumentFileRow, DocumentRequestCard, DocumentRequestDetail, DocumentRequestField, DocumentRequestUpload, DocumentSourceFilter, DocumentSourceTag, DocumentsWorkspaceLayout, EmailMessageCard, EmptyValue, EngagementCard, EngagementTimeline, EngagementTimelineStep, IntentBadge, MissingDocumentsPanel, MoneyCell, NewMenu, PROGRESS_LEGACY_TO_INTENT, Pagination, ProgressBar, ProgressRing, SERVICE_TONES, STATUS_DOT_TONE_TO_INTENT, Section, SectionHead, SectionHeader, SegmentedProgress, SignatureEditor, Skeleton, SkeletonCircle, SkeletonText, StagePill, Stat, StatusDot, StatusPill, SuggestionPills, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagsCell, TeamMemberSelect, TimeLogger, TimeLoggerActions, TimeLoggerBillable, TimeLoggerContextRow, TimeLoggerEntry, TimeLoggerEntryList, TimeLoggerField, TimeLoggerFooter, TimeLoggerHeader, TimeLoggerNotes, TimeLoggerTimer, ToggleGroup, ToggleGroupItem, badgeVariants, compareSortValues, formatClock, formatCurrency, formatDuration, nextSortDirection, parseDuration, progressBarVariants, progressRingVariants, resolveBadgeAppearance, serviceToneLabel, serviceToneStyle, statusDotVariants, useDataTable, useStopwatch };
5607
- //# sourceMappingURL=chunk-64OYQNDR.js.map
5608
- //# sourceMappingURL=chunk-64OYQNDR.js.map
5752
+ export { AIReceiptPanel, AiDraftCard, Assignee, AttentionItem, Badge, Blockquote, BottomNav, CategoryDivider, CategoryTag, ChannelTabs, ClientRailGroupHeader, ClientRailItem, Dash, DashGrid, DataTable, DataTableBody, DataTableCell, DataTableCellDue, DataTableCellId, DataTableCellMono, DataTableCellName, DataTableCheckbox, DataTableHead, DataTableHeader, DataTablePagination, DataTableResultsCount, DataTableRow, DataTableSearch, DataTableSpacer, DataTableToolbar, DataTableView, DocumentChecklist, DocumentFileCard, DocumentFileLine, DocumentFileRow, DocumentRequestCard, DocumentRequestDetail, DocumentRequestField, DocumentRequestUpload, DocumentSourceFilter, DocumentSourceTag, DocumentsWorkspaceLayout, EmailMessageCard, EmptyValue, EngagementCard, EngagementTimeline, EngagementTimelineStep, IntentBadge, MissingDocumentsPanel, MoneyCell, NewMenu, PROGRESS_LEGACY_TO_INTENT, Pagination, ProgressBar, ProgressRing, SERVICE_TONES, STATUS_DOT_TONE_TO_INTENT, Section, SectionHead, SectionHeader, SegmentedProgress, SignatureEditor, Skeleton, SkeletonCircle, SkeletonText, StagePill, Stat, StatusDot, StatusPill, SuggestionPills, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableGroupRow, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagsCell, TeamMemberSelect, TimeLogger, TimeLoggerActions, TimeLoggerBillable, TimeLoggerContextRow, TimeLoggerEntry, TimeLoggerEntryList, TimeLoggerField, TimeLoggerFooter, TimeLoggerHeader, TimeLoggerNotes, TimeLoggerTimer, ToggleGroup, ToggleGroupItem, badgeVariants, compareSortValues, formatClock, formatCurrency, formatDuration, nextSortDirection, parseDuration, progressBarVariants, progressRingVariants, resolveBadgeAppearance, serviceToneLabel, serviceToneStyle, statusDotVariants, useDataTable, useOverflowTooltip, useStopwatch };
5753
+ //# sourceMappingURL=chunk-FIRPQWYR.js.map
5754
+ //# sourceMappingURL=chunk-FIRPQWYR.js.map