@revikornmann/muka-ui 0.12.0 → 0.13.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 (109) hide show
  1. package/build/manifest.json +10 -0
  2. package/dist/cjs/components/AgentTaskList/AgentTaskList.js +1 -1
  3. package/dist/cjs/components/BadgeNumber/BadgeNumber.css +105 -0
  4. package/dist/cjs/components/BadgeNumber/BadgeNumber.js +19 -0
  5. package/dist/cjs/components/BadgeNumber/BadgeNumber.js.map +1 -0
  6. package/dist/cjs/components/BadgeNumber/index.js +11 -0
  7. package/dist/cjs/components/BadgeNumber/index.js.map +1 -0
  8. package/dist/cjs/components/{ChatBubble/ChatBubble.css → ChatMessage/ChatMessage.css} +133 -105
  9. package/dist/cjs/components/ChatMessage/ChatMessage.js +141 -0
  10. package/dist/cjs/components/ChatMessage/ChatMessage.js.map +1 -0
  11. package/dist/cjs/components/ChatMessage/index.js +7 -0
  12. package/dist/cjs/components/ChatMessage/index.js.map +1 -0
  13. package/dist/cjs/components/ChatMessageList/ChatMessageList.js +1 -1
  14. package/dist/cjs/components/ChatMessageStack/ChatMessageStack.css +51 -0
  15. package/dist/cjs/components/ChatMessageStack/ChatMessageStack.js +49 -0
  16. package/dist/cjs/components/ChatMessageStack/ChatMessageStack.js.map +1 -0
  17. package/dist/cjs/components/ChatMessageStack/index.js +6 -0
  18. package/dist/cjs/components/ChatMessageStack/index.js.map +1 -0
  19. package/dist/cjs/components/ChatPhotoGrid/ChatPhotoGrid.css +8 -2
  20. package/dist/cjs/components/ChatPhotoGrid/ChatPhotoGrid.js +1 -1
  21. package/dist/cjs/components/Menu/Menu.js +5 -4
  22. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  23. package/dist/cjs/components/index.js +9 -5
  24. package/dist/cjs/components/index.js.map +1 -1
  25. package/dist/cjs/utils/useLongPress.js +71 -0
  26. package/dist/cjs/utils/useLongPress.js.map +1 -0
  27. package/dist/esm/components/AgentTaskList/AgentTaskList.js +1 -1
  28. package/dist/esm/components/BadgeNumber/BadgeNumber.css +105 -0
  29. package/dist/esm/components/BadgeNumber/BadgeNumber.js +15 -0
  30. package/dist/esm/components/BadgeNumber/BadgeNumber.js.map +1 -0
  31. package/dist/esm/components/BadgeNumber/index.js +3 -0
  32. package/dist/esm/components/BadgeNumber/index.js.map +1 -0
  33. package/dist/esm/components/{ChatBubble/ChatBubble.css → ChatMessage/ChatMessage.css} +133 -105
  34. package/dist/esm/components/ChatMessage/ChatMessage.js +137 -0
  35. package/dist/esm/components/ChatMessage/ChatMessage.js.map +1 -0
  36. package/dist/esm/components/ChatMessage/index.js +2 -0
  37. package/dist/esm/components/ChatMessage/index.js.map +1 -0
  38. package/dist/esm/components/ChatMessageList/ChatMessageList.js +1 -1
  39. package/dist/esm/components/ChatMessageStack/ChatMessageStack.css +51 -0
  40. package/dist/esm/components/ChatMessageStack/ChatMessageStack.js +42 -0
  41. package/dist/esm/components/ChatMessageStack/ChatMessageStack.js.map +1 -0
  42. package/dist/esm/components/ChatMessageStack/index.js +2 -0
  43. package/dist/esm/components/ChatMessageStack/index.js.map +1 -0
  44. package/dist/esm/components/ChatPhotoGrid/ChatPhotoGrid.css +8 -2
  45. package/dist/esm/components/ChatPhotoGrid/ChatPhotoGrid.js +1 -1
  46. package/dist/esm/components/Menu/Menu.js +5 -4
  47. package/dist/esm/components/Menu/Menu.js.map +1 -1
  48. package/dist/esm/components/index.js +3 -1
  49. package/dist/esm/components/index.js.map +1 -1
  50. package/dist/esm/utils/useLongPress.js +68 -0
  51. package/dist/esm/utils/useLongPress.js.map +1 -0
  52. package/dist/styles/components/BadgeNumber.css +105 -0
  53. package/dist/styles/components/{ChatBubble.css → ChatMessage.css} +133 -105
  54. package/dist/styles/components/ChatMessageStack.css +51 -0
  55. package/dist/styles/components/ChatPhotoGrid.css +8 -2
  56. package/dist/styles/index.css +1672 -1449
  57. package/dist/styles/muka-dark.css +1672 -1449
  58. package/dist/styles/muka-light.css +1672 -1449
  59. package/dist/styles/tokens-bouwplan-dark.css +32 -5
  60. package/dist/styles/tokens-bouwplan-light.css +32 -5
  61. package/dist/styles/tokens-fscl-dark.css +32 -5
  62. package/dist/styles/tokens-fscl-light.css +32 -5
  63. package/dist/styles/tokens-grip-dark.css +32 -5
  64. package/dist/styles/tokens-grip-light.css +32 -5
  65. package/dist/styles/tokens-muka-dark.css +32 -5
  66. package/dist/styles/tokens-muka-light.css +32 -5
  67. package/dist/styles/tokens-wireframe-dark.css +31 -4
  68. package/dist/styles/tokens-wireframe-light.css +31 -4
  69. package/dist/styles/wireframe-dark.css +1671 -1448
  70. package/dist/styles/wireframe-light.css +1671 -1448
  71. package/dist/types/components/AgentTaskList/AgentTaskList.d.ts +1 -1
  72. package/dist/types/components/BadgeNumber/BadgeNumber.d.ts +17 -0
  73. package/dist/types/components/BadgeNumber/BadgeNumber.d.ts.map +1 -0
  74. package/dist/types/components/BadgeNumber/index.d.ts +3 -0
  75. package/dist/types/components/BadgeNumber/index.d.ts.map +1 -0
  76. package/dist/types/components/ChatMessage/ChatMessage.d.ts +130 -0
  77. package/dist/types/components/ChatMessage/ChatMessage.d.ts.map +1 -0
  78. package/dist/types/components/ChatMessage/index.d.ts +2 -0
  79. package/dist/types/components/ChatMessage/index.d.ts.map +1 -0
  80. package/dist/types/components/ChatMessageList/ChatMessageList.d.ts +2 -2
  81. package/dist/types/components/ChatMessageList/ChatMessageList.d.ts.map +1 -1
  82. package/dist/types/components/ChatMessageStack/ChatMessageStack.d.ts +46 -0
  83. package/dist/types/components/ChatMessageStack/ChatMessageStack.d.ts.map +1 -0
  84. package/dist/types/components/ChatMessageStack/index.d.ts +2 -0
  85. package/dist/types/components/ChatMessageStack/index.d.ts.map +1 -0
  86. package/dist/types/components/ChatPhotoGrid/ChatPhotoGrid.d.ts +1 -1
  87. package/dist/types/components/Menu/Menu.d.ts +12 -0
  88. package/dist/types/components/Menu/Menu.d.ts.map +1 -1
  89. package/dist/types/components/index.d.ts +3 -1
  90. package/dist/types/components/index.d.ts.map +1 -1
  91. package/dist/types/utils/useLongPress.d.ts +28 -0
  92. package/dist/types/utils/useLongPress.d.ts.map +1 -0
  93. package/package.json +1 -1
  94. package/tokens/t3-semantics/ui.json +29 -0
  95. package/tokens/t4-components/badge-number.json +48 -0
  96. package/tokens/t4-components/chatbubble.json +33 -7
  97. package/tokens/t4-components/chatphotogrid.json +2 -2
  98. package/dist/cjs/components/ChatBubble/ChatBubble.js +0 -37
  99. package/dist/cjs/components/ChatBubble/ChatBubble.js.map +0 -1
  100. package/dist/cjs/components/ChatBubble/index.js +0 -6
  101. package/dist/cjs/components/ChatBubble/index.js.map +0 -1
  102. package/dist/esm/components/ChatBubble/ChatBubble.js +0 -33
  103. package/dist/esm/components/ChatBubble/ChatBubble.js.map +0 -1
  104. package/dist/esm/components/ChatBubble/index.js +0 -2
  105. package/dist/esm/components/ChatBubble/index.js.map +0 -1
  106. package/dist/types/components/ChatBubble/ChatBubble.d.ts +0 -85
  107. package/dist/types/components/ChatBubble/ChatBubble.d.ts.map +0 -1
  108. package/dist/types/components/ChatBubble/index.d.ts +0 -2
  109. package/dist/types/components/ChatBubble/index.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatBubble.js","sourceRoot":"","sources":["../../../../components/ChatBubble/ChatBubble.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChatBubble = void 0;
4
- var ChatBubble_1 = require("./ChatBubble");
5
- Object.defineProperty(exports, "ChatBubble", { enumerable: true, get: function () { return ChatBubble_1.ChatBubble; } });
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/ChatBubble/index.ts"],"names":[],"mappings":";;;AAAA,2CAAgE;AAAvD,wGAAA,UAAU,OAAA"}
@@ -1,33 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Button } from '../Button';
3
- import { Icon } from '../Icon';
4
- import './ChatBubble.css';
5
- /**
6
- * ChatBubble — a single chat message.
7
- *
8
- * Composes with `ChatMessageList`. Pass `<ChatPhotoGrid />` to `media`, an
9
- * `<AgentTaskList />` above the bubble for tool progress, and a `<Badge />` to
10
- * `badge` for visibility scope.
11
- */
12
- export const ChatBubble = ({ variant, children, avatar, author, authorMeta, badge, timestamp, media, embed, onEmbedCopy, embedCopyLabel = 'Copy', actionStack, onCopy, copyLabel = 'Copy', onFeedback, feedback = null, feedbackUpLabel = 'Helpful', feedbackDownLabel = 'Not helpful', onRefresh, refreshLabel = 'Regenerate', actions, onMenuClick, menuLabel = 'Message options', className = '', }) => {
13
- // The own variant shows its timestamp inside the bubble; the others in the header row.
14
- const timestampInHeader = variant !== 'own';
15
- const hasHeader = Boolean(author || badge || (timestampInHeader && timestamp));
16
- const classes = [
17
- 'muka-chat-bubble',
18
- `muka-chat-bubble--${variant}`,
19
- avatar && 'muka-chat-bubble--has-avatar',
20
- onMenuClick && 'muka-chat-bubble--has-menu',
21
- !hasHeader && 'muka-chat-bubble--no-header',
22
- className,
23
- ]
24
- .filter(Boolean)
25
- .join(' ');
26
- // The rail is only reserved when an avatar is supplied. To keep grouped
27
- // messages aligned, pass a spacer node for the follow-up messages.
28
- const rail = avatar ? (_jsx("div", { className: "muka-chat-bubble__rail", children: avatar })) : null;
29
- const hasActionBar = Boolean(onCopy || onFeedback || onRefresh || actions);
30
- return (_jsx("div", { className: classes, "data-variant": variant, children: _jsxs("div", { className: "muka-chat-bubble__row", children: [variant !== 'own' ? rail : null, _jsxs("div", { className: "muka-chat-bubble__bubble", children: [hasHeader && (_jsxs("div", { className: "muka-chat-bubble__header", children: [author && (_jsx("span", { className: "muka-chat-bubble__author", children: author })), authorMeta && (_jsx("span", { className: "muka-chat-bubble__author-meta", children: authorMeta })), timestampInHeader && timestamp && (_jsx("span", { className: "muka-chat-bubble__timestamp", children: timestamp })), badge && _jsx("span", { className: "muka-chat-bubble__badge", children: badge })] })), _jsxs("div", { className: "muka-chat-bubble__body", children: [media && _jsx("div", { className: "muka-chat-bubble__media", children: media }), _jsx("div", { className: "muka-chat-bubble__message", children: children }), embed && (_jsxs("div", { className: "muka-chat-bubble__embed", children: [_jsx("div", { className: "muka-chat-bubble__embed-content", children: embed }), onEmbedCopy && (_jsx("div", { className: "muka-chat-bubble__embed-copy", children: _jsx(Button, { variant: "muted", size: "md", iconOnly: true, type: "button", "aria-label": embedCopyLabel, onClick: onEmbedCopy, children: _jsx(Icon, { name: "file-copy", size: "sm" }) }) }))] })), actionStack && (_jsx("div", { className: "muka-chat-bubble__action-stack", children: actionStack }))] }), !timestampInHeader && timestamp && (_jsx("span", { className: "muka-chat-bubble__timestamp muka-chat-bubble__timestamp--inset", children: timestamp })), onMenuClick && (_jsx("div", { className: "muka-chat-bubble__menu", children: _jsx(Button, { variant: "muted", size: "sm", iconOnly: true, type: "button", "aria-label": menuLabel, onClick: onMenuClick, children: _jsx(Icon, { name: "arrow-down-s", size: "xs" }) }) }))] }), hasActionBar && (_jsxs("div", { className: "muka-chat-bubble__actions", children: [onCopy && (_jsx(Button, { variant: "muted", size: "sm", iconOnly: true, type: "button", "aria-label": copyLabel, onClick: onCopy, children: _jsx(Icon, { name: "file-copy", size: "xs" }) })), onFeedback && (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "muted", size: "sm", iconOnly: true, type: "button", "aria-label": feedbackUpLabel, "aria-pressed": feedback === 'up', onClick: () => onFeedback(feedback === 'up' ? null : 'up'), children: _jsx(Icon, { name: "thumb-up", size: "xs" }) }), _jsx(Button, { variant: "muted", size: "sm", iconOnly: true, type: "button", "aria-label": feedbackDownLabel, "aria-pressed": feedback === 'down', onClick: () => onFeedback(feedback === 'down' ? null : 'down'), children: _jsx(Icon, { name: "thumb-down", size: "xs" }) })] })), onRefresh && (_jsx(Button, { variant: "muted", size: "sm", iconOnly: true, type: "button", "aria-label": refreshLabel, onClick: onRefresh, children: _jsx(Icon, { name: "restart", size: "xs" }) })), actions] })), variant === 'own' ? rail : null] }) }));
31
- };
32
- export default ChatBubble;
33
- //# sourceMappingURL=ChatBubble.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatBubble.js","sourceRoot":"","sources":["../../../../components/ChatBubble/ChatBubble.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { ChatBubble } from './ChatBubble';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/ChatBubble/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC"}
@@ -1,85 +0,0 @@
1
- import React from 'react';
2
- import './ChatBubble.css';
3
- export interface ChatBubbleProps {
4
- /**
5
- * Message author.
6
- * - `own` — the signed-in user's own message: right-aligned, timestamp inside bottom-right
7
- * - `peer` — another human in the conversation: left-aligned card with border + shadow
8
- * - `agent` — AI or system author: left-aligned balloon
9
- */
10
- variant: 'own' | 'peer' | 'agent';
11
- /** Message body. Plain text or rich content (e.g. a markdown renderer) */
12
- children: React.ReactNode;
13
- /**
14
- * Avatar rendered in the rail beside the bubble (right for `own`, left otherwise).
15
- * Pass an `<Avatar />` or `<ProfileBadge />`.
16
- */
17
- avatar?: React.ReactNode;
18
- /** Author name shown in the header row (`peer` and `agent`) */
19
- author?: string;
20
- /** Role or label rendered after the author name (e.g. "Onderaannemer elektra") */
21
- authorMeta?: string;
22
- /**
23
- * Status/visibility badge rendered at the end of the header row.
24
- * Pass a `<Badge size="sm">` (e.g. "Alleen zichtbaar voor jou").
25
- */
26
- badge?: React.ReactNode;
27
- /** Timestamp (e.g. "19:54"). In the header row, except for `own` where it sits inside the bubble. */
28
- timestamp?: string;
29
- /** Media block above the message body — typically a `<ChatPhotoGrid />` */
30
- media?: React.ReactNode;
31
- /**
32
- * Tinted, bordered card rendered inside the bubble below the body.
33
- * Content-agnostic — pass whatever structured content the message carries.
34
- */
35
- embed?: React.ReactNode;
36
- /** When provided, renders a copy button in the embed's top-right corner */
37
- onEmbedCopy?: () => void;
38
- /** Accessible label for the embed copy button. Default: 'Copy' */
39
- embedCopyLabel?: string;
40
- /**
41
- * Vertical stack of full-width action buttons rendered inside the bubble
42
- * (e.g. "Ja, sluit af" / "Annuleer"). Pass `<Button fullWidth>` children.
43
- */
44
- actionStack?: React.ReactNode;
45
- /** When provided, renders a copy button in the action bar below the bubble */
46
- onCopy?: () => void;
47
- /** Accessible label for the copy action. Default: 'Copy' */
48
- copyLabel?: string;
49
- /**
50
- * When provided, renders the thumbs up/down feedback pair in the action bar.
51
- * Called with the value the user picked, or `null` when they clear it.
52
- */
53
- onFeedback?: (value: 'up' | 'down' | null) => void;
54
- /** Current feedback selection. Drives `aria-pressed` on the thumbs. */
55
- feedback?: 'up' | 'down' | null;
56
- /** Accessible label for thumbs up. Default: 'Helpful' */
57
- feedbackUpLabel?: string;
58
- /** Accessible label for thumbs down. Default: 'Not helpful' */
59
- feedbackDownLabel?: string;
60
- /** When provided, renders a refresh/regenerate button in the action bar */
61
- onRefresh?: () => void;
62
- /** Accessible label for the refresh action. Default: 'Regenerate' */
63
- refreshLabel?: string;
64
- /**
65
- * Extra nodes appended to the action bar after the built-in copy, feedback
66
- * and refresh actions. Toggle buttons should set `aria-pressed`.
67
- */
68
- actions?: React.ReactNode;
69
- /** When provided, renders a chevron affordance in the bubble's top-right corner */
70
- onMenuClick?: () => void;
71
- /** Accessible label for the menu button. Default: 'Message options' */
72
- menuLabel?: string;
73
- /** Additional CSS classes */
74
- className?: string;
75
- }
76
- /**
77
- * ChatBubble — a single chat message.
78
- *
79
- * Composes with `ChatMessageList`. Pass `<ChatPhotoGrid />` to `media`, an
80
- * `<AgentTaskList />` above the bubble for tool progress, and a `<Badge />` to
81
- * `badge` for visibility scope.
82
- */
83
- export declare const ChatBubble: React.FC<ChatBubbleProps>;
84
- export default ChatBubble;
85
- //# sourceMappingURL=ChatBubble.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatBubble.d.ts","sourceRoot":"","sources":["../../../../components/ChatBubble/ChatBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,kBAAkB,CAAC;AAE1B,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAElC,0EAA0E;IAC1E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB,qGAAqG;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAEnD,uEAAuE;IACvE,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IAEhC,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsLhD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,2 +0,0 @@
1
- export { ChatBubble, type ChatBubbleProps } from './ChatBubble';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/ChatBubble/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}