@forgedevstack/bear 1.2.4 → 1.2.5

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 (40) hide show
  1. package/dist/components/Card/Card.types.d.ts +1 -2
  2. package/dist/components/Chat/Chat.const.cjs +1 -1
  3. package/dist/components/Chat/Chat.const.d.ts +1 -1
  4. package/dist/components/Chat/Chat.const.js +1 -1
  5. package/dist/components/ColorSwatch/ColorSwatch.cjs +1 -1
  6. package/dist/components/ColorSwatch/ColorSwatch.js +8 -8
  7. package/dist/components/CommandPalette/CommandPalette.cjs +1 -1
  8. package/dist/components/CommandPalette/CommandPalette.js +71 -71
  9. package/dist/components/DiffSquares/DiffSquares.cjs +1 -1
  10. package/dist/components/DiffSquares/DiffSquares.js +11 -11
  11. package/dist/components/MentionsInput/MentionsInput.cjs +1 -1
  12. package/dist/components/MentionsInput/MentionsInput.js +114 -92
  13. package/dist/components/MentionsInput/MentionsInput.types.d.ts +4 -0
  14. package/dist/components/MessageList/MessageList.cjs +1 -0
  15. package/dist/components/MessageList/MessageList.const.cjs +1 -0
  16. package/dist/components/MessageList/MessageList.const.d.ts +23 -0
  17. package/dist/components/MessageList/MessageList.const.js +30 -0
  18. package/dist/components/MessageList/MessageList.d.ts +19 -0
  19. package/dist/components/MessageList/MessageList.js +182 -0
  20. package/dist/components/MessageList/MessageList.types.d.ts +72 -0
  21. package/dist/components/MessageList/MessageList.utils.cjs +1 -0
  22. package/dist/components/MessageList/MessageList.utils.d.ts +6 -0
  23. package/dist/components/MessageList/MessageList.utils.js +35 -0
  24. package/dist/components/MessageList/index.d.ts +2 -0
  25. package/dist/components/Toast/Toast.cjs +1 -1
  26. package/dist/components/Toast/Toast.d.ts +3 -6
  27. package/dist/components/Toast/Toast.js +82 -76
  28. package/dist/components/Toast/Toast.types.d.ts +9 -0
  29. package/dist/components/Toast/index.d.ts +1 -1
  30. package/dist/components/TreeSelect/TreeSelect.cjs +1 -1
  31. package/dist/components/TreeSelect/TreeSelect.js +22 -22
  32. package/dist/components/index.cjs +1 -1
  33. package/dist/components/index.d.ts +3 -1
  34. package/dist/components/index.js +144 -142
  35. package/dist/index.cjs +1 -1
  36. package/dist/index.js +228 -226
  37. package/dist/styles/_message-list.css +42 -0
  38. package/dist/styles/main.css +1 -0
  39. package/dist/styles.css +47 -0
  40. package/package.json +15 -2
@@ -21,8 +21,7 @@ export interface CardHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 't
21
21
  /** Action element on the right side */
22
22
  action?: ReactNode;
23
23
  }
24
- export interface CardBodyProps extends HTMLAttributes<HTMLDivElement> {
25
- }
24
+ export type CardBodyProps = HTMLAttributes<HTMLDivElement>;
26
25
  export interface CardFooterProps extends HTMLAttributes<HTMLDivElement> {
27
26
  /** Whether to add a divider above footer */
28
27
  divider?: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={PLACEHOLDER:"Type a message...",HEIGHT:400,TYPING_TEXT:"is typing..."},t={sending:"○",sent:"✓",delivered:"✓✓",read:"✓✓",error:"!"},r={user:{bg:"var(--bear-primary-500)",text:"white"},bot:{bg:"var(--bear-bg-secondary)",text:"var(--bear-text-primary)"},system:{bg:"transparent",text:"var(--bear-text-tertiary)"}};exports.CHAT_DEFAULTS=e;exports.MESSAGE_STATUS_ICONS=t;exports.SENDER_COLORS=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={PLACEHOLDER:"Type a message...",HEIGHT:400,TYPING_TEXT:"is typing..."},t={sending:"○",sent:"✓",delivered:"✓✓",read:"✓✓",error:"!"},r={user:{bg:"var(--bear-primary-500)",text:"white"},bot:{bg:"var(--bear-bg-secondary)",text:"var(--bear-text-primary)"},system:{bg:"transparent",text:"var(--bear-text-tertiary, var(--bear-text-muted))"}};exports.CHAT_DEFAULTS=e;exports.MESSAGE_STATUS_ICONS=t;exports.SENDER_COLORS=r;
@@ -21,6 +21,6 @@ export declare const SENDER_COLORS: {
21
21
  };
22
22
  readonly system: {
23
23
  readonly bg: "transparent";
24
- readonly text: "var(--bear-text-tertiary)";
24
+ readonly text: "var(--bear-text-tertiary, var(--bear-text-muted))";
25
25
  };
26
26
  };
@@ -19,7 +19,7 @@ const e = {
19
19
  },
20
20
  system: {
21
21
  bg: "transparent",
22
- text: "var(--bear-text-tertiary)"
22
+ text: "var(--bear-text-tertiary, var(--bear-text-muted))"
23
23
  }
24
24
  };
25
25
  export {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),L=require("react"),h=require("../../utils/cn.cjs"),t=require("./ColorSwatch.const.cjs"),f=require("./ColorSwatch.utils.cjs"),_=({color:c,selected:r=!1,size:s="md",rounded:l=!0,label:d,onClick:A,className:C,testId:S,...m})=>{const a=t.SIZE_MAP[s],n=f.isLightColor(c),o=Math.max(12,a*.4);return i.jsxs("div",{className:"bear-inline-flex bear-flex-col bear-items-center",children:[i.jsx("div",{className:h.cn(t.SWATCH_CLASSES,r&&t.SWATCH_SELECTED_CLASSES,n?t.SWATCH_LIGHT_BORDER:t.SWATCH_DEFAULT_BORDER,l?"bear-rounded-full":"bear-rounded-md",C),style:{width:a,height:a,backgroundColor:c},onClick:A,role:"option","aria-selected":r,"aria-label":d??c,"data-testid":S,...m,children:r&&i.jsx("svg",{className:h.cn(n?t.LIGHT_CHECK_CLASSES:t.CHECK_CLASSES),width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round",children:i.jsx("polyline",{points:"20 6 9 17 4 12"})})}),d&&i.jsx("span",{className:t.LABEL_CLASSES,style:{maxWidth:a+8},children:d})]})},w=({colors:c,value:r,onChange:s,multiple:l=!1,size:d="md",rounded:A=!0,gap:C=t.DEFAULT_GAP,columns:S,showLabel:m=!1,className:a,testId:n,...o})=>{const E=L.useMemo(()=>r?new Set(Array.isArray(r)?r:[r]):new Set,[r]),x=L.useCallback(e=>{if(l){const u=new Set(E);u.has(e)?u.delete(e):u.add(e),s==null||s(Array.from(u))}else s==null||s(e)},[l,E,s]);return i.jsx("div",{className:h.cn(t.GROUP_CLASSES,a),style:{gap:C,...S?{display:"grid",gridTemplateColumns:`repeat(${S}, 1fr)`}:{}},role:"listbox","aria-multiselectable":l,"data-testid":n,...o,children:c.map(e=>i.jsx(_,{color:e,selected:E.has(e),size:d,rounded:A,label:m?e:void 0,onClick:()=>x(e)},e))})};exports.ColorSwatch=_;exports.ColorSwatchGroup=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),L=require("react"),h=require("../../utils/cn.cjs"),t=require("./ColorSwatch.const.cjs"),f=require("./ColorSwatch.utils.cjs"),_=({color:l,selected:r=!1,size:s="md",rounded:c=!0,label:d,onClick:A,className:C,testId:S,...m})=>{const a=t.SIZE_MAP[s],n=f.isLightColor(l),o=Math.max(12,a*.4);return i.jsxs("div",{className:"bear-inline-flex bear-flex-col bear-items-center",children:[i.jsx("div",{className:h.cn(t.SWATCH_CLASSES,r&&t.SWATCH_SELECTED_CLASSES,n?t.SWATCH_LIGHT_BORDER:t.SWATCH_DEFAULT_BORDER,c?"bear-rounded-full":"bear-rounded-md",C),style:{width:a,height:a,backgroundColor:l},onClick:A,role:"option","aria-selected":r,"aria-label":d??l,"data-testid":S,...m,children:r&&i.jsx("svg",{className:h.cn(n?t.LIGHT_CHECK_CLASSES:t.CHECK_CLASSES),width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round",children:i.jsx("polyline",{points:"20 6 9 17 4 12"})})}),d&&i.jsx("span",{className:t.LABEL_CLASSES,style:{maxWidth:a+8},children:d})]})},w=({colors:l,value:r,onChange:s,multiple:c=!1,size:d="md",rounded:A=!0,gap:C=t.DEFAULT_GAP,columns:S,showLabel:m=!1,className:a,testId:n,...o})=>{const E=L.useMemo(()=>r?new Set(Array.isArray(r)?r:[r]):new Set,[r]),x=L.useCallback(e=>{if(c){const u=new Set(E);u.has(e)?u.delete(e):u.add(e),s==null||s(Array.from(u))}else s==null||s(e)},[c,E,s]);return i.jsx("div",{className:h.cn(t.GROUP_CLASSES,a),style:{gap:C,...S?{display:"grid",gridTemplateColumns:`repeat(${S}, 1fr)`}:{}},role:"listbox","aria-multiselectable":c,"data-testid":n,...o,children:l.map(e=>i.jsx(_,{color:e,selected:E.has(e),size:d,rounded:A,label:m?e:void 0,onClick:()=>x(e)},e))})};exports.ColorSwatch=_;exports.ColorSwatchGroup=w;
@@ -12,7 +12,7 @@ const N = ({
12
12
  onClick: n,
13
13
  className: A,
14
14
  testId: S,
15
- ...E
15
+ ...f
16
16
  }) => {
17
17
  const i = u[r], o = G(a), m = Math.max(12, i * 0.4);
18
18
  return /* @__PURE__ */ C("div", { className: "bear-inline-flex bear-flex-col bear-items-center", children: [
@@ -32,7 +32,7 @@ const N = ({
32
32
  "aria-selected": t,
33
33
  "aria-label": l ?? a,
34
34
  "data-testid": S,
35
- ...E,
35
+ ...f,
36
36
  children: t && /* @__PURE__ */ s("svg", { className: L(o ? x : T), width: m, height: m, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 3, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ s("polyline", { points: "20 6 9 17 4 12" }) })
37
37
  }
38
38
  ),
@@ -47,18 +47,18 @@ const N = ({
47
47
  rounded: n = !0,
48
48
  gap: A = W,
49
49
  columns: S,
50
- showLabel: E = !1,
50
+ showLabel: f = !1,
51
51
  className: i,
52
52
  testId: o,
53
53
  ...m
54
54
  }) => {
55
- const f = _(() => t ? new Set(Array.isArray(t) ? t : [t]) : /* @__PURE__ */ new Set(), [t]), p = h((e) => {
55
+ const E = _(() => t ? new Set(Array.isArray(t) ? t : [t]) : /* @__PURE__ */ new Set(), [t]), p = h((e) => {
56
56
  if (d) {
57
- const c = new Set(f);
57
+ const c = new Set(E);
58
58
  c.has(e) ? c.delete(e) : c.add(e), r == null || r(Array.from(c));
59
59
  } else
60
60
  r == null || r(e);
61
- }, [d, f, r]);
61
+ }, [d, E, r]);
62
62
  return /* @__PURE__ */ s(
63
63
  "div",
64
64
  {
@@ -75,10 +75,10 @@ const N = ({
75
75
  N,
76
76
  {
77
77
  color: e,
78
- selected: f.has(e),
78
+ selected: E.has(e),
79
79
  size: l,
80
80
  rounded: n,
81
- label: E ? e : void 0,
81
+ label: f ? e : void 0,
82
82
  onClick: () => p(e)
83
83
  },
84
84
  e
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("react"),Q=require("react-dom"),L=require("../../utils/cn.cjs"),y=require("./CommandPalette.const.cjs"),E=require("./CommandPalette.utils.cjs"),z=({command:s,isHighlighted:g,onSelect:m})=>t.jsxs("button",{type:"button",onClick:m,disabled:s.disabled,className:L.cn("Bear-CommandPalette__item bear-w-full bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-2.5 bear-text-left bear-transition-colors",g?"bear-bg-primary-500/20 bear-text-primary-400":"bear-text-zinc-300 hover:bear-bg-zinc-700",s.disabled&&"bear-opacity-50 bear-cursor-not-allowed"),children:[s.icon&&t.jsx("span",{className:"Bear-CommandPalette__item-icon bear-text-zinc-400 bear-shrink-0",children:s.icon}),t.jsxs("div",{className:"Bear-CommandPalette__item-content bear-flex-1 bear-min-w-0",children:[t.jsx("div",{className:"Bear-CommandPalette__item-label bear-text-sm bear-font-medium bear-truncate",children:s.label}),s.description&&t.jsx("div",{className:"Bear-CommandPalette__item-description bear-text-xs bear-text-zinc-500 bear-truncate",children:s.description})]}),s.shortcut&&t.jsx("div",{className:"Bear-CommandPalette__item-shortcut bear-flex bear-gap-1 bear-shrink-0",children:E.formatShortcut(s.shortcut).map((k,p)=>t.jsx("kbd",{className:"bear-px-1.5 bear-py-0.5 bear-text-xs bear-font-mono bear-bg-zinc-700 bear-rounded bear-text-zinc-400",children:k},p))})]}),V=({commands:s,open:g,onOpenChange:m,placeholder:k,showRecent:p=!0,maxRecent:h=y.COMMAND_PALETTE_MAX_RECENT,recentIds:q,onRecentChange:_,groupByCategory:N=!1,filterFn:B=E.defaultFilterFn,triggerKey:D=y.COMMAND_PALETTE_TRIGGER_KEY,className:O,testId:R,translations:I,icon:K,footer:M})=>{const[H,F]=r.useState(!1),[i,A]=r.useState(""),[n,v]=r.useState(0),[G,U]=r.useState([]),S=r.useRef(null),P=r.useRef(null),u=g??H,l=r.useCallback(e=>{m==null||m(e),F(e)},[m]),d=q??G,T=r.useCallback(e=>{_==null||_(e),U(e)},[_]),j=r.useMemo(()=>({...y.COMMAND_PALETTE_DEFAULT_TRANSLATIONS,...I}),[I]),x=r.useMemo(()=>i.trim()?s.filter(e=>B(e,i)):s,[s,i,B]),c=r.useMemo(()=>!p||i.trim()?[]:d.slice(0,h).map(e=>s.find(a=>a.id===e)).filter(Boolean),[p,i,d,h,s]),C=r.useMemo(()=>N?E.groupCommandsByCategory(x):null,[x,N]),o=r.useMemo(()=>{const e=[];return c.length>0&&e.push(...c),e.push(...x.filter(a=>!d.includes(a.id))),e},[c,x,d]);r.useEffect(()=>{const e=a=>{(a.metaKey||a.ctrlKey)&&a.key.toLowerCase()===D&&(a.preventDefault(),l(!u)),a.key==="Escape"&&u&&(a.preventDefault(),l(!1))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[u,D,l]),r.useEffect(()=>{u&&(A(""),v(0),setTimeout(()=>{var e;return(e=S.current)==null?void 0:e.focus()},50))},[u]),r.useEffect(()=>{if(n>=0&&P.current){const a=P.current.querySelectorAll("[data-command-item]")[n];a&&a.scrollIntoView({block:"nearest"})}},[n]);const f=r.useCallback(e=>{const a=[e.id,...d.filter(b=>b!==e.id)].slice(0,h);T(a),l(!1),e.onSelect()},[d,h,T,l]),X=r.useCallback(e=>{switch(e.key){case"ArrowDown":e.preventDefault(),v(a=>a<o.length-1?a+1:0);break;case"ArrowUp":e.preventDefault(),v(a=>a>0?a-1:o.length-1);break;case"Enter":e.preventDefault(),o[n]&&!o[n].disabled&&f(o[n]);break;case"Escape":e.preventDefault(),l(!1);break}},[o,n,f,l]);return u&&typeof document<"u"?Q.createPortal(t.jsxs("div",{className:L.cn("Bear-CommandPalette bear-fixed bear-inset-0 bear-flex bear-items-start bear-justify-center bear-pt-[15vh]",O),style:{zIndex:y.COMMAND_PALETTE_Z_INDEX},"data-testid":R,children:[t.jsx("div",{className:"Bear-CommandPalette__backdrop bear-absolute bear-inset-0 bear-bg-black/50 bear-backdrop-blur-sm",onClick:()=>l(!1)}),t.jsxs("div",{className:"Bear-CommandPalette__content bear-relative bear-w-full bear-max-w-xl bear-bg-zinc-800 bear-border bear-border-zinc-700 bear-rounded-xl bear-shadow-2xl bear-overflow-hidden",children:[t.jsxs("div",{className:"Bear-CommandPalette__search bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-3 bear-border-b bear-border-zinc-700",children:[K??t.jsx("svg",{className:"bear-w-5 bear-h-5 bear-text-zinc-400 bear-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),t.jsx("input",{ref:S,type:"text",value:i,onChange:e=>{A(e.target.value),v(0)},onKeyDown:X,placeholder:k||j.placeholder,className:"Bear-CommandPalette__input bear-flex-1 bear-bg-transparent bear-border-0 bear-outline-none bear-text-white placeholder:bear-text-zinc-500"}),t.jsx("kbd",{className:"bear-px-2 bear-py-1 bear-text-xs bear-font-mono bear-bg-zinc-700 bear-rounded bear-text-zinc-400",children:"esc"})]}),t.jsx("div",{ref:P,className:"Bear-CommandPalette__list bear-max-h-[60vh] bear-overflow-y-auto",children:o.length===0?t.jsx("div",{className:"Bear-CommandPalette__empty bear-px-4 bear-py-8 bear-text-center bear-text-sm bear-text-zinc-500",children:j.noResults}):t.jsxs(t.Fragment,{children:[c.length>0&&!i.trim()&&t.jsxs("div",{className:"Bear-CommandPalette__group",children:[t.jsx("div",{className:"Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-zinc-800/50",children:j.recentCommands}),c.map((e,a)=>t.jsx("div",{"data-command-item":!0,children:t.jsx(z,{command:e,isHighlighted:n===a,onSelect:()=>f(e)})},`recent-${e.id}`))]}),N&&C?C.map(e=>{const a=c.length+C.slice(0,C.indexOf(e)).reduce((b,w)=>b+w.commands.length,0);return t.jsxs("div",{className:"Bear-CommandPalette__group",children:[t.jsx("div",{className:"Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-zinc-800/50",children:e.name}),e.commands.map((b,w)=>t.jsx("div",{"data-command-item":!0,children:t.jsx(z,{command:b,isHighlighted:n===a+w,onSelect:()=>f(b)})},b.id))]},e.name)}):t.jsxs("div",{className:"Bear-CommandPalette__group",children:[!i.trim()&&c.length>0&&t.jsx("div",{className:"Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-zinc-800/50",children:j.allCommands}),x.filter(e=>!d.includes(e.id)||i.trim()).map((e,a)=>t.jsx("div",{"data-command-item":!0,children:t.jsx(z,{command:e,isHighlighted:n===c.length+a,onSelect:()=>f(e)})},e.id))]})]})}),M&&t.jsx("div",{className:"Bear-CommandPalette__footer bear-px-4 bear-py-2 bear-border-t bear-border-zinc-700 bear-text-xs bear-text-zinc-500",children:M})]})]}),document.body):null};exports.CommandPalette=V;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),t=require("react"),Q=require("react-dom"),L=require("../../utils/cn.cjs"),v=require("./CommandPalette.const.cjs"),E=require("./CommandPalette.utils.cjs"),z=({command:s,isHighlighted:j,onSelect:m})=>r.jsxs("button",{type:"button",onClick:m,disabled:s.disabled,className:L.cn("Bear-CommandPalette__item bear-w-full bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-2.5 bear-text-left bear-transition-colors",j?"bear-bg-primary-500/20 bear-text-primary-400":"bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700",s.disabled&&"bear-opacity-50 bear-cursor-not-allowed"),children:[s.icon&&r.jsx("span",{className:"Bear-CommandPalette__item-icon bear-text-gray-500 dark:bear-text-zinc-400 bear-shrink-0",children:s.icon}),r.jsxs("div",{className:"Bear-CommandPalette__item-content bear-flex-1 bear-min-w-0",children:[r.jsx("div",{className:"Bear-CommandPalette__item-label bear-text-sm bear-font-medium bear-truncate",children:s.label}),s.description&&r.jsx("div",{className:"Bear-CommandPalette__item-description bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500 bear-truncate",children:s.description})]}),s.shortcut&&r.jsx("div",{className:"Bear-CommandPalette__item-shortcut bear-flex bear-gap-1 bear-shrink-0",children:E.formatShortcut(s.shortcut).map((C,f)=>r.jsx("kbd",{className:"bear-px-1.5 bear-py-0.5 bear-text-xs bear-font-mono bear-bg-gray-200 bear-text-gray-600 dark:bear-bg-zinc-700 dark:bear-text-zinc-400 bear-rounded",children:C},f))})]}),V=({commands:s,open:j,onOpenChange:m,placeholder:C,showRecent:f=!0,maxRecent:h=v.COMMAND_PALETTE_MAX_RECENT,recentIds:q,onRecentChange:g,groupByCategory:N=!1,filterFn:B=E.defaultFilterFn,triggerKey:D=v.COMMAND_PALETTE_TRIGGER_KEY,className:O,testId:R,translations:I,icon:K,footer:M})=>{const[H,F]=t.useState(!1),[l,A]=t.useState(""),[n,k]=t.useState(0),[G,U]=t.useState([]),S=t.useRef(null),P=t.useRef(null),u=j??H,i=t.useCallback(e=>{m==null||m(e),F(e)},[m]),b=q??G,T=t.useCallback(e=>{g==null||g(e),U(e)},[g]),y=t.useMemo(()=>({...v.COMMAND_PALETTE_DEFAULT_TRANSLATIONS,...I}),[I]),x=t.useMemo(()=>l.trim()?s.filter(e=>B(e,l)):s,[s,l,B]),d=t.useMemo(()=>!f||l.trim()?[]:b.slice(0,h).map(e=>s.find(a=>a.id===e)).filter(Boolean),[f,l,b,h,s]),_=t.useMemo(()=>N?E.groupCommandsByCategory(x):null,[x,N]),c=t.useMemo(()=>{const e=[];return d.length>0&&e.push(...d),e.push(...x.filter(a=>!b.includes(a.id))),e},[d,x,b]);t.useEffect(()=>{const e=a=>{(a.metaKey||a.ctrlKey)&&a.key.toLowerCase()===D&&(a.preventDefault(),i(!u)),a.key==="Escape"&&u&&(a.preventDefault(),i(!1))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[u,D,i]),t.useEffect(()=>{u&&(A(""),k(0),setTimeout(()=>{var e;return(e=S.current)==null?void 0:e.focus()},50))},[u]),t.useEffect(()=>{if(n>=0&&P.current){const a=P.current.querySelectorAll("[data-command-item]")[n];a&&a.scrollIntoView({block:"nearest"})}},[n]);const p=t.useCallback(e=>{const a=[e.id,...b.filter(o=>o!==e.id)].slice(0,h);T(a),i(!1),e.onSelect()},[b,h,T,i]),X=t.useCallback(e=>{switch(e.key){case"ArrowDown":e.preventDefault(),k(a=>a<c.length-1?a+1:0);break;case"ArrowUp":e.preventDefault(),k(a=>a>0?a-1:c.length-1);break;case"Enter":e.preventDefault(),c[n]&&!c[n].disabled&&p(c[n]);break;case"Escape":e.preventDefault(),i(!1);break}},[c,n,p,i]);return u&&typeof document<"u"?Q.createPortal(r.jsxs("div",{className:L.cn("Bear-CommandPalette bear-fixed bear-inset-0 bear-flex bear-items-start bear-justify-center bear-pt-[15vh]",O),style:{zIndex:v.COMMAND_PALETTE_Z_INDEX},"data-testid":R,children:[r.jsx("div",{className:"Bear-CommandPalette__backdrop bear-absolute bear-inset-0 bear-bg-black/50 bear-backdrop-blur-sm",onClick:()=>i(!1)}),r.jsxs("div",{className:"Bear-CommandPalette__content bear-relative bear-w-full bear-max-w-xl bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-xl bear-shadow-2xl bear-overflow-hidden",children:[r.jsxs("div",{className:"Bear-CommandPalette__search bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-3 bear-border-b bear-border-gray-200 dark:bear-border-zinc-700",children:[K??r.jsx("svg",{className:"bear-w-5 bear-h-5 bear-text-gray-500 dark:bear-text-zinc-400 bear-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),r.jsx("input",{ref:S,type:"text",value:l,onChange:e=>{A(e.target.value),k(0)},onKeyDown:X,placeholder:C||y.placeholder,className:"Bear-CommandPalette__input bear-flex-1 bear-bg-transparent bear-border-0 bear-outline-none bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-400 dark:placeholder:bear-text-zinc-500"}),r.jsx("kbd",{className:"bear-px-2 bear-py-1 bear-text-xs bear-font-mono bear-bg-gray-200 bear-text-gray-600 dark:bear-bg-zinc-700 dark:bear-text-zinc-400 bear-rounded",children:"esc"})]}),r.jsx("div",{ref:P,className:"Bear-CommandPalette__list bear-max-h-[60vh] bear-overflow-y-auto",children:c.length===0?r.jsx("div",{className:"Bear-CommandPalette__empty bear-px-4 bear-py-8 bear-text-center bear-text-sm bear-text-gray-500 dark:bear-text-zinc-500",children:y.noResults}):r.jsxs(r.Fragment,{children:[d.length>0&&!l.trim()&&r.jsxs("div",{className:"Bear-CommandPalette__group",children:[r.jsx("div",{className:"Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-gray-500 dark:bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-gray-50 dark:bear-bg-zinc-800/50",children:y.recentCommands}),d.map((e,a)=>r.jsx("div",{"data-command-item":!0,children:r.jsx(z,{command:e,isHighlighted:n===a,onSelect:()=>p(e)})},`recent-${e.id}`))]}),N&&_?_.map(e=>{const a=d.length+_.slice(0,_.indexOf(e)).reduce((o,w)=>o+w.commands.length,0);return r.jsxs("div",{className:"Bear-CommandPalette__group",children:[r.jsx("div",{className:"Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-gray-500 dark:bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-gray-50 dark:bear-bg-zinc-800/50",children:e.name}),e.commands.map((o,w)=>r.jsx("div",{"data-command-item":!0,children:r.jsx(z,{command:o,isHighlighted:n===a+w,onSelect:()=>p(o)})},o.id))]},e.name)}):r.jsxs("div",{className:"Bear-CommandPalette__group",children:[!l.trim()&&d.length>0&&r.jsx("div",{className:"Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-gray-500 dark:bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-gray-50 dark:bear-bg-zinc-800/50",children:y.allCommands}),x.filter(e=>!b.includes(e.id)||l.trim()).map((e,a)=>r.jsx("div",{"data-command-item":!0,children:r.jsx(z,{command:e,isHighlighted:n===d.length+a,onSelect:()=>p(e)})},e.id))]})]})}),M&&r.jsx("div",{className:"Bear-CommandPalette__footer bear-px-4 bear-py-2 bear-border-t bear-border-gray-200 dark:bear-border-zinc-700 bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500",children:M})]})]}),document.body):null};exports.CommandPalette=V;
@@ -1,51 +1,51 @@
1
- import { jsxs as l, jsx as t, Fragment as Y } from "react/jsx-runtime";
2
- import { useState as C, useRef as j, useCallback as k, useMemo as h, useEffect as I } from "react";
1
+ import { jsxs as l, jsx as a, Fragment as Y } from "react/jsx-runtime";
2
+ import { useState as N, useRef as j, useCallback as C, useMemo as f, useEffect as I } from "react";
3
3
  import { createPortal as Z } from "react-dom";
4
4
  import { cn as H } from "../../utils/cn.js";
5
5
  import { COMMAND_PALETTE_DEFAULT_TRANSLATIONS as $, COMMAND_PALETTE_MAX_RECENT as J, COMMAND_PALETTE_TRIGGER_KEY as ee, COMMAND_PALETTE_Z_INDEX as re } from "./CommandPalette.const.js";
6
- import { defaultFilterFn as te, groupCommandsByCategory as ae, formatShortcut as ne } from "./CommandPalette.utils.js";
6
+ import { defaultFilterFn as ae, groupCommandsByCategory as te, formatShortcut as ne } from "./CommandPalette.utils.js";
7
7
  const D = ({
8
- command: a,
9
- isHighlighted: P,
8
+ command: t,
9
+ isHighlighted: w,
10
10
  onSelect: m
11
11
  }) => /* @__PURE__ */ l(
12
12
  "button",
13
13
  {
14
14
  type: "button",
15
15
  onClick: m,
16
- disabled: a.disabled,
16
+ disabled: t.disabled,
17
17
  className: H(
18
18
  "Bear-CommandPalette__item bear-w-full bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-2.5 bear-text-left bear-transition-colors",
19
- P ? "bear-bg-primary-500/20 bear-text-primary-400" : "bear-text-zinc-300 hover:bear-bg-zinc-700",
20
- a.disabled && "bear-opacity-50 bear-cursor-not-allowed"
19
+ w ? "bear-bg-primary-500/20 bear-text-primary-400" : "bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700",
20
+ t.disabled && "bear-opacity-50 bear-cursor-not-allowed"
21
21
  ),
22
22
  children: [
23
- a.icon && /* @__PURE__ */ t("span", { className: "Bear-CommandPalette__item-icon bear-text-zinc-400 bear-shrink-0", children: a.icon }),
23
+ t.icon && /* @__PURE__ */ a("span", { className: "Bear-CommandPalette__item-icon bear-text-gray-500 dark:bear-text-zinc-400 bear-shrink-0", children: t.icon }),
24
24
  /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__item-content bear-flex-1 bear-min-w-0", children: [
25
- /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__item-label bear-text-sm bear-font-medium bear-truncate", children: a.label }),
26
- a.description && /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__item-description bear-text-xs bear-text-zinc-500 bear-truncate", children: a.description })
25
+ /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__item-label bear-text-sm bear-font-medium bear-truncate", children: t.label }),
26
+ t.description && /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__item-description bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500 bear-truncate", children: t.description })
27
27
  ] }),
28
- a.shortcut && /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__item-shortcut bear-flex bear-gap-1 bear-shrink-0", children: ne(a.shortcut).map((w, x) => /* @__PURE__ */ t(
28
+ t.shortcut && /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__item-shortcut bear-flex bear-gap-1 bear-shrink-0", children: ne(t.shortcut).map((P, h) => /* @__PURE__ */ a(
29
29
  "kbd",
30
30
  {
31
- className: "bear-px-1.5 bear-py-0.5 bear-text-xs bear-font-mono bear-bg-zinc-700 bear-rounded bear-text-zinc-400",
32
- children: w
31
+ className: "bear-px-1.5 bear-py-0.5 bear-text-xs bear-font-mono bear-bg-gray-200 bear-text-gray-600 dark:bear-bg-zinc-700 dark:bear-text-zinc-400 bear-rounded",
32
+ children: P
33
33
  },
34
- x
34
+ h
35
35
  )) })
36
36
  ]
37
37
  }
38
- ), be = ({
39
- commands: a,
40
- open: P,
38
+ ), ce = ({
39
+ commands: t,
40
+ open: w,
41
41
  onOpenChange: m,
42
- placeholder: w,
43
- showRecent: x = !0,
44
- maxRecent: _ = J,
42
+ placeholder: P,
43
+ showRecent: h = !0,
44
+ maxRecent: g = J,
45
45
  recentIds: F,
46
- onRecentChange: v,
46
+ onRecentChange: y,
47
47
  groupByCategory: z = !1,
48
- filterFn: A = te,
48
+ filterFn: A = ae,
49
49
  triggerKey: T = ee,
50
50
  className: R,
51
51
  testId: q,
@@ -53,24 +53,24 @@ const D = ({
53
53
  icon: G,
54
54
  footer: M
55
55
  }) => {
56
- const [U, X] = C(!1), [i, S] = C(""), [n, N] = C(0), [Q, V] = C([]), K = j(null), B = j(null), u = P ?? U, s = k((e) => {
56
+ const [U, X] = N(!1), [i, S] = N(""), [n, k] = N(0), [Q, V] = N([]), K = j(null), B = j(null), u = w ?? U, d = C((e) => {
57
57
  m == null || m(e), X(e);
58
- }, [m]), c = F ?? Q, O = k((e) => {
59
- v == null || v(e), V(e);
60
- }, [v]), y = h(() => ({
58
+ }, [m]), s = F ?? Q, O = C((e) => {
59
+ y == null || y(e), V(e);
60
+ }, [y]), _ = f(() => ({
61
61
  ...$,
62
62
  ...L
63
- }), [L]), p = h(() => i.trim() ? a.filter((e) => A(e, i)) : a, [a, i, A]), d = h(() => !x || i.trim() ? [] : c.slice(0, _).map((e) => a.find((r) => r.id === e)).filter(Boolean), [x, i, c, _, a]), g = h(() => z ? ae(p) : null, [p, z]), o = h(() => {
63
+ }), [L]), p = f(() => i.trim() ? t.filter((e) => A(e, i)) : t, [t, i, A]), b = f(() => !h || i.trim() ? [] : s.slice(0, g).map((e) => t.find((r) => r.id === e)).filter(Boolean), [h, i, s, g, t]), v = f(() => z ? te(p) : null, [p, z]), o = f(() => {
64
64
  const e = [];
65
- return d.length > 0 && e.push(...d), e.push(...p.filter((r) => !c.includes(r.id))), e;
66
- }, [d, p, c]);
65
+ return b.length > 0 && e.push(...b), e.push(...p.filter((r) => !s.includes(r.id))), e;
66
+ }, [b, p, s]);
67
67
  I(() => {
68
68
  const e = (r) => {
69
- (r.metaKey || r.ctrlKey) && r.key.toLowerCase() === T && (r.preventDefault(), s(!u)), r.key === "Escape" && u && (r.preventDefault(), s(!1));
69
+ (r.metaKey || r.ctrlKey) && r.key.toLowerCase() === T && (r.preventDefault(), d(!u)), r.key === "Escape" && u && (r.preventDefault(), d(!1));
70
70
  };
71
71
  return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
72
- }, [u, T, s]), I(() => {
73
- u && (S(""), N(0), setTimeout(() => {
72
+ }, [u, T, d]), I(() => {
73
+ u && (S(""), k(0), setTimeout(() => {
74
74
  var e;
75
75
  return (e = K.current) == null ? void 0 : e.focus();
76
76
  }, 50));
@@ -80,25 +80,25 @@ const D = ({
80
80
  r && r.scrollIntoView({ block: "nearest" });
81
81
  }
82
82
  }, [n]);
83
- const f = k((e) => {
84
- const r = [e.id, ...c.filter((b) => b !== e.id)].slice(0, _);
85
- O(r), s(!1), e.onSelect();
86
- }, [c, _, O, s]), W = k((e) => {
83
+ const x = C((e) => {
84
+ const r = [e.id, ...s.filter((c) => c !== e.id)].slice(0, g);
85
+ O(r), d(!1), e.onSelect();
86
+ }, [s, g, O, d]), W = C((e) => {
87
87
  switch (e.key) {
88
88
  case "ArrowDown":
89
- e.preventDefault(), N((r) => r < o.length - 1 ? r + 1 : 0);
89
+ e.preventDefault(), k((r) => r < o.length - 1 ? r + 1 : 0);
90
90
  break;
91
91
  case "ArrowUp":
92
- e.preventDefault(), N((r) => r > 0 ? r - 1 : o.length - 1);
92
+ e.preventDefault(), k((r) => r > 0 ? r - 1 : o.length - 1);
93
93
  break;
94
94
  case "Enter":
95
- e.preventDefault(), o[n] && !o[n].disabled && f(o[n]);
95
+ e.preventDefault(), o[n] && !o[n].disabled && x(o[n]);
96
96
  break;
97
97
  case "Escape":
98
- e.preventDefault(), s(!1);
98
+ e.preventDefault(), d(!1);
99
99
  break;
100
100
  }
101
- }, [o, n, f, s]);
101
+ }, [o, n, x, d]);
102
102
  return u && typeof document < "u" ? Z(
103
103
  /* @__PURE__ */ l(
104
104
  "div",
@@ -107,77 +107,77 @@ const D = ({
107
107
  style: { zIndex: re },
108
108
  "data-testid": q,
109
109
  children: [
110
- /* @__PURE__ */ t(
110
+ /* @__PURE__ */ a(
111
111
  "div",
112
112
  {
113
113
  className: "Bear-CommandPalette__backdrop bear-absolute bear-inset-0 bear-bg-black/50 bear-backdrop-blur-sm",
114
- onClick: () => s(!1)
114
+ onClick: () => d(!1)
115
115
  }
116
116
  ),
117
- /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__content bear-relative bear-w-full bear-max-w-xl bear-bg-zinc-800 bear-border bear-border-zinc-700 bear-rounded-xl bear-shadow-2xl bear-overflow-hidden", children: [
118
- /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__search bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-3 bear-border-b bear-border-zinc-700", children: [
119
- G ?? /* @__PURE__ */ t("svg", { className: "bear-w-5 bear-h-5 bear-text-zinc-400 bear-shrink-0", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ t("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }),
120
- /* @__PURE__ */ t(
117
+ /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__content bear-relative bear-w-full bear-max-w-xl bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-xl bear-shadow-2xl bear-overflow-hidden", children: [
118
+ /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__search bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-3 bear-border-b bear-border-gray-200 dark:bear-border-zinc-700", children: [
119
+ G ?? /* @__PURE__ */ a("svg", { className: "bear-w-5 bear-h-5 bear-text-gray-500 dark:bear-text-zinc-400 bear-shrink-0", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ a("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }),
120
+ /* @__PURE__ */ a(
121
121
  "input",
122
122
  {
123
123
  ref: K,
124
124
  type: "text",
125
125
  value: i,
126
126
  onChange: (e) => {
127
- S(e.target.value), N(0);
127
+ S(e.target.value), k(0);
128
128
  },
129
129
  onKeyDown: W,
130
- placeholder: w || y.placeholder,
131
- className: "Bear-CommandPalette__input bear-flex-1 bear-bg-transparent bear-border-0 bear-outline-none bear-text-white placeholder:bear-text-zinc-500"
130
+ placeholder: P || _.placeholder,
131
+ className: "Bear-CommandPalette__input bear-flex-1 bear-bg-transparent bear-border-0 bear-outline-none bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-400 dark:placeholder:bear-text-zinc-500"
132
132
  }
133
133
  ),
134
- /* @__PURE__ */ t("kbd", { className: "bear-px-2 bear-py-1 bear-text-xs bear-font-mono bear-bg-zinc-700 bear-rounded bear-text-zinc-400", children: "esc" })
134
+ /* @__PURE__ */ a("kbd", { className: "bear-px-2 bear-py-1 bear-text-xs bear-font-mono bear-bg-gray-200 bear-text-gray-600 dark:bear-bg-zinc-700 dark:bear-text-zinc-400 bear-rounded", children: "esc" })
135
135
  ] }),
136
- /* @__PURE__ */ t(
136
+ /* @__PURE__ */ a(
137
137
  "div",
138
138
  {
139
139
  ref: B,
140
140
  className: "Bear-CommandPalette__list bear-max-h-[60vh] bear-overflow-y-auto",
141
- children: o.length === 0 ? /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__empty bear-px-4 bear-py-8 bear-text-center bear-text-sm bear-text-zinc-500", children: y.noResults }) : /* @__PURE__ */ l(Y, { children: [
142
- d.length > 0 && !i.trim() && /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__group", children: [
143
- /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-zinc-800/50", children: y.recentCommands }),
144
- d.map((e, r) => /* @__PURE__ */ t("div", { "data-command-item": !0, children: /* @__PURE__ */ t(
141
+ children: o.length === 0 ? /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__empty bear-px-4 bear-py-8 bear-text-center bear-text-sm bear-text-gray-500 dark:bear-text-zinc-500", children: _.noResults }) : /* @__PURE__ */ l(Y, { children: [
142
+ b.length > 0 && !i.trim() && /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__group", children: [
143
+ /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-gray-500 dark:bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-gray-50 dark:bear-bg-zinc-800/50", children: _.recentCommands }),
144
+ b.map((e, r) => /* @__PURE__ */ a("div", { "data-command-item": !0, children: /* @__PURE__ */ a(
145
145
  D,
146
146
  {
147
147
  command: e,
148
148
  isHighlighted: n === r,
149
- onSelect: () => f(e)
149
+ onSelect: () => x(e)
150
150
  }
151
151
  ) }, `recent-${e.id}`))
152
152
  ] }),
153
- z && g ? g.map((e) => {
154
- const r = d.length + g.slice(0, g.indexOf(e)).reduce((b, E) => b + E.commands.length, 0);
153
+ z && v ? v.map((e) => {
154
+ const r = b.length + v.slice(0, v.indexOf(e)).reduce((c, E) => c + E.commands.length, 0);
155
155
  return /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__group", children: [
156
- /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-zinc-800/50", children: e.name }),
157
- e.commands.map((b, E) => /* @__PURE__ */ t("div", { "data-command-item": !0, children: /* @__PURE__ */ t(
156
+ /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-gray-500 dark:bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-gray-50 dark:bear-bg-zinc-800/50", children: e.name }),
157
+ e.commands.map((c, E) => /* @__PURE__ */ a("div", { "data-command-item": !0, children: /* @__PURE__ */ a(
158
158
  D,
159
159
  {
160
- command: b,
160
+ command: c,
161
161
  isHighlighted: n === r + E,
162
- onSelect: () => f(b)
162
+ onSelect: () => x(c)
163
163
  }
164
- ) }, b.id))
164
+ ) }, c.id))
165
165
  ] }, e.name);
166
166
  }) : /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__group", children: [
167
- !i.trim() && d.length > 0 && /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-zinc-800/50", children: y.allCommands }),
168
- p.filter((e) => !c.includes(e.id) || i.trim()).map((e, r) => /* @__PURE__ */ t("div", { "data-command-item": !0, children: /* @__PURE__ */ t(
167
+ !i.trim() && b.length > 0 && /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-gray-500 dark:bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-gray-50 dark:bear-bg-zinc-800/50", children: _.allCommands }),
168
+ p.filter((e) => !s.includes(e.id) || i.trim()).map((e, r) => /* @__PURE__ */ a("div", { "data-command-item": !0, children: /* @__PURE__ */ a(
169
169
  D,
170
170
  {
171
171
  command: e,
172
- isHighlighted: n === d.length + r,
173
- onSelect: () => f(e)
172
+ isHighlighted: n === b.length + r,
173
+ onSelect: () => x(e)
174
174
  }
175
175
  ) }, e.id))
176
176
  ] })
177
177
  ] })
178
178
  }
179
179
  ),
180
- M && /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__footer bear-px-4 bear-py-2 bear-border-t bear-border-zinc-700 bear-text-xs bear-text-zinc-500", children: M })
180
+ M && /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__footer bear-px-4 bear-py-2 bear-border-t bear-border-gray-200 dark:bear-border-zinc-700 bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500", children: M })
181
181
  ] })
182
182
  ]
183
183
  }
@@ -186,5 +186,5 @@ const D = ({
186
186
  ) : null;
187
187
  };
188
188
  export {
189
- be as CommandPalette
189
+ ce as CommandPalette
190
190
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),A=require("react"),D=require("../../utils/cn.cjs"),F=require("../Typography/Typography.cjs"),S=require("./DiffSquares.const.cjs"),E=require("./DiffSquares.utils.cjs"),N=({additionsText:n,deletionsText:t,cubeCount:c=S.DIFF_SQUARES_DEFAULT_COUNT,cubes:r,additionColor:m="var(--bear-colors-success-500, #22c55e)",deletionColor:q="var(--bear-colors-danger-500, #ef4444)",gap:_=S.DIFF_SQUARES_GAP,summaryTypographyProps:s,onCubeClick:i,onCubeHover:e,className:h,testId:j,...x})=>{const d=A.useMemo(()=>r!=null&&r.length?r:Array.from({length:c},()=>({fill:"full"})),[r,c]),g={variant:"body2",component:"span",...s,className:D.cn("bear-flex bear-shrink-0 bear-items-baseline bear-gap-1.5 bear-font-mono bear-font-semibold",s==null?void 0:s.className)};return l.jsxs("div",{className:D.cn("Bear-DiffSquares bear-inline-flex bear-min-w-0 bear-max-w-full bear-items-center bear-gap-2",h),"data-testid":j,...x,children:[(n!=null||t!=null)&&l.jsxs(F.Typography,{...g,children:[n!=null&&l.jsx("span",{style:{color:m},children:n}),t!=null&&l.jsx("span",{style:{color:q},children:t})]}),l.jsx("span",{className:"bear-inline-flex bear-items-center bear-flex-shrink-0",style:{gap:_},role:"img","aria-label":"Change density",children:d.map((a,f)=>l.jsx("span",{className:S.DIFF_SQUARES_CUBE_CLASS,style:E.getDiffCubeStyle(a,m,q),"aria-hidden":!(a!=null&&a.ariaLabel),title:a==null?void 0:a.ariaLabel,onMouseEnter:()=>e==null?void 0:e(a,f),onMouseLeave:()=>e==null?void 0:e(null,null),onClick:()=>i==null?void 0:i(a,f)},f))})]})};exports.DiffSquares=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),A=require("react"),D=require("../../utils/cn.cjs"),F=require("../Typography/Typography.cjs"),S=require("./DiffSquares.const.cjs"),E=require("./DiffSquares.utils.cjs"),N=({additionsText:n,deletionsText:t,cubeCount:c=S.DIFF_SQUARES_DEFAULT_COUNT,cubes:r,additionColor:m="var(--bear-success-500, #22c55e)",deletionColor:q="var(--bear-danger-500, #ef4444)",gap:_=S.DIFF_SQUARES_GAP,summaryTypographyProps:s,onCubeClick:i,onCubeHover:e,className:h,testId:j,...x})=>{const d=A.useMemo(()=>r!=null&&r.length?r:Array.from({length:c},()=>({fill:"full"})),[r,c]),g={variant:"body2",component:"span",...s,className:D.cn("bear-flex bear-shrink-0 bear-items-baseline bear-gap-1.5 bear-font-mono bear-font-semibold",s==null?void 0:s.className)};return l.jsxs("div",{className:D.cn("Bear-DiffSquares bear-inline-flex bear-min-w-0 bear-max-w-full bear-items-center bear-gap-2",h),"data-testid":j,...x,children:[(n!=null||t!=null)&&l.jsxs(F.Typography,{...g,children:[n!=null&&l.jsx("span",{style:{color:m},children:n}),t!=null&&l.jsx("span",{style:{color:q},children:t})]}),l.jsx("span",{className:"bear-inline-flex bear-items-center bear-flex-shrink-0",style:{gap:_},role:"img","aria-label":"Change density",children:d.map((a,f)=>l.jsx("span",{className:S.DIFF_SQUARES_CUBE_CLASS,style:E.getDiffCubeStyle(a,m,q),"aria-hidden":!(a!=null&&a.ariaLabel),title:a==null?void 0:a.ariaLabel,onMouseEnter:()=>e==null?void 0:e(a,f),onMouseLeave:()=>e==null?void 0:e(null,null),onClick:()=>i==null?void 0:i(a,f)},f))})]})};exports.DiffSquares=N;
@@ -4,16 +4,16 @@ import { cn as A } from "../../utils/cn.js";
4
4
  import { Typography as g } from "../Typography/Typography.js";
5
5
  import { DIFF_SQUARES_DEFAULT_COUNT as p, DIFF_SQUARES_GAP as x, DIFF_SQUARES_CUBE_CLASS as I } from "./DiffSquares.const.js";
6
6
  import { getDiffCubeStyle as M } from "./DiffSquares.utils.js";
7
- const B = ({
8
- additionsText: s,
9
- deletionsText: t,
7
+ const G = ({
8
+ additionsText: t,
9
+ deletionsText: i,
10
10
  cubeCount: m = p,
11
11
  cubes: r,
12
- additionColor: S = "var(--bear-colors-success-500, #22c55e)",
13
- deletionColor: _ = "var(--bear-colors-danger-500, #ef4444)",
12
+ additionColor: S = "var(--bear-success-500, #22c55e)",
13
+ deletionColor: _ = "var(--bear-danger-500, #ef4444)",
14
14
  gap: D = x,
15
15
  summaryTypographyProps: n,
16
- onCubeClick: i,
16
+ onCubeClick: s,
17
17
  onCubeHover: l,
18
18
  className: F,
19
19
  testId: E,
@@ -35,9 +35,9 @@ const B = ({
35
35
  "data-testid": E,
36
36
  ...N,
37
37
  children: [
38
- (s != null || t != null) && /* @__PURE__ */ h(g, { ...d, children: [
39
- s != null && /* @__PURE__ */ e("span", { style: { color: S }, children: s }),
40
- t != null && /* @__PURE__ */ e("span", { style: { color: _ }, children: t })
38
+ (t != null || i != null) && /* @__PURE__ */ h(g, { ...d, children: [
39
+ t != null && /* @__PURE__ */ e("span", { style: { color: S }, children: t }),
40
+ i != null && /* @__PURE__ */ e("span", { style: { color: _ }, children: i })
41
41
  ] }),
42
42
  /* @__PURE__ */ e(
43
43
  "span",
@@ -55,7 +55,7 @@ const B = ({
55
55
  title: a == null ? void 0 : a.ariaLabel,
56
56
  onMouseEnter: () => l == null ? void 0 : l(a, f),
57
57
  onMouseLeave: () => l == null ? void 0 : l(null, null),
58
- onClick: () => i == null ? void 0 : i(a, f)
58
+ onClick: () => s == null ? void 0 : s(a, f)
59
59
  },
60
60
  f
61
61
  ))
@@ -66,5 +66,5 @@ const B = ({
66
66
  );
67
67
  };
68
68
  export {
69
- B as DiffSquares
69
+ G as DiffSquares
70
70
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),r=require("react"),k=require("../../utils/cn.cjs"),W=require("../Portal/Portal.cjs"),Z=require("./MentionsInput.utils.cjs"),G=1e4,J={sm:"bear-h-8 bear-text-sm bear-px-3",md:"bear-h-10 bear-text-base bear-px-4",lg:"bear-h-12 bear-text-lg bear-px-5"},X=({value:x,defaultValue:L="",onChange:o,onMentionSelect:w,options:O,trigger:l="@",placeholder:P="Type @ to mention...",disabled:E=!1,maxSuggestions:D=5,filterOptions:T=Z.defaultFilter,size:A="md",fullWidth:_=!1,className:$})=>{const[B,I]=r.useState(L),[d,K]=r.useState(""),[Q,f]=r.useState(!1),[u,h]=r.useState(0),[p,F]=r.useState(null),q=r.useRef(null),g=r.useRef(null),m=r.useRef(null),z=r.useRef(null),[v,H]=r.useState({top:0,left:0,width:0}),i=x??B,b=T(O,d).slice(0,D),R=Q&&d.length>=0,y=R&&b.length>0,j=r.useCallback(()=>{const e=i.lastIndexOf(l);if(e===-1)return{query:"",start:null};const t=i.slice(e+l.length),n=t.indexOf(" ");return{query:n===-1?t:t.slice(0,n),start:e}},[i,l]);r.useEffect(()=>{const{query:e,start:t}=j();K(e),F(t),f(t!==null&&!e.includes(" "))},[i,j]),r.useEffect(()=>{h(0)},[d]),r.useEffect(()=>{if(u>=0&&m.current){const e=m.current.children[u];e==null||e.scrollIntoView({block:"nearest"})}},[u]),r.useEffect(()=>{if(!y)return;const e=()=>{var n;const t=(n=g.current)==null?void 0:n.getBoundingClientRect();t&&H({top:t.bottom+4,left:Math.max(8,Math.min(t.left,window.innerWidth-t.width-8)),width:t.width})};return e(),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[y]),r.useEffect(()=>{const e=t=>{var s,c;const n=t.target;(s=q.current)!=null&&s.contains(n)||(c=z.current)!=null&&c.contains(n)||f(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);const M=e=>{const t=new RegExp(`${l}(\\w+)`,"g"),n=[];let s;for(;(s=t.exec(e))!==null;)n.push(s[1]);return[...new Set(n)]},U=e=>{const t=e.target.value;x===void 0&&I(t),o==null||o(t,M(t))},N=e=>{var S;if(p==null)return;const t=i.slice(0,p),n=i.slice(p+l.length+d.length),s=`${l}${e.value}`,c=t+s+" "+n;x===void 0&&I(c),o==null||o(c,M(c)),w==null||w(e),f(!1),(S=g.current)==null||S.focus()},V=e=>{if(!(!R||b.length===0)){if(e.key==="ArrowDown"){e.preventDefault(),h(t=>Math.min(t+1,b.length-1));return}if(e.key==="ArrowUp"){e.preventDefault(),h(t=>Math.max(t-1,0));return}if(e.key==="Enter"||e.key==="Tab"){e.preventDefault();const t=b[u];t&&N(t);return}e.key==="Escape"&&f(!1)}};return a.jsxs("div",{ref:q,className:k.cn("Bear-MentionsInput bear-relative",_&&"bear-w-full",$),children:[a.jsx("input",{ref:g,type:"text",value:i,onChange:U,onKeyDown:V,placeholder:P,disabled:E,className:k.cn("bear-w-full bear-rounded-lg bear-border bear-border-gray-300 dark:bear-border-zinc-600 bear-bg-white dark:bear-bg-zinc-900 bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-500 dark:placeholder:bear-text-zinc-500 bear-outline-none bear-transition-colors focus:bear-border-bear-500 focus:bear-ring-2 focus:bear-ring-bear-500/20",E&&"bear-opacity-50 bear-cursor-not-allowed",J[A])}),y&&a.jsx(W.Portal,{children:a.jsx("div",{ref:z,className:"bear-fixed bear-rounded-lg bear-border bear-border-gray-200 dark:bear-border-zinc-600 bear-bg-white dark:bear-bg-zinc-800 bear-shadow-lg",style:{top:v.top,left:v.left,width:v.width,zIndex:G},children:a.jsx("div",{ref:m,className:"bear-max-h-48 bear-overflow-auto bear-py-1",children:b.map((e,t)=>a.jsxs("button",{type:"button",className:k.cn("bear-w-full bear-flex bear-items-center bear-gap-2 bear-px-3 bear-py-2 bear-text-left bear-text-gray-800 dark:bear-text-zinc-200 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700 bear-transition-colors",t===u&&"bear-bg-gray-100 dark:bear-bg-zinc-700"),onMouseEnter:()=>h(t),onClick:()=>N(e),children:[e.avatar&&a.jsx("span",{className:"bear-shrink-0",children:e.avatar}),a.jsx("span",{children:e.label})]},e.value))})})})]})};exports.MentionsInput=X;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),t=require("react"),w=require("../../utils/cn.cjs"),C=require("../Portal/Portal.cjs"),G=require("./MentionsInput.utils.cjs"),J=1e4,X=3,Y={sm:"bear-h-8 bear-text-sm bear-px-3",md:"bear-h-10 bear-text-base bear-px-4",lg:"bear-h-12 bear-text-lg bear-px-5"},ee={sm:"bear-text-sm bear-px-3 bear-py-2",md:"bear-text-base bear-px-4 bear-py-2",lg:"bear-text-lg bear-px-5 bear-py-3"},re=({value:g,defaultValue:T="",onChange:i,onMentionSelect:y,options:_,trigger:l="@",placeholder:z="Type @ to mention...",disabled:d=!1,maxSuggestions:A=5,filterOptions:K=G.defaultFilter,size:I="md",fullWidth:U=!1,className:$,multiline:B=!1,rows:F=X})=>{const[Q,R]=t.useState(T),[f,W]=t.useState(""),[H,x]=t.useState(!1),[b,h]=t.useState(0),[m,V]=t.useState(null),q=t.useRef(null),p=t.useRef(null),v=t.useRef(null),j=t.useRef(null),[k,Z]=t.useState({top:0,left:0,width:0}),s=g??Q,u=K(_,f).slice(0,A),L=H&&f.length>=0,E=L&&u.length>0,M=t.useCallback(()=>{const e=s.lastIndexOf(l);if(e===-1)return{query:"",start:null};const r=s.slice(e+l.length),a=r.indexOf(" ");return{query:a===-1?r:r.slice(0,a),start:e}},[s,l]);t.useEffect(()=>{const{query:e,start:r}=M();W(e),V(r),x(r!==null&&!e.includes(" "))},[s,M]),t.useEffect(()=>{h(0)},[f]),t.useEffect(()=>{if(b>=0&&v.current){const e=v.current.children[b];e==null||e.scrollIntoView({block:"nearest"})}},[b]),t.useEffect(()=>{if(!E)return;const e=()=>{var a;const r=(a=p.current)==null?void 0:a.getBoundingClientRect();r&&Z({top:r.bottom+4,left:Math.max(8,Math.min(r.left,window.innerWidth-r.width-8)),width:r.width})};return e(),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[E]),t.useEffect(()=>{const e=r=>{var o,c;const a=r.target;(o=q.current)!=null&&o.contains(a)||(c=j.current)!=null&&c.contains(a)||x(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);const N=e=>{const r=new RegExp(`${l}(\\w+)`,"g"),a=[];let o;for(;(o=r.exec(e))!==null;)a.push(o[1]);return[...new Set(a)]},S=e=>{const r=e.target.value;g===void 0&&R(r),i==null||i(r,N(r))},O=e=>{var P;if(m==null)return;const r=s.slice(0,m),a=s.slice(m+l.length+f.length),o=`${l}${e.value}`,c=r+o+" "+a;g===void 0&&R(c),i==null||i(c,N(c)),y==null||y(e),x(!1),(P=p.current)==null||P.focus()},D=e=>{if(!(!L||u.length===0)){if(e.key==="ArrowDown"){e.preventDefault(),h(r=>Math.min(r+1,u.length-1));return}if(e.key==="ArrowUp"){e.preventDefault(),h(r=>Math.max(r-1,0));return}if(e.key==="Enter"||e.key==="Tab"){e.preventDefault();const r=u[b];r&&O(r);return}e.key==="Escape"&&x(!1)}};return n.jsxs("div",{ref:q,className:w.cn("Bear-MentionsInput bear-relative",U&&"bear-w-full",$),children:[B?n.jsx("textarea",{ref:p,value:s,rows:F,onChange:S,onKeyDown:D,placeholder:z,disabled:d,className:w.cn("bear-w-full bear-rounded-lg bear-border bear-border-gray-300 dark:bear-border-zinc-600 bear-bg-white dark:bear-bg-zinc-900 bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-500 dark:placeholder:bear-text-zinc-500 bear-outline-none bear-transition-colors focus:bear-border-bear-500 focus:bear-ring-2 focus:bear-ring-bear-500/20 bear-resize-none",d&&"bear-opacity-50 bear-cursor-not-allowed",ee[I])}):n.jsx("input",{ref:p,type:"text",value:s,onChange:S,onKeyDown:D,placeholder:z,disabled:d,className:w.cn("bear-w-full bear-rounded-lg bear-border bear-border-gray-300 dark:bear-border-zinc-600 bear-bg-white dark:bear-bg-zinc-900 bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-500 dark:placeholder:bear-text-zinc-500 bear-outline-none bear-transition-colors focus:bear-border-bear-500 focus:bear-ring-2 focus:bear-ring-bear-500/20",d&&"bear-opacity-50 bear-cursor-not-allowed",Y[I])}),E&&n.jsx(C.Portal,{children:n.jsx("div",{ref:j,className:"bear-fixed bear-rounded-lg bear-border bear-border-gray-200 dark:bear-border-zinc-600 bear-bg-white dark:bear-bg-zinc-800 bear-shadow-lg",style:{top:k.top,left:k.left,width:k.width,zIndex:J},children:n.jsx("div",{ref:v,className:"bear-max-h-48 bear-overflow-auto bear-py-1",children:u.map((e,r)=>n.jsxs("button",{type:"button",className:w.cn("bear-w-full bear-flex bear-items-center bear-gap-2 bear-px-3 bear-py-2 bear-text-left bear-text-gray-800 dark:bear-text-zinc-200 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700 bear-transition-colors",r===b&&"bear-bg-gray-100 dark:bear-bg-zinc-700"),onMouseEnter:()=>h(r),onClick:()=>O(e),children:[e.avatar&&n.jsx("span",{className:"bear-shrink-0",children:e.avatar}),n.jsx("span",{children:e.label})]},e.value))})})})]})};exports.MentionsInput=re;