@botiverse/raft-ui 0.56.1 → 0.57.1

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 (41) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/codemods/token-names.mjs +2 -2
  3. package/dist/cn.mjs +7 -22
  4. package/dist/components/icons/action-icons.d.mts +0 -2
  5. package/dist/components/icons/action-icons.mjs +1 -32
  6. package/dist/components/icons/index.d.mts +2 -2
  7. package/dist/components/lightbox/lightbox.mjs +1 -1
  8. package/dist/components/message-item/index.d.mts +1 -2
  9. package/dist/components/message-item/message-reaction.mjs +1 -1
  10. package/dist/components/meter/meter.d.mts +1 -7
  11. package/dist/components/meter/meter.mjs +2 -2
  12. package/dist/components/notification-center/notification-center.mjs +1 -1
  13. package/dist/components/pull-to-refresh/pull-to-refresh-indicator.mjs +1 -1
  14. package/dist/components/sidebar/index.d.mts +2 -2
  15. package/dist/components/sidebar/sidebar-section.recipe.mjs +4 -17
  16. package/dist/components/sidebar/sidebar.d.mts +0 -2
  17. package/dist/components/sidebar/sidebar.mjs +1 -14
  18. package/dist/components/sidebar/sidebar.recipe.mjs +2 -5
  19. package/dist/components/status/status.mjs +1 -1
  20. package/dist/foundation.css +0 -174
  21. package/dist/index.d.mts +3 -11
  22. package/dist/index.mjs +4 -8
  23. package/dist/lib/head-edges.mjs +1 -1
  24. package/dist/styles.css +1 -97
  25. package/dist/tokens.json +0 -1231
  26. package/package.json +1 -1
  27. package/dist/components/float-button/float-button.css +0 -326
  28. package/dist/components/float-button/float-button.d.mts +0 -36
  29. package/dist/components/float-button/float-button.mjs +0 -116
  30. package/dist/components/float-button/float-button.position.d.mts +0 -6
  31. package/dist/components/float-button/float-button.position.mjs +0 -41
  32. package/dist/components/float-button/index.d.mts +0 -3
  33. package/dist/components/legacy-task-panel/index.d.mts +0 -2
  34. package/dist/components/legacy-task-panel/legacy-task-panel.d.mts +0 -57
  35. package/dist/components/legacy-task-panel/legacy-task-panel.mjs +0 -234
  36. package/dist/components/legacy-task-panel/legacy-task-panel.recipe.mjs +0 -30
  37. package/dist/components/live-agent-activity-bar/index.d.mts +0 -2
  38. package/dist/components/live-agent-activity-bar/live-agent-activity-bar.d.mts +0 -25
  39. package/dist/components/live-agent-activity-bar/live-agent-activity-bar.mjs +0 -107
  40. package/dist/components/message-item/message-text-selection-toolbar.d.mts +0 -24
  41. package/dist/components/message-item/message-text-selection-toolbar.mjs +0 -13
package/CHANGELOG.md CHANGED
@@ -1,3 +1,62 @@
1
+ ## [0.57.1](https://github.com/botiverse/raft-design/compare/v0.57.0...v0.57.1) (2026-11-02)
2
+
3
+ ### Fixed
4
+
5
+ - **SidebarSectionControls**: a section's controls are always shown, with a mouse as on a touch screen. ([#942](https://github.com/botiverse/raft-design/pull/942))
6
+ - Why: shown only on hover, they hid what the header can do, and a long title's room changed as the pointer passed (stdrc).
7
+ - Affects: the controls are no longer hidden at rest with a mouse; a collapsed section's attention mark sits before them in the row and hides only while the section is open.
8
+ - Docs: https://raft-design.botiverse.build/components/sidebar/
9
+ - **Edge pull of a header's first and last control** (sidebar section controls, panel and dialog heads, Lightbox actions): it holds while that control's menu is open. ([#942](https://github.com/botiverse/raft-design/pull/942))
10
+ - Why: an open menu puts Base UI focus guards and a hidden portal span beside its trigger, so the trigger stopped being the last child, lost its 5px pull and moved left.
11
+ - Affects: the pull now skips `[data-base-ui-focus-guard]` and `[aria-owns]` siblings.
12
+ - Docs: https://raft-design.botiverse.build/foundations/alignment/
13
+
14
+ ## [0.57.0](https://github.com/botiverse/raft-design/compare/v0.56.1...v0.57.0) (2026-11-01)
15
+
16
+ ### Breaking Changes
17
+
18
+ - **Deprecated tokens removed**: the 165 tokens of the `deprecated` group of `tokens.json` and their `foundation.css` declarations are gone. ([#930](https://github.com/botiverse/raft-design/pull/930))
19
+ - Why: the aliases doubled the token list and let old names keep spreading; nothing in Raft's apps used them any more.
20
+ - Affects: `primary-*`, `accent-*`, `secondary-*`, `color-brutal-*-{n}`, `theme-shadow-*`, `theme-focus-ring`, `layer-panel`, `layer-inset`, `layer-canvas-muted`, `layer-hud-foreground`, `foreground-strong`, `foreground-icon`, `foreground-placeholder`, `line`, `line-muted`, `fill-pressed`, `fill-frame-pressed`, `fill-row-hover`, `fill-row-open`, `fill-message-hover`, `sticker-pressed`.
21
+ - Migrate: run `node node_modules/@botiverse/raft-ui/codemods/token-names.mjs <dir>` before upgrading; it rewrites each former name to the token it pointed at.
22
+ - Docs: https://raft-design.botiverse.build/foundations/tokens/#former-names
23
+ - **Deprecated utilities removed**: the color, shadow and overlay utilities built on those tokens. ([#930](https://github.com/botiverse/raft-design/pull/930))
24
+ - Why: same as above; they only existed as aliases.
25
+ - Affects: `bg-primary-*`, `bg-accent-*`, `bg-secondary-*`, `bg-brutal-*`, `bg-soft-signal` and the other color utilities of the removed names, `shadow-raft-*`, `press-overlay`, `press-overlay-sticker`, `row-hover-overlay`, `row-open-overlay`. `bg-fill-row-hover` stays for now.
26
+ - Migrate: run the codemod above; use `bg-fill-subtle` for `bg-fill-row-hover`.
27
+ - Docs: https://raft-design.botiverse.build/foundations/tokens/#former-names
28
+ - **FloatButton, FloatButtonGroup** removed, with their types and `components/float-button/float-button.css`. ([#930](https://github.com/botiverse/raft-design/pull/930))
29
+ - Why: deprecated and unused; a floating control is only for moving through a list, and page actions belong in a header or toolbar.
30
+ - Migrate: put the action in the header or a toolbar.
31
+ - Docs: https://raft-design.botiverse.build/foundations/elevation/
32
+ - **LiveAgentActivityBar** and its parts (`LiveAgentActivityBarAvatar`, `LiveAgentActivityBarContent`, `LiveAgentActivityBarRow`, `LiveAgentActivityBarStatus`, `LiveAgentActivityBarText`) removed, with **SidebarLiveActivity**, the sidebar part that held it. ([#930](https://github.com/botiverse/raft-design/pull/930))
33
+ - Why: a live strip at the bottom of the sidebar or above the tab bar showed changing content unrelated to the page; working agents show in the header summary and in their own rows.
34
+ - Migrate: show working agents in place.
35
+ - Docs: https://raft-design.botiverse.build/people-and-agents/working-agents/
36
+ - **LegacyTaskPanel*** removed: the 17 parts and their types. ([#930](https://github.com/botiverse/raft-design/pull/930))
37
+ - Why: deprecated and unused.
38
+ - Migrate: use the Tasks components.
39
+ - Docs: https://raft-design.botiverse.build/components/tasks/
40
+ - **MessageTextSelectionToolbar, MessageTextSelectionToolbarButton, MessageTextSelectionToolbarSeparator, createMessageTextSelectionAnchor** and their 4 types removed. ([#930](https://github.com/botiverse/raft-design/pull/930))
41
+ - Why: they were message-named aliases of the generic toolbar.
42
+ - Migrate: use `TextSelectionToolbar`, `TextSelectionToolbarButton`, `TextSelectionToolbarSeparator`, `createTextSelectionAnchor`.
43
+ - Docs: https://raft-design.botiverse.build/components/text-selection-toolbar/
44
+ - **CreateTaskIcon** removed. ([#930](https://github.com/botiverse/raft-design/pull/930))
45
+ - Why: unused; Create Task uses Lucide's `plus`.
46
+ - Migrate: use Lucide's `plus`.
47
+ - Docs: https://raft-design.botiverse.build/components/icons/
48
+ - **Meter `low`** removed. ([#930](https://github.com/botiverse/raft-design/pull/930))
49
+ - Why: `warnAt` replaced it.
50
+ - Migrate: `low={20}` of 100 is `warnAt={0.8}`, the default.
51
+ - Docs: https://raft-design.botiverse.build/components/meter/
52
+
53
+ ### Fixed
54
+
55
+ - **SidebarSectionControl**: on a touch screen the section controls stay 4px apart, as with a mouse. ([#935](https://github.com/botiverse/raft-design/pull/935))
56
+ - Why: a 20px gap made the two controls read as separate buttons; their 44px-high hit areas now meet in the middle of the 4px gap instead, with no overlap and no dead strip.
57
+ - Affects: touch gap 20px → 4px (`gap-1`); each hit area reaches 2px into the gap.
58
+ - Docs: https://raft-design.botiverse.build/components/sidebar/
59
+
1
60
  ## [0.56.1](https://github.com/botiverse/raft-design/compare/v0.56.0...v0.56.1) (2026-10-31)
2
61
 
3
62
  ### Fixed
@@ -5,8 +5,8 @@
5
5
  //
6
6
  // Rewrites Tailwind utilities (`bg-layer-panel`, `hover:border-line-muted/50`)
7
7
  // and CSS custom properties (`var(--primary-soft)`) in .ts, .tsx, .js, .jsx,
8
- // .mjs, .css and .html files. The old names keep working as deprecated aliases
9
- // until raft-ui 1.0, so the rewrite can land at any time after upgrading.
8
+ // .mjs, .css and .html files. The old names were deprecated aliases up to
9
+ // raft-ui 0.56 and are removed after it: run this before upgrading past 0.56.
10
10
  //
11
11
  // Review by hand afterwards: a guard that forbids a former name (a lint rule,
12
12
  // a test's doesNotMatch, an allowlist) now forbids the current one, and a
package/dist/cn.mjs CHANGED
@@ -25,16 +25,7 @@ const twMerge = extendTailwindMerge({ extend: {
25
25
  "float",
26
26
  "sticker",
27
27
  "focus"
28
- ] }, { shadow: [{ raft: [
29
- "xs",
30
- "sm",
31
- "md",
32
- "lg",
33
- "xl",
34
- "float",
35
- "sticker",
36
- "focus"
37
- ] }] }],
28
+ ] }],
38
29
  rounded: [{ rounded: [
39
30
  "sticker",
40
31
  "chip",
@@ -68,18 +59,12 @@ const twMerge = extendTailwindMerge({ extend: {
68
59
  "x"
69
60
  ] }],
70
61
  opacity: [{ opacity: ["dimmed"] }],
71
- "bg-image": [
72
- { overlay: [
73
- "subtle",
74
- "medium",
75
- "sticker-medium",
76
- "frame-medium"
77
- ] },
78
- "press-overlay",
79
- "press-overlay-sticker",
80
- "row-hover-overlay",
81
- "row-open-overlay"
82
- ]
62
+ "bg-image": [{ overlay: [
63
+ "subtle",
64
+ "medium",
65
+ "sticker-medium",
66
+ "frame-medium"
67
+ ] }]
83
68
  }
84
69
  } });
85
70
  function cn(...inputs) {
@@ -27,8 +27,6 @@ export declare function FollowArtifactIcon(props: ActionIconProps): import("reac
27
27
  export declare function UnfollowArtifactIcon(props: ActionIconProps): import("react").JSX.Element;
28
28
  /** Add a comment: CommentIcon at 24, its bubble cut short of a plus in the bottom-right corner. */
29
29
  export declare function AddCommentIcon(props: ActionIconProps): import("react").JSX.Element;
30
- /** Create a task: Lucide's list-todo, a plus in place of its last line. */
31
- export declare function CreateTaskIcon(props: ActionIconProps): import("react").JSX.Element;
32
30
  /** Reopen a task: a ticked box, broken open at the top by a counter-clockwise arrow (Lucide's rotate-ccw-square with a check). */
33
31
  export declare function ReopenTaskIcon(props: ActionIconProps): import("react").JSX.Element;
34
32
  //#endregion
@@ -325,37 +325,6 @@ function AddCommentIcon(props) {
325
325
  ]
326
326
  });
327
327
  }
328
- /** Create a task: Lucide's list-todo, a plus in place of its last line. */
329
- function CreateTaskIcon(props) {
330
- return /* @__PURE__ */ jsxs("svg", {
331
- xmlns: "http://www.w3.org/2000/svg",
332
- width: 24,
333
- height: 24,
334
- viewBox: "0 0 24 24",
335
- "aria-hidden": "true",
336
- focusable: "false",
337
- fill: "none",
338
- stroke: "currentColor",
339
- strokeLinecap: "round",
340
- strokeLinejoin: "round",
341
- strokeWidth: 2,
342
- ...props,
343
- children: [
344
- /* @__PURE__ */ jsx("rect", {
345
- x: 3,
346
- y: 4,
347
- width: 6,
348
- height: 6,
349
- rx: 1
350
- }),
351
- /* @__PURE__ */ jsx("path", { d: "M13 5h8" }),
352
- /* @__PURE__ */ jsx("path", { d: "M13 12h8" }),
353
- /* @__PURE__ */ jsx("path", { d: "m3 17 2 2 4-4" }),
354
- /* @__PURE__ */ jsx("path", { d: "M19 16v6" }),
355
- /* @__PURE__ */ jsx("path", { d: "M16 19h6" })
356
- ]
357
- });
358
- }
359
328
  /** Reopen a task: a ticked box, broken open at the top by a counter-clockwise arrow (Lucide's rotate-ccw-square with a check). */
360
329
  function ReopenTaskIcon(props) {
361
330
  return /* @__PURE__ */ jsxs("svg", {
@@ -380,4 +349,4 @@ function ReopenTaskIcon(props) {
380
349
  });
381
350
  }
382
351
  //#endregion
383
- export { AddCommentIcon, CreateTaskIcon, FollowArtifactIcon, FollowThreadIcon, JoinChannelIcon, JoinJointChannelIcon, JoinPrivateChannelIcon, LeaveChannelIcon, LeaveJointChannelIcon, LeavePrivateChannelIcon, ReopenTaskIcon, UnfollowArtifactIcon, UnfollowThreadIcon };
352
+ export { AddCommentIcon, FollowArtifactIcon, FollowThreadIcon, JoinChannelIcon, JoinJointChannelIcon, JoinPrivateChannelIcon, LeaveChannelIcon, LeaveJointChannelIcon, LeavePrivateChannelIcon, ReopenTaskIcon, UnfollowArtifactIcon, UnfollowThreadIcon };
@@ -1,4 +1,4 @@
1
- import { ActionIconProps, AddCommentIcon, CreateTaskIcon, FollowArtifactIcon, FollowThreadIcon, JoinChannelIcon, JoinJointChannelIcon, JoinPrivateChannelIcon, LeaveChannelIcon, LeaveJointChannelIcon, LeavePrivateChannelIcon, ReopenTaskIcon, UnfollowArtifactIcon, UnfollowThreadIcon } from "./action-icons.mjs";
1
+ import { ActionIconProps, AddCommentIcon, FollowArtifactIcon, FollowThreadIcon, JoinChannelIcon, JoinJointChannelIcon, JoinPrivateChannelIcon, LeaveChannelIcon, LeaveJointChannelIcon, LeavePrivateChannelIcon, ReopenTaskIcon, UnfollowArtifactIcon, UnfollowThreadIcon } from "./action-icons.mjs";
2
2
  import { ChatIcon, CommentIcon, ConversationIconProps, DirectMessageIcon, FeedbackIcon, MessageIcon, ThreadIcon } from "./conversation-icons.mjs";
3
3
  import { ArtifactIcon, ObjectIconProps } from "./object-icons.mjs";
4
- export { type ActionIconProps, AddCommentIcon, ArtifactIcon, ChatIcon, CommentIcon, type ConversationIconProps, CreateTaskIcon, DirectMessageIcon, FeedbackIcon, FollowArtifactIcon, FollowThreadIcon, JoinChannelIcon, JoinJointChannelIcon, JoinPrivateChannelIcon, LeaveChannelIcon, LeaveJointChannelIcon, LeavePrivateChannelIcon, MessageIcon, type ObjectIconProps, ReopenTaskIcon, ThreadIcon, UnfollowArtifactIcon, UnfollowThreadIcon };
4
+ export { type ActionIconProps, AddCommentIcon, ArtifactIcon, ChatIcon, CommentIcon, type ConversationIconProps, DirectMessageIcon, FeedbackIcon, FollowArtifactIcon, FollowThreadIcon, JoinChannelIcon, JoinJointChannelIcon, JoinPrivateChannelIcon, LeaveChannelIcon, LeaveJointChannelIcon, LeavePrivateChannelIcon, MessageIcon, type ObjectIconProps, ReopenTaskIcon, ThreadIcon, UnfollowArtifactIcon, UnfollowThreadIcon };
@@ -45,7 +45,7 @@ const lightbox = tv({ slots: {
45
45
  actions: [
46
46
  "flex shrink-0 items-center",
47
47
  "gap-1",
48
- "[&>[data-icon-inset]:last-child]:-mr-icon-inset"
48
+ "[&>[data-icon-inset]:nth-last-child(1_of_:not([data-base-ui-focus-guard],[aria-owns]))]:-mr-icon-inset"
49
49
  ],
50
50
  stage: ["pointer-events-none relative flex min-h-0 flex-1 items-center justify-center overflow-hidden"],
51
51
  media: ["pointer-events-auto max-h-[80vh] max-w-[86vw] border-0 bg-transparent shadow-none"],
@@ -9,5 +9,4 @@ import { MessageReactionAddButton, MessageReactionAddButtonProps, MessageReactio
9
9
  import { MessageReferenceChipVariant, MessageReferenceTextVariant } from "./message-reference.recipe.mjs";
10
10
  import { MessageReferenceChip, MessageReferenceChipProps, MessageReferenceIcon, MessageReferenceIconProps, MessageReferenceIndicator, MessageReferenceIndicatorProps, MessageReferenceLabel, MessageReferenceLabelProps, MessageReferencePending, MessageReferencePendingProps, MessageReferenceReadMark, MessageReferenceReadMarkProps, MessageReferenceSuffix, MessageReferenceSuffixProps, MessageReferenceText, MessageReferenceTextProps, MessageReferenceUnavailable, MessageReferenceUnavailableProps } from "./message-reference.mjs";
11
11
  import { MessageMultiSelect, MessageMultiSelectCheckbox, MessageMultiSelectCheckboxProps, MessageMultiSelectProps, MessageMultiSelectToolbar, MessageMultiSelectToolbarActions, MessageMultiSelectToolbarActionsProps, MessageMultiSelectToolbarProps } from "./message-multi-select.mjs";
12
- import { MessageTextSelectionAnchor, MessageTextSelectionToolbar, MessageTextSelectionToolbarButton, MessageTextSelectionToolbarButtonProps, MessageTextSelectionToolbarProps, MessageTextSelectionToolbarSeparator, MessageTextSelectionToolbarSeparatorProps, createMessageTextSelectionAnchor } from "./message-text-selection-toolbar.mjs";
13
- export { MessageItem, MessageItemAttachments, type MessageItemAttachmentsProps, MessageItemAvatarSlot, type MessageItemAvatarSlotProps, MessageItemBadge, type MessageItemBadgeProps, MessageItemBadgeSeparator, type MessageItemBadgeSeparatorProps, type MessageItemBadgeStatus, MessageItemBody, type MessageItemBodyProps, MessageItemContent, type MessageItemContentProps, MessageItemContinuationTime, type MessageItemContinuationTimeProps, MessageItemDelegatedAvatar, type MessageItemDelegatedAvatarProps, MessageItemDelegatedBy, MessageItemDelegatedByButton, type MessageItemDelegatedByButtonProps, MessageItemDelegatedByName, type MessageItemDelegatedByNameProps, type MessageItemDelegatedByProps, MessageItemEdited, type MessageItemEditedProps, MessageItemEmbedded, type MessageItemEmbeddedProps, MessageItemFooter, type MessageItemFooterProps, MessageItemGutter, type MessageItemGutterProps, MessageItemHeader, type MessageItemHeaderProps, MessageItemInlineStatus, type MessageItemInlineStatusProps, MessageItemMeta, type MessageItemMetaProps, type MessageItemProps, MessageItemReadReceipt, type MessageItemReadReceiptProps, MessageItemSavedIndicator, type MessageItemSavedIndicatorProps, MessageItemSearchMatch, type MessageItemSearchMatchProps, MessageItemSender, MessageItemSenderBadges, type MessageItemSenderBadgesProps, MessageItemSenderButton, type MessageItemSenderButtonProps, MessageItemSenderGroup, type MessageItemSenderGroupProps, type MessageItemSenderProps, MessageItemTime, type MessageItemTimeProps, MessageItemToolbar, MessageItemToolbarButton, type MessageItemToolbarButtonProps, type MessageItemToolbarProps, MessageMultiSelect, MessageMultiSelectCheckbox, type MessageMultiSelectCheckboxProps, type MessageMultiSelectProps, MessageMultiSelectToolbar, MessageMultiSelectToolbarActions, type MessageMultiSelectToolbarActionsProps, type MessageMultiSelectToolbarProps, MessageReactionAddButton, type MessageReactionAddButtonProps, MessageReactionChip, type MessageReactionChipProps, MessageReactionCount, type MessageReactionCountProps, MessageReactionErrorIndicator, type MessageReactionErrorIndicatorProps, MessageReactionGlyph, type MessageReactionGlyphProps, MessageReactionPickerContent, type MessageReactionPickerContentProps, MessageReactionPickerStatic, type MessageReactionPickerStaticProps, MessageReactionQuickButton, type MessageReactionQuickButtonProps, MessageReactionQuickRow, type MessageReactionQuickRowProps, MessageReactionTooltipContent, type MessageReactionTooltipContentProps, MessageReactionTooltipMeta, type MessageReactionTooltipMetaProps, MessageReactionTooltipName, type MessageReactionTooltipNameProps, MessageReactionTooltipNameText, type MessageReactionTooltipNameTextProps, MessageReactionTooltipNames, type MessageReactionTooltipNamesProps, MessageReactionTooltipSeparator, type MessageReactionTooltipSeparatorProps, MessageReferenceChip, type MessageReferenceChipProps, type MessageReferenceChipVariant, MessageReferenceIcon, type MessageReferenceIconProps, MessageReferenceIndicator, type MessageReferenceIndicatorProps, MessageReferenceLabel, type MessageReferenceLabelProps, MessageReferencePending, type MessageReferencePendingProps, MessageReferenceReadMark, type MessageReferenceReadMarkProps, MessageReferenceSuffix, type MessageReferenceSuffixProps, MessageReferenceText, type MessageReferenceTextProps, type MessageReferenceTextVariant, MessageReferenceUnavailable, type MessageReferenceUnavailableProps, type MessageTextSelectionAnchor, MessageTextSelectionToolbar, MessageTextSelectionToolbarButton, type MessageTextSelectionToolbarButtonProps, type MessageTextSelectionToolbarProps, MessageTextSelectionToolbarSeparator, type MessageTextSelectionToolbarSeparatorProps, createMessageTextSelectionAnchor };
12
+ export { MessageItem, MessageItemAttachments, type MessageItemAttachmentsProps, MessageItemAvatarSlot, type MessageItemAvatarSlotProps, MessageItemBadge, type MessageItemBadgeProps, MessageItemBadgeSeparator, type MessageItemBadgeSeparatorProps, type MessageItemBadgeStatus, MessageItemBody, type MessageItemBodyProps, MessageItemContent, type MessageItemContentProps, MessageItemContinuationTime, type MessageItemContinuationTimeProps, MessageItemDelegatedAvatar, type MessageItemDelegatedAvatarProps, MessageItemDelegatedBy, MessageItemDelegatedByButton, type MessageItemDelegatedByButtonProps, MessageItemDelegatedByName, type MessageItemDelegatedByNameProps, type MessageItemDelegatedByProps, MessageItemEdited, type MessageItemEditedProps, MessageItemEmbedded, type MessageItemEmbeddedProps, MessageItemFooter, type MessageItemFooterProps, MessageItemGutter, type MessageItemGutterProps, MessageItemHeader, type MessageItemHeaderProps, MessageItemInlineStatus, type MessageItemInlineStatusProps, MessageItemMeta, type MessageItemMetaProps, type MessageItemProps, MessageItemReadReceipt, type MessageItemReadReceiptProps, MessageItemSavedIndicator, type MessageItemSavedIndicatorProps, MessageItemSearchMatch, type MessageItemSearchMatchProps, MessageItemSender, MessageItemSenderBadges, type MessageItemSenderBadgesProps, MessageItemSenderButton, type MessageItemSenderButtonProps, MessageItemSenderGroup, type MessageItemSenderGroupProps, type MessageItemSenderProps, MessageItemTime, type MessageItemTimeProps, MessageItemToolbar, MessageItemToolbarButton, type MessageItemToolbarButtonProps, type MessageItemToolbarProps, MessageMultiSelect, MessageMultiSelectCheckbox, type MessageMultiSelectCheckboxProps, type MessageMultiSelectProps, MessageMultiSelectToolbar, MessageMultiSelectToolbarActions, type MessageMultiSelectToolbarActionsProps, type MessageMultiSelectToolbarProps, MessageReactionAddButton, type MessageReactionAddButtonProps, MessageReactionChip, type MessageReactionChipProps, MessageReactionCount, type MessageReactionCountProps, MessageReactionErrorIndicator, type MessageReactionErrorIndicatorProps, MessageReactionGlyph, type MessageReactionGlyphProps, MessageReactionPickerContent, type MessageReactionPickerContentProps, MessageReactionPickerStatic, type MessageReactionPickerStaticProps, MessageReactionQuickButton, type MessageReactionQuickButtonProps, MessageReactionQuickRow, type MessageReactionQuickRowProps, MessageReactionTooltipContent, type MessageReactionTooltipContentProps, MessageReactionTooltipMeta, type MessageReactionTooltipMetaProps, MessageReactionTooltipName, type MessageReactionTooltipNameProps, MessageReactionTooltipNameText, type MessageReactionTooltipNameTextProps, MessageReactionTooltipNames, type MessageReactionTooltipNamesProps, MessageReactionTooltipSeparator, type MessageReactionTooltipSeparatorProps, MessageReferenceChip, type MessageReferenceChipProps, type MessageReferenceChipVariant, MessageReferenceIcon, type MessageReferenceIconProps, MessageReferenceIndicator, type MessageReferenceIndicatorProps, MessageReferenceLabel, type MessageReferenceLabelProps, MessageReferencePending, type MessageReferencePendingProps, MessageReferenceReadMark, type MessageReferenceReadMarkProps, MessageReferenceSuffix, type MessageReferenceSuffixProps, MessageReferenceText, type MessageReferenceTextProps, type MessageReferenceTextVariant, MessageReferenceUnavailable, type MessageReferenceUnavailableProps };
@@ -1,5 +1,5 @@
1
- import { TooltipContent } from "../tooltip/tooltip.mjs";
2
1
  import { DropdownMenuContent } from "../dropdown-menu/dropdown-menu.mjs";
2
+ import { TooltipContent } from "../tooltip/tooltip.mjs";
3
3
  import { messageReaction, reactionCountKeyframes, reactionCountTiming } from "./message-reaction.recipe.mjs";
4
4
  import { useEffect, useRef } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -72,12 +72,6 @@ export type MeterProps = Omit<StyledProps<Meter.Root.Props>, "value" | "min" | "
72
72
  * @default 0.8
73
73
  */
74
74
  warnAt?: number;
75
- /**
76
- * @deprecated Use `warnAt`, the share used: `low={20}` of 100 is
77
- * `warnAt={0.8}`. The amount left, in the units of `max`, at or below
78
- * which the meter warns. Ignored when `warnAt` is set.
79
- */
80
- low?: number;
81
75
  /**
82
76
  * What is used, in words, with the word: "62% used · resets in 3h".
83
77
  * `MeterValue` shows it, and it is the meter's `aria-valuetext`, so the
@@ -91,7 +85,7 @@ export type MeterProps = Omit<StyledProps<Meter.Root.Props>, "value" | "min" | "
91
85
  * is used (80% unless set), then the warning color, and a full warning bar
92
86
  * when used up; never danger, and no success color.
93
87
  */
94
- declare function Meter$1({ size, used, max, warnAt, low, valueText, className, ...props }: MeterProps): import("react").JSX.Element;
88
+ declare function Meter$1({ size, used, max, warnAt, valueText, className, ...props }: MeterProps): import("react").JSX.Element;
95
89
  export type MeterHeaderProps = ComponentPropsWithRef<"div">;
96
90
  export declare function MeterHeader({ className, ...props }: MeterHeaderProps): import("react").JSX.Element;
97
91
  export type MeterLabelProps = StyledProps<Meter.Label.Props>;
@@ -47,10 +47,10 @@ function clamp(value, min, max) {
47
47
  * is used (80% unless set), then the warning color, and a full warning bar
48
48
  * when used up; never danger, and no success color.
49
49
  */
50
- function Meter$1({ size = "md", used, max = 100, warnAt, low, valueText, className, ...props }) {
50
+ function Meter$1({ size = "md", used, max = 100, warnAt, valueText, className, ...props }) {
51
51
  const value = clamp(used, 0, max);
52
52
  const share = max > 0 ? value / max : 1;
53
- const warnFrom = warnAt !== void 0 ? clamp(warnAt, 0, 1) : low !== void 0 && max > 0 ? 1 - clamp(low, 0, max) / max : .8;
53
+ const warnFrom = warnAt !== void 0 ? clamp(warnAt, 0, 1) : .8;
54
54
  const level = share >= 1 ? "full" : share >= warnFrom ? "high" : "normal";
55
55
  const { root } = meter({
56
56
  size,
@@ -2,8 +2,8 @@ import { headEdgePull } from "../../lib/head-edges.mjs";
2
2
  import { tv } from "../../lib/tv.mjs";
3
3
  import { useThemeScopeProps } from "../../lib/theme/theme-scope.mjs";
4
4
  import { Button } from "../button/button.mjs";
5
- import { usePopupCollision } from "../../lib/frame-insets.mjs";
6
5
  import { Status } from "../status/status.mjs";
6
+ import { usePopupCollision } from "../../lib/frame-insets.mjs";
7
7
  import { EmptyState } from "../empty-state/empty-state.mjs";
8
8
  import { AlertTriangle, Bell, CheckCircle2, Info } from "lucide-react";
9
9
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -26,7 +26,7 @@ const pullStepStyle = /* @__PURE__ */ jsx("style", {
26
26
  const SNAP_BACK = ["duration-300 ease-slide motion-reduce:transition-none", "data-[state=pulling]:transition-none"];
27
27
  const pullToRefreshIndicator = tv({
28
28
  slots: {
29
- root: ["flex w-full shrink-0 justify-center", "text-foreground-icon"],
29
+ root: ["flex w-full shrink-0 justify-center", "text-foreground-muted"],
30
30
  surface: ["flex items-center justify-center"],
31
31
  spinner: [
32
32
  "transition-opacity duration-300 ease-slide motion-reduce:transition-none",
@@ -1,5 +1,5 @@
1
- import { SidebarBody, SidebarBodyProps, SidebarContent, SidebarContentProps, SidebarGroupLabel, SidebarGroupLabelProps, SidebarHeader, SidebarHeaderProps, SidebarHeaderTitle, SidebarHeaderTitleProps, SidebarLiveActivity, SidebarLiveActivityProps, SidebarRoot, SidebarRootProps } from "./sidebar.mjs";
1
+ import { SidebarBody, SidebarBodyProps, SidebarContent, SidebarContentProps, SidebarGroupLabel, SidebarGroupLabelProps, SidebarHeader, SidebarHeaderProps, SidebarHeaderTitle, SidebarHeaderTitleProps, SidebarRoot, SidebarRootProps } from "./sidebar.mjs";
2
2
  import { SidebarMenu, SidebarMenuAside, SidebarMenuAsideProps, SidebarMenuCount, SidebarMenuCountProps, SidebarMenuIcon, SidebarMenuIconProps, SidebarMenuProps, SidebarMenuTitle, SidebarMenuTitleProps } from "./sidebar-menu.mjs";
3
3
  import { SidebarItem, SidebarItemAside, SidebarItemAsideProps, SidebarItemChannelIcon, SidebarItemChannelIconProps, SidebarItemContent, SidebarItemContentProps, SidebarItemCount, SidebarItemCountProps, SidebarItemCountSeparator, SidebarItemCountSeparatorProps, SidebarItemIcon, SidebarItemIconProps, SidebarItemIndicator, SidebarItemIndicatorProps, SidebarItemMeta, SidebarItemMetaIcon, SidebarItemMetaIconProps, SidebarItemMetaProps, SidebarItemProps, SidebarItemStatus, SidebarItemStatusProps, SidebarItemSubtitle, SidebarItemSubtitleProps, SidebarItemThreadCount, SidebarItemThreadCountProps, SidebarItemTitle, SidebarItemTitleProps } from "./sidebar-item.mjs";
4
4
  import { SidebarControl, SidebarControlProps, SidebarList, SidebarListProps, SidebarSection, SidebarSectionAttention, SidebarSectionAttentionProps, SidebarSectionChevron, SidebarSectionChevronProps, SidebarSectionControl, SidebarSectionControlProps, SidebarSectionControls, SidebarSectionControlsProps, SidebarSectionCount, SidebarSectionCountProps, SidebarSectionDisclosure, SidebarSectionDisclosureProps, SidebarSectionEmpty, SidebarSectionEmptyProps, SidebarSectionHeader, SidebarSectionHeaderProps, SidebarSectionProps, SidebarSectionTitle, SidebarSectionTitleProps, SidebarSectionTrailing, SidebarSectionTrailingProps } from "./sidebar-section.mjs";
5
- export { SidebarBody, type SidebarBodyProps, SidebarContent, type SidebarContentProps, SidebarControl, type SidebarControlProps, SidebarGroupLabel, type SidebarGroupLabelProps, SidebarHeader, type SidebarHeaderProps, SidebarHeaderTitle, type SidebarHeaderTitleProps, SidebarItem, SidebarItemAside, type SidebarItemAsideProps, SidebarItemChannelIcon, type SidebarItemChannelIconProps, SidebarItemContent, type SidebarItemContentProps, SidebarItemCount, type SidebarItemCountProps, SidebarItemCountSeparator, type SidebarItemCountSeparatorProps, SidebarItemIcon, type SidebarItemIconProps, SidebarItemIndicator, type SidebarItemIndicatorProps, SidebarItemMeta, SidebarItemMetaIcon, type SidebarItemMetaIconProps, type SidebarItemMetaProps, type SidebarItemProps, SidebarItemStatus, type SidebarItemStatusProps, SidebarItemSubtitle, type SidebarItemSubtitleProps, SidebarItemThreadCount, type SidebarItemThreadCountProps, SidebarItemTitle, type SidebarItemTitleProps, SidebarList, type SidebarListProps, SidebarLiveActivity, type SidebarLiveActivityProps, SidebarMenu, SidebarMenuAside, type SidebarMenuAsideProps, SidebarMenuCount, type SidebarMenuCountProps, SidebarMenuIcon, type SidebarMenuIconProps, type SidebarMenuProps, SidebarMenuTitle, type SidebarMenuTitleProps, SidebarRoot, type SidebarRootProps, SidebarSection, SidebarSectionAttention, type SidebarSectionAttentionProps, SidebarSectionChevron, type SidebarSectionChevronProps, SidebarSectionControl, type SidebarSectionControlProps, SidebarSectionControls, type SidebarSectionControlsProps, SidebarSectionCount, type SidebarSectionCountProps, SidebarSectionDisclosure, type SidebarSectionDisclosureProps, SidebarSectionEmpty, type SidebarSectionEmptyProps, SidebarSectionHeader, type SidebarSectionHeaderProps, type SidebarSectionProps, SidebarSectionTitle, type SidebarSectionTitleProps, SidebarSectionTrailing, type SidebarSectionTrailingProps };
5
+ export { SidebarBody, type SidebarBodyProps, SidebarContent, type SidebarContentProps, SidebarControl, type SidebarControlProps, SidebarGroupLabel, type SidebarGroupLabelProps, SidebarHeader, type SidebarHeaderProps, SidebarHeaderTitle, type SidebarHeaderTitleProps, SidebarItem, SidebarItemAside, type SidebarItemAsideProps, SidebarItemChannelIcon, type SidebarItemChannelIconProps, SidebarItemContent, type SidebarItemContentProps, SidebarItemCount, type SidebarItemCountProps, SidebarItemCountSeparator, type SidebarItemCountSeparatorProps, SidebarItemIcon, type SidebarItemIconProps, SidebarItemIndicator, type SidebarItemIndicatorProps, SidebarItemMeta, SidebarItemMetaIcon, type SidebarItemMetaIconProps, type SidebarItemMetaProps, type SidebarItemProps, SidebarItemStatus, type SidebarItemStatusProps, SidebarItemSubtitle, type SidebarItemSubtitleProps, SidebarItemThreadCount, type SidebarItemThreadCountProps, SidebarItemTitle, type SidebarItemTitleProps, SidebarList, type SidebarListProps, SidebarMenu, SidebarMenuAside, type SidebarMenuAsideProps, SidebarMenuCount, type SidebarMenuCountProps, SidebarMenuIcon, type SidebarMenuIconProps, type SidebarMenuProps, SidebarMenuTitle, type SidebarMenuTitleProps, SidebarRoot, type SidebarRootProps, SidebarSection, SidebarSectionAttention, type SidebarSectionAttentionProps, SidebarSectionChevron, type SidebarSectionChevronProps, SidebarSectionControl, type SidebarSectionControlProps, SidebarSectionControls, type SidebarSectionControlsProps, SidebarSectionCount, type SidebarSectionCountProps, SidebarSectionDisclosure, type SidebarSectionDisclosureProps, SidebarSectionEmpty, type SidebarSectionEmptyProps, SidebarSectionHeader, type SidebarSectionHeaderProps, type SidebarSectionProps, SidebarSectionTitle, type SidebarSectionTitleProps, SidebarSectionTrailing, type SidebarSectionTrailingProps };
@@ -26,23 +26,9 @@ const sidebarSectionRecipe = tv({ slots: {
26
26
  ],
27
27
  sidebarSectionTitle: ["min-w-0 truncate"],
28
28
  sidebarSectionCount: ["font-mono text-mono-meta font-normal tabular-nums text-foreground-hint"],
29
- sidebarSectionAttention: [
30
- "inline-flex min-w-4.5 shrink-0 items-center justify-center",
31
- "pointer-fine:absolute pointer-fine:top-1/2 pointer-fine:right-0 pointer-fine:-translate-y-1/2",
32
- "group-data-open/section:hidden",
33
- "group-data-popup-open/section-header:hidden",
34
- "group-hover/section-header:hidden"
35
- ],
29
+ sidebarSectionAttention: ["inline-flex min-w-4.5 shrink-0 items-center justify-center", "group-data-open/section:hidden"],
36
30
  sidebarSectionTrailing: ["relative flex min-w-4.5 shrink-0 items-center justify-end"],
37
- sidebarSectionControls: [
38
- "flex shrink-0 items-center gap-1 not-pointer-fine:gap-5",
39
- "pointer-events-none opacity-0",
40
- "not-pointer-fine:pointer-events-auto not-pointer-fine:opacity-100",
41
- "pointer-fine:group-hover/section-header:pointer-events-auto pointer-fine:group-hover/section-header:opacity-100",
42
- "pointer-fine:focus-within:pointer-events-auto pointer-fine:focus-within:opacity-100",
43
- "pointer-fine:has-data-popup-open:pointer-events-auto pointer-fine:has-data-popup-open:opacity-100",
44
- "[&>[data-icon-inset]:last-child]:-mr-icon-inset"
45
- ],
31
+ sidebarSectionControls: ["flex shrink-0 items-center gap-1", "[&>[data-icon-inset]:nth-last-child(1_of_:not([data-base-ui-focus-guard],[aria-owns]))]:-mr-icon-inset"],
46
32
  sidebarSectionControl: [
47
33
  "relative flex h-6 w-auto min-w-6 shrink-0 items-center justify-center p-0 -my-1",
48
34
  "[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5",
@@ -50,7 +36,8 @@ const sidebarSectionRecipe = tv({ slots: {
50
36
  "text-foreground-hint",
51
37
  "hover:text-foreground active:text-foreground focus-visible:text-foreground",
52
38
  "data-popup-open:bg-fill-medium data-popup-open:text-foreground",
53
- "not-pointer-fine:after:absolute not-pointer-fine:after:inset-[-11px] not-pointer-fine:after:content-['']"
39
+ "not-pointer-fine:after:absolute not-pointer-fine:after:inset-[-11px] not-pointer-fine:after:content-['']",
40
+ "not-pointer-fine:not-first:after:left-[-3px] not-pointer-fine:not-last:after:right-[-3px]"
54
41
  ]
55
42
  } });
56
43
  //#endregion
@@ -12,6 +12,4 @@ export type SidebarBodyProps = useRender.ComponentProps<"div">;
12
12
  export declare function SidebarBody({ className, render, ...props }: SidebarBodyProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
13
13
  export type SidebarContentProps = useRender.ComponentProps<"div">;
14
14
  export declare function SidebarContent({ children, className, render, ...props }: SidebarContentProps): import("react").JSX.Element;
15
- export type SidebarLiveActivityProps = useRender.ComponentProps<"div">;
16
- export declare function SidebarLiveActivity({ children, className, render, ...props }: SidebarLiveActivityProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
17
15
  //#endregion
@@ -132,18 +132,5 @@ function SidebarContent({ children, className, render, ...props }) {
132
132
  })]
133
133
  });
134
134
  }
135
- function SidebarLiveActivity({ children, className, render, ...props }) {
136
- const { sidebarLiveActivity } = sidebarRecipe();
137
- const defaultProps = {
138
- "data-slot": "sidebar-live-activity",
139
- className: sidebarLiveActivity({ className }),
140
- children
141
- };
142
- return useRender({
143
- defaultTagName: "div",
144
- render,
145
- props: mergeProps(defaultProps, props)
146
- });
147
- }
148
135
  //#endregion
149
- export { SidebarBody, SidebarContent, SidebarGroupLabel, SidebarHeader, SidebarHeaderTitle, SidebarLiveActivity, SidebarRoot };
136
+ export { SidebarBody, SidebarContent, SidebarGroupLabel, SidebarHeader, SidebarHeaderTitle, SidebarRoot };
@@ -5,10 +5,8 @@ const sidebarRecipe = tv({ slots: {
5
5
  sidebarRoot: [
6
6
  "relative flex size-full min-h-0 select-none flex-col",
7
7
  listColumnMargin,
8
- "has-[>[data-slot=sidebar-live-activity]_[data-slot=live-agent-activity-bar]]:overflow-clip",
9
8
  "bg-layer-sidebar text-foreground max-md:bg-layer-canvas",
10
- "border-line-seam md:border-r",
11
- "md:has-[>[data-slot=sidebar-live-activity]_[data-slot=live-agent-activity-bar]]:[--sidebar-content-bottom:52px]"
9
+ "border-line-seam md:border-r"
12
10
  ],
13
11
  sidebarHeader: [
14
12
  "flex items-center",
@@ -30,8 +28,7 @@ const sidebarRecipe = tv({ slots: {
30
28
  "z-30 flex w-3 justify-center py-1 opacity-0 transition-opacity duration-150",
31
29
  "pointer-events-none",
32
30
  "data-scrolling:pointer-events-auto data-scrolling:opacity-100 data-scrolling:duration-0"
33
- ],
34
- sidebarLiveActivity: ["pointer-events-none absolute inset-x-0 max-md:hidden", "bottom-0 z-40"]
31
+ ]
35
32
  } });
36
33
  //#endregion
37
34
  export { sidebarRecipe };
@@ -15,7 +15,7 @@ const status = tv({
15
15
  default: { root: "[--status-color:var(--presence-offline)]" },
16
16
  primary: { root: "[--status-color:var(--presence-busy)]" },
17
17
  information: { root: "[--status-color:var(--info)]" },
18
- muted: { root: "[--status-color:var(--secondary-400)]" },
18
+ muted: { root: "[--status-color:var(--palette-stone-400)]" },
19
19
  accent: { root: "[--status-color:var(--attention-400)]" },
20
20
  success: { root: "[--status-color:var(--success)]" },
21
21
  warning: { root: "[--status-color:var(--warning)]" },
@@ -592,180 +592,6 @@
592
592
  --foreground-hover: var(--foreground);
593
593
  --line-field: var(--line-strong);
594
594
  --line-field-hover: var(--line-strong);
595
-
596
- /* Deprecated names, kept until raft-ui 1.0. Run
597
- `node node_modules/@botiverse/raft-ui/codemods/token-names.mjs <src>` to move to the
598
- current names. */
599
- --fill-pressed: var(--fill-medium);
600
- --fill-frame-pressed: var(--fill-frame-medium);
601
- --fill-row-hover: var(--fill-subtle);
602
- --fill-row-open: var(--fill-subtle);
603
- --fill-message-hover: var(--fill-subtle);
604
- --sticker-pressed: var(--sticker-medium);
605
- --layer-panel: var(--layer-canvas);
606
- --layer-inset: var(--fill-muted);
607
- --layer-canvas-muted: var(--layer-sidebar);
608
- --layer-hud-foreground: var(--foreground-on-hud);
609
- --foreground-strong: var(--foreground);
610
- --foreground-icon: var(--foreground-muted);
611
- --foreground-placeholder: var(--foreground-hint);
612
- --line: var(--line-seam);
613
- --line-muted: var(--line-hairline);
614
- --primary-50: var(--brand-50);
615
- --primary-100: var(--brand-100);
616
- --primary-200: var(--brand-200);
617
- --primary-300: var(--brand-300);
618
- --primary-400: var(--brand-400);
619
- --primary-500: var(--brand-500);
620
- --primary-600: var(--brand-600);
621
- --primary-700: var(--brand-700);
622
- --primary-800: var(--brand-800);
623
- --primary-900: var(--brand-900);
624
- --primary-950: var(--brand-950);
625
- --primary-strong: var(--brand-strong);
626
- --primary-soft: var(--brand-soft);
627
- --primary-edge: var(--brand-edge);
628
- --primary-glow: var(--brand-glow);
629
- --primary-hover: var(--brand-hover);
630
- --primary-active: var(--brand-active);
631
- --accent-50: var(--attention-50);
632
- --accent-100: var(--attention-100);
633
- --accent-200: var(--attention-200);
634
- --accent-300: var(--attention-300);
635
- --accent-400: var(--attention-400);
636
- --accent-500: var(--attention-500);
637
- --accent-600: var(--attention-600);
638
- --accent-700: var(--attention-700);
639
- --accent-800: var(--attention-800);
640
- --accent-900: var(--attention-900);
641
- --accent-950: var(--attention-950);
642
- --accent-strong: var(--attention-strong);
643
- --accent-soft: var(--attention-soft);
644
- --accent-hover: var(--attention-hover);
645
- --accent-active: var(--attention-active);
646
- --theme-shadow-xs: 0 0 #0000;
647
- --theme-shadow-sm: 0 0 #0000;
648
- --theme-shadow-md: 0 0 #0000;
649
- --theme-shadow-lg: var(--elevation-float);
650
- --theme-shadow-xl: var(--elevation-float);
651
- --theme-shadow-float: var(--elevation-float);
652
- --theme-shadow-sticker: var(--elevation-sticker);
653
- --theme-focus-ring: var(--focus-ring);
654
- }
655
-
656
- /* Deprecated palette names (the `brutal` theme family no longer exists) and the
657
- `secondary` ramp, kept until raft-ui 1.0. */
658
- :where(:root) {
659
- --color-brutal-yellow-50: var(--palette-yellow-50);
660
- --color-brutal-yellow-100: var(--palette-yellow-100);
661
- --color-brutal-yellow-200: var(--palette-yellow-200);
662
- --color-brutal-yellow-300: var(--palette-yellow-300);
663
- --color-brutal-yellow-400: var(--palette-yellow-400);
664
- --color-brutal-yellow-500: var(--palette-yellow-500);
665
- --color-brutal-yellow-600: var(--palette-yellow-600);
666
- --color-brutal-yellow-700: var(--palette-yellow-700);
667
- --color-brutal-yellow-800: var(--palette-yellow-800);
668
- --color-brutal-yellow-900: var(--palette-yellow-900);
669
- --color-brutal-yellow-950: var(--palette-yellow-950);
670
- --color-brutal-purple-50: var(--palette-lavender-50);
671
- --color-brutal-purple-100: var(--palette-lavender-100);
672
- --color-brutal-purple-200: var(--palette-lavender-200);
673
- --color-brutal-purple-300: var(--palette-lavender-300);
674
- --color-brutal-purple-400: var(--palette-lavender-400);
675
- --color-brutal-purple-500: var(--palette-lavender-500);
676
- --color-brutal-purple-600: var(--palette-lavender-600);
677
- --color-brutal-purple-700: var(--palette-lavender-700);
678
- --color-brutal-purple-800: var(--palette-lavender-800);
679
- --color-brutal-purple-900: var(--palette-lavender-900);
680
- --color-brutal-purple-950: var(--palette-lavender-950);
681
- --color-brutal-pink-50: var(--palette-pink-50);
682
- --color-brutal-pink-100: var(--palette-pink-100);
683
- --color-brutal-pink-200: var(--palette-pink-200);
684
- --color-brutal-pink-300: var(--palette-pink-300);
685
- --color-brutal-pink-400: var(--palette-pink-400);
686
- --color-brutal-pink-500: var(--palette-pink-500);
687
- --color-brutal-pink-600: var(--palette-pink-600);
688
- --color-brutal-pink-700: var(--palette-pink-700);
689
- --color-brutal-pink-800: var(--palette-pink-800);
690
- --color-brutal-pink-900: var(--palette-pink-900);
691
- --color-brutal-pink-950: var(--palette-pink-950);
692
- --color-brutal-cyan-50: var(--palette-cyan-50);
693
- --color-brutal-cyan-100: var(--palette-cyan-100);
694
- --color-brutal-cyan-200: var(--palette-cyan-200);
695
- --color-brutal-cyan-300: var(--palette-cyan-300);
696
- --color-brutal-cyan-400: var(--palette-cyan-400);
697
- --color-brutal-cyan-500: var(--palette-cyan-500);
698
- --color-brutal-cyan-600: var(--palette-cyan-600);
699
- --color-brutal-cyan-700: var(--palette-cyan-700);
700
- --color-brutal-cyan-800: var(--palette-cyan-800);
701
- --color-brutal-cyan-900: var(--palette-cyan-900);
702
- --color-brutal-cyan-950: var(--palette-cyan-950);
703
- --color-brutal-orange-50: var(--palette-orange-50);
704
- --color-brutal-orange-100: var(--palette-orange-100);
705
- --color-brutal-orange-200: var(--palette-orange-200);
706
- --color-brutal-orange-300: var(--palette-orange-300);
707
- --color-brutal-orange-400: var(--palette-orange-400);
708
- --color-brutal-orange-500: var(--palette-orange-500);
709
- --color-brutal-orange-600: var(--palette-orange-600);
710
- --color-brutal-orange-700: var(--palette-orange-700);
711
- --color-brutal-orange-800: var(--palette-orange-800);
712
- --color-brutal-orange-900: var(--palette-orange-900);
713
- --color-brutal-orange-950: var(--palette-orange-950);
714
- --color-brutal-lime-50: var(--palette-lime-50);
715
- --color-brutal-lime-100: var(--palette-lime-100);
716
- --color-brutal-lime-200: var(--palette-lime-200);
717
- --color-brutal-lime-300: var(--palette-lime-300);
718
- --color-brutal-lime-400: var(--palette-lime-400);
719
- --color-brutal-lime-500: var(--palette-lime-500);
720
- --color-brutal-lime-600: var(--palette-lime-600);
721
- --color-brutal-lime-700: var(--palette-lime-700);
722
- --color-brutal-lime-800: var(--palette-lime-800);
723
- --color-brutal-lime-900: var(--palette-lime-900);
724
- --color-brutal-lime-950: var(--palette-lime-950);
725
- --color-brutal-red-50: var(--palette-red-50);
726
- --color-brutal-red-100: var(--palette-red-100);
727
- --color-brutal-red-200: var(--palette-red-200);
728
- --color-brutal-red-300: var(--palette-red-300);
729
- --color-brutal-red-400: var(--palette-red-400);
730
- --color-brutal-red-500: var(--palette-red-500);
731
- --color-brutal-red-600: var(--palette-red-600);
732
- --color-brutal-red-700: var(--palette-red-700);
733
- --color-brutal-red-800: var(--palette-red-800);
734
- --color-brutal-red-900: var(--palette-red-900);
735
- --color-brutal-red-950: var(--palette-red-950);
736
- --color-brutal-stone-50: var(--palette-stone-50);
737
- --color-brutal-stone-100: var(--palette-stone-100);
738
- --color-brutal-stone-200: var(--palette-stone-200);
739
- --color-brutal-stone-300: var(--palette-stone-300);
740
- --color-brutal-stone-400: var(--palette-stone-400);
741
- --color-brutal-stone-500: var(--palette-stone-500);
742
- --color-brutal-stone-600: var(--palette-stone-600);
743
- --color-brutal-stone-700: var(--palette-stone-700);
744
- --color-brutal-stone-800: var(--palette-stone-800);
745
- --color-brutal-stone-900: var(--palette-stone-900);
746
- --color-brutal-stone-950: var(--palette-stone-950);
747
- --color-brutal-cream-50: var(--palette-cream-50);
748
- --color-brutal-cream-100: var(--palette-cream-100);
749
- --color-brutal-cream-200: var(--palette-cream-200);
750
- --color-brutal-cream-300: var(--palette-cream-300);
751
- --color-brutal-cream-400: var(--palette-cream-400);
752
- --color-brutal-cream-500: var(--palette-cream-500);
753
- --color-brutal-cream-600: var(--palette-cream-600);
754
- --color-brutal-cream-700: var(--palette-cream-700);
755
- --color-brutal-cream-800: var(--palette-cream-800);
756
- --color-brutal-cream-900: var(--palette-cream-900);
757
- --color-brutal-cream-950: var(--palette-cream-950);
758
- --secondary-50: var(--palette-stone-50);
759
- --secondary-100: var(--palette-stone-100);
760
- --secondary-200: var(--palette-stone-200);
761
- --secondary-300: var(--palette-stone-300);
762
- --secondary-400: var(--palette-stone-400);
763
- --secondary-500: var(--palette-stone-500);
764
- --secondary-600: var(--palette-stone-600);
765
- --secondary-700: var(--palette-stone-700);
766
- --secondary-800: var(--palette-stone-800);
767
- --secondary-900: var(--palette-stone-900);
768
- --secondary-950: var(--palette-stone-950);
769
595
  }
770
596
 
771
597
  /* Desktop: from 768px (Tailwind's `md`, where the desktop layout begins)