@ai-matrx/design-system 0.61.20 → 0.61.21

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.
@@ -465,6 +465,23 @@ interface StatusLightProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "
465
465
  declare function StatusLight({ tone, label, className, ...props }: StatusLightProps): React.JSX.Element;
466
466
  /** A keyboard shortcut, e.g. `<Kbd>⌘K</Kbd>`. */
467
467
  declare function Kbd({ className, ...props }: React.HTMLAttributes<HTMLElement>): React.JSX.Element;
468
+ /**
469
+ * Where one thing is, per place (a chat per window): `in` filled, `out` an empty ring, `hidden` a
470
+ * tint ring (there, but that place does not show it), `open` green (in use there now). `marked`
471
+ * adds a small dot inside (the place's own mark, e.g. its pin). 12 px; the label is the tooltip
472
+ * and the accessible name, so a mark is never unexplained.
473
+ */
474
+ type PlaceMarkState = "in" | "out" | "hidden" | "open";
475
+ interface PlaceMarkProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> {
476
+ state: PlaceMarkState;
477
+ /** The place's own mark on the thing (a pin): a dot inside the circle. */
478
+ marked?: boolean;
479
+ /** What the mark says ("emily: listed, pinned"); tooltip and accessible name. */
480
+ label: string;
481
+ }
482
+ declare function PlaceMark({ state, marked, label, className, ...props }: PlaceMarkProps): React.JSX.Element;
483
+ /** A row of PlaceMarks in a fixed order (one per place), e.g. a chat's windows in a table cell. */
484
+ declare function PlaceStrip({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
468
485
 
469
486
  /**
470
487
  * Display formatting for desktop screens: ONE way to show a size, a duration, a time and an error.
@@ -484,4 +501,4 @@ declare function formatClockTime(at: Date | number | string | null | undefined):
484
501
  /** How much of a capacity is used, in the same words everywhere: "183 GB of 275 GB in use". */
485
502
  declare function formatUsage(used: number | null | undefined, total: number | null | undefined): string;
486
503
 
487
- export { Banner, type BannerProps, type BannerTone, Button, type ButtonProps, CodeBlock, type CodeBlockProps, type Column, ComingSoon, type ComingSoonProps, DataTable, type DataTableProps, ErrorBanner, type ErrorBannerProps, FIELD, FieldRow, type FieldRowProps, IconButton, type IconButtonProps, Kbd, METER_THRESHOLDS, Meter, type MeterProps, Page, PageHeader, type PageHeaderProps, type PageProps, type PageWidth, Resource, type ResourceProps, type ResourceState, Row, type RowAction, type RowMenuItem, type RowProps, SearchField, type SearchFieldProps, Section, SectionContent, type SectionProps, type Segment, Segmented, type SegmentedProps, Select, type SelectOption, type SelectProps, type SortState, SourceList, SourceListItem, type SourceListItemProps, SourceListMore, type SourceListMoreProps, SourceListSection, type SourceListSectionProps, Spinner, type SpinnerProps, StateView, type StateViewProps, StatusLight, type StatusLightProps, type StatusTone as StatusLightTone, TEXT_TONE, Tag, type TagProps, type TagTone, Text, TextArea, type TextAreaProps, TextField, type TextFieldProps, type TextProps, type TextTone, type TextVariant, Toolbar, ToolbarDivider, type ToolbarProps, ToolbarSpacer, buttonVariants, cn, errorMessage, formatAge, formatBytes, formatClockTime, formatDuration, formatRelativeTime, formatUsage, meterTone };
504
+ export { Banner, type BannerProps, type BannerTone, Button, type ButtonProps, CodeBlock, type CodeBlockProps, type Column, ComingSoon, type ComingSoonProps, DataTable, type DataTableProps, ErrorBanner, type ErrorBannerProps, FIELD, FieldRow, type FieldRowProps, IconButton, type IconButtonProps, Kbd, METER_THRESHOLDS, Meter, type MeterProps, Page, PageHeader, type PageHeaderProps, type PageProps, type PageWidth, PlaceMark, type PlaceMarkProps, type PlaceMarkState, PlaceStrip, Resource, type ResourceProps, type ResourceState, Row, type RowAction, type RowMenuItem, type RowProps, SearchField, type SearchFieldProps, Section, SectionContent, type SectionProps, type Segment, Segmented, type SegmentedProps, Select, type SelectOption, type SelectProps, type SortState, SourceList, SourceListItem, type SourceListItemProps, SourceListMore, type SourceListMoreProps, SourceListSection, type SourceListSectionProps, Spinner, type SpinnerProps, StateView, type StateViewProps, StatusLight, type StatusLightProps, type StatusTone as StatusLightTone, TEXT_TONE, Tag, type TagProps, type TagTone, Text, TextArea, type TextAreaProps, TextField, type TextFieldProps, type TextProps, type TextTone, type TextVariant, Toolbar, ToolbarDivider, type ToolbarProps, ToolbarSpacer, buttonVariants, cn, errorMessage, formatAge, formatBytes, formatClockTime, formatDuration, formatRelativeTime, formatUsage, meterTone };
package/dist/desktop.d.ts CHANGED
@@ -465,6 +465,23 @@ interface StatusLightProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "
465
465
  declare function StatusLight({ tone, label, className, ...props }: StatusLightProps): React.JSX.Element;
466
466
  /** A keyboard shortcut, e.g. `<Kbd>⌘K</Kbd>`. */
467
467
  declare function Kbd({ className, ...props }: React.HTMLAttributes<HTMLElement>): React.JSX.Element;
468
+ /**
469
+ * Where one thing is, per place (a chat per window): `in` filled, `out` an empty ring, `hidden` a
470
+ * tint ring (there, but that place does not show it), `open` green (in use there now). `marked`
471
+ * adds a small dot inside (the place's own mark, e.g. its pin). 12 px; the label is the tooltip
472
+ * and the accessible name, so a mark is never unexplained.
473
+ */
474
+ type PlaceMarkState = "in" | "out" | "hidden" | "open";
475
+ interface PlaceMarkProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> {
476
+ state: PlaceMarkState;
477
+ /** The place's own mark on the thing (a pin): a dot inside the circle. */
478
+ marked?: boolean;
479
+ /** What the mark says ("emily: listed, pinned"); tooltip and accessible name. */
480
+ label: string;
481
+ }
482
+ declare function PlaceMark({ state, marked, label, className, ...props }: PlaceMarkProps): React.JSX.Element;
483
+ /** A row of PlaceMarks in a fixed order (one per place), e.g. a chat's windows in a table cell. */
484
+ declare function PlaceStrip({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
468
485
 
469
486
  /**
470
487
  * Display formatting for desktop screens: ONE way to show a size, a duration, a time and an error.
@@ -484,4 +501,4 @@ declare function formatClockTime(at: Date | number | string | null | undefined):
484
501
  /** How much of a capacity is used, in the same words everywhere: "183 GB of 275 GB in use". */
485
502
  declare function formatUsage(used: number | null | undefined, total: number | null | undefined): string;
486
503
 
487
- export { Banner, type BannerProps, type BannerTone, Button, type ButtonProps, CodeBlock, type CodeBlockProps, type Column, ComingSoon, type ComingSoonProps, DataTable, type DataTableProps, ErrorBanner, type ErrorBannerProps, FIELD, FieldRow, type FieldRowProps, IconButton, type IconButtonProps, Kbd, METER_THRESHOLDS, Meter, type MeterProps, Page, PageHeader, type PageHeaderProps, type PageProps, type PageWidth, Resource, type ResourceProps, type ResourceState, Row, type RowAction, type RowMenuItem, type RowProps, SearchField, type SearchFieldProps, Section, SectionContent, type SectionProps, type Segment, Segmented, type SegmentedProps, Select, type SelectOption, type SelectProps, type SortState, SourceList, SourceListItem, type SourceListItemProps, SourceListMore, type SourceListMoreProps, SourceListSection, type SourceListSectionProps, Spinner, type SpinnerProps, StateView, type StateViewProps, StatusLight, type StatusLightProps, type StatusTone as StatusLightTone, TEXT_TONE, Tag, type TagProps, type TagTone, Text, TextArea, type TextAreaProps, TextField, type TextFieldProps, type TextProps, type TextTone, type TextVariant, Toolbar, ToolbarDivider, type ToolbarProps, ToolbarSpacer, buttonVariants, cn, errorMessage, formatAge, formatBytes, formatClockTime, formatDuration, formatRelativeTime, formatUsage, meterTone };
504
+ export { Banner, type BannerProps, type BannerTone, Button, type ButtonProps, CodeBlock, type CodeBlockProps, type Column, ComingSoon, type ComingSoonProps, DataTable, type DataTableProps, ErrorBanner, type ErrorBannerProps, FIELD, FieldRow, type FieldRowProps, IconButton, type IconButtonProps, Kbd, METER_THRESHOLDS, Meter, type MeterProps, Page, PageHeader, type PageHeaderProps, type PageProps, type PageWidth, PlaceMark, type PlaceMarkProps, type PlaceMarkState, PlaceStrip, Resource, type ResourceProps, type ResourceState, Row, type RowAction, type RowMenuItem, type RowProps, SearchField, type SearchFieldProps, Section, SectionContent, type SectionProps, type Segment, Segmented, type SegmentedProps, Select, type SelectOption, type SelectProps, type SortState, SourceList, SourceListItem, type SourceListItemProps, SourceListMore, type SourceListMoreProps, SourceListSection, type SourceListSectionProps, Spinner, type SpinnerProps, StateView, type StateViewProps, StatusLight, type StatusLightProps, type StatusTone as StatusLightTone, TEXT_TONE, Tag, type TagProps, type TagTone, Text, TextArea, type TextAreaProps, TextField, type TextFieldProps, type TextProps, type TextTone, type TextVariant, Toolbar, ToolbarDivider, type ToolbarProps, ToolbarSpacer, buttonVariants, cn, errorMessage, formatAge, formatBytes, formatClockTime, formatDuration, formatRelativeTime, formatUsage, meterTone };
package/dist/desktop.js CHANGED
@@ -2378,6 +2378,37 @@ function Kbd({ className, ...props }) {
2378
2378
  }
2379
2379
  );
2380
2380
  }
2381
+ var PLACE = {
2382
+ in: "bg-tint",
2383
+ out: "border border-label-tertiary",
2384
+ hidden: "border-2 border-tint",
2385
+ open: "bg-system-green"
2386
+ };
2387
+ var PLACE_DOT = {
2388
+ in: "bg-window",
2389
+ out: "bg-label-secondary",
2390
+ hidden: "bg-tint",
2391
+ open: "bg-window"
2392
+ };
2393
+ function PlaceMark({ state, marked = false, label, className, ...props }) {
2394
+ return /* @__PURE__ */ jsx26(
2395
+ "span",
2396
+ {
2397
+ role: "img",
2398
+ "aria-label": label,
2399
+ title: label,
2400
+ "data-slot": "place-mark",
2401
+ "data-state": state,
2402
+ "data-marked": marked ? "true" : void 0,
2403
+ className: cn("inline-flex size-3 shrink-0 items-center justify-center rounded-full", PLACE[state], className),
2404
+ ...props,
2405
+ children: marked ? /* @__PURE__ */ jsx26("span", { className: cn("size-1.5 rounded-full", PLACE_DOT[state]) }) : null
2406
+ }
2407
+ );
2408
+ }
2409
+ function PlaceStrip({ className, ...props }) {
2410
+ return /* @__PURE__ */ jsx26("span", { "data-slot": "place-strip", className: cn("inline-flex items-center gap-1", className), ...props });
2411
+ }
2381
2412
 
2382
2413
  // src/desktop/coming-soon.tsx
2383
2414
  import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
@@ -3487,6 +3518,8 @@ export {
3487
3518
  OrganizationMark,
3488
3519
  Page,
3489
3520
  PageHeader,
3521
+ PlaceMark,
3522
+ PlaceStrip,
3490
3523
  Popover,
3491
3524
  PopoverAnchor,
3492
3525
  PopoverContent,