@dxos/react-ui-card 0.8.2-staging.7ac8446 → 0.11.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 (74) hide show
  1. package/LICENSE +102 -5
  2. package/dist/lib/index.mjs +288 -0
  3. package/dist/lib/index.mjs.map +1 -0
  4. package/dist/lib/translations.mjs +11 -0
  5. package/dist/lib/translations.mjs.map +1 -0
  6. package/dist/types/src/components/Avatar/Avatar.d.ts +14 -0
  7. package/dist/types/src/components/Avatar/Avatar.d.ts.map +1 -0
  8. package/dist/types/src/components/Avatar/Avatar.stories.d.ts +15 -0
  9. package/dist/types/src/components/Avatar/Avatar.stories.d.ts.map +1 -0
  10. package/dist/types/src/components/Avatar/avatar-name.d.ts +6 -0
  11. package/dist/types/src/components/Avatar/avatar-name.d.ts.map +1 -0
  12. package/dist/types/src/components/Avatar/index.d.ts +3 -0
  13. package/dist/types/src/components/Avatar/index.d.ts.map +1 -0
  14. package/dist/types/src/components/CardTile/CardTile.d.ts +46 -0
  15. package/dist/types/src/components/CardTile/CardTile.d.ts.map +1 -0
  16. package/dist/types/src/components/CardTile/CardTile.stories.d.ts +27 -0
  17. package/dist/types/src/components/CardTile/CardTile.stories.d.ts.map +1 -0
  18. package/dist/types/src/components/CardTile/index.d.ts +2 -0
  19. package/dist/types/src/components/CardTile/index.d.ts.map +1 -0
  20. package/dist/types/src/components/Row/Row.d.ts +100 -0
  21. package/dist/types/src/components/Row/Row.d.ts.map +1 -0
  22. package/dist/types/src/components/Row/Row.stories.d.ts +23 -0
  23. package/dist/types/src/components/Row/Row.stories.d.ts.map +1 -0
  24. package/dist/types/src/components/Row/index.d.ts +2 -0
  25. package/dist/types/src/components/Row/index.d.ts.map +1 -0
  26. package/dist/types/src/components/index.d.ts +3 -1
  27. package/dist/types/src/components/index.d.ts.map +1 -1
  28. package/dist/types/src/hooks/index.d.ts +2 -0
  29. package/dist/types/src/hooks/index.d.ts.map +1 -0
  30. package/dist/types/src/hooks/useActorContact.d.ts +5 -0
  31. package/dist/types/src/hooks/useActorContact.d.ts.map +1 -0
  32. package/dist/types/src/index.d.ts +2 -1
  33. package/dist/types/src/index.d.ts.map +1 -1
  34. package/dist/types/src/translations.d.ts +11 -0
  35. package/dist/types/src/translations.d.ts.map +1 -0
  36. package/dist/types/src/util.d.ts +3 -0
  37. package/dist/types/src/util.d.ts.map +1 -0
  38. package/dist/types/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +39 -29
  40. package/src/components/Avatar/Avatar.stories.tsx +31 -0
  41. package/src/components/Avatar/Avatar.tsx +39 -0
  42. package/src/components/Avatar/avatar-name.ts +19 -0
  43. package/src/components/Avatar/index.ts +7 -0
  44. package/src/components/CardTile/CardTile.stories.tsx +54 -0
  45. package/src/components/CardTile/CardTile.tsx +103 -0
  46. package/src/components/CardTile/index.ts +5 -0
  47. package/src/components/Row/Row.stories.tsx +65 -0
  48. package/src/components/Row/Row.tsx +379 -0
  49. package/src/components/Row/index.ts +5 -0
  50. package/src/components/index.ts +4 -2
  51. package/src/hooks/index.ts +5 -0
  52. package/src/hooks/useActorContact.ts +31 -0
  53. package/src/index.ts +3 -2
  54. package/src/translations.ts +19 -0
  55. package/src/util.ts +7 -0
  56. package/README.md +0 -3
  57. package/dist/lib/browser/index.mjs +0 -159
  58. package/dist/lib/browser/index.mjs.map +0 -7
  59. package/dist/lib/browser/meta.json +0 -1
  60. package/dist/lib/node/index.cjs +0 -202
  61. package/dist/lib/node/index.cjs.map +0 -7
  62. package/dist/lib/node/meta.json +0 -1
  63. package/dist/lib/node-esm/index.mjs +0 -161
  64. package/dist/lib/node-esm/index.mjs.map +0 -7
  65. package/dist/lib/node-esm/meta.json +0 -1
  66. package/dist/types/src/components/Card.d.ts +0 -52
  67. package/dist/types/src/components/Card.d.ts.map +0 -1
  68. package/dist/types/src/components/Card.stories.d.ts +0 -57
  69. package/dist/types/src/components/Card.stories.d.ts.map +0 -1
  70. package/dist/types/src/theme.d.ts +0 -31
  71. package/dist/types/src/theme.d.ts.map +0 -1
  72. package/src/components/Card.stories.tsx +0 -217
  73. package/src/components/Card.tsx +0 -149
  74. package/src/theme.ts +0 -101
@@ -0,0 +1,100 @@
1
+ import React, { type MouseEvent } from 'react';
2
+ import { type Database, Obj } from '@dxos/echo';
3
+ import { type Actor, type Message } from '@dxos/types';
4
+ type RowDateProps = {
5
+ start: Date;
6
+ end?: Date;
7
+ };
8
+ declare function RowDate({ start, end }: RowDateProps): React.JSX.Element;
9
+ declare namespace RowDate {
10
+ var displayName: string;
11
+ }
12
+ type RowRefProps = {
13
+ object: Obj.Any;
14
+ };
15
+ declare function RowRef({ object }: RowRefProps): React.JSX.Element;
16
+ declare namespace RowRef {
17
+ var displayName: string;
18
+ }
19
+ /** Recipient/participant kind; drives the leading icon and accessible label. */
20
+ export type PersonRole = 'from' | 'to' | 'cc' | 'bcc' | 'attendee';
21
+ type RowPersonProps = {
22
+ actor: Actor.Actor;
23
+ /** Recipient/participant kind (icon + aria only; no visible prefix). */
24
+ role?: PersonRole;
25
+ /**
26
+ * Render a static `DxAvatar` in the gutter (hook-free) instead of the interactive contact anchor.
27
+ * Used by list tiles where resolving a contact per row (a hook) would be too costly.
28
+ */
29
+ avatar?: boolean;
30
+ db?: Database.Database;
31
+ onContactCreate?: (actor: Actor.Actor) => void;
32
+ /** Render a trailing remove button (e.g. attendee rows in the editable event header). */
33
+ onRemove?: () => void;
34
+ /** Click handler for the avatar (e.g. select the message); avatar variant only. */
35
+ onClick?: (event: MouseEvent) => void;
36
+ };
37
+ declare function RowPerson({ avatar, onClick, ...props }: RowPersonProps): React.JSX.Element;
38
+ declare namespace RowPerson {
39
+ var displayName: string;
40
+ }
41
+ type TagItem = {
42
+ id: string;
43
+ label?: string;
44
+ hue?: string;
45
+ };
46
+ type RowTagsProps = {
47
+ /** Optional — callers may pass an undefined/empty list (e.g. a message with no tags). */
48
+ tags?: TagItem[];
49
+ /** When provided, each chip is clickable and stops event propagation. */
50
+ onTagClick?: (label: string) => void;
51
+ };
52
+ declare function RowTags({ tags, onTagClick }: RowTagsProps): React.JSX.Element | null;
53
+ declare namespace RowTags {
54
+ var displayName: string;
55
+ }
56
+ type RowAttachmentsProps = {
57
+ /** Optional — callers may pass an undefined/empty list (e.g. a message with no attachments). */
58
+ attachments?: readonly Message.Attachment[];
59
+ };
60
+ declare function RowAttachments({ attachments }: RowAttachmentsProps): React.JSX.Element | null;
61
+ declare namespace RowAttachments {
62
+ var displayName: string;
63
+ }
64
+ type RowStarProps = {
65
+ starred?: boolean;
66
+ /** Toggle handler; the button renders only when provided. */
67
+ onToggle?: () => void;
68
+ };
69
+ declare function RowStar({ starred, onToggle }: RowStarProps): React.JSX.Element | null;
70
+ declare namespace RowStar {
71
+ var displayName: string;
72
+ }
73
+ export declare const Row: {
74
+ Date: {
75
+ ({ start, end }: RowDateProps): React.JSX.Element;
76
+ displayName: string;
77
+ };
78
+ Ref: {
79
+ ({ object }: RowRefProps): React.JSX.Element;
80
+ displayName: string;
81
+ };
82
+ Person: {
83
+ ({ avatar, onClick, ...props }: RowPersonProps): React.JSX.Element;
84
+ displayName: string;
85
+ };
86
+ Tags: {
87
+ ({ tags, onTagClick }: RowTagsProps): React.JSX.Element | null;
88
+ displayName: string;
89
+ };
90
+ Attachments: {
91
+ ({ attachments }: RowAttachmentsProps): React.JSX.Element | null;
92
+ displayName: string;
93
+ };
94
+ Star: {
95
+ ({ starred, onToggle }: RowStarProps): React.JSX.Element | null;
96
+ displayName: string;
97
+ };
98
+ };
99
+ export type { RowAttachmentsProps, RowDateProps, RowPersonProps, RowRefProps, RowStarProps, RowTagsProps };
100
+ //# sourceMappingURL=Row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../../../../src/components/Row/Row.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,KAAK,UAAU,EAAuB,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,KAAK,QAAQ,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAYhD,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAkFvD,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,CAAC;yBAGe,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY;;;;AA4B7C,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;CACjB,CAAC;wBAGc,EAAE,MAAM,EAAE,EAAE,WAAW;;;;AAwBvC,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;AAEnE,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,wEAAwE;IACxE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACvB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;IAC/C,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,mFAAmF;IACnF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC,CAAC;2BA4DiB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc;;;;AAShE,KAAK,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,KAAK,YAAY,GAAG;IAClB,yFAAyF;IACzF,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,yEAAyE;IACzE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;yBAGe,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,YAAY;;;;AAuCnD,KAAK,mBAAmB,GAAG;IACzB,gGAAgG;IAChG,WAAW,CAAC,EAAE,SAAS,OAAO,CAAC,UAAU,EAAE,CAAC;CAC7C,CAAC;gCAMsB,EAAE,WAAW,EAAE,EAAE,mBAAmB;;;;AA4B5D,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;yBAMe,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,YAAY;;;;AAsBpD,eAAO,MAAM,GAAG;IACd,IAAI;yBAvQ2B,YAAY;;;IAwQ3C,GAAG;qBAvOuB,WAAW;;;IAwOrC,MAAM;wCAlI0C,cAAc;;;IAmI9D,IAAI;+BAhHiC,YAAY;;;IAiHjD,WAAW;0BAjE4B,mBAAmB;;;IAkE1D,IAAI;gCA5BkC,YAAY;;;CA6BnD,CAAC;AAEF,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ import React from 'react';
3
+ declare const meta: {
4
+ title: string;
5
+ render: () => React.JSX.Element;
6
+ decorators: import("@storybook/react").Decorator[];
7
+ parameters: {
8
+ layout: string;
9
+ translations: [{
10
+ readonly 'en-US': {
11
+ readonly "@dxos/react-ui-card": {
12
+ readonly 'show-contact.label': 'Show contact';
13
+ readonly 'create-contact.label': 'Create contact';
14
+ readonly 'remove-attendee.label': 'Remove attendee';
15
+ };
16
+ };
17
+ }];
18
+ };
19
+ };
20
+ export default meta;
21
+ type Story = StoryObj<typeof meta>;
22
+ export declare const Default: Story;
23
+ //# sourceMappingURL=Row.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Row.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Row/Row.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAkB,MAAM,OAAO,CAAC;AA6CvC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;CAQ2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './Row';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Row/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC"}
@@ -1,2 +1,4 @@
1
- export * from './Card';
1
+ export * from './Avatar';
2
+ export * from './CardTile';
3
+ export * from './Row';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './useActorContact';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type Database } from '@dxos/echo';
2
+ import { EID } from '@dxos/keys';
3
+ import { type Actor } from '@dxos/types';
4
+ export declare const useActorContact: (db?: Database.Database, actor?: Actor.Actor) => EID.EID | undefined;
5
+ //# sourceMappingURL=useActorContact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useActorContact.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useActorContact.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,QAAQ,EAAe,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,KAAK,EAAU,MAAM,aAAa,CAAC;AAGjD,eAAO,MAAM,eAAe,QAAS,QAAQ,CAAC,QAAQ,UAAU,KAAK,CAAC,KAAK,KAAG,GAAG,CAAC,GAAG,GAAG,SAkBvF,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './components';
2
- export * from './theme';
2
+ export * from './hooks';
3
+ export * from './util';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const translationKey = "@dxos/react-ui-card";
2
+ export declare const translations: [{
3
+ readonly 'en-US': {
4
+ readonly "@dxos/react-ui-card": {
5
+ readonly 'show-contact.label': 'Show contact';
6
+ readonly 'create-contact.label': 'Create contact';
7
+ readonly 'remove-attendee.label': 'Remove attendee';
8
+ };
9
+ };
10
+ }];
11
+ //# sourceMappingURL=translations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAEpD,eAAO,MAAM,YAAY;;;qBAIjB,oBAAoB,EAAE,cAAc;qBACpC,sBAAsB,EAAE,gBAAgB;qBACxC,uBAAuB,EAAE,iBAAiB;;;EAInB,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Deterministic string hash (djb2), used to map a name to a stable avatar hue. */
2
+ export declare const hashString: (str?: string) => number;
3
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.ts"],"names":[],"mappings":"AAIA,mFAAmF;AACnF,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAC4D,CAAC"}