@noya-app/noya-designsystem 0.1.53 → 0.1.54

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.
package/dist/index.js CHANGED
@@ -143,6 +143,7 @@ __export(src_exports, {
143
143
  ToolbarMenu: () => ToolbarMenu,
144
144
  ToolbarMenuButton: () => ToolbarMenuButton,
145
145
  ToolbarMenuDropdown: () => ToolbarMenuDropdown,
146
+ ToolbarMenuItem: () => ToolbarMenuItem,
146
147
  Tooltip: () => Tooltip,
147
148
  TreeView: () => TreeView,
148
149
  UserAvatar: () => UserAvatar,
@@ -2355,7 +2356,7 @@ var getMenuItemKey = (item, index) => {
2355
2356
  }
2356
2357
  };
2357
2358
  var CHECKBOX_WIDTH = 15;
2358
- var CHECKBOX_RIGHT_INSET = 8;
2359
+ var CHECKBOX_RIGHT_INSET = 6;
2359
2360
  var CHECKBOX_INDENT_WIDTH = 6;
2360
2361
  var styles = {
2361
2362
  separatorStyle: "h-px bg-divider mx-3 my-1",
@@ -2454,11 +2455,10 @@ var SectionHeader = (0, import_react32.memo)(function SectionHeader2({
2454
2455
  });
2455
2456
 
2456
2457
  // src/components/internal/MenuViewport.tsx
2457
- var import_noya_icons3 = require("@noya-app/noya-icons");
2458
+ var import_noya_icons2 = require("@noya-app/noya-icons");
2458
2459
  var import_react34 = __toESM(require("react"));
2459
2460
 
2460
2461
  // src/components/internal/SelectItem.tsx
2461
- var import_noya_icons2 = require("@noya-app/noya-icons");
2462
2462
  var import_react33 = __toESM(require("react"));
2463
2463
  var SelectItem = import_react33.default.forwardRef(
2464
2464
  ({
@@ -2498,7 +2498,7 @@ var SelectItem = import_react33.default.forwardRef(
2498
2498
  )
2499
2499
  },
2500
2500
  /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: CHECKBOX_INDENT_WIDTH }),
2501
- Components4.ItemIndicator && /* @__PURE__ */ import_react33.default.createElement(Components4.ItemIndicator, { ...styles.itemIndicator }, /* @__PURE__ */ import_react33.default.createElement(import_noya_icons2.CheckIcon, null)),
2501
+ Components4.ItemIndicator && /* @__PURE__ */ import_react33.default.createElement(Components4.ItemIndicator, { ...styles.itemIndicator }, /* @__PURE__ */ import_react33.default.createElement(Checkmark, null)),
2502
2502
  icon && /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: 8 })),
2503
2503
  children,
2504
2504
  shortcut && /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react33.default.createElement(KeyboardShortcut, { shortcut }))
@@ -2519,10 +2519,34 @@ var SelectItem = import_react33.default.forwardRef(
2519
2519
  onSelect: handleSelectItem,
2520
2520
  ...props
2521
2521
  },
2522
- /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex flex-1 items-center" }, indented && /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: CHECKBOX_INDENT_WIDTH }), checked ? /* @__PURE__ */ import_react33.default.createElement("div", { ...styles.itemIndicator }, /* @__PURE__ */ import_react33.default.createElement(import_noya_icons2.CheckIcon, null)) : indented ? /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }) : null, icon && /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: 8 })), /* @__PURE__ */ import_react33.default.createElement(Components4.ItemText, null, children), shortcut && /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react33.default.createElement(KeyboardShortcut, { shortcut })))
2522
+ /* @__PURE__ */ import_react33.default.createElement("div", { className: "flex flex-1 items-center" }, indented && /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: CHECKBOX_INDENT_WIDTH }), checked ? /* @__PURE__ */ import_react33.default.createElement("div", { ...styles.itemIndicator }, /* @__PURE__ */ import_react33.default.createElement(Checkmark, null)) : indented ? /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }) : null, icon && /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: 8 })), /* @__PURE__ */ import_react33.default.createElement(Components4.ItemText, null, children), shortcut && /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react33.default.createElement(KeyboardShortcut, { shortcut })))
2523
2523
  ));
2524
2524
  }
2525
2525
  );
2526
+ function Checkmark() {
2527
+ return /* @__PURE__ */ import_react33.default.createElement(
2528
+ "svg",
2529
+ {
2530
+ viewBox: "0 0 15 15",
2531
+ fill: "none",
2532
+ xmlns: "http://www.w3.org/2000/svg",
2533
+ "aria-hidden": "true",
2534
+ width: 15,
2535
+ height: 15
2536
+ },
2537
+ /* @__PURE__ */ import_react33.default.createElement(
2538
+ "path",
2539
+ {
2540
+ className: "scale-90 origin-center",
2541
+ d: "M3 8L6 11L12 5",
2542
+ strokeWidth: "1.1",
2543
+ strokeLinecap: "round",
2544
+ strokeLinejoin: "round",
2545
+ stroke: "currentColor"
2546
+ }
2547
+ )
2548
+ );
2549
+ }
2526
2550
 
2527
2551
  // src/components/internal/MenuViewport.tsx
2528
2552
  var MenuViewport = ({
@@ -2582,7 +2606,7 @@ var MenuViewport = ({
2582
2606
  disabled: item.disabled
2583
2607
  },
2584
2608
  /* @__PURE__ */ import_react34.default.createElement("div", { className: "flex items-center flex-1" }, item.title),
2585
- /* @__PURE__ */ import_react34.default.createElement(import_noya_icons3.ChevronRightIcon, { className: "-mr-1" })
2609
+ /* @__PURE__ */ import_react34.default.createElement(import_noya_icons2.ChevronRightIcon, { className: "-mr-1" })
2586
2610
  )
2587
2611
  ), /* @__PURE__ */ import_react34.default.createElement(Components4.Portal, null, /* @__PURE__ */ import_react34.default.createElement(
2588
2612
  Components4.SubContent,
@@ -3491,7 +3515,7 @@ var Checkbox = React35.memo(
3491
3515
  );
3492
3516
 
3493
3517
  // src/components/Chip.tsx
3494
- var import_noya_icons4 = require("@noya-app/noya-icons");
3518
+ var import_noya_icons3 = require("@noya-app/noya-icons");
3495
3519
  var import_react45 = __toESM(require("react"));
3496
3520
 
3497
3521
  // src/hooks/useHover.ts
@@ -3688,7 +3712,7 @@ var Chip = (0, import_react45.memo)(
3688
3712
  ...rest
3689
3713
  },
3690
3714
  addable && /* @__PURE__ */ import_react45.default.createElement(
3691
- import_noya_icons4.PlusIcon,
3715
+ import_noya_icons3.PlusIcon,
3692
3716
  {
3693
3717
  className: cx(ICON_BASE_STYLES, ICON_SIZE_STYLES[size2].add),
3694
3718
  onClick: onAdd && ((event) => {
@@ -3700,7 +3724,7 @@ var Chip = (0, import_react45.memo)(
3700
3724
  ),
3701
3725
  children,
3702
3726
  deletable && /* @__PURE__ */ import_react45.default.createElement(
3703
- import_noya_icons4.Cross1Icon,
3727
+ import_noya_icons3.Cross1Icon,
3704
3728
  {
3705
3729
  className: cx(ICON_BASE_STYLES, ICON_SIZE_STYLES[size2].delete),
3706
3730
  ...hoverDeleteProps,
@@ -5804,9 +5828,9 @@ var ColorSwatch = (0, import_react55.forwardRef)(function ColorSwatch2({ color,
5804
5828
  width: sizePx,
5805
5829
  height: sizePx,
5806
5830
  borderRadius: "4px",
5807
- outline: checked ? "2px solid rgba(0,0,0,0.2)" : "1px solid rgba(0,0,0,0.1)",
5831
+ outline: checked ? `2px solid ${cssVars.colors.primary}` : "1px solid rgba(0,0,0,0.1)",
5808
5832
  outlineOffset: -1,
5809
- boxShadow: checked ? `inset 0 0 0 2px rgba(0,0,0,0.2)` : void 0,
5833
+ boxShadow: checked ? `inset 0 0 0 2px ${cssVars.colors.background}` : void 0,
5810
5834
  ...style2
5811
5835
  }
5812
5836
  }
@@ -5877,7 +5901,7 @@ function ColorSwatchControl(props) {
5877
5901
  }
5878
5902
 
5879
5903
  // src/components/Combobox.tsx
5880
- var import_noya_icons6 = require("@noya-app/noya-icons");
5904
+ var import_noya_icons5 = require("@noya-app/noya-icons");
5881
5905
  var import_react59 = __toESM(require("react"));
5882
5906
 
5883
5907
  // src/utils/combobox.ts
@@ -6212,7 +6236,7 @@ function useComboboxState(state) {
6212
6236
  }
6213
6237
 
6214
6238
  // src/components/ComboboxMenu.tsx
6215
- var import_noya_icons5 = require("@noya-app/noya-icons");
6239
+ var import_noya_icons4 = require("@noya-app/noya-icons");
6216
6240
  var import_react58 = __toESM(require("react"));
6217
6241
  var ComboboxMenu = memoGeneric(
6218
6242
  forwardRefGeneric(function ComboboxMenu2({
@@ -6265,7 +6289,7 @@ var ComboboxMenu = memoGeneric(
6265
6289
  }
6266
6290
  }
6267
6291
  },
6268
- /* @__PURE__ */ import_react58.default.createElement("div", { className: "flex flex-1 min-w-0 items-center" }, indented && /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, { size: CHECKBOX_INDENT_WIDTH }), item.checked ? /* @__PURE__ */ import_react58.default.createElement("div", { ...styles.itemIndicator }, /* @__PURE__ */ import_react58.default.createElement(import_noya_icons5.CheckIcon, null)) : indented ? /* @__PURE__ */ import_react58.default.createElement(
6292
+ /* @__PURE__ */ import_react58.default.createElement("div", { className: "flex flex-1 min-w-0 items-center" }, indented && /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, { size: CHECKBOX_INDENT_WIDTH }), item.checked ? /* @__PURE__ */ import_react58.default.createElement("div", { ...styles.itemIndicator }, /* @__PURE__ */ import_react58.default.createElement(import_noya_icons4.CheckIcon, null)) : indented ? /* @__PURE__ */ import_react58.default.createElement(
6269
6293
  Spacer.Horizontal,
6270
6294
  {
6271
6295
  size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET
@@ -6616,7 +6640,7 @@ var Combobox = memoGeneric(
6616
6640
  onClick: handleChevronClick
6617
6641
  },
6618
6642
  /* @__PURE__ */ import_react59.default.createElement(
6619
- import_noya_icons6.DropdownChevronIcon,
6643
+ import_noya_icons5.DropdownChevronIcon,
6620
6644
  {
6621
6645
  className: cx(
6622
6646
  "transition-transform duration-100",
@@ -6952,7 +6976,7 @@ var CommandPalette = (0, import_react62.memo)(function CommandPalette2({
6952
6976
  });
6953
6977
 
6954
6978
  // src/components/connected-users-menu/ConnectedUsersMenuLayout.tsx
6955
- var import_noya_icons7 = require("@noya-app/noya-icons");
6979
+ var import_noya_icons6 = require("@noya-app/noya-icons");
6956
6980
  var import_react63 = __toESM(require("react"));
6957
6981
  var UserAvatar = ({ userId, name, image }) => /* @__PURE__ */ import_react63.default.createElement(
6958
6982
  Tooltip,
@@ -6982,20 +7006,20 @@ var ConnectedUsersMenuLayout = ({
6982
7006
  backgroundColor: isAssistantOpen ? colorFromString(currentUserId ?? "") : void 0
6983
7007
  }
6984
7008
  },
6985
- "AI",
6986
- /* @__PURE__ */ import_react63.default.createElement(Spacer.Horizontal, { size: 8 }),
6987
7009
  /* @__PURE__ */ import_react63.default.createElement(
6988
- import_noya_icons7.ChatBubbleWithDotsIcon,
7010
+ import_noya_icons6.ChatBubbleWithDotsIcon,
6989
7011
  {
6990
7012
  color: isAssistantOpen ? void 0 : cssVars.colors.icon
6991
7013
  }
6992
- )
7014
+ ),
7015
+ /* @__PURE__ */ import_react63.default.createElement(Spacer.Horizontal, { inline: true, size: 6 }),
7016
+ "AI"
6993
7017
  )
6994
7018
  ));
6995
7019
  };
6996
7020
 
6997
7021
  // src/components/DraggableMenuButton.tsx
6998
- var import_noya_icons8 = require("@noya-app/noya-icons");
7022
+ var import_noya_icons7 = require("@noya-app/noya-icons");
6999
7023
  var import_react64 = __toESM(require("react"));
7000
7024
  var DraggableMenuButton = memoGeneric(function DraggableMenuButton2({
7001
7025
  items,
@@ -7068,13 +7092,13 @@ var DraggableMenuButton = memoGeneric(function DraggableMenuButton2({
7068
7092
  shouldBindKeyboardShortcuts: false
7069
7093
  },
7070
7094
  /* @__PURE__ */ import_react64.default.createElement("div", { className: "pointer-events-none h-[15px]" }, /* @__PURE__ */ import_react64.default.createElement(
7071
- import_noya_icons8.DragHandleDots2Icon,
7095
+ import_noya_icons7.DragHandleDots2Icon,
7072
7096
  {
7073
7097
  color: isVisible || open ? cssVars.colors.icon : "transparent"
7074
7098
  }
7075
7099
  ))
7076
7100
  ) : /* @__PURE__ */ import_react64.default.createElement(
7077
- import_noya_icons8.DragHandleDots2Icon,
7101
+ import_noya_icons7.DragHandleDots2Icon,
7078
7102
  {
7079
7103
  color: isVisible || open ? cssVars.colors.icon : "transparent"
7080
7104
  }
@@ -8297,7 +8321,7 @@ var LabeledField = (0, import_react73.memo)(function LabeledField2({
8297
8321
  });
8298
8322
 
8299
8323
  // src/components/MediaThumbnail.tsx
8300
- var import_noya_icons9 = require("@noya-app/noya-icons");
8324
+ var import_noya_icons8 = require("@noya-app/noya-icons");
8301
8325
  var import_react74 = __toESM(require("react"));
8302
8326
 
8303
8327
  // src/components/catppuccin/fileIcons.ts
@@ -10763,7 +10787,7 @@ var MediaThumbnail = (0, import_react74.memo)(function MediaThumbnail2({
10763
10787
  const content = (0, import_react74.useMemo)(() => {
10764
10788
  switch (contentType) {
10765
10789
  case "image":
10766
- if (!url) return /* @__PURE__ */ import_react74.default.createElement(import_noya_icons9.ImageIcon, { color: iconColor, style: iconStyles });
10790
+ if (!url) return /* @__PURE__ */ import_react74.default.createElement(import_noya_icons8.ImageIcon, { color: iconColor, style: iconStyles });
10767
10791
  return /* @__PURE__ */ import_react74.default.createElement(
10768
10792
  "img",
10769
10793
  {
@@ -10774,9 +10798,9 @@ var MediaThumbnail = (0, import_react74.memo)(function MediaThumbnail2({
10774
10798
  }
10775
10799
  );
10776
10800
  case "video":
10777
- return /* @__PURE__ */ import_react74.default.createElement(import_noya_icons9.VideoIcon, { color: iconColor, style: iconStyles });
10801
+ return /* @__PURE__ */ import_react74.default.createElement(import_noya_icons8.VideoIcon, { color: iconColor, style: iconStyles });
10778
10802
  case "audio":
10779
- return /* @__PURE__ */ import_react74.default.createElement(import_noya_icons9.SpeakerLoudIcon, { color: iconColor, style: iconStyles });
10803
+ return /* @__PURE__ */ import_react74.default.createElement(import_noya_icons8.SpeakerLoudIcon, { color: iconColor, style: iconStyles });
10780
10804
  default:
10781
10805
  if (iconName) {
10782
10806
  const Icon = Icons[iconName];
@@ -10795,7 +10819,7 @@ var MediaThumbnail = (0, import_react74.memo)(function MediaThumbnail2({
10795
10819
  );
10796
10820
  }
10797
10821
  }
10798
- return /* @__PURE__ */ import_react74.default.createElement(import_noya_icons9.FileIcon, { color: iconColor, style: iconStyles });
10822
+ return /* @__PURE__ */ import_react74.default.createElement(import_noya_icons8.FileIcon, { color: iconColor, style: iconStyles });
10799
10823
  }
10800
10824
  }, [contentType, url, iconColor, iconStyles, iconName, fileName]);
10801
10825
  return /* @__PURE__ */ import_react74.default.createElement(
@@ -10889,7 +10913,7 @@ var Message = (0, import_react75.memo)(
10889
10913
  );
10890
10914
 
10891
10915
  // src/components/pipeline/PipelineResultLayout.tsx
10892
- var import_noya_icons10 = require("@noya-app/noya-icons");
10916
+ var import_noya_icons9 = require("@noya-app/noya-icons");
10893
10917
  var import_react76 = __toESM(require("react"));
10894
10918
  var PipelineResultLink = ({ url }) => {
10895
10919
  return /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ import_react76.default.createElement(
@@ -10900,7 +10924,7 @@ var PipelineResultLink = ({ url }) => {
10900
10924
  rel: "noopener noreferrer",
10901
10925
  className: "flex text-primary hover:opacity-80 border border-divider rounded-md"
10902
10926
  },
10903
- /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex gap-1 items-center p-2" }, /* @__PURE__ */ import_react76.default.createElement(import_noya_icons10.Link1Icon, { className: "w-[15px] h-[15px] flex-shrink-0" })),
10927
+ /* @__PURE__ */ import_react76.default.createElement("div", { className: "flex gap-1 items-center p-2" }, /* @__PURE__ */ import_react76.default.createElement(import_noya_icons9.Link1Icon, { className: "w-[15px] h-[15px] flex-shrink-0" })),
10904
10928
  /* @__PURE__ */ import_react76.default.createElement(DividerVertical, null),
10905
10929
  /* @__PURE__ */ import_react76.default.createElement(Small, { className: "truncate p-2 flex-1" }, url)
10906
10930
  ));
@@ -11057,12 +11081,15 @@ var SegmentedControlItem = (0, import_react78.forwardRef)(function SegmentedCont
11057
11081
  value: (value ?? "").toString(),
11058
11082
  disabled,
11059
11083
  className: cx(
11060
- "font-sans text-heading5 font-normal relative flex-1 appearance-none text-segmented-control-item rounded inline-flex gap-1.5 items-center justify-center align-middle text-center focus:outline-none transition-colors",
11084
+ "font-sans text-button font-normal relative flex-1 appearance-none text-segmented-control-item rounded inline-flex gap-1.5 items-center justify-center align-middle text-center focus:outline-none transition-colors",
11061
11085
  colorScheme === "secondary" ? "focus:ring-2 focus:ring-secondary focus:ring-offset-1" : "focus:ring-2 focus:ring-primary focus:ring-offset-1",
11062
11086
  colorScheme === "secondary" ? "aria-checked:bg-secondary aria-checked:text-white" : colorScheme === "primary" ? "aria-checked:bg-primary aria-checked:text-white" : "aria-checked:bg-background aria-checked:text-text",
11063
11087
  "focus:z-interactable",
11064
11088
  "aria-checked:shadow-segment",
11065
- "whitespace-pre",
11089
+ "whitespace-pre px-1",
11090
+ "border-r border-divider last:border-r-0",
11091
+ "aria-checked:border-r-transparent",
11092
+ "[&:has(+[aria-checked=true])]:border-r-transparent",
11066
11093
  className
11067
11094
  ),
11068
11095
  ...props
@@ -11072,15 +11099,6 @@ var SegmentedControlItem = (0, import_react78.forwardRef)(function SegmentedCont
11072
11099
  );
11073
11100
  return tooltip ? /* @__PURE__ */ import_react78.default.createElement(Tooltip, { content: tooltip }, itemElement) : itemElement;
11074
11101
  });
11075
- var Separator3 = ({ transparent }) => /* @__PURE__ */ import_react78.default.createElement(
11076
- "div",
11077
- {
11078
- className: cx(
11079
- "w-[1px] my-1 self-stretch bg-divider",
11080
- transparent && "bg-transparent"
11081
- )
11082
- }
11083
- );
11084
11102
  var SegmentedControl = memoGeneric(function SegmentedControl2({
11085
11103
  id: idProp,
11086
11104
  value,
@@ -11088,7 +11106,6 @@ var SegmentedControl = memoGeneric(function SegmentedControl2({
11088
11106
  colorScheme,
11089
11107
  allowEmpty,
11090
11108
  items,
11091
- separator: separator2 = true,
11092
11109
  className,
11093
11110
  style: style2
11094
11111
  }) {
@@ -11101,7 +11118,6 @@ var SegmentedControl = memoGeneric(function SegmentedControl2({
11101
11118
  },
11102
11119
  [allowEmpty, onValueChange]
11103
11120
  );
11104
- const selectedIndex = items.findIndex((item) => item?.value === value);
11105
11121
  return /* @__PURE__ */ import_react78.default.createElement(SegmentedControlContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react78.default.createElement(
11106
11122
  ToggleGroupPrimitive2.Root,
11107
11123
  {
@@ -11110,17 +11126,15 @@ var SegmentedControl = memoGeneric(function SegmentedControl2({
11110
11126
  value,
11111
11127
  onValueChange: handleValueChange,
11112
11128
  className: cx(
11113
- `flex items-stretch flex-auto appearance-none relative outline-none min-h-input-height rounded bg-input-background py-[2px] px-[2px]`,
11129
+ `grid appearance-none relative outline-none min-h-input-height rounded bg-input-background py-0.5 px-0.5`,
11114
11130
  className
11115
11131
  ),
11116
- style: style2
11132
+ style: {
11133
+ ...style2,
11134
+ gridTemplateColumns: `repeat(${items.length}, 1fr)`
11135
+ }
11117
11136
  },
11118
- separator2 ? items.map((item, index) => {
11119
- const isLastItem = index === items.length - 1;
11120
- const currentValue = item?.value;
11121
- const showSeparator = currentValue !== value && (selectedIndex === 0 && selectedIndex !== index ? true : index !== selectedIndex - 1);
11122
- return /* @__PURE__ */ import_react78.default.createElement(import_react78.default.Fragment, { key: index }, /* @__PURE__ */ import_react78.default.createElement(SegmentedControlItem, { key: index, ...item }), !isLastItem && /* @__PURE__ */ import_react78.default.createElement(Separator3, { transparent: !showSeparator }));
11123
- }) : items.map((item, index) => /* @__PURE__ */ import_react78.default.createElement(SegmentedControlItem, { key: index, ...item }))
11137
+ items.map((item, index) => /* @__PURE__ */ import_react78.default.createElement(SegmentedControlItem, { key: index, ...item }))
11124
11138
  ));
11125
11139
  });
11126
11140
 
@@ -11184,7 +11198,7 @@ var SelectionToolbarContainer = (0, import_react79.memo)(
11184
11198
  );
11185
11199
 
11186
11200
  // src/components/SelectMenu.tsx
11187
- var import_noya_icons11 = require("@noya-app/noya-icons");
11201
+ var import_noya_icons10 = require("@noya-app/noya-icons");
11188
11202
  var Select = __toESM(require("@radix-ui/react-select"));
11189
11203
  var import_react80 = __toESM(require("react"));
11190
11204
  var readOnlyStyle = {
@@ -11233,7 +11247,7 @@ var SelectMenuTrigger = memoGeneric(function SelectMenuTrigger2({
11233
11247
  label && labelPosition === "inset" && /* @__PURE__ */ import_react80.default.createElement("div", { className: insetEndStyles }, /* @__PURE__ */ import_react80.default.createElement(Label, { className: "pr-4 text-text-disabled", htmlFor: id }, label)),
11234
11248
  /* @__PURE__ */ import_react80.default.createElement("span", { className: "flex-1 flex" }, /* @__PURE__ */ import_react80.default.createElement(Select.Value, { placeholder })),
11235
11249
  /* @__PURE__ */ import_react80.default.createElement(
11236
- import_noya_icons11.DropdownChevronIcon,
11250
+ import_noya_icons10.DropdownChevronIcon,
11237
11251
  {
11238
11252
  className: cx(
11239
11253
  "transition-transform duration-100 ml-1.5",
@@ -11338,13 +11352,13 @@ var SelectMenu = memoGeneric(function SelectMenu2({
11338
11352
  style: contentStyle
11339
11353
  },
11340
11354
  /* @__PURE__ */ import_react80.default.createElement(Select.ScrollUpButton, { className: scrollButtonStyles }, /* @__PURE__ */ import_react80.default.createElement(
11341
- import_noya_icons11.ChevronUpIcon,
11355
+ import_noya_icons10.ChevronUpIcon,
11342
11356
  {
11343
11357
  className: cx("transition-transform duration-100")
11344
11358
  }
11345
11359
  )),
11346
11360
  /* @__PURE__ */ import_react80.default.createElement(Select.Viewport, null, /* @__PURE__ */ import_react80.default.createElement(MenuViewport, { items, Components: Components3 })),
11347
- /* @__PURE__ */ import_react80.default.createElement(Select.ScrollDownButton, { className: scrollButtonStyles }, /* @__PURE__ */ import_react80.default.createElement(import_noya_icons11.ChevronDownIcon, null))
11361
+ /* @__PURE__ */ import_react80.default.createElement(Select.ScrollDownButton, { className: scrollButtonStyles }, /* @__PURE__ */ import_react80.default.createElement(import_noya_icons10.ChevronDownIcon, null))
11348
11362
  ))
11349
11363
  );
11350
11364
  return readOnly ? readOnlyButton : content;
@@ -11430,7 +11444,7 @@ var Slider = (0, import_react81.memo)(function Slider2({
11430
11444
  {
11431
11445
  style: trackFillStyle,
11432
11446
  className: cx(
11433
- "absolute inset-0 w-full h-full rounded overflow-hidden",
11447
+ "absolute inset-0 w-full h-full rounded overflow-hidden bg-primary-pastel",
11434
11448
  colorScheme === "primary" && "bg-primary",
11435
11449
  colorScheme === "secondary" && "bg-secondary"
11436
11450
  )
@@ -12450,9 +12464,14 @@ function BaseToolbar({
12450
12464
  }
12451
12465
 
12452
12466
  // src/components/Toolbar.tsx
12453
- var import_noya_icons12 = require("@noya-app/noya-icons");
12467
+ var import_noya_icons11 = require("@noya-app/noya-icons");
12454
12468
  var import_noya_keymap7 = require("@noya-app/noya-keymap");
12455
12469
  var import_react91 = __toESM(require("react"));
12470
+ var iconButtonStyle = {
12471
+ height: 27,
12472
+ width: 27,
12473
+ minWidth: 27
12474
+ };
12456
12475
  var ToolbarMenuDropdown = memoGeneric(function ToolbarMenuDropdown2({
12457
12476
  item,
12458
12477
  onSelectMenuItem
@@ -12470,7 +12489,7 @@ var ToolbarMenuDropdown = memoGeneric(function ToolbarMenuDropdown2({
12470
12489
  }
12471
12490
  }
12472
12491
  },
12473
- /* @__PURE__ */ import_react91.default.createElement(Button, { disabled: item.disabled, active: item.checked || open }, item.title, item.title && item.icon && /* @__PURE__ */ import_react91.default.createElement(Spacer.Horizontal, { inline: true, size: 6 }), item.icon && renderIcon(item.icon), /* @__PURE__ */ import_react91.default.createElement(Spacer.Horizontal, { size: 6 }), /* @__PURE__ */ import_react91.default.createElement(import_noya_icons12.DropdownChevronIcon, null))
12492
+ /* @__PURE__ */ import_react91.default.createElement(Button, { disabled: item.disabled, active: item.checked || open }, item.icon && renderIcon(item.icon), item.title && item.icon && /* @__PURE__ */ import_react91.default.createElement(Spacer.Horizontal, { inline: true, size: 6 }), item.title, /* @__PURE__ */ import_react91.default.createElement(Spacer.Horizontal, { inline: true, size: 6 }), /* @__PURE__ */ import_react91.default.createElement(import_noya_icons11.DropdownChevronIcon, null))
12474
12493
  );
12475
12494
  });
12476
12495
  var ToolbarMenuButton = memoGeneric(function ToolbarMenuButton2({
@@ -12482,18 +12501,47 @@ var ToolbarMenuButton = memoGeneric(function ToolbarMenuButton2({
12482
12501
  {
12483
12502
  disabled: item.disabled,
12484
12503
  active: item.checked,
12504
+ style: item.icon && !item.title ? iconButtonStyle : void 0,
12485
12505
  onClick: () => {
12486
12506
  if (onSelectMenuItem && item.value) {
12487
12507
  onSelectMenuItem(item.value);
12488
12508
  }
12489
12509
  }
12490
12510
  },
12491
- item.title,
12511
+ item.icon && renderIcon(item.icon),
12492
12512
  item.title && item.icon && /* @__PURE__ */ import_react91.default.createElement(Spacer.Horizontal, { inline: true, size: 6 }),
12493
- item.icon && renderIcon(item.icon)
12513
+ item.title
12494
12514
  );
12495
12515
  return item.tooltip ? /* @__PURE__ */ import_react91.default.createElement(Tooltip, { sideOffset: 10, content: item.tooltip }, content) : content;
12496
12516
  });
12517
+ var ToolbarMenuItem = memoGeneric(function ToolbarMenuItem2({
12518
+ item,
12519
+ onSelectMenuItem
12520
+ }) {
12521
+ if (item.type === "sectionHeader") return null;
12522
+ if (item.type === "separator") {
12523
+ return /* @__PURE__ */ import_react91.default.createElement(DividerVertical, { overflow: 4 });
12524
+ }
12525
+ if (isSelectableMenuItem(item)) {
12526
+ return /* @__PURE__ */ import_react91.default.createElement(ToolbarMenuButton, { item, onSelectMenuItem });
12527
+ }
12528
+ return /* @__PURE__ */ import_react91.default.createElement(ToolbarMenuDropdown, { item, onSelectMenuItem });
12529
+ });
12530
+ var ToolbarMenu = memoGeneric(function ToolbarMenu2({
12531
+ items,
12532
+ onSelectMenuItem
12533
+ }) {
12534
+ return /* @__PURE__ */ import_react91.default.createElement(import_react91.default.Fragment, null, items.map((item, i) => {
12535
+ return /* @__PURE__ */ import_react91.default.createElement(
12536
+ ToolbarMenuItem,
12537
+ {
12538
+ key: i,
12539
+ item,
12540
+ onSelectMenuItem
12541
+ }
12542
+ );
12543
+ }));
12544
+ });
12497
12545
  function Toolbar({
12498
12546
  children,
12499
12547
  logo,
@@ -12534,35 +12582,6 @@ function Toolbar({
12534
12582
  children
12535
12583
  );
12536
12584
  }
12537
- var ToolbarMenu = memoGeneric(function ToolbarMenu2({
12538
- items,
12539
- onSelectMenuItem
12540
- }) {
12541
- return /* @__PURE__ */ import_react91.default.createElement(import_react91.default.Fragment, null, items.map((item, i) => {
12542
- if (item.type === "sectionHeader") return null;
12543
- if (item.type === "separator") {
12544
- return /* @__PURE__ */ import_react91.default.createElement(DividerVertical, { key: i, overflow: 4 });
12545
- }
12546
- if (isSelectableMenuItem(item)) {
12547
- return /* @__PURE__ */ import_react91.default.createElement(
12548
- ToolbarMenuButton,
12549
- {
12550
- key: i,
12551
- item,
12552
- onSelectMenuItem
12553
- }
12554
- );
12555
- }
12556
- return /* @__PURE__ */ import_react91.default.createElement(
12557
- ToolbarMenuDropdown,
12558
- {
12559
- key: i,
12560
- item,
12561
- onSelectMenuItem
12562
- }
12563
- );
12564
- }));
12565
- });
12566
12585
  // Annotate the CommonJS export names for ESM import in node:
12567
12586
  0 && (module.exports = {
12568
12587
  AIAssistantInput,
@@ -12678,6 +12697,7 @@ var ToolbarMenu = memoGeneric(function ToolbarMenu2({
12678
12697
  ToolbarMenu,
12679
12698
  ToolbarMenuButton,
12680
12699
  ToolbarMenuDropdown,
12700
+ ToolbarMenuItem,
12681
12701
  Tooltip,
12682
12702
  TreeView,
12683
12703
  UserAvatar,