@emblemvault/hustle-react 1.4.4 → 1.4.6

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.
@@ -52,7 +52,7 @@ type WidgetPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
52
52
  /**
53
53
  * Size options for the chat panel
54
54
  */
55
- type WidgetSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
55
+ type WidgetSize = 'sm' | 'md' | 'lg' | 'xl' | 'full' | 'sideDock';
56
56
  /**
57
57
  * Configuration for the floating chat widget
58
58
  */
@@ -69,7 +69,7 @@ interface HustleChatWidgetConfig {
69
69
  size?: WidgetSize;
70
70
  /**
71
71
  * Title shown in the chat header
72
- * @default 'Chat'
72
+ * @default 'Agent Hustle'
73
73
  */
74
74
  title?: string;
75
75
  /**
@@ -52,7 +52,7 @@ type WidgetPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
52
52
  /**
53
53
  * Size options for the chat panel
54
54
  */
55
- type WidgetSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
55
+ type WidgetSize = 'sm' | 'md' | 'lg' | 'xl' | 'full' | 'sideDock';
56
56
  /**
57
57
  * Configuration for the floating chat widget
58
58
  */
@@ -69,7 +69,7 @@ interface HustleChatWidgetConfig {
69
69
  size?: WidgetSize;
70
70
  /**
71
71
  * Title shown in the chat header
72
- * @default 'Chat'
72
+ * @default 'Agent Hustle'
73
73
  */
74
74
  title?: string;
75
75
  /**
@@ -4212,12 +4212,16 @@ function SettingsIcon() {
4212
4212
  function AttachIcon() {
4213
4213
  return /* @__PURE__ */ jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx("path", { d: "M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48" }) });
4214
4214
  }
4215
+
4216
+ // src/constants/index.ts
4217
+ var AGENT_HUSTLE_ICON = "data:image/jpeg;base64,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";
4215
4218
  var sizeConfigs = {
4216
4219
  sm: { width: "320px", height: "400px" },
4217
4220
  md: { width: "380px", height: "520px" },
4218
4221
  lg: { width: "420px", height: "600px" },
4219
4222
  xl: { width: "480px", height: "700px" },
4220
- full: { width: "100vw", height: "100vh" }
4223
+ full: { width: "100vw", height: "100vh" },
4224
+ sideDock: { width: "380px", height: "100vh" }
4221
4225
  };
4222
4226
  var widgetStyles = {
4223
4227
  // Container for absolute positioning
@@ -4295,6 +4299,21 @@ var widgetStyles = {
4295
4299
  width: "100vw",
4296
4300
  height: "100vh"
4297
4301
  },
4302
+ // Side dock mode overrides
4303
+ panelSideDock: {
4304
+ position: "fixed",
4305
+ top: 0,
4306
+ right: 0,
4307
+ bottom: 0,
4308
+ borderRadius: 0,
4309
+ width: "380px",
4310
+ height: "100vh",
4311
+ borderLeft: `1px solid ${tokens.colors.borderPrimary}`,
4312
+ boxShadow: `-4px 0 24px rgba(0, 0, 0, 0.3)`
4313
+ },
4314
+ // Hustle avatar in launcher
4315
+ launcherAvatar: {
4316
+ borderRadius: tokens.radius.full},
4298
4317
  // Close button in panel header
4299
4318
  closeBtn: {
4300
4319
  width: "32px",
@@ -4314,23 +4333,35 @@ var widgetStyles = {
4314
4333
  color: tokens.colors.textPrimary
4315
4334
  }
4316
4335
  };
4317
- function ChatIcon() {
4318
- return /* @__PURE__ */ jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" }) });
4319
- }
4320
4336
  function CloseIcon() {
4321
4337
  return /* @__PURE__ */ jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4322
4338
  /* @__PURE__ */ jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
4323
4339
  /* @__PURE__ */ jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
4324
4340
  ] });
4325
4341
  }
4326
- function MinimizeIcon() {
4342
+ function ExpandIcon() {
4327
4343
  return /* @__PURE__ */ jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4328
- /* @__PURE__ */ jsx("polyline", { points: "4 14 10 14 10 20" }),
4329
- /* @__PURE__ */ jsx("polyline", { points: "20 10 14 10 14 4" }),
4330
- /* @__PURE__ */ jsx("line", { x1: "14", y1: "10", x2: "21", y2: "3" }),
4344
+ /* @__PURE__ */ jsx("polyline", { points: "15 3 21 3 21 9" }),
4345
+ /* @__PURE__ */ jsx("polyline", { points: "9 21 3 21 3 15" }),
4346
+ /* @__PURE__ */ jsx("line", { x1: "21", y1: "3", x2: "14", y2: "10" }),
4331
4347
  /* @__PURE__ */ jsx("line", { x1: "3", y1: "21", x2: "10", y2: "14" })
4332
4348
  ] });
4333
4349
  }
4350
+ function AgentHustleAvatar({ size = 40 }) {
4351
+ return /* @__PURE__ */ jsx(
4352
+ "img",
4353
+ {
4354
+ src: AGENT_HUSTLE_ICON,
4355
+ alt: "Agent Hustle",
4356
+ style: {
4357
+ width: size,
4358
+ height: size,
4359
+ borderRadius: "50%",
4360
+ objectFit: "cover"
4361
+ }
4362
+ }
4363
+ );
4364
+ }
4334
4365
  function HustleChatWidget({
4335
4366
  config = {},
4336
4367
  ...chatProps
@@ -4338,7 +4369,7 @@ function HustleChatWidget({
4338
4369
  const {
4339
4370
  position = "bottom-right",
4340
4371
  size = "md",
4341
- title = "Chat",
4372
+ title = "Agent Hustle",
4342
4373
  defaultOpen = false,
4343
4374
  launcherIcon,
4344
4375
  offset = { x: 24, y: 24 },
@@ -4413,7 +4444,7 @@ function HustleChatWidget({
4413
4444
  style: {
4414
4445
  ...widgetStyles.panel,
4415
4446
  ...positionStyles.panel,
4416
- ...size === "full" ? widgetStyles.panelFull : {
4447
+ ...size === "full" ? widgetStyles.panelFull : size === "sideDock" ? widgetStyles.panelSideDock : {
4417
4448
  width: sizeConfig.width,
4418
4449
  height: sizeConfig.height
4419
4450
  },
@@ -4431,35 +4462,70 @@ function HustleChatWidget({
4431
4462
  padding: `${tokens.spacing.md} ${tokens.spacing.lg}`,
4432
4463
  background: tokens.colors.bgPrimary,
4433
4464
  borderBottom: `1px solid ${tokens.colors.borderPrimary}`,
4434
- borderRadius: `${tokens.radius.xl} ${tokens.radius.xl} 0 0`,
4465
+ borderRadius: size === "sideDock" || size === "full" ? 0 : `${tokens.radius.xl} ${tokens.radius.xl} 0 0`,
4435
4466
  flexShrink: 0
4436
4467
  },
4437
4468
  children: [
4438
- /* @__PURE__ */ jsx(
4439
- "span",
4440
- {
4441
- style: {
4442
- fontWeight: tokens.typography.fontWeightSemibold,
4443
- color: tokens.colors.textPrimary,
4444
- fontSize: tokens.typography.fontSizeMd
4445
- },
4446
- children: title
4447
- }
4448
- ),
4449
- /* @__PURE__ */ jsx(
4450
- "button",
4451
- {
4452
- onClick: toggle,
4453
- onMouseEnter: () => setCloseHovered(true),
4454
- onMouseLeave: () => setCloseHovered(false),
4455
- style: {
4456
- ...widgetStyles.closeBtn,
4457
- ...closeHovered ? widgetStyles.closeBtnHover : {}
4458
- },
4459
- title: "Close chat",
4460
- children: size === "full" ? /* @__PURE__ */ jsx(MinimizeIcon, {}) : /* @__PURE__ */ jsx(CloseIcon, {})
4461
- }
4462
- )
4469
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: tokens.spacing.md }, children: [
4470
+ /* @__PURE__ */ jsx(AgentHustleAvatar, { size: 32 }),
4471
+ /* @__PURE__ */ jsxs("div", { children: [
4472
+ /* @__PURE__ */ jsx(
4473
+ "span",
4474
+ {
4475
+ style: {
4476
+ display: "block",
4477
+ fontWeight: tokens.typography.fontWeightSemibold,
4478
+ color: tokens.colors.textPrimary,
4479
+ fontSize: tokens.typography.fontSizeMd
4480
+ },
4481
+ children: title
4482
+ }
4483
+ ),
4484
+ /* @__PURE__ */ jsx(
4485
+ "span",
4486
+ {
4487
+ style: {
4488
+ display: "block",
4489
+ fontSize: tokens.typography.fontSizeXs,
4490
+ color: tokens.colors.textTertiary
4491
+ },
4492
+ children: "Protocol Companion"
4493
+ }
4494
+ )
4495
+ ] })
4496
+ ] }),
4497
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: tokens.spacing.xs }, children: [
4498
+ size === "sideDock" && /* @__PURE__ */ jsx(
4499
+ "button",
4500
+ {
4501
+ onClick: () => {
4502
+ },
4503
+ onMouseEnter: () => {
4504
+ },
4505
+ onMouseLeave: () => {
4506
+ },
4507
+ style: {
4508
+ ...widgetStyles.closeBtn
4509
+ },
4510
+ title: "Expand",
4511
+ children: /* @__PURE__ */ jsx(ExpandIcon, {})
4512
+ }
4513
+ ),
4514
+ /* @__PURE__ */ jsx(
4515
+ "button",
4516
+ {
4517
+ onClick: toggle,
4518
+ onMouseEnter: () => setCloseHovered(true),
4519
+ onMouseLeave: () => setCloseHovered(false),
4520
+ style: {
4521
+ ...widgetStyles.closeBtn,
4522
+ ...closeHovered ? widgetStyles.closeBtnHover : {}
4523
+ },
4524
+ title: "Close chat",
4525
+ children: size === "full" || size === "sideDock" ? /* @__PURE__ */ jsx(CloseIcon, {}) : /* @__PURE__ */ jsx(CloseIcon, {})
4526
+ }
4527
+ )
4528
+ ] })
4463
4529
  ]
4464
4530
  }
4465
4531
  ),
@@ -4467,7 +4533,7 @@ function HustleChatWidget({
4467
4533
  ]
4468
4534
  }
4469
4535
  ),
4470
- (size !== "full" || !isOpen) && /* @__PURE__ */ jsxs(
4536
+ (size !== "full" && size !== "sideDock" || !isOpen) && /* @__PURE__ */ jsxs(
4471
4537
  "button",
4472
4538
  {
4473
4539
  onClick: toggle,
@@ -4483,7 +4549,7 @@ function HustleChatWidget({
4483
4549
  title: isOpen ? "Close chat" : "Open chat",
4484
4550
  "aria-label": isOpen ? "Close chat" : "Open chat",
4485
4551
  children: [
4486
- launcherIcon || /* @__PURE__ */ jsx(ChatIcon, {}),
4552
+ launcherIcon || /* @__PURE__ */ jsx(AgentHustleAvatar, { size: 40 }),
4487
4553
  showBadge && badgeContent && !isOpen && /* @__PURE__ */ jsx("span", { style: widgetStyles.badge, children: badgeContent })
4488
4554
  ]
4489
4555
  }