@alfadocs/ui-kit 1.4.12 → 1.4.13

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 (100) hide show
  1. package/dist/_chunks/actions-cell-renderer-BD-jruqA.js +1784 -0
  2. package/dist/_chunks/{anamnesis-summary-rows-DAIpD0Or.js → anamnesis-summary-rows-B5MAYkJ-.js} +2150 -2092
  3. package/dist/_chunks/{bmi-calculator-CxPn0T0s.js → bmi-calculator-DC5SaqXT.js} +2 -2
  4. package/dist/_chunks/{cycle-calculator-D9M7IKfh.js → cycle-calculator-B_NlctlQ.js} +2 -2
  5. package/dist/_chunks/{due-date-calculator-BkqZEvL4.js → due-date-calculator-le1z3KpW.js} +2 -2
  6. package/dist/_chunks/{fetal-weight-C7JXGg6E.js → fetal-weight-DXA6ZpMq.js} +2 -2
  7. package/dist/_chunks/{file-manager-DzWYcRpE.js → file-manager-BjCM2fZB.js} +2 -2
  8. package/dist/_chunks/{hcg-doubling-CFJlMH7Z.js → hcg-doubling-BT6lki_i.js} +2 -2
  9. package/dist/_chunks/{link-cell-renderer-DCCca2m3.js → link-cell-renderer-C7GvyK66.js} +2 -2
  10. package/dist/_chunks/number-input-CM1q9zvH.js +414 -0
  11. package/dist/_chunks/{optical-prescription-Brs0CeP3.js → optical-prescription-CQR_WJiS.js} +2 -2
  12. package/dist/_chunks/{patient-details-CGhnfdUB.js → patient-details-CnFgF3MU.js} +2 -2
  13. package/dist/_chunks/{patient-table-D2fhV4mV.js → patient-table-BXzcrC79.js} +3 -3
  14. package/dist/_chunks/{pregnancy-dating-iI6_j2K2.js → pregnancy-dating-4tPV_Yko.js} +2 -2
  15. package/dist/_chunks/{pregnancy-weight-gain-Co-YFMJZ.js → pregnancy-weight-gain-BBgbWBGe.js} +2 -2
  16. package/dist/_chunks/{signature-status-chip-DUcTgQ0E.js → signature-status-chip-DlLJk1VA.js} +16 -14
  17. package/dist/_chunks/{unit-converter-BeTicruA.js → unit-converter-Dsk__pjA.js} +2 -2
  18. package/dist/agent-catalog.json +14 -8
  19. package/dist/agent-i18n/en.json +3 -2
  20. package/dist/components/bmi-calculator/index.js +1 -1
  21. package/dist/components/cycle-calculator/index.js +1 -1
  22. package/dist/components/data-table/data-table.d.ts +19 -0
  23. package/dist/components/data-table/expanded-row-renderer.d.ts +47 -0
  24. package/dist/components/data-table/index.d.ts +2 -0
  25. package/dist/components/data-table/index.js +31 -27
  26. package/dist/components/due-date-calculator/index.js +1 -1
  27. package/dist/components/fetal-weight/index.js +1 -1
  28. package/dist/components/file-manager/index.js +1 -1
  29. package/dist/components/hcg-doubling/index.js +1 -1
  30. package/dist/components/number-input/index.js +1 -1
  31. package/dist/components/number-input/number-input.d.ts +11 -0
  32. package/dist/components/optical-prescription/index.js +1 -1
  33. package/dist/components/patient-details/index.js +1 -1
  34. package/dist/components/patient-table/index.js +1 -1
  35. package/dist/components/pregnancy-dating/index.js +1 -1
  36. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  37. package/dist/components/signature-status-chip/index.js +1 -1
  38. package/dist/components/unit-converter/index.js +1 -1
  39. package/dist/host-compat.css +4 -1
  40. package/dist/i18n/locales/ar.d.ts +1 -0
  41. package/dist/i18n/locales/ar.js +1 -0
  42. package/dist/i18n/locales/de.d.ts +1 -0
  43. package/dist/i18n/locales/de.js +1 -0
  44. package/dist/i18n/locales/el.d.ts +1 -0
  45. package/dist/i18n/locales/el.js +1 -0
  46. package/dist/i18n/locales/en.d.ts +1 -0
  47. package/dist/i18n/locales/en.js +1 -0
  48. package/dist/i18n/locales/es.d.ts +1 -0
  49. package/dist/i18n/locales/es.js +1 -0
  50. package/dist/i18n/locales/fr.d.ts +1 -0
  51. package/dist/i18n/locales/fr.js +1 -0
  52. package/dist/i18n/locales/hi.d.ts +1 -0
  53. package/dist/i18n/locales/hi.js +1 -0
  54. package/dist/i18n/locales/it.d.ts +1 -0
  55. package/dist/i18n/locales/it.js +1 -0
  56. package/dist/i18n/locales/ja.d.ts +1 -0
  57. package/dist/i18n/locales/ja.js +1 -0
  58. package/dist/i18n/locales/nl.d.ts +1 -0
  59. package/dist/i18n/locales/nl.js +1 -0
  60. package/dist/i18n/locales/pl.d.ts +1 -0
  61. package/dist/i18n/locales/pl.js +1 -0
  62. package/dist/i18n/locales/pt.d.ts +1 -0
  63. package/dist/i18n/locales/pt.js +1 -0
  64. package/dist/i18n/locales/ro.d.ts +1 -0
  65. package/dist/i18n/locales/ro.js +1 -0
  66. package/dist/i18n/locales/ru.d.ts +1 -0
  67. package/dist/i18n/locales/ru.js +1 -0
  68. package/dist/i18n/locales/sq.d.ts +1 -0
  69. package/dist/i18n/locales/sq.js +1 -0
  70. package/dist/i18n/locales/sv.d.ts +1 -0
  71. package/dist/i18n/locales/sv.js +1 -0
  72. package/dist/i18n/locales/tr.d.ts +1 -0
  73. package/dist/i18n/locales/tr.js +1 -0
  74. package/dist/i18n/locales/zh.d.ts +1 -0
  75. package/dist/i18n/locales/zh.js +1 -0
  76. package/dist/index.js +779 -775
  77. package/dist/locales/ar.json +1 -0
  78. package/dist/locales/de.json +1 -0
  79. package/dist/locales/el.json +1 -0
  80. package/dist/locales/en.json +1 -0
  81. package/dist/locales/es.json +1 -0
  82. package/dist/locales/fr.json +1 -0
  83. package/dist/locales/hi.json +1 -0
  84. package/dist/locales/it.json +1 -0
  85. package/dist/locales/ja.json +1 -0
  86. package/dist/locales/nl.json +1 -0
  87. package/dist/locales/pl.json +1 -0
  88. package/dist/locales/pt.json +1 -0
  89. package/dist/locales/ro.json +1 -0
  90. package/dist/locales/ru.json +1 -0
  91. package/dist/locales/sq.json +1 -0
  92. package/dist/locales/sv.json +1 -0
  93. package/dist/locales/tr.json +1 -0
  94. package/dist/locales/zh.json +1 -0
  95. package/dist/patterns/anamnesis/anamnesis-intake.d.ts +5 -1
  96. package/dist/patterns/anamnesis/index.js +1 -1
  97. package/dist/tokens.css +5 -2
  98. package/package.json +1 -1
  99. package/dist/_chunks/actions-cell-renderer-C67oj7mR.js +0 -1581
  100. package/dist/_chunks/number-input-DOe5VYei.js +0 -370
@@ -4,7 +4,7 @@ import { c as z } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as M } from "react-i18next";
5
5
  import { u as Y } from "./registry-DvAUVLHh.js";
6
6
  import { F as C } from "./form-field-D1oqYisL.js";
7
- import { N as B } from "./number-input-DOe5VYei.js";
7
+ import { N as B } from "./number-input-CM1q9zvH.js";
8
8
  import { S } from "./select-BW5ecXlX.js";
9
9
  import { I as D } from "./insert-result-98J1QEp7.js";
10
10
  const L = [
@@ -334,4 +334,4 @@ export {
334
334
  ee as b,
335
335
  Q as c
336
336
  };
337
- //# sourceMappingURL=unit-converter-BeTicruA.js.map
337
+ //# sourceMappingURL=unit-converter-Dsk__pjA.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "1.4.12",
3
+ "packageVersion": "1.4.13",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -3209,6 +3209,12 @@
3209
3209
  "type": "number",
3210
3210
  "description": "Zero-indexed page number.",
3211
3211
  "descriptionKey": "ui.agent.dataTable.state.currentPage"
3212
+ },
3213
+ {
3214
+ "name": "expandedRowId",
3215
+ "type": "string | null",
3216
+ "description": "Id of the row whose inline detail is open (expandable row), or null.",
3217
+ "descriptionKey": "ui.agent.dataTable.state.expandedRowId"
3212
3218
  }
3213
3219
  ],
3214
3220
  "actions": [
@@ -3401,7 +3407,7 @@
3401
3407
  },
3402
3408
  "item": {
3403
3409
  "attr": "row-id",
3404
- "description": "Native ag-grid row-id attribute on each rendered row. Selection is performed via the curated handle, not by DOM mutation."
3410
+ "description": "Native ag-grid row-id attribute on each rendered record row. When an expandable row is open, one extra full-width row with row-id `<parentId>::detail` is the accordion detail, not a record — its cell carries data-component=\"data-table-expanded-row\" and data-expanded-row-of=\"<parentId>\"; skip it when enumerating rows (isExpandedRowDetailId). Selection is performed via the curated handle, not by DOM mutation."
3405
3411
  }
3406
3412
  }
3407
3413
  },
@@ -15132,7 +15138,7 @@
15132
15138
  "entity": "parameter"
15133
15139
  },
15134
15140
  {
15135
- "component": "multi-select",
15141
+ "component": "dropdown-menu",
15136
15142
  "as": "shownVisits",
15137
15143
  "entity": "visit"
15138
15144
  },
@@ -15338,13 +15344,14 @@
15338
15344
  {
15339
15345
  "name": "window_visits",
15340
15346
  "safety": "read",
15341
- "description": "Choose which visits the evolution grid shows as columns, by ticking them in the visit multi-select. It opens on every visit; un-ticking one removes its column, and the last remaining visit cannot be un-ticked. The change between two adjacent shown columns is always drawn. Also reads how many visits are shown out of how many exist. Clinician-only; view state only.",
15347
+ "description": "Choose which visits the evolution grid shows as columns, by ticking them in the Visits menu one button that opens a list of checkbox items, with a Select all row first. Every visit is ticked on arrival; un-ticking one removes its column, the menu stays open while ticking, and the last remaining visit cannot be un-ticked. The change between two adjacent shown columns is always drawn. The button itself reads how many visits are shown out of how many exist. Clinician-only; view state only.",
15342
15348
  "descriptionKey": "ui.agent.anamnesis.workflows.windowVisits",
15343
15349
  "uiActions": [
15344
- "multi-select.set_selection"
15350
+ "dropdown-menu.open",
15351
+ "dropdown-menu.close"
15345
15352
  ],
15346
15353
  "stateReads": [
15347
- "multi-select.selection"
15354
+ "dropdown-menu.isOpen"
15348
15355
  ],
15349
15356
  "apiActions": []
15350
15357
  },
@@ -15380,8 +15387,7 @@
15380
15387
  "dropdown-menu.close"
15381
15388
  ],
15382
15389
  "stateReads": [
15383
- "dropdown-menu.isOpen",
15384
- "multi-select.selection"
15390
+ "dropdown-menu.isOpen"
15385
15391
  ],
15386
15392
  "apiActions": [
15387
15393
  "anamnesis.exportTab"
@@ -378,7 +378,8 @@
378
378
  "selection": "Row ids of currently-selected rows.",
379
379
  "filter": "Current ag-grid filter model, keyed by column id.",
380
380
  "sort": "Active sort, in priority order.",
381
- "currentPage": "Zero-indexed page number."
381
+ "currentPage": "Zero-indexed page number.",
382
+ "expandedRowId": "Id of the row whose inline detail is open (expandable row), or null."
382
383
  },
383
384
  "actions": {
384
385
  "selectRows": "Replace the current selection with the given row ids.",
@@ -1520,7 +1521,7 @@
1520
1521
  "resolveMissingAnswers": "Read how many required questionnaire answers are still missing, jump to the first of them — which crosses from the read-only Summary to the Compile tab and opens the unanswered-questions block that holds it — and record the answer there. Writes patient clinical history.",
1521
1522
  "readVisitNote": "Open the note recorded at one visit from the evolution grid's visit-column header and read the clinical note and the nutritional proposal. Where the host supplies a side panel (`onOpenNote`), the trigger hands that visit's id out and the host's panel navigates to it — no popover opens, and the note lives in exactly one place. Where it does not, the same trigger opens the note in place. Clinician-only; no mutation.",
1522
1523
  "openRecordSection": "Open or fold one section of the compile form. Sections filled at every visit start open — visit details, any unanswered required questionnaire answers, anthropometrics, pathologies, therapy, the proposal; the occasional ones (oncological history, blood tests, fasting cycles, annual programme) start folded and state in their header how many entries they already hold. Clinician-only; view state only.",
1523
- "windowVisits": "Choose which visits the evolution grid shows as columns, by ticking them in the visit multi-select. It opens on every visit; un-ticking one removes its column, and the last remaining visit cannot be un-ticked. The change between two adjacent shown columns is always drawn. Also reads how many visits are shown out of how many exist. Clinician-only; view state only.",
1524
+ "windowVisits": "Choose which visits the evolution grid shows as columns, by ticking them in the Visits menu one button that opens a list of checkbox items, with a Select all row first. Every visit is ticked on arrival; un-ticking one removes its column, the menu stays open while ticking, and the last remaining visit cannot be un-ticked. The change between two adjacent shown columns is always drawn. The button itself reads how many visits are shown out of how many exist. Clinician-only; view state only.",
1524
1525
  "annotateTrend": "Drop a dated event's reference line across every trend sparkline in the evolution grid, by pressing its chip in the event bar above the grid. Events are things that happened to the patient on a date — a therapy or diet starting, a fasting-mimicking cycle, surgery, a change in daily life — and need not have happened at a visit or been recorded by this practice. Each chip carries its category (and, for an event this practice did not record, its source) as an accessible description rather than a hover tooltip. Nothing is drawn on arrival; pressing the same chip again removes the line. Where the host supplies a side panel, turning a chip on also navigates that panel to the event; turning it off does not. Clinician-only; view state only.",
1525
1526
  "chooseExportAudience": "Choose who a file or a shared copy is for — the practice, or the patient — from the single Export & share control beside the view switch. The choice governs every route below it (share, PDF, print, Excel, CSV), it sticks across tabs and later exports, and a non-default choice is badged on the closed control. The menu names what the copy carries in BOTH states, and the exclusions are PER VIEW: on Compile a patient copy drops blood-test values, diagnostic codes, oncological history and the clinician's own notes; on Evolution it drops the blood-test rows; on Summary it drops nothing. Nothing is filed by making the choice. View state only.",
1526
1527
  "exportTab": "Produce a file of the view that is currently selected — Summary, Compile or Evolution — from the one Export & share control. The same document is written as a PDF, an Excel workbook or a CSV, and Print sends that same document to the printer rather than the screen, so the app shell never appears on the page. On Evolution the file follows the visit columns the grid is DRAWING unless \"include every visit\" is ticked; the same Evolution file is also offered from the trend tab of questionnaire mode and from the read-only record, at the end of the trend toolbar. The audience rides in the filename, so the two copies stay apart outside the app. Every table resolves through the patient-copy boundary first, so a patient-audience file is missing what that audience may not receive. Produces a patient-identifiable document.",
@@ -1,4 +1,4 @@
1
- import { B as m } from "../../_chunks/bmi-calculator-CxPn0T0s.js";
1
+ import { B as m } from "../../_chunks/bmi-calculator-DC5SaqXT.js";
2
2
  import { b as e, a as t, c as r, d as T, e as c, f as i, i as b, k as n, l as f } from "../../_chunks/bmi-BxD-tFzU.js";
3
3
  export {
4
4
  m as BmiCalculator,
@@ -1,4 +1,4 @@
1
- import { C as e, L as l, p as r } from "../../_chunks/cycle-calculator-D9M7IKfh.js";
1
+ import { C as e, L as l, p as r } from "../../_chunks/cycle-calculator-B_NlctlQ.js";
2
2
  export {
3
3
  e as CycleCalculator,
4
4
  l as LUTEAL_PHASE_DAYS,
@@ -28,6 +28,8 @@ export interface DataTableHandle<TData = unknown> {
28
28
  setSort: (model: DataTableSortEntry[]) => void;
29
29
  getCurrentPage: () => number;
30
30
  goToPage: (page: number) => void;
31
+ /** Id of the row whose detail is open (`expandedRowId`), or `null`. */
32
+ getExpandedRowId: () => string | null;
31
33
  getRawApi: () => GridApi<TData> | undefined;
32
34
  }
33
35
  export interface DataTableProps<TData = unknown> extends Omit<VariantProps<typeof dataTableVariants>, 'density'> {
@@ -63,6 +65,23 @@ export interface DataTableProps<TData = unknown> extends Omit<VariantProps<typeo
63
65
  pinnedBottomRowData?: TData[];
64
66
  /** Print-optimised mode — hides toolbar, disables pagination, renders every row. */
65
67
  printMode?: boolean;
68
+ /**
69
+ * Controlled: the id (per `gridOptions.getRowId`) of the ONE row whose
70
+ * detail is open. Requires `gridOptions.getRowId`. Not supported together
71
+ * with `rowSelection="multiple"` in v1.
72
+ */
73
+ expandedRowId?: string | null;
74
+ /**
75
+ * Rendered as a full-width row directly beneath the expanded row. Must
76
+ * derive everything from the row — the grid may unmount it when scrolled
77
+ * out of view, so the content has to be stateless.
78
+ */
79
+ renderExpandedRow?: (row: TData) => ReactNode;
80
+ /**
81
+ * The detail asked to close (Escape inside it, or the consumer's own close
82
+ * control). The consumer owns the state and the focus return.
83
+ */
84
+ onExpandedRowChange?: (id: string | null) => void;
66
85
  /** Composable toolbar — renders `<DataTable.Toolbar>…</DataTable.Toolbar>` above the grid. */
67
86
  children?: ReactNode;
68
87
  }
@@ -0,0 +1,47 @@
1
+ import { type ComponentType, type ReactNode } from 'react';
2
+ import type { CustomCellRendererProps } from 'ag-grid-react';
3
+ /** Private marker written onto the synthetic detail node's data. */
4
+ export declare const EXPANDED_ROW_MARKER = "__dsDetailOf";
5
+ /** Row class stamped on the synthetic detail row (styled in ag-grid-theme.css). */
6
+ export declare const EXPANDED_ROW_CLASS = "ds-data-table-expanded-row";
7
+ export type ExpandedRowDetail<TData> = TData & {
8
+ [EXPANDED_ROW_MARKER]: string;
9
+ };
10
+ /**
11
+ * True when `data` is the synthetic detail node DataTable interleaves
12
+ * beneath the expanded row. Custom export / iteration code that walks
13
+ * `api.forEachNode*` should skip these.
14
+ */
15
+ export declare function isExpandedRowDetail<TData>(data: TData | null | undefined): data is ExpandedRowDetail<TData>;
16
+ /** Row id AG Grid sees for the detail node beneath `parentId`. */
17
+ export declare function expandedRowDetailId(parentId: string): string;
18
+ /**
19
+ * True when a `row-id` read off the DOM belongs to the synthetic detail
20
+ * row rather than a record. The DOM-side twin of `isExpandedRowDetail`.
21
+ */
22
+ export declare function isExpandedRowDetailId(rowId: string): boolean;
23
+ /** Build the synthetic node: the parent's values plus the marker. */
24
+ export declare function seedExpandedRowDetail<TData>(parent: TData, parentId: string): ExpandedRowDetail<TData>;
25
+ export interface ExpandedRowContextValue<TData = unknown> {
26
+ renderExpandedRow: ((row: TData) => ReactNode) | undefined;
27
+ onExpandedRowChange: ((id: string | null) => void) | undefined;
28
+ /** The one open row — the renderer hands its original object to `renderExpandedRow`. */
29
+ expanded: {
30
+ id: string;
31
+ row: TData;
32
+ } | null;
33
+ /** Measured detail heights by detail row id; served back through `getRowHeight`. */
34
+ heights: Map<string, number>;
35
+ /** Consumer's own full-width renderer, honoured for non-detail full-width rows. */
36
+ fallbackRenderer: ComponentType<CustomCellRendererProps<TData>> | undefined;
37
+ }
38
+ export declare const ExpandedRowContext: import("react").Context<ExpandedRowContextValue<unknown> | null>;
39
+ /**
40
+ * `fullWidthCellRenderer` for the synthetic detail node. Measures its own
41
+ * content (Community has no auto-height for full-width rows) and pushes
42
+ * the height into the node. Escape — on the grid-focused row or anywhere
43
+ * inside the surface — asks the consumer to close; Enter on the row moves
44
+ * focus into the content.
45
+ */
46
+ export declare function ExpandedRowRenderer<TData = unknown>(props: CustomCellRendererProps<TData>): import("react/jsx-runtime").JSX.Element | null;
47
+ //# sourceMappingURL=expanded-row-renderer.d.ts.map
@@ -1,6 +1,8 @@
1
1
  export { DataTable } from './data-table';
2
2
  export type { DataTableProps, DataTableHandle, DataTableSortEntry, } from './data-table';
3
3
  export { dataTableAgent } from './data-table.agent';
4
+ export { isExpandedRowDetail, isExpandedRowDetailId, expandedRowDetailId, EXPANDED_ROW_CLASS, } from './expanded-row-renderer';
5
+ export type { ExpandedRowDetail } from './expanded-row-renderer';
4
6
  export { Toolbar, ToolbarProvider, defaultExportPdf } from './toolbar';
5
7
  export type { ToolbarProviderProps, ToolbarRootProps, ExportCsvProps, ExportPdfProps, PrintProps, ColumnToggleProps, BulkActionProps, QuickSearchProps, RefreshButtonProps, FacetFilterOption, FacetFilterProps, ExportFormat, ExportMenuProps, ExportMenuItemProps, } from './toolbar';
6
8
  export { useTotalRow } from './hooks/use-total-row';
@@ -1,39 +1,43 @@
1
- import { A as r, D as l, T as t, a as s, b as n, c as o, d, e as i, f as C } from "../../_chunks/actions-cell-renderer-C67oj7mR.js";
2
- import { B as T, C as F, E as g, a as b, R as u, T as c, b as m, r as f, u as x } from "../../_chunks/editable-currency-cell-renderer-DyMbSyDK.js";
3
- import { C as p, D as h, a as y, b as E, I as S, L as A, N as L, c as N, S as B, d as I, e as P, T as U, f as W, g as k, U as v } from "../../_chunks/link-cell-renderer-DCCca2m3.js";
1
+ import { A as r, D as l, E as t, T as s, a as d, b as n, c as o, d as i, e as R, f as C, g as T, i as F, h as g } from "../../_chunks/actions-cell-renderer-BD-jruqA.js";
2
+ import { B as b, C as u, E as x, a as c, R as p, T as E, b as m, r as f, u as h } from "../../_chunks/editable-currency-cell-renderer-DyMbSyDK.js";
3
+ import { C as A, D as w, a as y, b as I, I as L, L as N, N as P, c as W, S as B, d as U, e as _, T as k, f as v, g as O, U as X } from "../../_chunks/link-cell-renderer-C7GvyK66.js";
4
4
  export {
5
5
  r as ActionsCellRenderer,
6
- T as BalanceCellRenderer,
7
- F as ColorDotCellRenderer,
8
- p as CurrencyCellRenderer,
6
+ b as BalanceCellRenderer,
7
+ u as ColorDotCellRenderer,
8
+ A as CurrencyCellRenderer,
9
9
  l as DataTable,
10
- h as DateCellRenderer,
10
+ w as DateCellRenderer,
11
11
  y as DateRangeFilter,
12
- E as DateRangeFloatingFilter,
13
- g as EditableCurrencyCellRenderer,
14
- b as EditableTextCellRenderer,
15
- S as ImageCellRenderer,
16
- A as LinkCellRenderer,
17
- L as NumberFilter,
18
- N as NumberFloatingFilter,
19
- u as ReorderCellRenderer,
12
+ I as DateRangeFloatingFilter,
13
+ t as EXPANDED_ROW_CLASS,
14
+ x as EditableCurrencyCellRenderer,
15
+ c as EditableTextCellRenderer,
16
+ L as ImageCellRenderer,
17
+ N as LinkCellRenderer,
18
+ P as NumberFilter,
19
+ W as NumberFloatingFilter,
20
+ p as ReorderCellRenderer,
20
21
  B as SelectFilter,
21
- I as SelectFloatingFilter,
22
- P as StatusCellRenderer,
23
- U as TagListCellRenderer,
24
- t as TextFilter,
25
- s as TextFloatingFilter,
26
- c as ToggleCellRenderer,
22
+ U as SelectFloatingFilter,
23
+ _ as StatusCellRenderer,
24
+ k as TagListCellRenderer,
25
+ s as TextFilter,
26
+ d as TextFloatingFilter,
27
+ E as ToggleCellRenderer,
27
28
  n as Toolbar,
28
29
  o as ToolbarProvider,
29
30
  m as ToothCellRenderer,
30
- W as TypeaheadFilter,
31
- k as TypeaheadFloatingFilter,
32
- v as UserCellRenderer,
33
- d as actionsColumnWidth,
34
- i as dataTableAgent,
31
+ v as TypeaheadFilter,
32
+ O as TypeaheadFloatingFilter,
33
+ X as UserCellRenderer,
34
+ i as actionsColumnWidth,
35
+ R as dataTableAgent,
35
36
  C as defaultExportPdf,
37
+ T as expandedRowDetailId,
38
+ F as isExpandedRowDetail,
39
+ g as isExpandedRowDetailId,
36
40
  f as reorderColumnWidth,
37
- x as useTotalRow
41
+ h as useTotalRow
38
42
  };
39
43
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { D as e } from "../../_chunks/due-date-calculator-BkqZEvL4.js";
1
+ import { D as e } from "../../_chunks/due-date-calculator-le1z3KpW.js";
2
2
  import { C as r, a as o, D, G as _, M as T, T as M, c as E, b as l, g as C, p as A, r as N, d as i, t as n } from "../../_chunks/antenatal-schedule-timeline-BSLrOQ3S.js";
3
3
  export {
4
4
  r as CRL_DATING_MAX_MM,
@@ -1,4 +1,4 @@
1
- import { F as a, e as i } from "../../_chunks/fetal-weight-C7JXGg6E.js";
1
+ import { F as a, e as i } from "../../_chunks/fetal-weight-DXA6ZpMq.js";
2
2
  export {
3
3
  a as FetalWeight,
4
4
  i as estimateFetalWeight
@@ -1,4 +1,4 @@
1
- import { F as r, f } from "../../_chunks/file-manager-DzWYcRpE.js";
1
+ import { F as r, f } from "../../_chunks/file-manager-BjCM2fZB.js";
2
2
  export {
3
3
  r as FileManager,
4
4
  f as fileManagerAgent
@@ -1,4 +1,4 @@
1
- import { H, M as g, a as o } from "../../_chunks/hcg-doubling-CFJlMH7Z.js";
1
+ import { H, M as g, a as o } from "../../_chunks/hcg-doubling-BT6lki_i.js";
2
2
  export {
3
3
  H as HcgDoubling,
4
4
  g as MINIMAL_48H_RISE_PERCENT,
@@ -1,4 +1,4 @@
1
- import { N as r, u as a } from "../../_chunks/number-input-DOe5VYei.js";
1
+ import { N as r, u as a } from "../../_chunks/number-input-CM1q9zvH.js";
2
2
  export {
3
3
  r as NumberInput,
4
4
  a as useLocaleNumber
@@ -11,6 +11,7 @@ export interface NumberInputHandle {
11
11
  declare const numberInputVariants: (props?: ({
12
12
  size?: "sm" | "md" | "lg" | null | undefined;
13
13
  tone?: "default" | "error" | null | undefined;
14
+ inline?: "full" | "sm" | "md" | "lg" | null | undefined;
14
15
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
16
  export type { NumberInputMode };
16
17
  export interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange' | 'value' | 'defaultValue' | 'size'>, VariantProps<typeof numberInputVariants> {
@@ -35,6 +36,16 @@ export interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElem
35
36
  locale?: string;
36
37
  /** Size variant. */
37
38
  size?: 'sm' | 'md' | 'lg';
39
+ /** 'stepper' (default) keeps the chevron buttons; 'plain' renders the bare
40
+ * field — keyboard arrows still step, and the wheel scrolls the page as it
41
+ * always has. */
42
+ variant?: 'stepper' | 'plain';
43
+ /** Unit shown inside the field at the inline end (e.g. "cm"), muted; joins
44
+ * the input's accessible description, never its value. */
45
+ unit?: string;
46
+ /** Intrinsic inline size: 'full' (default) fills the container; 'sm' ≈ 8
47
+ * characters, 'md' ≈ 12, 'lg' ≈ 16 — plus room for the unit and paddings. */
48
+ inline?: 'sm' | 'md' | 'lg' | 'full';
38
49
  /** Additional class names on the wrapper. */
39
50
  className?: string;
40
51
  }
@@ -1,4 +1,4 @@
1
- import { A as S, a as r, b as A, c as e, d as I, e as _, C as t, f as E, g as o, D as M, h as i, E as P, L as N, O as R, P as m, i as D, j as n, k as f, l, R as X, S as C, m as d, n as p, o as T, p as c, q as L, r as O, s as Y, t as g, u as x, v as B, w as u, x as w, y, z as H, B as b, F as h } from "../../_chunks/optical-prescription-Brs0CeP3.js";
1
+ import { A as S, a as r, b as A, c as e, d as I, e as _, C as t, f as E, g as o, D as M, h as i, E as P, L as N, O as R, P as m, i as D, j as n, k as f, l, R as X, S as C, m as d, n as p, o as T, p as c, q as L, r as O, s as Y, t as g, u as x, v as B, w as u, x as w, y, z as H, B as b, F as h } from "../../_chunks/optical-prescription-CQR_WJiS.js";
2
2
  export {
3
3
  S as ADD_MAX,
4
4
  r as ADD_MIN,
@@ -1,4 +1,4 @@
1
- import { P as e, p as i } from "../../_chunks/patient-details-CGhnfdUB.js";
1
+ import { P as e, p as i } from "../../_chunks/patient-details-CnFgF3MU.js";
2
2
  export {
3
3
  e as PatientDetails,
4
4
  i as patientDetailsAgent
@@ -1,4 +1,4 @@
1
- import { B as s, C as l, N as t, P as n, a as C, b as i, g as o, u } from "../../_chunks/patient-table-D2fhV4mV.js";
1
+ import { B as s, C as l, N as t, P as n, a as C, b as i, g as o, u } from "../../_chunks/patient-table-BXzcrC79.js";
2
2
  export {
3
3
  s as BalanceBadgeCell,
4
4
  l as CarePlanStatusCell,
@@ -1,4 +1,4 @@
1
- import { P as r } from "../../_chunks/pregnancy-dating-iI6_j2K2.js";
1
+ import { P as r } from "../../_chunks/pregnancy-dating-4tPV_Yko.js";
2
2
  export {
3
3
  r as PregnancyDating
4
4
  };
@@ -1,4 +1,4 @@
1
- import { P as n, R as s, T as i, a as g, p as r, r as t } from "../../_chunks/pregnancy-weight-gain-Co-YFMJZ.js";
1
+ import { P as n, R as s, T as i, a as g, p as r, r as t } from "../../_chunks/pregnancy-weight-gain-BBgbWBGe.js";
2
2
  export {
3
3
  n as PregnancyWeightGain,
4
4
  s as RATE_BANDS,
@@ -1,4 +1,4 @@
1
- import { S as s, s as r } from "../../_chunks/signature-status-chip-DUcTgQ0E.js";
1
+ import { S as s, s as r } from "../../_chunks/signature-status-chip-DlLJk1VA.js";
2
2
  export {
3
3
  s as SignatureStatusChip,
4
4
  r as signatureStatusOf
@@ -1,4 +1,4 @@
1
- import { C as r, U as t, a as U, b as e, c as n } from "../../_chunks/unit-converter-BeTicruA.js";
1
+ import { C as r, U as t, a as U, b as e, c as n } from "../../_chunks/unit-converter-Dsk__pjA.js";
2
2
  export {
3
3
  r as CATEGORIES,
4
4
  t as UNITS,
@@ -196,7 +196,7 @@
196
196
 
197
197
  /* ───────────────────────────────────────────────────────────────────────
198
198
  SECTION B — non-token declarations. ORIGINAL LAYER PRESERVED.
199
- 127 declarations across 123 rules.
199
+ 128 declarations across 124 rules.
200
200
 
201
201
  Kit-authored arbitrary-value utilities (`ds:w-[20rem]`) and the
202
202
  vendored AG Grid rules. These set real properties on real elements,
@@ -403,6 +403,9 @@
403
403
  .ds\:max-w-\[42rem\] {
404
404
  max-width:672px;
405
405
  }
406
+ .ds\:max-w-\[44rem\] {
407
+ max-width:704px;
408
+ }
406
409
  .ds\:max-w-\[48rem\] {
407
410
  max-width:768px;
408
411
  }
@@ -933,6 +933,7 @@ export declare const arUi: {
933
933
  };
934
934
  readonly expandRow: "توسيع الصف";
935
935
  readonly collapseRow: "طي الصف";
936
+ readonly expandedRow: "تفاصيل الصف الموسّع";
936
937
  readonly totalRow: "الإجمالي";
937
938
  readonly noRows: "لا توجد بيانات للعرض";
938
939
  readonly noRowsDescription: "حاول تعديل البحث أو الفلاتر.";
@@ -922,6 +922,7 @@ const e = {
922
922
  },
923
923
  expandRow: "توسيع الصف",
924
924
  collapseRow: "طي الصف",
925
+ expandedRow: "تفاصيل الصف الموسّع",
925
926
  totalRow: "الإجمالي",
926
927
  noRows: "لا توجد بيانات للعرض",
927
928
  noRowsDescription: "حاول تعديل البحث أو الفلاتر.",
@@ -933,6 +933,7 @@ export declare const deUi: {
933
933
  };
934
934
  readonly expandRow: "Zeile aufklappen";
935
935
  readonly collapseRow: "Zeile zuklappen";
936
+ readonly expandedRow: "Details der erweiterten Zeile";
936
937
  readonly totalRow: "Gesamt";
937
938
  readonly noRows: "Keine Daten zum Anzeigen";
938
939
  readonly noRowsDescription: "Passen Sie Suche oder Filter an.";
@@ -922,6 +922,7 @@ const e = {
922
922
  },
923
923
  expandRow: "Zeile aufklappen",
924
924
  collapseRow: "Zeile zuklappen",
925
+ expandedRow: "Details der erweiterten Zeile",
925
926
  totalRow: "Gesamt",
926
927
  noRows: "Keine Daten zum Anzeigen",
927
928
  noRowsDescription: "Passen Sie Suche oder Filter an.",
@@ -930,6 +930,7 @@ export declare const elUi: {
930
930
  };
931
931
  readonly expandRow: "Ανάπτυξη γραμμής";
932
932
  readonly collapseRow: "Σύμπτυξη γραμμής";
933
+ readonly expandedRow: "Λεπτομέρειες αναπτυγμένης γραμμής";
933
934
  readonly totalRow: "Σύνολο";
934
935
  readonly noRows: "Δεν υπάρχουν δεδομένα προς εμφάνιση";
935
936
  readonly noRowsDescription: "Δοκιμάστε να τροποποιήσετε την αναζήτηση ή τα φίλτρα.";
@@ -922,6 +922,7 @@ const e = {
922
922
  },
923
923
  expandRow: "Ανάπτυξη γραμμής",
924
924
  collapseRow: "Σύμπτυξη γραμμής",
925
+ expandedRow: "Λεπτομέρειες αναπτυγμένης γραμμής",
925
926
  totalRow: "Σύνολο",
926
927
  noRows: "Δεν υπάρχουν δεδομένα προς εμφάνιση",
927
928
  noRowsDescription: "Δοκιμάστε να τροποποιήσετε την αναζήτηση ή τα φίλτρα.",
@@ -930,6 +930,7 @@ export declare const enUi: {
930
930
  };
931
931
  readonly expandRow: "Expand row";
932
932
  readonly collapseRow: "Collapse row";
933
+ readonly expandedRow: "Expanded row details";
933
934
  readonly totalRow: "Total";
934
935
  readonly noRows: "No data to display";
935
936
  readonly noRowsDescription: "Try adjusting your search or filters.";
@@ -902,6 +902,7 @@ const e = {
902
902
  },
903
903
  expandRow: "Expand row",
904
904
  collapseRow: "Collapse row",
905
+ expandedRow: "Expanded row details",
905
906
  totalRow: "Total",
906
907
  noRows: "No data to display",
907
908
  noRowsDescription: "Try adjusting your search or filters.",
@@ -930,6 +930,7 @@ export declare const esUi: {
930
930
  };
931
931
  readonly expandRow: "Expandir fila";
932
932
  readonly collapseRow: "Contraer fila";
933
+ readonly expandedRow: "Detalles de la fila expandida";
933
934
  readonly totalRow: "Total";
934
935
  readonly noRows: "No hay datos que mostrar";
935
936
  readonly noRowsDescription: "Intente modificar la búsqueda o los filtros.";
@@ -922,6 +922,7 @@ const e = {
922
922
  },
923
923
  expandRow: "Expandir fila",
924
924
  collapseRow: "Contraer fila",
925
+ expandedRow: "Detalles de la fila expandida",
925
926
  totalRow: "Total",
926
927
  noRows: "No hay datos que mostrar",
927
928
  noRowsDescription: "Intente modificar la búsqueda o los filtros.",
@@ -930,6 +930,7 @@ export declare const frUi: {
930
930
  };
931
931
  readonly expandRow: "Développer la ligne";
932
932
  readonly collapseRow: "Réduire la ligne";
933
+ readonly expandedRow: "Détails de la ligne développée";
933
934
  readonly totalRow: "Total";
934
935
  readonly noRows: "Aucune donnée à afficher";
935
936
  readonly noRowsDescription: "Essayez de modifier la recherche ou les filtres.";
@@ -922,6 +922,7 @@ const e = {
922
922
  },
923
923
  expandRow: "Développer la ligne",
924
924
  collapseRow: "Réduire la ligne",
925
+ expandedRow: "Détails de la ligne développée",
925
926
  totalRow: "Total",
926
927
  noRows: "Aucune donnée à afficher",
927
928
  noRowsDescription: "Essayez de modifier la recherche ou les filtres.",
@@ -930,6 +930,7 @@ export declare const hiUi: {
930
930
  };
931
931
  readonly expandRow: "पंक्ति विस्तृत करें";
932
932
  readonly collapseRow: "पंक्ति संक्षिप्त करें";
933
+ readonly expandedRow: "विस्तारित पंक्ति का विवरण";
933
934
  readonly totalRow: "कुल";
934
935
  readonly noRows: "प्रदर्शित करने के लिए कोई डेटा नहीं";
935
936
  readonly noRowsDescription: "खोज या फ़िल्टर बदलने का प्रयास करें।";
@@ -922,6 +922,7 @@ const e = {
922
922
  },
923
923
  expandRow: "पंक्ति विस्तृत करें",
924
924
  collapseRow: "पंक्ति संक्षिप्त करें",
925
+ expandedRow: "विस्तारित पंक्ति का विवरण",
925
926
  totalRow: "कुल",
926
927
  noRows: "प्रदर्शित करने के लिए कोई डेटा नहीं",
927
928
  noRowsDescription: "खोज या फ़िल्टर बदलने का प्रयास करें।",
@@ -927,6 +927,7 @@ export declare const itUi: {
927
927
  };
928
928
  readonly expandRow: "Espandi riga";
929
929
  readonly collapseRow: "Comprimi riga";
930
+ readonly expandedRow: "Dettagli della riga";
930
931
  readonly totalRow: "Totale";
931
932
  readonly noRows: "Nessun dato da visualizzare";
932
933
  readonly noRowsDescription: "Prova a modificare la ricerca o i filtri.";
@@ -902,6 +902,7 @@ const e = {
902
902
  },
903
903
  expandRow: "Espandi riga",
904
904
  collapseRow: "Comprimi riga",
905
+ expandedRow: "Dettagli della riga",
905
906
  totalRow: "Totale",
906
907
  noRows: "Nessun dato da visualizzare",
907
908
  noRowsDescription: "Prova a modificare la ricerca o i filtri.",
@@ -930,6 +930,7 @@ export declare const jaUi: {
930
930
  };
931
931
  readonly expandRow: "行を展開";
932
932
  readonly collapseRow: "行を折りたたむ";
933
+ readonly expandedRow: "展開された行の詳細";
933
934
  readonly totalRow: "合計";
934
935
  readonly noRows: "表示するデータがありません";
935
936
  readonly noRowsDescription: "検索条件またはフィルターを変更してみてください。";
@@ -922,6 +922,7 @@ const e = {
922
922
  },
923
923
  expandRow: "行を展開",
924
924
  collapseRow: "行を折りたたむ",
925
+ expandedRow: "展開された行の詳細",
925
926
  totalRow: "合計",
926
927
  noRows: "表示するデータがありません",
927
928
  noRowsDescription: "検索条件またはフィルターを変更してみてください。",
@@ -930,6 +930,7 @@ export declare const nlUi: {
930
930
  };
931
931
  readonly expandRow: "Rij uitvouwen";
932
932
  readonly collapseRow: "Rij samenvouwen";
933
+ readonly expandedRow: "Details van de uitgevouwen rij";
933
934
  readonly totalRow: "Totaal";
934
935
  readonly noRows: "Geen gegevens om weer te geven";
935
936
  readonly noRowsDescription: "Pas de zoekopdracht of filters aan.";
@@ -922,6 +922,7 @@ const e = {
922
922
  },
923
923
  expandRow: "Rij uitvouwen",
924
924
  collapseRow: "Rij samenvouwen",
925
+ expandedRow: "Details van de uitgevouwen rij",
925
926
  totalRow: "Totaal",
926
927
  noRows: "Geen gegevens om weer te geven",
927
928
  noRowsDescription: "Pas de zoekopdracht of filters aan.",
@@ -930,6 +930,7 @@ export declare const plUi: {
930
930
  };
931
931
  readonly expandRow: "Rozwiń wiersz";
932
932
  readonly collapseRow: "Zwiń wiersz";
933
+ readonly expandedRow: "Szczegóły rozwiniętego wiersza";
933
934
  readonly totalRow: "Łącznie";
934
935
  readonly noRows: "Brak danych do wyświetlenia";
935
936
  readonly noRowsDescription: "Spróbuj zmienić wyszukiwanie lub filtry.";