@godxjp/ui 23.3.0 → 23.4.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 (79) hide show
  1. package/dist/components/data-display/card.d.ts +87 -1
  2. package/dist/components/data-display/card.js +88 -15
  3. package/dist/components/data-display/index.d.ts +5 -1
  4. package/dist/components/data-display/index.js +5 -0
  5. package/dist/components/data-display/thought-chain.d.ts +42 -0
  6. package/dist/components/data-display/thought-chain.js +177 -0
  7. package/dist/components/data-display/welcome.d.ts +26 -0
  8. package/dist/components/data-display/welcome.js +37 -0
  9. package/dist/components/data-entry/attachments.d.ts +19 -0
  10. package/dist/components/data-entry/attachments.js +322 -0
  11. package/dist/components/data-entry/index.d.ts +2 -0
  12. package/dist/components/data-entry/index.js +2 -0
  13. package/dist/components/feedback/dialog.d.ts +10 -7
  14. package/dist/components/feedback/dialog.js +40 -17
  15. package/dist/components/feedback/index.d.ts +1 -1
  16. package/dist/components/general/actions.d.ts +59 -0
  17. package/dist/components/general/actions.js +253 -0
  18. package/dist/components/general/activity.js +1 -0
  19. package/dist/components/general/float-button.d.ts +41 -0
  20. package/dist/components/general/float-button.js +336 -0
  21. package/dist/components/general/index.d.ts +6 -2
  22. package/dist/components/general/index.js +12 -1
  23. package/dist/components/general/typography.d.ts +79 -4
  24. package/dist/components/general/typography.js +598 -54
  25. package/dist/components/layout/draggable-panel.d.ts +18 -0
  26. package/dist/components/layout/draggable-panel.js +189 -0
  27. package/dist/components/layout/index.d.ts +2 -0
  28. package/dist/components/layout/index.js +2 -0
  29. package/dist/components/navigation/conversations.d.ts +39 -0
  30. package/dist/components/navigation/conversations.js +371 -0
  31. package/dist/components/navigation/index.d.ts +2 -0
  32. package/dist/components/navigation/index.js +2 -0
  33. package/dist/components/ui/card.js +1 -0
  34. package/dist/i18n/messages/en.json +53 -0
  35. package/dist/i18n/messages/ja.json +53 -0
  36. package/dist/i18n/messages/vi.json +53 -0
  37. package/dist/props/components/data-display.prop.d.ts +143 -1
  38. package/dist/props/components/data-entry.prop.d.ts +76 -0
  39. package/dist/props/components/feedback.prop.d.ts +34 -1
  40. package/dist/props/components/general.prop.d.ts +440 -3
  41. package/dist/props/components/index.d.ts +2 -2
  42. package/dist/props/components/layout.prop.d.ts +63 -1
  43. package/dist/props/components/navigation.prop.d.ts +150 -0
  44. package/dist/props/registry.d.ts +426 -0
  45. package/dist/props/registry.js +546 -0
  46. package/dist/props/vocabulary/index.d.ts +1 -1
  47. package/dist/props/vocabulary/interaction.prop.d.ts +113 -0
  48. package/dist/styles/card-layout.css +30 -0
  49. package/dist/styles/core.css +1 -0
  50. package/dist/styles/data-display-layout.css +236 -0
  51. package/dist/styles/float-button-layout.css +168 -0
  52. package/dist/styles/index.css +1 -0
  53. package/dist/styles/layout.css +196 -0
  54. package/dist/styles/navigation-layout.css +139 -0
  55. package/dist/styles/text-layout.css +156 -0
  56. package/dist/tokens/base.css +7 -0
  57. package/dist/tokens/components/actions.css +14 -0
  58. package/dist/tokens/components/attachments.css +15 -0
  59. package/dist/tokens/components/conversations.css +28 -0
  60. package/dist/tokens/components/draggable-panel.css +25 -0
  61. package/dist/tokens/components/float-button.css +39 -0
  62. package/dist/tokens/components/text.css +13 -0
  63. package/dist/tokens/components/thought-chain.css +31 -0
  64. package/dist/tokens/components/welcome.css +19 -0
  65. package/dist/tokens/foundation.css +2 -0
  66. package/docs/DESIGN-AUTHORITY.md +89 -0
  67. package/docs/FRAME-COVERAGE-REPORT.md +5 -2
  68. package/docs/data-display/card/examples/tab-list.tsx +97 -0
  69. package/docs/data-display/thought-chain.tsx +176 -0
  70. package/docs/data-display/welcome.tsx +115 -0
  71. package/docs/data-entry/attachments.tsx +160 -0
  72. package/docs/feedback/dialog.tsx +50 -0
  73. package/docs/general/actions.tsx +175 -0
  74. package/docs/general/float-button.tsx +133 -0
  75. package/docs/general/typography.tsx +63 -1
  76. package/docs/layout/draggable-panel.tsx +127 -0
  77. package/docs/navigation/conversations.tsx +176 -0
  78. package/docs/roadmap/parity-audit-layout-navigation-general.md +17 -16
  79. package/package.json +3 -3
@@ -466,3 +466,153 @@ export type TabsProp = {
466
466
  listClassName?: ClassNameProp;
467
467
  contentClassName?: ClassNameProp;
468
468
  };
469
+ /**
470
+ * One conversation in the rail. Ant Design X `ConversationItemType`, field for field:
471
+ * `key`, `label`, `group`, `icon`, `disabled`.
472
+ *
473
+ * `key` is `string` and REQUIRED, as it is in Ant X — the rail's whole contract (which row is
474
+ * active, which row a menu command was aimed at, which row the roving tabindex is parked on) is
475
+ * addressed by it, and an optional identity would make every one of those "probably this one".
476
+ * @see Conversations
477
+ */
478
+ /**
479
+ * One row. Ant Design X calls this `Conversation` and this type carries every field of it.
480
+ *
481
+ * THREE ANT DESIGN X PROPS ARE DELIBERATELY ABSENT from `ConversationsProp`, and under
482
+ * `docs/DESIGN-AUTHORITY.md` an undocumented deviation is a bug, so here are the reasons:
483
+ * `styles`, `classNames` and `rootClassName` are antd's per-part style escape hatches. This
484
+ * library's equivalent is the token tier — a service retunes every Conversations list at once by
485
+ * rebinding `--conversations-*`, and `check:no-hardcoded-css-values` plus the CONSUMER-RULES ban
486
+ * on utility classes exist precisely so a call site cannot paint one list differently from its
487
+ * neighbours. Accepting them would hand back the thing those gates are for.
488
+ */
489
+ export type ConversationsItemProp = {
490
+ /** Unique identity of the conversation. Ant Design X `key`. */
491
+ key: string;
492
+ /** What the row reads. Ant Design X `label`. */
493
+ label?: React.ReactNode;
494
+ /** Bucket this row belongs to, honoured only while `groupable` is on. Ant Design X `group`. */
495
+ group?: string;
496
+ /** Decorative leading node. Ant Design X `icon`. */
497
+ icon?: React.ReactNode;
498
+ /** Row stays visible and reachable by arrow key, but cannot be activated. Ant Design X `disabled`. */
499
+ disabled?: DisabledProp;
500
+ /**
501
+ * When the conversation last moved, as an epoch milliseconds number — Ant Design X `timestamp`.
502
+ *
503
+ * A NUMBER, not a formatted string, and that is the whole point: the row renders it through the
504
+ * app's own locale and timezone from `AppProvider`, so a Japanese tenant reads 2026/03/15 and a
505
+ * Vietnamese one reads 15/03/2026 from the SAME data. Handing the component a pre-formatted
506
+ * string is what `docs/DATETIME.md` rule 1 forbids, and it is the reason this prop is not
507
+ * `ReactNode` even though every other field here is.
508
+ */
509
+ timestamp?: number;
510
+ };
511
+ /**
512
+ * A rule between two runs of conversations. Ant Design X `DividerItemType`.
513
+ * @see Conversations
514
+ */
515
+ export type ConversationsDividerProp = {
516
+ type: "divider";
517
+ key?: string;
518
+ /** Ant Design X `dashed`. */
519
+ dashed?: boolean;
520
+ };
521
+ /** Either kind of row `items` accepts. Ant Design X `ItemType`. @see Conversations */
522
+ export type ConversationsEntryProp = ConversationsItemProp | ConversationsDividerProp;
523
+ /**
524
+ * One command on a row's overflow menu — rename, duplicate, delete.
525
+ * @see Conversations
526
+ */
527
+ export type ConversationsMenuItemProp = {
528
+ /** Identity handed back to `menu.onClick`. */
529
+ key: string;
530
+ label: React.ReactNode;
531
+ icon?: React.ReactNode;
532
+ /** Paints the command as irreversible (`DropdownMenuItem variant="destructive"`). Ant Design `danger`. */
533
+ danger?: boolean;
534
+ disabled?: DisabledProp;
535
+ };
536
+ /**
537
+ * The per-row overflow menu. Ant Design X takes antd's whole `MenuProps` here; this takes the two
538
+ * fields of it a conversation rail uses — the commands, and where a click lands — plus the
539
+ * accessible name the icon-only trigger needs and Ant X never had.
540
+ * @see Conversations
541
+ */
542
+ export type ConversationsMenuProp = {
543
+ items: readonly ConversationsMenuItemProp[];
544
+ /** Fires with the command and the row it was aimed at. */
545
+ onClick?: (info: {
546
+ key: string;
547
+ conversation: ConversationsItemProp;
548
+ }) => void;
549
+ /**
550
+ * Accessible name of the icon-only trigger. Receives the row so the name can name it
551
+ * ("More actions for 請求書の下書き"), which is what keeps twelve identical "More" buttons apart
552
+ * in a screen reader's element list. A localized default applies when omitted.
553
+ */
554
+ triggerLabel?: (conversation: ConversationsItemProp) => string;
555
+ };
556
+ /**
557
+ * Grouping options. Ant Design X `GroupableProps` — `label`, `collapsible`, and the
558
+ * `defaultExpandedKeys` / `expandedKeys` / `onExpand` triad it inherits from `CollapsibleOptions`.
559
+ * @see Conversations
560
+ */
561
+ export type ConversationsGroupableProp = {
562
+ /** Heading for a bucket. A function receives the raw `group` string. Ant Design X `label`. */
563
+ label?: React.ReactNode | ((group: string) => React.ReactNode);
564
+ /** Whether a bucket's heading collapses it. A function decides per bucket. Ant Design X `collapsible`. */
565
+ collapsible?: boolean | ((group: string) => boolean);
566
+ /** Uncontrolled initially-open buckets. Ant Design X `defaultExpandedKeys`. */
567
+ defaultExpandedKeys?: readonly string[];
568
+ /** Controlled open buckets. Ant Design X `expandedKeys`. */
569
+ expandedKeys?: readonly string[];
570
+ /** Fires with the next open set. Ant Design X `onExpand`. */
571
+ onExpand?: (keys: string[]) => void;
572
+ };
573
+ /**
574
+ * The "new conversation" button pinned above the rail. Ant Design X `creation`.
575
+ * @see Conversations
576
+ */
577
+ export type ConversationsCreationProp = {
578
+ /** Button text. A localized default applies when omitted. Ant Design X `label`. */
579
+ label?: React.ReactNode;
580
+ /** Leading glyph. Defaults to a plus. Ant Design X `icon`. */
581
+ icon?: React.ReactNode;
582
+ disabled?: DisabledProp;
583
+ onClick?: () => void;
584
+ };
585
+ /**
586
+ * @see Conversations — the session rail of a chat surface (Ant Design X `Conversations`): the list
587
+ * of past conversations, the current one marked, a per-row overflow menu, and recency buckets.
588
+ *
589
+ * Ant X's own rail is a bare `<ul>` of `<li onClick>` with no roles, no `tabIndex` and no key
590
+ * handling — measured in `@ant-design/x@2.9.0`, `es/conversations/Item.js` renders a `<li>` whose
591
+ * only interactive affordance is `onClick`. That is the half of it this port does NOT copy: the
592
+ * rows here are real `Button`s under a single roving tabindex, so the whole rail is ONE tab stop
593
+ * and ↑/↓/Home/End move between conversations. Everything a caller passes keeps Ant X's spelling.
594
+ */
595
+ export type ConversationsProp = {
596
+ /** The rows. Ant Design X `items`. */
597
+ items?: readonly ConversationsEntryProp[];
598
+ /** Controlled selection. Ant Design X `activeKey`. */
599
+ activeKey?: string;
600
+ /** Uncontrolled initial selection. Ant Design X `defaultActiveKey`. */
601
+ defaultActiveKey?: string;
602
+ /** Fires with the picked key and the entry behind it. Ant Design X `onActiveChange`. */
603
+ onActiveChange?: (key: string, item?: ConversationsEntryProp) => void;
604
+ /** One menu for every row, or a function returning the menu for one. Ant Design X `menu`. */
605
+ menu?: ConversationsMenuProp | ((conversation: ConversationsItemProp) => ConversationsMenuProp | undefined);
606
+ /** Bucket rows by their `group` field. Ant Design X `groupable`. */
607
+ groupable?: boolean | ConversationsGroupableProp;
608
+ /** The "new conversation" button above the rail. Ant Design X `creation`. */
609
+ creation?: ConversationsCreationProp;
610
+ /**
611
+ * Accessible name of the rail — a plain STRING, because it lands on `aria-label`, which is a
612
+ * text attribute and cannot carry a node. Ant X has no equivalent because its rail has no role
613
+ * to name; a localized default applies when omitted.
614
+ */
615
+ label?: string;
616
+ id?: IdProp;
617
+ className?: ClassNameProp;
618
+ };
@@ -454,6 +454,36 @@ export declare const VOCABULARY_REGISTRY: {
454
454
  readonly category: "interaction";
455
455
  readonly description: "Whitespace handling normal | pre-wrap: `pre-wrap` keeps the newlines and indentation a person typed (a plain-text note, a pasted log) and still wraps at the container edge; `truncate` outranks it";
456
456
  };
457
+ readonly TypographyTypeProp: {
458
+ readonly file: "vocabulary/interaction.prop.ts";
459
+ readonly category: "interaction";
460
+ readonly description: "antd Typography `type` — secondary | success | warning | danger. The narrower spelling of TextToneProp, accepted alongside it; `tone` wins when both are passed (secondary → muted, danger → destructive)";
461
+ };
462
+ readonly TitleLevelProp: {
463
+ readonly file: "vocabulary/interaction.prop.ts";
464
+ readonly category: "interaction";
465
+ readonly description: "antd Typography.Title `level` — 1..5. Wider than HeadingLevelProp (1..4) because antd has a fifth step; level 5 reads --heading-h5, bound to the existing --font-size-2xs step";
466
+ };
467
+ readonly TypographyCopyConfigProp: {
468
+ readonly file: "vocabulary/interaction.prop.ts";
469
+ readonly category: "interaction";
470
+ readonly description: "antd CopyConfig — { text, onCopy, icon, tooltips, format, tabIndex } for the copy affordance beside a run of text";
471
+ };
472
+ readonly TypographyEditConfigProp: {
473
+ readonly file: "vocabulary/interaction.prop.ts";
474
+ readonly category: "interaction";
475
+ readonly description: "antd EditConfig — { text, editing, icon, tooltip, onStart, onChange, onCancel, onEnd, maxLength, autoSize, triggerType, enterIcon, tabIndex } for in-place text editing";
476
+ };
477
+ readonly TypographyEllipsisConfigProp: {
478
+ readonly file: "vocabulary/interaction.prop.ts";
479
+ readonly category: "interaction";
480
+ readonly description: "antd EllipsisConfig — { rows, expandable, suffix, symbol, defaultExpanded, expanded, onExpand, onEllipsis, tooltip }; the richer spelling of this library truncate/clamp, and the winner when they collide";
481
+ };
482
+ readonly TypographyActionsConfigProp: {
483
+ readonly file: "vocabulary/interaction.prop.ts";
484
+ readonly category: "interaction";
485
+ readonly description: "antd ActionsConfig — { placement: start | end } for the copy/edit/expand cluster. Logical, so it mirrors in RTL; NOT the ReactNode slot ActionsProp names";
486
+ };
457
487
  readonly SizeProp: {
458
488
  readonly file: "vocabulary/interaction.prop.ts";
459
489
  readonly category: "interaction";
@@ -1159,6 +1189,91 @@ export declare const COMPONENT_PROP_REGISTRY: {
1159
1189
  readonly reason: "Ambient live-region opt-in — ActivityAnnounceProp vocabulary; deliberately NOT a boolean so the value names the politeness level.";
1160
1190
  }];
1161
1191
  };
1192
+ readonly FloatButtonTypeProp: {
1193
+ readonly group: "general";
1194
+ readonly file: "components/general.prop.ts";
1195
+ readonly vocabulary: readonly [];
1196
+ };
1197
+ readonly FloatButtonShapeProp: {
1198
+ readonly group: "general";
1199
+ readonly file: "components/general.prop.ts";
1200
+ readonly vocabulary: readonly [];
1201
+ };
1202
+ readonly FloatButtonTriggerProp: {
1203
+ readonly group: "general";
1204
+ readonly file: "components/general.prop.ts";
1205
+ readonly vocabulary: readonly [];
1206
+ };
1207
+ readonly FloatButtonPlacementProp: {
1208
+ readonly group: "general";
1209
+ readonly file: "components/general.prop.ts";
1210
+ readonly vocabulary: readonly [];
1211
+ };
1212
+ readonly FloatButtonBadgeProp: {
1213
+ readonly group: "general";
1214
+ readonly file: "components/general.prop.ts";
1215
+ readonly vocabulary: readonly [{
1216
+ readonly field: "count";
1217
+ readonly local: true;
1218
+ readonly reason: "Ant Badge's count/dot/overflowCount/showZero/color quartet, ported whole. The corner mark is FloatButton's own; there is no Badge-count primitive in this library to borrow a vocabulary from.";
1219
+ }];
1220
+ };
1221
+ readonly FloatButtonTooltipProp: {
1222
+ readonly group: "general";
1223
+ readonly file: "components/general.prop.ts";
1224
+ readonly vocabulary: readonly ["ChildrenProp", {
1225
+ readonly field: "side";
1226
+ readonly local: true;
1227
+ readonly reason: "TooltipContent's own placement axis, re-exposed so the object form of `tooltip` can reach it without importing the overlay's types.";
1228
+ }];
1229
+ };
1230
+ readonly FloatButtonProp: {
1231
+ readonly group: "general";
1232
+ readonly file: "components/general.prop.ts";
1233
+ readonly vocabulary: readonly ["ChildrenProp", "DescriptionProp", "DisabledProp", "ClassNameProp", {
1234
+ readonly field: "shape";
1235
+ readonly local: true;
1236
+ readonly reason: "antd's circle/square, which is neither the control ShapeProp (default|pill|sharp) nor AvatarShapeProp (documented as an ENTITY mark). `square` is the only shape antd lets carry text.";
1237
+ }, {
1238
+ readonly field: "type";
1239
+ readonly local: true;
1240
+ readonly reason: "antd's word for the FILL, kept verbatim so an antd call site compiles unchanged. This library says `variant` everywhere else; `htmlType` carries the native button type, exactly as antd resolves the collision.";
1241
+ }, {
1242
+ readonly field: "href";
1243
+ readonly local: true;
1244
+ readonly reason: "The native anchor href — antd renders an <a> when it is present.";
1245
+ }];
1246
+ };
1247
+ readonly FloatButtonGroupProp: {
1248
+ readonly group: "general";
1249
+ readonly file: "components/general.prop.ts";
1250
+ readonly vocabulary: readonly ["ChildrenProp", "OpenProp", "OnOpenChangeProp", {
1251
+ readonly field: "trigger";
1252
+ readonly local: true;
1253
+ readonly reason: "antd's click|hover, and its ABSENCE is the switch between a plain stack and a menu — so it can carry no default and no shared vocabulary.";
1254
+ }, {
1255
+ readonly field: "placement";
1256
+ readonly local: true;
1257
+ readonly reason: "antd's top|left|right|bottom for the menu's direction. Physical words kept verbatim so an antd call site compiles; the stylesheet resolves them through inset-inline-*, so the rendered side still flips under dir=rtl.";
1258
+ }, {
1259
+ readonly field: "closeIcon";
1260
+ readonly local: true;
1261
+ readonly reason: "The glyph the TRIGGER swaps to while the menu is open — a second icon slot on one control, which IconProp (a single glyph) cannot express.";
1262
+ }];
1263
+ };
1264
+ readonly FloatButtonBackTopProp: {
1265
+ readonly group: "general";
1266
+ readonly file: "components/general.prop.ts";
1267
+ readonly vocabulary: readonly ["OnClickProp", {
1268
+ readonly field: "target";
1269
+ readonly local: true;
1270
+ readonly reason: "antd's lazy scroll-container getter. A FUNCTION, not an element, because the container may not exist on the first render — and it is what lets BackTop watch a shell's own scroll region instead of the document.";
1271
+ }, {
1272
+ readonly field: "visibilityHeight";
1273
+ readonly local: true;
1274
+ readonly reason: "antd's scroll threshold in px — a measurement of the reader's position, not a size tier.";
1275
+ }];
1276
+ };
1162
1277
  readonly TextProp: {
1163
1278
  readonly group: "general";
1164
1279
  readonly file: "components/general.prop.ts";
@@ -1169,6 +1284,35 @@ export declare const COMPONENT_PROP_REGISTRY: {
1169
1284
  readonly file: "components/general.prop.ts";
1170
1285
  readonly vocabulary: readonly ["HeadingLevelProp", "TextToneProp", "TextAlignProp", "ClassNameProp"];
1171
1286
  };
1287
+ readonly TypographyProp: {
1288
+ readonly group: "general";
1289
+ readonly file: "components/general.prop.ts";
1290
+ readonly vocabulary: readonly ["ClassNameProp", "ChildrenProp", {
1291
+ readonly field: "component";
1292
+ readonly local: true;
1293
+ readonly reason: "antd `component` — the rendered element. An ALIAS of `as`, kept so antd code pastes in unchanged; `as` wins when both are passed.";
1294
+ }];
1295
+ };
1296
+ readonly TypographyBlockProp: {
1297
+ readonly group: "general";
1298
+ readonly file: "components/general.prop.ts";
1299
+ readonly vocabulary: readonly ["TypographyTypeProp", "TypographyActionsConfigProp", "TypographyCopyConfigProp", "TypographyEditConfigProp", "TypographyEllipsisConfigProp", "DisabledProp"];
1300
+ };
1301
+ readonly TypographyTitleProp: {
1302
+ readonly group: "general";
1303
+ readonly file: "components/general.prop.ts";
1304
+ readonly vocabulary: readonly ["TitleLevelProp", "TextToneProp", "TextAlignProp", "FontWeightProp", "TypographyEllipsisConfigProp", "ClassNameProp"];
1305
+ };
1306
+ readonly ParagraphProp: {
1307
+ readonly group: "general";
1308
+ readonly file: "components/general.prop.ts";
1309
+ readonly vocabulary: readonly ["TypographyEllipsisConfigProp", "TextToneProp", "TextSizeProp", "ClassNameProp"];
1310
+ };
1311
+ readonly LinkProp: {
1312
+ readonly group: "general";
1313
+ readonly file: "components/general.prop.ts";
1314
+ readonly vocabulary: readonly ["TypographyEllipsisConfigProp", "TextToneProp", "TextSizeProp", "ClassNameProp"];
1315
+ };
1172
1316
  readonly InputProp: {
1173
1317
  readonly group: "data-entry";
1174
1318
  readonly file: "components/data-entry.prop.ts";
@@ -1833,6 +1977,32 @@ export declare const COMPONENT_PROP_REGISTRY: {
1833
1977
  readonly reason: "Hollow-centre donut rendering.";
1834
1978
  }];
1835
1979
  };
1980
+ readonly DialogProp: {
1981
+ readonly group: "feedback";
1982
+ readonly file: "components/feedback.prop.ts";
1983
+ readonly vocabulary: readonly ["OpenProp", "DefaultOpenProp", "OnOpenChangeProp", "ConfirmVariantProp", "ChildrenProp", {
1984
+ readonly field: "modal";
1985
+ readonly local: true;
1986
+ readonly reason: "Radix-era spelling kept; RAC's Modal always locks scroll, so false no longer disables it.";
1987
+ }];
1988
+ };
1989
+ readonly DialogContentProp: {
1990
+ readonly group: "feedback";
1991
+ readonly file: "components/feedback.prop.ts";
1992
+ readonly vocabulary: readonly ["ConfirmVariantProp", "ClassNameProp", "ChildrenProp", {
1993
+ readonly field: "showCloseButton";
1994
+ readonly local: true;
1995
+ readonly reason: 'Corner ✕ opt-out; defaults to false under variant="destructive".';
1996
+ }, {
1997
+ readonly field: "showClose";
1998
+ readonly local: true;
1999
+ readonly reason: "shadcn-era spelling of showCloseButton.";
2000
+ }, {
2001
+ readonly field: "overlayClassName";
2002
+ readonly local: true;
2003
+ readonly reason: "Class for the scrim the surface owns — RAC nests overlay > modal > dialog.";
2004
+ }];
2005
+ };
1836
2006
  readonly AlertDialogProp: {
1837
2007
  readonly group: "feedback";
1838
2008
  readonly file: "components/feedback.prop.ts";
@@ -2307,6 +2477,67 @@ export declare const COMPONENT_PROP_REGISTRY: {
2307
2477
  readonly file: "components/data-display.prop.ts";
2308
2478
  readonly vocabulary: readonly ["ClassNameProp"];
2309
2479
  };
2480
+ readonly DragAxisProp: {
2481
+ readonly group: "layout";
2482
+ readonly file: "components/layout.prop.ts";
2483
+ readonly vocabulary: readonly [];
2484
+ };
2485
+ readonly DragBoundsProp: {
2486
+ readonly group: "layout";
2487
+ readonly file: "components/layout.prop.ts";
2488
+ readonly vocabulary: readonly [];
2489
+ };
2490
+ readonly DraggablePanelPlacementProp: {
2491
+ readonly group: "layout";
2492
+ readonly file: "components/layout.prop.ts";
2493
+ readonly vocabulary: readonly [];
2494
+ };
2495
+ readonly DraggablePanelPositionProp: {
2496
+ readonly group: "layout";
2497
+ readonly file: "components/layout.prop.ts";
2498
+ readonly vocabulary: readonly [{
2499
+ readonly field: "x";
2500
+ readonly local: true;
2501
+ readonly reason: "react-draggable's inline offset in CSS pixels, on the physical axis the pointer reports.";
2502
+ }, {
2503
+ readonly field: "y";
2504
+ readonly local: true;
2505
+ readonly reason: "react-draggable's block offset in CSS pixels, on the physical axis the pointer reports.";
2506
+ }];
2507
+ };
2508
+ readonly DraggablePanelProp: {
2509
+ readonly group: "layout";
2510
+ readonly file: "components/layout.prop.ts";
2511
+ readonly vocabulary: readonly ["TitleProp", "ChildrenProp", "ExtraProp", "SizeProp", "DisabledProp", "ClassNameProp", {
2512
+ readonly field: "placement";
2513
+ readonly local: true;
2514
+ readonly reason: "Resting corner, in logical directions so it mirrors under RTL.";
2515
+ }, {
2516
+ readonly field: "axis";
2517
+ readonly local: true;
2518
+ readonly reason: "react-draggable `axis`, ported verbatim.";
2519
+ }, {
2520
+ readonly field: "bounds";
2521
+ readonly local: true;
2522
+ readonly reason: "react-draggable `bounds`, trimmed to the forms that survive the RTL and no-DOM-selector rules.";
2523
+ }, {
2524
+ readonly field: "position";
2525
+ readonly local: true;
2526
+ readonly reason: "react-draggable `position` — controlled offset.";
2527
+ }, {
2528
+ readonly field: "defaultPosition";
2529
+ readonly local: true;
2530
+ readonly reason: "react-draggable `defaultPosition` — uncontrolled starting offset.";
2531
+ }, {
2532
+ readonly field: "onPositionChange";
2533
+ readonly local: true;
2534
+ readonly reason: "Reports the clamped offset; the library never persists it (gh#560).";
2535
+ }, {
2536
+ readonly field: "onClose";
2537
+ readonly local: true;
2538
+ readonly reason: "Presence renders the title-bar close control — antd Modal's onCancel.";
2539
+ }];
2540
+ };
2310
2541
  readonly ThumbnailSizeProp: {
2311
2542
  readonly group: "data-display";
2312
2543
  readonly file: "components/data-display.prop.ts";
@@ -2517,6 +2748,73 @@ export declare const COMPONENT_PROP_REGISTRY: {
2517
2748
  readonly file: "components/data-display/card.tsx";
2518
2749
  readonly vocabulary: readonly ["ToneProp", "ClassNameProp", "ChildrenProp"];
2519
2750
  };
2751
+ readonly CardTabItemProp: {
2752
+ readonly group: "data-display";
2753
+ readonly file: "components/data-display.prop.ts";
2754
+ readonly vocabulary: readonly ["LabelProp", "DisabledProp", {
2755
+ readonly field: "key";
2756
+ readonly local: true;
2757
+ readonly reason: "Ant Design `CardTabListType.key`. The tab's identity keeps antd's own spelling per docs/DESIGN-AUTHORITY.md; `ValueProp` is the Tabs component's axis, not the card head's.";
2758
+ }, {
2759
+ readonly field: "tab";
2760
+ readonly local: true;
2761
+ readonly reason: "Ant Design `CardTabListType.tab` — the trigger label under antd's name, for the same reason `key` is not `value`.";
2762
+ }];
2763
+ };
2764
+ readonly AttachmentsProp: {
2765
+ readonly group: "data-entry";
2766
+ readonly file: "components/data-entry.prop.ts";
2767
+ readonly vocabulary: readonly ["DisabledProp", "ClassNameProp", {
2768
+ readonly field: "items";
2769
+ readonly local: true;
2770
+ readonly reason: "Ant Design X / antd Upload `fileList`, kept as `items` so an Ant X call site compiles unchanged.";
2771
+ }, {
2772
+ readonly field: "onChange";
2773
+ readonly local: true;
2774
+ readonly reason: "antd Upload's `{ file, fileList }` callback — not the controlled-vocabulary `onValueChange`.";
2775
+ }];
2776
+ };
2777
+ readonly AttachmentsSemanticProp: {
2778
+ readonly group: "data-entry";
2779
+ readonly file: "components/data-entry.prop.ts";
2780
+ readonly vocabulary: readonly [];
2781
+ };
2782
+ readonly AttachmentsOverflowProp: {
2783
+ readonly group: "data-entry";
2784
+ readonly file: "components/data-entry.prop.ts";
2785
+ readonly vocabulary: readonly [];
2786
+ };
2787
+ readonly AttachmentsPlaceholderProp: {
2788
+ readonly group: "data-entry";
2789
+ readonly file: "components/data-entry.prop.ts";
2790
+ readonly vocabulary: readonly ["IconProp", "TitleProp", "DescriptionProp"];
2791
+ };
2792
+ readonly AttachmentsItemProp: {
2793
+ readonly group: "data-entry";
2794
+ readonly file: "components/data-entry.prop.ts";
2795
+ readonly vocabulary: readonly ["DescriptionProp", {
2796
+ readonly field: "name";
2797
+ readonly local: true;
2798
+ readonly reason: "antd `UploadFile.name` — the file's own name as the browser reports it, not a `LabelProp` the caller writes.";
2799
+ }, {
2800
+ readonly field: "status";
2801
+ readonly local: true;
2802
+ readonly reason: "antd `UploadFile.status` (uploading/done/error/removed) — an upload's lifecycle, not the `StatusProp` tone vocabulary.";
2803
+ }, {
2804
+ readonly field: "size";
2805
+ readonly local: true;
2806
+ readonly reason: "antd `UploadFile.size` — the file's byte count, rendered through `formatBytes`. Not the `SizeProp` control-size ladder.";
2807
+ }, {
2808
+ readonly field: "error";
2809
+ readonly local: true;
2810
+ readonly reason: "antd `UploadFile.error` — whatever the failed request threw, carried opaquely. Not `ErrorProp`, which is a message a field shows.";
2811
+ }];
2812
+ };
2813
+ readonly AttachmentsRefProp: {
2814
+ readonly group: "data-entry";
2815
+ readonly file: "components/data-entry.prop.ts";
2816
+ readonly vocabulary: readonly [];
2817
+ };
2520
2818
  readonly CardCoverProp: {
2521
2819
  readonly group: "data-display";
2522
2820
  readonly file: "components/data-display/card.tsx";
@@ -2890,6 +3188,134 @@ export declare const COMPONENT_PROP_REGISTRY: {
2890
3188
  readonly file: "components/data-entry.prop.ts";
2891
3189
  readonly vocabulary: readonly ["OnValueChangeProp", "OpenProp", "DefaultOpenProp", "OnOpenChangeProp", "ChildrenProp", "EmptyMessageProp", "IdProp", "ClassNameProp"];
2892
3190
  };
3191
+ readonly ConversationsItemProp: {
3192
+ readonly group: "navigation";
3193
+ readonly file: "components/navigation.prop.ts";
3194
+ readonly vocabulary: readonly ["LabelProp", "IconProp", "DisabledProp"];
3195
+ };
3196
+ readonly ConversationsDividerProp: {
3197
+ readonly group: "navigation";
3198
+ readonly file: "components/navigation.prop.ts";
3199
+ readonly vocabulary: readonly [{
3200
+ readonly field: "type";
3201
+ readonly local: true;
3202
+ readonly reason: "Ant Design X ItemType discriminant — the literal 'divider', not a styling axis";
3203
+ }, {
3204
+ readonly field: "dashed";
3205
+ readonly local: true;
3206
+ readonly reason: "Ant Design X DividerItemType.dashed — the rule's stroke, local to this row kind";
3207
+ }];
3208
+ };
3209
+ readonly ConversationsEntryProp: {
3210
+ readonly group: "navigation";
3211
+ readonly file: "components/navigation.prop.ts";
3212
+ readonly vocabulary: readonly ["LabelProp", "IconProp", "DisabledProp"];
3213
+ };
3214
+ readonly ConversationsMenuItemProp: {
3215
+ readonly group: "navigation";
3216
+ readonly file: "components/navigation.prop.ts";
3217
+ readonly vocabulary: readonly ["LabelProp", "IconProp", "DisabledProp", "ToneProp"];
3218
+ };
3219
+ readonly ConversationsMenuProp: {
3220
+ readonly group: "navigation";
3221
+ readonly file: "components/navigation.prop.ts";
3222
+ readonly vocabulary: readonly ["ActionsProp", "OnClickProp", "LabelProp"];
3223
+ };
3224
+ readonly ConversationsGroupableProp: {
3225
+ readonly group: "navigation";
3226
+ readonly file: "components/navigation.prop.ts";
3227
+ readonly vocabulary: readonly ["LabelProp", "OpenProp", "DefaultOpenProp", "OnOpenChangeProp"];
3228
+ };
3229
+ readonly ConversationsCreationProp: {
3230
+ readonly group: "navigation";
3231
+ readonly file: "components/navigation.prop.ts";
3232
+ readonly vocabulary: readonly ["LabelProp", "IconProp", "DisabledProp", "OnClickProp"];
3233
+ };
3234
+ readonly ConversationsProp: {
3235
+ readonly group: "navigation";
3236
+ readonly file: "components/navigation.prop.ts";
3237
+ readonly vocabulary: readonly ["ActionsProp", "ValueProp", "DefaultValueProp", "OnValueChangeProp", "LabelProp", "IdProp", "ClassNameProp"];
3238
+ };
3239
+ readonly WelcomeVariantProp: {
3240
+ readonly group: "data-display";
3241
+ readonly file: "components/data-display.prop.ts";
3242
+ readonly vocabulary: readonly ["ControlVariantProp"];
3243
+ };
3244
+ readonly WelcomeProp: {
3245
+ readonly group: "data-display";
3246
+ readonly file: "components/data-display.prop.ts";
3247
+ readonly vocabulary: readonly ["IconProp", "TitleProp", "DescriptionProp", "ExtraProp", "IdProp", "ClassNameProp"];
3248
+ };
3249
+ readonly ActionsVariantProp: {
3250
+ readonly group: "general";
3251
+ readonly file: "components/general.prop.ts";
3252
+ readonly vocabulary: readonly ["ControlVariantProp"];
3253
+ };
3254
+ readonly ActionsStatusProp: {
3255
+ readonly group: "general";
3256
+ readonly file: "components/general.prop.ts";
3257
+ readonly vocabulary: readonly ["StatusProp"];
3258
+ };
3259
+ readonly ActionsFeedbackValueProp: {
3260
+ readonly group: "general";
3261
+ readonly file: "components/general.prop.ts";
3262
+ readonly vocabulary: readonly ["ValueProp"];
3263
+ };
3264
+ readonly ActionsItemsProp: {
3265
+ readonly group: "general";
3266
+ readonly file: "components/general.prop.ts";
3267
+ readonly vocabulary: readonly ["LabelProp", "IconProp", "OnClickProp", "ActionsProp"];
3268
+ };
3269
+ readonly ActionsProp: {
3270
+ readonly group: "general";
3271
+ readonly file: "components/general.prop.ts";
3272
+ readonly vocabulary: readonly ["ActionsProp", "OnClickProp", "LabelProp", "IdProp", "ClassNameProp"];
3273
+ };
3274
+ readonly ActionsItemProp: {
3275
+ readonly group: "general";
3276
+ readonly file: "components/general.prop.ts";
3277
+ readonly vocabulary: readonly ["StatusProp", "IconProp", "LabelProp", "OnClickProp", "DisabledProp", "IdProp", "ClassNameProp"];
3278
+ };
3279
+ readonly ThoughtChainStatusProp: {
3280
+ readonly group: "data-display";
3281
+ readonly file: "components/data-display.prop.ts";
3282
+ readonly vocabulary: readonly ["StatusProp"];
3283
+ };
3284
+ readonly ThoughtChainLineProp: {
3285
+ readonly group: "data-display";
3286
+ readonly file: "components/data-display.prop.ts";
3287
+ readonly vocabulary: readonly ["OrientationProp"];
3288
+ };
3289
+ readonly ThoughtChainVariantProp: {
3290
+ readonly group: "data-display";
3291
+ readonly file: "components/data-display.prop.ts";
3292
+ readonly vocabulary: readonly ["ControlVariantProp"];
3293
+ };
3294
+ readonly ThoughtChainItemsProp: {
3295
+ readonly group: "data-display";
3296
+ readonly file: "components/data-display.prop.ts";
3297
+ readonly vocabulary: readonly ["IconProp", "TitleProp", "DescriptionProp", "FooterProp", "StatusProp"];
3298
+ };
3299
+ readonly ThoughtChainProp: {
3300
+ readonly group: "data-display";
3301
+ readonly file: "components/data-display.prop.ts";
3302
+ readonly vocabulary: readonly ["OpenProp", "DefaultOpenProp", "OnOpenChangeProp", "LabelProp", "IdProp", "ClassNameProp"];
3303
+ };
3304
+ readonly ActionsCopyProp: {
3305
+ readonly group: "general";
3306
+ readonly file: "components/general.prop.ts";
3307
+ readonly vocabulary: readonly ["IconProp", "LabelProp", "HandlerProp", "IdProp", "ClassNameProp"];
3308
+ };
3309
+ readonly ActionsFeedbackProp: {
3310
+ readonly group: "general";
3311
+ readonly file: "components/general.prop.ts";
3312
+ readonly vocabulary: readonly ["ValueProp", "OnChangeProp", "LabelProp", "IdProp", "ClassNameProp"];
3313
+ };
3314
+ readonly ThoughtChainItemProp: {
3315
+ readonly group: "data-display";
3316
+ readonly file: "components/data-display.prop.ts";
3317
+ readonly vocabulary: readonly ["TitleProp", "DescriptionProp", "IconProp", "StatusProp", "ControlVariantProp", "DisabledProp", "OnClickProp", "IdProp", "ClassNameProp"];
3318
+ };
2893
3319
  };
2894
3320
  export type ComponentPropName = keyof typeof COMPONENT_PROP_REGISTRY;
2895
3321
  /** Forbidden duplicate concepts — use the canonical name on the left. */