@mieweb/ui 0.7.2-dev.4 → 0.7.2-dev.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.
@@ -23,6 +23,8 @@ interface CountryCodeDropdownProps {
23
23
  placement?: 'bottom-start' | 'bottom-end';
24
24
  /** Placeholder text for the search field */
25
25
  searchPlaceholder?: string;
26
+ /** id for the trigger button, enabling `<label htmlFor>` association */
27
+ id?: string;
26
28
  /** Label for accessibility — visually hidden */
27
29
  'aria-label'?: string;
28
30
  }
@@ -51,6 +53,8 @@ declare function formatE164(phoneNumber: string, countryCode: string): string;
51
53
  * Uses Google's libphonenumber for the canonical country/code list and provides
52
54
  * a `validatePhoneNumber` helper for phone validation.
53
55
  *
56
+ * For a country selector without dial codes, use `CountryDropdown`.
57
+ *
54
58
  * @example
55
59
  * ```tsx
56
60
  * const [country, setCountry] = useState<CountryData>();
@@ -61,7 +65,7 @@ declare function formatE164(phoneNumber: string, countryCode: string): string;
61
65
  * </div>
62
66
  * ```
63
67
  */
64
- declare function CountryCodeDropdown({ value, onChange, disabled, className, placement, searchPlaceholder, 'aria-label': ariaLabel, }: CountryCodeDropdownProps): react_jsx_runtime.JSX.Element;
68
+ declare function CountryCodeDropdown(props: CountryCodeDropdownProps): react_jsx_runtime.JSX.Element;
65
69
  declare namespace CountryCodeDropdown {
66
70
  var displayName: string;
67
71
  }
@@ -1,4 +1,4 @@
1
- export { CountryCodeDropdown, formatE164, validatePhoneNumber } from '../../chunk-BMRQ4VME.js';
1
+ export { CountryCodeDropdown, formatE164, validatePhoneNumber } from '../../chunk-4PIW3Y5M.js';
2
2
  import '../../chunk-T4ME7QCT.js';
3
3
  import '../../chunk-62ZOA6PX.js';
4
4
  import '../../chunk-BOOJDRJO.js';
package/dist/index.cjs CHANGED
@@ -51,8 +51,8 @@ require('./chunk-RHNPILZQ.cjs');
51
51
  var chunkS3MKIDYG_cjs = require('./chunk-S3MKIDYG.cjs');
52
52
  var chunkX4LBUPJO_cjs = require('./chunk-X4LBUPJO.cjs');
53
53
  var chunkIUDY6S7I_cjs = require('./chunk-IUDY6S7I.cjs');
54
- var chunkVVI32P7L_cjs = require('./chunk-VVI32P7L.cjs');
55
- var chunkHVIQZZ47_cjs = require('./chunk-HVIQZZ47.cjs');
54
+ var chunkSPWVKDGC_cjs = require('./chunk-SPWVKDGC.cjs');
55
+ var chunkLJDBD2DD_cjs = require('./chunk-LJDBD2DD.cjs');
56
56
  var chunkEPQPUFS6_cjs = require('./chunk-EPQPUFS6.cjs');
57
57
  var chunkTVLZZI5Q_cjs = require('./chunk-TVLZZI5Q.cjs');
58
58
  var chunkZZJ4ZVYR_cjs = require('./chunk-ZZJ4ZVYR.cjs');
@@ -11276,6 +11276,9 @@ var defaultCaseManagementHeaderLabels = {
11276
11276
  daysOpenTerm: "Days Open",
11277
11277
  mrn: "MRN",
11278
11278
  dob: "DOB",
11279
+ formatAge: (age) => `(${age} y.o.)`,
11280
+ addCaseNote: "Add Case Note",
11281
+ closeCase: "Close Case",
11279
11282
  back: "Go back",
11280
11283
  expandDetails: "Show case details",
11281
11284
  collapseDetails: "Hide case details",
@@ -11292,6 +11295,37 @@ function computeDaysOpen(openedDate) {
11292
11295
  function BarDivider() {
11293
11296
  return /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "bg-border h-4 w-px shrink-0" });
11294
11297
  }
11298
+ function HeaderActionButton({
11299
+ label,
11300
+ mobileIcon,
11301
+ desktopLeftIcon,
11302
+ onClick
11303
+ }) {
11304
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11305
+ /* @__PURE__ */ jsxRuntime.jsx(
11306
+ chunkRDGRKYQ5_cjs.Button,
11307
+ {
11308
+ variant: "ghost",
11309
+ size: "icon",
11310
+ onClick,
11311
+ "aria-label": label,
11312
+ className: "h-8 w-8 md:hidden",
11313
+ children: mobileIcon
11314
+ }
11315
+ ),
11316
+ /* @__PURE__ */ jsxRuntime.jsx(
11317
+ chunkRDGRKYQ5_cjs.Button,
11318
+ {
11319
+ variant: "ghost",
11320
+ size: "sm",
11321
+ onClick,
11322
+ leftIcon: desktopLeftIcon,
11323
+ className: "hidden md:inline-flex",
11324
+ children: label
11325
+ }
11326
+ )
11327
+ ] });
11328
+ }
11295
11329
  var CaseContextBar = React10__namespace.forwardRef(
11296
11330
  ({
11297
11331
  caseInfo,
@@ -11367,6 +11401,8 @@ var CaseManagementHeader = React10__namespace.forwardRef(
11367
11401
  sticky = false,
11368
11402
  showBackButton = false,
11369
11403
  onBack,
11404
+ onAddCaseNote,
11405
+ onCloseCase,
11370
11406
  actions,
11371
11407
  editingUsers,
11372
11408
  collabStatus,
@@ -11443,10 +11479,39 @@ var CaseManagementHeader = React10__namespace.forwardRef(
11443
11479
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground text-sm whitespace-nowrap", children: [
11444
11480
  l.dob,
11445
11481
  ": ",
11446
- patient.dob ?? l.emptyValue
11482
+ patient.dob ?? l.emptyValue,
11483
+ patient.age != null && ` ${l.formatAge(patient.age)}`
11447
11484
  ] })
11448
11485
  ] }),
11449
- actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-2", children: actions }),
11486
+ (onAddCaseNote || onCloseCase || actions) && // Horizontal always: long labels truncate (Button's built-in
11487
+ // ellipsis) instead of stacking or starving the identity block.
11488
+ /* @__PURE__ */ jsxRuntime.jsxs(
11489
+ ButtonGroup,
11490
+ {
11491
+ orientation: "horizontal",
11492
+ className: "max-w-[60%] min-w-0 gap-2",
11493
+ children: [
11494
+ onAddCaseNote && /* @__PURE__ */ jsxRuntime.jsx(
11495
+ HeaderActionButton,
11496
+ {
11497
+ label: l.addCaseNote,
11498
+ mobileIcon: /* @__PURE__ */ jsxRuntime.jsx(chunkPAM5UUBL_cjs.FilePlus, { size: 16 }),
11499
+ desktopLeftIcon: /* @__PURE__ */ jsxRuntime.jsx(chunkPAM5UUBL_cjs.Plus, { size: 16 }),
11500
+ onClick: onAddCaseNote
11501
+ }
11502
+ ),
11503
+ onCloseCase && /* @__PURE__ */ jsxRuntime.jsx(
11504
+ HeaderActionButton,
11505
+ {
11506
+ label: l.closeCase,
11507
+ mobileIcon: /* @__PURE__ */ jsxRuntime.jsx(chunkPAM5UUBL_cjs.CheckCircle, { size: 16 }),
11508
+ onClick: onCloseCase
11509
+ }
11510
+ ),
11511
+ actions
11512
+ ]
11513
+ }
11514
+ ),
11450
11515
  hasDetails && /* @__PURE__ */ jsxRuntime.jsx(
11451
11516
  chunkRDGRKYQ5_cjs.Button,
11452
11517
  {
@@ -14532,6 +14597,20 @@ var CountBadge = React10__namespace.forwardRef(
14532
14597
  }
14533
14598
  );
14534
14599
  CountBadge.displayName = "CountBadge";
14600
+ function CountryDropdown({
14601
+ "aria-label": ariaLabel = "Select country",
14602
+ ...props
14603
+ }) {
14604
+ return /* @__PURE__ */ jsxRuntime.jsx(
14605
+ chunkSPWVKDGC_cjs.CountryDropdownBase,
14606
+ {
14607
+ ...props,
14608
+ "aria-label": ariaLabel,
14609
+ showDialCode: false
14610
+ }
14611
+ );
14612
+ }
14613
+ CountryDropdown.displayName = "CountryDropdown";
14535
14614
  var bannerVariants = classVarianceAuthority.cva(
14536
14615
  "fixed z-50 transition-all duration-300 ease-in-out",
14537
14616
  {
@@ -44451,23 +44530,23 @@ Object.defineProperty(exports, "CollapsibleTrigger", {
44451
44530
  });
44452
44531
  Object.defineProperty(exports, "CountryCodeDropdown", {
44453
44532
  enumerable: true,
44454
- get: function () { return chunkVVI32P7L_cjs.CountryCodeDropdown; }
44533
+ get: function () { return chunkSPWVKDGC_cjs.CountryCodeDropdown; }
44455
44534
  });
44456
44535
  Object.defineProperty(exports, "formatE164", {
44457
44536
  enumerable: true,
44458
- get: function () { return chunkVVI32P7L_cjs.formatE164; }
44537
+ get: function () { return chunkSPWVKDGC_cjs.formatE164; }
44459
44538
  });
44460
44539
  Object.defineProperty(exports, "validatePhoneNumber", {
44461
44540
  enumerable: true,
44462
- get: function () { return chunkVVI32P7L_cjs.validatePhoneNumber; }
44541
+ get: function () { return chunkSPWVKDGC_cjs.validatePhoneNumber; }
44463
44542
  });
44464
44543
  Object.defineProperty(exports, "miewebUIPreset", {
44465
44544
  enumerable: true,
44466
- get: function () { return chunkHVIQZZ47_cjs.miewebUIPreset; }
44545
+ get: function () { return chunkLJDBD2DD_cjs.miewebUIPreset; }
44467
44546
  });
44468
44547
  Object.defineProperty(exports, "miewebUISafelist", {
44469
44548
  enumerable: true,
44470
- get: function () { return chunkHVIQZZ47_cjs.miewebUISafelist; }
44549
+ get: function () { return chunkLJDBD2DD_cjs.miewebUISafelist; }
44471
44550
  });
44472
44551
  Object.defineProperty(exports, "Alert", {
44473
44552
  enumerable: true,
@@ -45783,6 +45862,7 @@ exports.ConsentSwitch = ConsentSwitch;
45783
45862
  exports.CookieConsentBanner = CookieConsentBanner;
45784
45863
  exports.CopyrightText = CopyrightText;
45785
45864
  exports.CountBadge = CountBadge;
45865
+ exports.CountryDropdown = CountryDropdown;
45786
45866
  exports.CreateInvoiceModal = CreateInvoiceModal;
45787
45867
  exports.CreateReferralModal = CreateReferralModal;
45788
45868
  exports.DEFAULT_ERROR_CONFIGS = DEFAULT_ERROR_CONFIGS;