@borisj74/bv-ds 0.1.2 → 0.1.4

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 (46) hide show
  1. package/dist/index.cjs +266 -69
  2. package/dist/index.d.cts +128 -49
  3. package/dist/index.d.ts +128 -49
  4. package/dist/index.js +266 -70
  5. package/package.json +11 -9
  6. package/src/components/Button/Button.tsx +1 -1
  7. package/src/components/ButtonDestructive/ButtonDestructive.tsx +2 -2
  8. package/src/components/CalendarCell/CalendarCell.tsx +63 -10
  9. package/src/components/CalendarCell/index.ts +5 -1
  10. package/src/components/CalendarCellDayWeekView/CalendarCellDayWeekView.tsx +28 -2
  11. package/src/components/CalendarCellDayWeekView/index.ts +5 -1
  12. package/src/components/CalendarColumnHeader/CalendarColumnHeader.tsx +21 -5
  13. package/src/components/CalendarColumnHeader/index.ts +2 -0
  14. package/src/components/CalendarEvent/CalendarEvent.tsx +69 -14
  15. package/src/components/CalendarEvent/index.ts +6 -1
  16. package/src/components/CalendarHeader/CalendarHeader.tsx +5 -1
  17. package/src/components/CalendarRowLabel/CalendarRowLabel.tsx +5 -3
  18. package/src/components/CalendarTimemarker/CalendarTimemarker.tsx +8 -2
  19. package/src/components/CalendarTimemarker/index.ts +1 -0
  20. package/src/components/CalendarViewDropdown/CalendarViewDropdown.tsx +19 -3
  21. package/src/components/ChartTooltip/ChartTooltip.tsx +1 -1
  22. package/src/components/Checkbox/checkboxBase.tsx +1 -1
  23. package/src/components/ContentFeatureText/ContentFeatureText.tsx +3 -2
  24. package/src/components/ContextMenu/ContextMenu.tsx +1 -1
  25. package/src/components/FeaturedIcon/FeaturedIcon.tsx +146 -0
  26. package/src/components/FeaturedIcon/index.ts +7 -0
  27. package/src/components/MessageAction/MessageAction.tsx +1 -1
  28. package/src/components/NavAccountCard/NavAccountCard.tsx +1 -1
  29. package/src/components/NavAccountCardMenuItem/NavAccountCardMenuItem.tsx +1 -1
  30. package/src/components/NavButton/NavButton.tsx +1 -1
  31. package/src/components/NavFeaturedCard/NavFeaturedCard.tsx +1 -1
  32. package/src/components/NavItemBase/NavItemBase.tsx +1 -1
  33. package/src/components/NavItemDropdownBase/NavItemDropdownBase.tsx +1 -1
  34. package/src/components/PageHeader/PageHeader.tsx +1 -1
  35. package/src/components/PaginationDotIndicator/PaginationDotIndicator.tsx +1 -1
  36. package/src/components/ProgressBar/ProgressBar.tsx +1 -1
  37. package/src/components/RadioGroupItem/RadioGroupItem.tsx +1 -1
  38. package/src/components/SelectMenuItem/SelectMenuItem.tsx +2 -2
  39. package/src/components/SidebarNavigation/SidebarNavigation.tsx +1 -1
  40. package/src/components/SocialButton/SocialButton.tsx +2 -2
  41. package/src/components/TableHeaderLabel/TableHeaderLabel.tsx +1 -1
  42. package/src/components/Toggle/Toggle.tsx +1 -1
  43. package/src/components/Tooltip/Tooltip.tsx +1 -1
  44. package/src/components/TreeViewItem/TreeViewItem.tsx +1 -1
  45. package/src/components/VerificationCodeInput/VerificationCodeInput.tsx +1 -1
  46. package/src/index.ts +1 -0
package/dist/index.cjs CHANGED
@@ -5094,7 +5094,7 @@ function AdvancedFilterBar({
5094
5094
  }
5095
5095
  var hierarchyClasses = {
5096
5096
  Primary: "bg-bg-brand-solid text-text-white border-2 border-white/[0.12] shadow-skeuomorphic hover:bg-bg-brand-solid-hover",
5097
- Secondary: "bg-bg-primary text-text-secondary border border-border-border-primary shadow-skeuomorphic hover:bg-bg-primary-hover",
5097
+ Secondary: "bg-bg-primary text-text-secondary border border-border-primary shadow-skeuomorphic hover:bg-bg-primary-hover",
5098
5098
  Tertiary: "bg-transparent text-text-tertiary border-0 hover:bg-bg-secondary",
5099
5099
  "Link color": "bg-transparent text-text-brand-secondary border-0 p-0 hover:text-text-brand-secondary-hover",
5100
5100
  "Link gray": "bg-transparent text-text-tertiary border-0 p-0 hover:text-text-tertiary-hover"
@@ -5982,7 +5982,7 @@ function ButtonCloseX({
5982
5982
  }
5983
5983
  var hierarchyClasses2 = {
5984
5984
  Primary: "bg-bg-error-solid text-text-white border-2 border-white/[0.12] shadow-skeuomorphic hover:bg-bg-error-solid-hover",
5985
- Secondary: "bg-bg-primary text-text-error-primary border border-border-border-error-subtle shadow-skeuomorphic hover:bg-bg-error-primary",
5985
+ Secondary: "bg-bg-primary text-text-error-primary border border-border-error-subtle shadow-skeuomorphic hover:bg-bg-error-primary",
5986
5986
  Tertiary: "bg-transparent text-text-error-primary border-0 hover:bg-bg-error-primary",
5987
5987
  Link: "bg-transparent text-text-error-primary border-0 p-0 hover:text-text-error-primary"
5988
5988
  };
@@ -6117,6 +6117,97 @@ function ButtonUtility({
6117
6117
  ) : null
6118
6118
  ] });
6119
6119
  }
6120
+ var dotClasses = {
6121
+ neutral: "bg-utility-neutral-500",
6122
+ brand: "bg-utility-brand-500",
6123
+ emerald: "bg-utility-emerald-500",
6124
+ blue: "bg-utility-blue-500",
6125
+ indigo: "bg-utility-indigo-500",
6126
+ purple: "bg-utility-purple-500",
6127
+ pink: "bg-utility-pink-500",
6128
+ orange: "bg-utility-orange-500",
6129
+ amber: "bg-utility-amber-500"
6130
+ };
6131
+ var filledClasses = {
6132
+ neutral: "bg-utility-neutral-50 border-utility-neutral-200 text-utility-neutral-700",
6133
+ brand: "bg-utility-brand-50 border-utility-brand-200 text-utility-brand-700",
6134
+ emerald: "bg-utility-emerald-50 border-utility-emerald-200 text-utility-emerald-700",
6135
+ blue: "bg-utility-blue-50 border-utility-blue-200 text-utility-blue-700",
6136
+ indigo: "bg-utility-indigo-50 border-utility-indigo-200 text-utility-indigo-700",
6137
+ purple: "bg-utility-purple-50 border-utility-purple-200 text-utility-purple-700",
6138
+ pink: "bg-utility-pink-50 border-utility-pink-200 text-utility-pink-700",
6139
+ orange: "bg-utility-orange-50 border-utility-orange-200 text-utility-orange-700",
6140
+ amber: "bg-utility-amber-50 border-utility-amber-200 text-utility-amber-700"
6141
+ };
6142
+ var filledHoverClasses = {
6143
+ neutral: "bg-utility-neutral-100",
6144
+ brand: "bg-utility-brand-100",
6145
+ emerald: "bg-utility-emerald-100",
6146
+ blue: "bg-utility-blue-100",
6147
+ indigo: "bg-utility-indigo-100",
6148
+ purple: "bg-utility-purple-100",
6149
+ pink: "bg-utility-pink-100",
6150
+ orange: "bg-utility-orange-100",
6151
+ amber: "bg-utility-amber-100"
6152
+ };
6153
+ var timeClasses = {
6154
+ neutral: "text-utility-neutral-600",
6155
+ brand: "text-utility-brand-600",
6156
+ emerald: "text-utility-emerald-600",
6157
+ blue: "text-utility-blue-600",
6158
+ indigo: "text-utility-indigo-600",
6159
+ purple: "text-utility-purple-600",
6160
+ pink: "text-utility-pink-600",
6161
+ orange: "text-utility-orange-600",
6162
+ amber: "text-utility-amber-600"
6163
+ };
6164
+ function CalendarEvent({
6165
+ title,
6166
+ time: time2,
6167
+ color: color2 = "neutral",
6168
+ filled = false,
6169
+ breakpoint = "desktop",
6170
+ state = "default",
6171
+ className
6172
+ }) {
6173
+ if (breakpoint === "mobile") {
6174
+ return /* @__PURE__ */ jsxRuntime.jsx(
6175
+ "span",
6176
+ {
6177
+ className: clsx_default("inline-block size-2 rounded-full", dotClasses[color2], className),
6178
+ role: "img",
6179
+ "aria-label": time2 ? `${title}, ${time2}` : title
6180
+ }
6181
+ );
6182
+ }
6183
+ return /* @__PURE__ */ jsxRuntime.jsxs(
6184
+ "div",
6185
+ {
6186
+ className: clsx_default(
6187
+ "flex w-full items-center gap-md rounded-sm border px-md py-xs font-body text-xs",
6188
+ filled ? clsx_default(filledClasses[color2], state === "hover" && filledHoverClasses[color2]) : clsx_default(
6189
+ "border-border-secondary bg-bg-primary text-text-secondary",
6190
+ state === "hover" && "bg-bg-primary-hover"
6191
+ ),
6192
+ className
6193
+ ),
6194
+ children: [
6195
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx_default("size-2 shrink-0 rounded-full", dotClasses[color2]), "aria-hidden": true }),
6196
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-semibold", children: title }),
6197
+ time2 ? /* @__PURE__ */ jsxRuntime.jsx(
6198
+ "span",
6199
+ {
6200
+ className: clsx_default(
6201
+ "ml-auto shrink-0 font-normal",
6202
+ filled ? timeClasses[color2] : "text-text-tertiary"
6203
+ ),
6204
+ children: time2
6205
+ }
6206
+ ) : null
6207
+ ]
6208
+ }
6209
+ );
6210
+ }
6120
6211
  function PlusIcon2() {
6121
6212
  return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "size-4", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(
6122
6213
  "path",
@@ -6131,19 +6222,26 @@ function PlusIcon2() {
6131
6222
  }
6132
6223
  function CalendarCell({
6133
6224
  date: date2,
6225
+ events,
6134
6226
  children,
6135
6227
  moreCount,
6136
- muted = false,
6228
+ isToday,
6229
+ isSelected = false,
6230
+ isDisabled,
6137
6231
  current = false,
6232
+ muted = false,
6233
+ breakpoint = "desktop",
6138
6234
  onAdd,
6139
6235
  className
6140
6236
  }) {
6237
+ const today = isToday ?? current;
6238
+ const disabled = isDisabled ?? muted;
6141
6239
  return /* @__PURE__ */ jsxRuntime.jsxs(
6142
6240
  "div",
6143
6241
  {
6144
6242
  className: clsx_default(
6145
6243
  "group relative flex min-h-[120px] flex-col gap-xs bg-bg-primary p-md font-body",
6146
- muted && "bg-bg-secondary",
6244
+ disabled && "bg-bg-secondary",
6147
6245
  className
6148
6246
  ),
6149
6247
  children: [
@@ -6151,12 +6249,31 @@ function CalendarCell({
6151
6249
  "span",
6152
6250
  {
6153
6251
  className: clsx_default(
6154
- "text-xs font-semibold",
6155
- current ? "text-text-brand-secondary" : muted ? "text-text-quaternary" : "text-text-secondary"
6252
+ "flex size-6 items-center justify-center text-xs font-semibold",
6253
+ today ? "rounded-full bg-bg-brand-solid text-white" : isSelected ? "rounded-full bg-bg-secondary text-text-secondary" : disabled ? "text-text-quaternary" : "text-text-secondary"
6156
6254
  ),
6157
6255
  children: date2
6158
6256
  }
6159
6257
  ),
6258
+ events && events.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
6259
+ "div",
6260
+ {
6261
+ className: clsx_default(
6262
+ breakpoint === "mobile" ? "flex flex-row flex-wrap gap-xxs" : "flex flex-col gap-xs"
6263
+ ),
6264
+ children: events.map((ev, i) => /* @__PURE__ */ jsxRuntime.jsx(
6265
+ CalendarEvent,
6266
+ {
6267
+ title: ev.title,
6268
+ time: ev.time,
6269
+ color: ev.color,
6270
+ filled: true,
6271
+ breakpoint
6272
+ },
6273
+ i
6274
+ ))
6275
+ }
6276
+ ) : null,
6160
6277
  children ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-xs", children }) : null,
6161
6278
  moreCount && moreCount > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs font-medium text-text-tertiary", children: [
6162
6279
  moreCount,
@@ -6176,6 +6293,13 @@ function CalendarCell({
6176
6293
  }
6177
6294
  );
6178
6295
  }
6296
+ var heightClasses = {
6297
+ empty: "h-[48px]",
6298
+ "30min": "h-[48px]",
6299
+ "60min": "h-[96px]",
6300
+ "90min": "h-[144px]",
6301
+ "120min": "h-[192px]"
6302
+ };
6179
6303
  function PlusIcon3() {
6180
6304
  return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "size-4", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(
6181
6305
  "path",
@@ -6189,6 +6313,8 @@ function PlusIcon3() {
6189
6313
  ) });
6190
6314
  }
6191
6315
  function CalendarCellDayWeekView({
6316
+ type,
6317
+ state = "default",
6192
6318
  children,
6193
6319
  onAdd,
6194
6320
  muted = false,
@@ -6198,8 +6324,9 @@ function CalendarCellDayWeekView({
6198
6324
  "div",
6199
6325
  {
6200
6326
  className: clsx_default(
6201
- "group relative min-h-[64px] border-b border-border-secondary p-xs font-body",
6202
- muted ? "bg-bg-secondary" : "bg-bg-primary",
6327
+ "group relative border-b border-border-secondary p-xs font-body transition-colors hover:bg-bg-secondary",
6328
+ type ? heightClasses[type] : "min-h-[64px]",
6329
+ muted ? "bg-bg-secondary" : state === "hover" ? "bg-bg-secondary" : "bg-bg-primary",
6203
6330
  className
6204
6331
  ),
6205
6332
  children: [
@@ -6221,16 +6348,20 @@ function CalendarCellDayWeekView({
6221
6348
  function CalendarColumnHeader({
6222
6349
  weekday,
6223
6350
  date: date2,
6351
+ type,
6224
6352
  current = false,
6225
6353
  orientation = "vertical",
6354
+ breakpoint = "desktop",
6226
6355
  className
6227
6356
  }) {
6357
+ const state = type ?? (current ? "selected" : "default");
6228
6358
  return /* @__PURE__ */ jsxRuntime.jsxs(
6229
6359
  "div",
6230
6360
  {
6231
6361
  className: clsx_default(
6232
6362
  "flex items-center justify-center gap-md py-md font-body",
6233
6363
  orientation === "vertical" && "flex-col gap-xs",
6364
+ breakpoint === "desktop" && "w-[160px]",
6234
6365
  className
6235
6366
  ),
6236
6367
  children: [
@@ -6240,9 +6371,11 @@ function CalendarColumnHeader({
6240
6371
  {
6241
6372
  className: clsx_default(
6242
6373
  "flex items-center justify-center text-xs font-semibold",
6243
- current ? "size-6 rounded-full bg-brand-solid text-white" : "text-text-secondary"
6374
+ state === "selected" && "size-6 rounded-full bg-bg-brand-solid text-white",
6375
+ state === "today" && "border-b-2 border-border-brand pb-xxs text-text-brand-secondary",
6376
+ state === "default" && "text-text-secondary"
6244
6377
  ),
6245
- "aria-current": current ? "date" : void 0,
6378
+ "aria-current": state !== "default" ? "date" : void 0,
6246
6379
  children: date2
6247
6380
  }
6248
6381
  )
@@ -6265,51 +6398,6 @@ function CalendarDateIcon({ month, day, className }) {
6265
6398
  }
6266
6399
  );
6267
6400
  }
6268
- var dotClasses = {
6269
- neutral: "bg-utility-neutral-500",
6270
- brand: "bg-utility-brand-500",
6271
- emerald: "bg-utility-emerald-500",
6272
- blue: "bg-utility-blue-500",
6273
- indigo: "bg-utility-indigo-500",
6274
- purple: "bg-utility-purple-500",
6275
- pink: "bg-utility-pink-500",
6276
- orange: "bg-utility-orange-500",
6277
- amber: "bg-utility-amber-500"
6278
- };
6279
- var filledClasses = {
6280
- neutral: "bg-utility-neutral-100 text-utility-neutral-700",
6281
- brand: "bg-utility-brand-100 text-utility-brand-700",
6282
- emerald: "bg-utility-emerald-100 text-utility-emerald-700",
6283
- blue: "bg-utility-blue-100 text-utility-blue-700",
6284
- indigo: "bg-utility-indigo-100 text-utility-indigo-700",
6285
- purple: "bg-utility-purple-100 text-utility-purple-700",
6286
- pink: "bg-utility-pink-100 text-utility-pink-700",
6287
- orange: "bg-utility-orange-100 text-utility-orange-700",
6288
- amber: "bg-utility-amber-100 text-utility-amber-700"
6289
- };
6290
- function CalendarEvent({
6291
- title,
6292
- time: time2,
6293
- color: color2 = "neutral",
6294
- filled = false,
6295
- className
6296
- }) {
6297
- return /* @__PURE__ */ jsxRuntime.jsxs(
6298
- "div",
6299
- {
6300
- className: clsx_default(
6301
- "flex w-full items-center gap-md rounded-sm px-md py-xs font-body text-xs",
6302
- filled ? filledClasses[color2] : "border border-border-secondary bg-bg-primary text-text-secondary",
6303
- className
6304
- ),
6305
- children: [
6306
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx_default("size-2 shrink-0 rounded-full", dotClasses[color2]), "aria-hidden": true }),
6307
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-semibold", children: title }),
6308
- time2 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx_default("ml-auto shrink-0 font-normal", !filled && "text-text-tertiary"), children: time2 }) : null
6309
- ]
6310
- }
6311
- );
6312
- }
6313
6401
  var accentClasses = {
6314
6402
  neutral: "border-l-utility-neutral-500",
6315
6403
  brand: "border-l-utility-brand-500",
@@ -6376,11 +6464,13 @@ function CalendarEventDayWeekView({
6376
6464
  function CalendarHeader({
6377
6465
  title,
6378
6466
  range: range6,
6467
+ supportingText,
6379
6468
  badge,
6380
6469
  dateIcon,
6381
6470
  actions,
6382
6471
  className
6383
6472
  }) {
6473
+ const subtitle = range6 ?? supportingText;
6384
6474
  return /* @__PURE__ */ jsxRuntime.jsxs(
6385
6475
  "div",
6386
6476
  {
@@ -6396,7 +6486,7 @@ function CalendarHeader({
6396
6486
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-bold text-text-primary", children: title }),
6397
6487
  badge
6398
6488
  ] }),
6399
- range6 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-text-tertiary", children: range6 }) : null
6489
+ subtitle ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-text-tertiary", children: subtitle }) : null
6400
6490
  ] })
6401
6491
  ] }),
6402
6492
  actions ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-md", children: actions }) : null
@@ -6404,7 +6494,7 @@ function CalendarHeader({
6404
6494
  }
6405
6495
  );
6406
6496
  }
6407
- function CalendarRowLabel({ label, className }) {
6497
+ function CalendarRowLabel({ label, time: time2, className }) {
6408
6498
  return /* @__PURE__ */ jsxRuntime.jsx(
6409
6499
  "div",
6410
6500
  {
@@ -6412,7 +6502,7 @@ function CalendarRowLabel({ label, className }) {
6412
6502
  "pr-md text-right text-xs font-medium text-text-quaternary font-body",
6413
6503
  className
6414
6504
  ),
6415
- children: label
6505
+ children: time2 ?? label
6416
6506
  }
6417
6507
  );
6418
6508
  }
@@ -6422,15 +6512,17 @@ var Label = ({ time: time2 }) => /* @__PURE__ */ jsxRuntime.jsx("span", { classN
6422
6512
  function CalendarTimemarker({
6423
6513
  time: time2,
6424
6514
  align = "left",
6515
+ breakpoint = "desktop",
6425
6516
  className
6426
6517
  }) {
6518
+ const showLabel = breakpoint === "desktop";
6427
6519
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx_default("flex w-full items-center gap-xs font-body", className), children: align === "center" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6428
6520
  /* @__PURE__ */ jsxRuntime.jsx(Dot, {}),
6429
6521
  /* @__PURE__ */ jsxRuntime.jsx(Line, {}),
6430
- /* @__PURE__ */ jsxRuntime.jsx(Label, { time: time2 }),
6522
+ showLabel ? /* @__PURE__ */ jsxRuntime.jsx(Label, { time: time2 }) : null,
6431
6523
  /* @__PURE__ */ jsxRuntime.jsx(Line, {})
6432
6524
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6433
- /* @__PURE__ */ jsxRuntime.jsx(Label, { time: time2 }),
6525
+ showLabel ? /* @__PURE__ */ jsxRuntime.jsx(Label, { time: time2 }) : null,
6434
6526
  /* @__PURE__ */ jsxRuntime.jsx(Dot, {}),
6435
6527
  /* @__PURE__ */ jsxRuntime.jsx(Line, {})
6436
6528
  ] }) });
@@ -6455,10 +6547,19 @@ function Chevron2() {
6455
6547
  function CalendarViewDropdown({
6456
6548
  value,
6457
6549
  onChange,
6550
+ onSelect,
6551
+ open: openProp,
6552
+ onOpenChange,
6458
6553
  options = DEFAULT_OPTIONS,
6459
6554
  className
6460
6555
  }) {
6461
- const [open, setOpen] = React28.useState(false);
6556
+ const [internalOpen, setInternalOpen] = React28.useState(false);
6557
+ const isControlled = openProp !== void 0;
6558
+ const open = isControlled ? openProp : internalOpen;
6559
+ const setOpen = (next) => {
6560
+ if (!isControlled) setInternalOpen(next);
6561
+ onOpenChange?.(next);
6562
+ };
6462
6563
  const selected = options.find((o) => o.value === value) ?? options[0];
6463
6564
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx_default("relative inline-block font-body", className), children: [
6464
6565
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -6467,7 +6568,7 @@ function CalendarViewDropdown({
6467
6568
  type: "button",
6468
6569
  "aria-haspopup": "listbox",
6469
6570
  "aria-expanded": open,
6470
- onClick: () => setOpen((v) => !v),
6571
+ onClick: () => setOpen(!open),
6471
6572
  className: "inline-flex items-center gap-md rounded-md border border-border-primary bg-bg-primary px-lg py-md text-sm font-semibold text-text-secondary shadow-skeuomorphic transition-colors hover:bg-bg-primary-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-brand focus-visible:ring-offset-2 focus-visible:ring-offset-bg-primary",
6472
6573
  children: [
6473
6574
  selected.label,
@@ -6488,6 +6589,7 @@ function CalendarViewDropdown({
6488
6589
  type: "button",
6489
6590
  onClick: () => {
6490
6591
  onChange?.(opt.value);
6592
+ onSelect?.(opt.value);
6491
6593
  setOpen(false);
6492
6594
  },
6493
6595
  className: "flex w-full items-center gap-md rounded-sm px-md py-xs text-sm font-medium text-text-secondary transition-colors hover:bg-bg-primary-hover",
@@ -6499,7 +6601,7 @@ function CalendarViewDropdown({
6499
6601
  "flex size-4 shrink-0 items-center justify-center rounded-full border",
6500
6602
  isSelected ? "border-border-brand" : "border-border-primary"
6501
6603
  ),
6502
- children: isSelected ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "size-2 rounded-full bg-brand-solid" }) : null
6604
+ children: isSelected ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "size-2 rounded-full bg-bg-brand-solid" }) : null
6503
6605
  }
6504
6606
  ),
6505
6607
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-left", children: opt.label }),
@@ -28870,7 +28972,7 @@ function CheckControlVisual({
28870
28972
  "peer-focus-visible:ring-2 peer-focus-visible:ring-border-brand peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-bg-primary",
28871
28973
  type === "radio" ? "rounded-full" : "rounded-sm",
28872
28974
  boxSize[size],
28873
- disabled ? "border-border-primary bg-bg-tertiary" : active ? "border-brand-solid bg-brand-solid" : "border-border-primary bg-bg-primary"
28975
+ disabled ? "border-border-primary bg-bg-tertiary" : active ? "border-bg-brand-solid bg-bg-brand-solid" : "border-border-primary bg-bg-primary"
28874
28976
  ),
28875
28977
  children: [
28876
28978
  type === "checkbox" && checked && !indeterminate ? /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 16 16", fill: "none", className: glyphSize[size], "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -29319,7 +29421,7 @@ function ContentDivider({
29319
29421
  );
29320
29422
  }
29321
29423
  var sizeConfig = {
29322
- sm: { box: "p-3xl rounded-xl", heading: "text-lg", body: "text-md" },
29424
+ sm: { box: "p-3xl rounded-2xl", heading: "text-lg", body: "text-md" },
29323
29425
  md: { box: "p-4xl rounded-2xl", heading: "text-xl", body: "text-lg" }
29324
29426
  };
29325
29427
  function ContentFeatureText({
@@ -29970,6 +30072,100 @@ function EmptyState({
29970
30072
  }
29971
30073
  );
29972
30074
  }
30075
+ var boxSize2 = {
30076
+ sm: "size-8",
30077
+ // 32px
30078
+ md: "size-10",
30079
+ // 40px
30080
+ lg: "size-12",
30081
+ // 48px
30082
+ xl: "size-14"
30083
+ // 56px
30084
+ };
30085
+ var iconPx = {
30086
+ sm: 16,
30087
+ md: 20,
30088
+ lg: 24,
30089
+ xl: 28
30090
+ };
30091
+ function radiusFor(theme) {
30092
+ if (theme === "light") return "rounded-full";
30093
+ if (theme === "modern-neue") return "rounded-lg";
30094
+ return "rounded-xl";
30095
+ }
30096
+ var lightBg = {
30097
+ brand: "bg-bg-brand-secondary",
30098
+ gray: "bg-bg-secondary",
30099
+ error: "bg-bg-error-secondary",
30100
+ warning: "bg-bg-warning-secondary",
30101
+ success: "bg-bg-success-secondary"
30102
+ };
30103
+ var lightFg = {
30104
+ brand: "text-fg-brand-primary",
30105
+ gray: "text-fg-secondary",
30106
+ error: "text-fg-error-primary",
30107
+ warning: "text-fg-warning-primary",
30108
+ success: "text-fg-success-primary"
30109
+ };
30110
+ var darkBg = {
30111
+ brand: "bg-bg-brand-solid",
30112
+ gray: "bg-bg-secondary-solid",
30113
+ error: "bg-bg-error-solid",
30114
+ warning: "bg-bg-warning-solid",
30115
+ success: "bg-bg-success-solid"
30116
+ };
30117
+ var gradientFill = {
30118
+ brand: "bg-gradient-to-br from-utility-brand-50 to-utility-brand-200",
30119
+ gray: "bg-gradient-to-br from-utility-neutral-50 to-utility-neutral-200",
30120
+ error: "bg-gradient-to-br from-utility-red-50 to-utility-red-200",
30121
+ warning: "bg-gradient-to-br from-utility-amber-50 to-utility-amber-200",
30122
+ success: "bg-gradient-to-br from-utility-green-50 to-utility-green-200"
30123
+ };
30124
+ function FeaturedIcon({
30125
+ icon,
30126
+ color: color2 = "brand",
30127
+ theme = "light",
30128
+ size = "md",
30129
+ className,
30130
+ ...rest
30131
+ }) {
30132
+ const px = iconPx[size];
30133
+ const themeClasses = clsx_default(
30134
+ theme === "light" && [lightBg[color2], lightFg[color2]],
30135
+ theme === "dark" && [
30136
+ darkBg[color2],
30137
+ "text-fg-white border-2 border-[rgba(255,255,255,0.12)] shadow-skeuomorphic"
30138
+ ],
30139
+ theme === "gradient" && [gradientFill[color2], "text-fg-white"],
30140
+ theme === "modern" && [
30141
+ "bg-bg-primary text-fg-secondary border border-border-primary shadow-skeuomorphic"
30142
+ ],
30143
+ theme === "modern-neue" && [
30144
+ "bg-bg-primary text-fg-secondary border border-border-primary shadow-xs"
30145
+ ]
30146
+ );
30147
+ return /* @__PURE__ */ jsxRuntime.jsx(
30148
+ "span",
30149
+ {
30150
+ className: clsx_default(
30151
+ "inline-flex shrink-0 items-center justify-center",
30152
+ boxSize2[size],
30153
+ radiusFor(theme),
30154
+ themeClasses,
30155
+ className
30156
+ ),
30157
+ ...rest,
30158
+ children: /* @__PURE__ */ jsxRuntime.jsx(
30159
+ "span",
30160
+ {
30161
+ "aria-hidden": "true",
30162
+ style: { width: px, height: px, display: "inline-flex" },
30163
+ children: icon
30164
+ }
30165
+ )
30166
+ }
30167
+ );
30168
+ }
29973
30169
  var avatarSize2 = {
29974
30170
  sm: "size-8",
29975
30171
  // 32px
@@ -31420,7 +31616,7 @@ function MetricItem({
31420
31616
  }
31421
31617
  );
31422
31618
  }
31423
- var FeaturedIcon = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-md border border-border-primary text-fg-secondary shadow-xs", children });
31619
+ var FeaturedIcon2 = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-md border border-border-primary text-fg-secondary shadow-xs", children });
31424
31620
  var XClose2 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "size-5", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15 5 5 15M5 5l10 10", stroke: "currentColor", strokeWidth: "1.67", strokeLinecap: "round", strokeLinejoin: "round" }) });
31425
31621
  function ModalHeader({
31426
31622
  title,
@@ -31454,7 +31650,7 @@ function ModalHeader({
31454
31650
  isCenter && "items-center"
31455
31651
  ),
31456
31652
  children: [
31457
- icon && /* @__PURE__ */ jsxRuntime.jsx(FeaturedIcon, { children: icon }),
31653
+ icon && /* @__PURE__ */ jsxRuntime.jsx(FeaturedIcon2, { children: icon }),
31458
31654
  /* @__PURE__ */ jsxRuntime.jsxs(
31459
31655
  "div",
31460
31656
  {
@@ -32112,7 +32308,7 @@ var GLYPH = {
32112
32308
  error: "M10 6.67V10m0 3.33h.01M18.33 10a8.33 8.33 0 1 1-16.66 0 8.33 8.33 0 0 1 16.66 0Z"
32113
32309
  };
32114
32310
  var XClose5 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "size-5", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15 5 5 15M5 5l10 10", stroke: "currentColor", strokeWidth: "1.67", strokeLinecap: "round", strokeLinejoin: "round" }) });
32115
- var FeaturedIcon2 = ({ variant }) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: clsx_default("relative inline-flex size-5 shrink-0 items-center justify-center", RING[variant].split(" ")[1]), children: [
32311
+ var FeaturedIcon3 = ({ variant }) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: clsx_default("relative inline-flex size-5 shrink-0 items-center justify-center", RING[variant].split(" ")[1]), children: [
32116
32312
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx_default("absolute inset-[-20%] rounded-full border-2 opacity-30", RING[variant].split(" ")[0]) }),
32117
32313
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx_default("absolute inset-[-45%] rounded-full border-2 opacity-10", RING[variant].split(" ")[0]) }),
32118
32314
  /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "relative size-5", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: GLYPH[variant], stroke: "currentColor", strokeWidth: "1.67", strokeLinecap: "round", strokeLinejoin: "round" }) })
@@ -32137,7 +32333,7 @@ function Notification({
32137
32333
  ),
32138
32334
  ...rest,
32139
32335
  children: [
32140
- leadingMedia ?? /* @__PURE__ */ jsxRuntime.jsx(FeaturedIcon2, { variant }),
32336
+ leadingMedia ?? /* @__PURE__ */ jsxRuntime.jsx(FeaturedIcon3, { variant }),
32141
32337
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-lg pr-8", children: [
32142
32338
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-xs", children: [
32143
32339
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-semibold text-fg-primary", children: title }),
@@ -33937,6 +34133,7 @@ exports.DropdownMenuHeader = DropdownMenuHeader;
33937
34133
  exports.DropdownMenuItemInsetIcon = DropdownMenuItemInsetIcon;
33938
34134
  exports.DropdownMenuListItem = DropdownMenuListItem;
33939
34135
  exports.EmptyState = EmptyState;
34136
+ exports.FeaturedIcon = FeaturedIcon;
33940
34137
  exports.FeedItemBase = FeedItemBase;
33941
34138
  exports.FileUpload = FileUpload;
33942
34139
  exports.FileUploadBase = FileUploadBase;