@cdx-ui/components 0.3.11 → 0.3.12

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 (44) hide show
  1. package/docs/components/data-grid/content.md +419 -14
  2. package/docs/foundations/expressions/icons/content.md +1 -1
  3. package/docs/llms.txt +1 -0
  4. package/docs/resources/release-notes/0.3.11/content.md +7 -0
  5. package/docs/resources/release-notes/content.md +1 -0
  6. package/lib/commonjs/components/DatePicker/index.js +2 -0
  7. package/lib/commonjs/components/DatePicker/index.js.map +1 -1
  8. package/lib/commonjs/components/DateRangePicker/index.js +2 -0
  9. package/lib/commonjs/components/DateRangePicker/index.js.map +1 -1
  10. package/lib/commonjs/components/Icon/index.js +8 -8
  11. package/lib/commonjs/components/Icon/index.js.map +1 -1
  12. package/lib/commonjs/components/SystemAlert/styles.js +4 -1
  13. package/lib/commonjs/components/SystemAlert/styles.js.map +1 -1
  14. package/lib/commonjs/components/picker/styles.js +8 -1
  15. package/lib/commonjs/components/picker/styles.js.map +1 -1
  16. package/lib/commonjs/components/picker/surfaces.js +4 -2
  17. package/lib/commonjs/components/picker/surfaces.js.map +1 -1
  18. package/lib/module/components/DatePicker/index.js +2 -0
  19. package/lib/module/components/DatePicker/index.js.map +1 -1
  20. package/lib/module/components/DateRangePicker/index.js +2 -0
  21. package/lib/module/components/DateRangePicker/index.js.map +1 -1
  22. package/lib/module/components/Icon/index.js +8 -8
  23. package/lib/module/components/Icon/index.js.map +1 -1
  24. package/lib/module/components/SystemAlert/styles.js +4 -1
  25. package/lib/module/components/SystemAlert/styles.js.map +1 -1
  26. package/lib/module/components/picker/styles.js +7 -0
  27. package/lib/module/components/picker/styles.js.map +1 -1
  28. package/lib/module/components/picker/surfaces.js +4 -2
  29. package/lib/module/components/picker/surfaces.js.map +1 -1
  30. package/lib/typescript/components/ColorSwatch/styles.d.ts +1 -1
  31. package/lib/typescript/components/DatePicker/index.d.ts.map +1 -1
  32. package/lib/typescript/components/DateRangePicker/index.d.ts.map +1 -1
  33. package/lib/typescript/components/SystemAlert/styles.d.ts.map +1 -1
  34. package/lib/typescript/components/picker/styles.d.ts +6 -0
  35. package/lib/typescript/components/picker/styles.d.ts.map +1 -1
  36. package/lib/typescript/components/picker/surfaces.d.ts +2 -1
  37. package/lib/typescript/components/picker/surfaces.d.ts.map +1 -1
  38. package/package.json +6 -6
  39. package/src/components/DatePicker/index.tsx +2 -0
  40. package/src/components/DateRangePicker/index.tsx +2 -0
  41. package/src/components/Icon/index.tsx +8 -8
  42. package/src/components/SystemAlert/styles.ts +13 -7
  43. package/src/components/picker/styles.ts +7 -0
  44. package/src/components/picker/surfaces.tsx +3 -0
@@ -15,14 +15,14 @@ import {
15
15
  Text,
16
16
  VStack,
17
17
  } from '@cdx-ui/components';
18
- import { DataGrid } from '@cdx-ui/data-grid';
18
+ import { DataGrid, gridDeltaNumberColDef, gridPolarityNumberColDef } from '@cdx-ui/data-grid';
19
19
  ```
20
20
 
21
21
  ## Basic
22
22
 
23
23
  Pass `rows` and `columns`. This account grid starts with the features most applications need: formatted values, status `Chip` cells, search, header filters, selection, sorting, and pagination.
24
24
 
25
- Search is **not** always on. Set `showToolbar` to show the search field (same opt-in as MUI Community’s toolbar / quick filter). Set `headerFilters` to show per-column filter inputs in a second header row.
25
+ Search and the filter button are **not** always on. Set `showToolbar` to show both (same opt-in as MUI Community’s toolbar). Set `headerFilters` to show per-column filter inputs in a second header row.
26
26
 
27
27
  The grid is a fixed viewport like MUI Data Grid Community: **300px** tall by default. Column headers stay visible while rows scroll; pagination stays at the bottom. Override height with a `className` such as `h-full` or a spacing-scale height (`h-130`).
28
28
 
@@ -65,7 +65,7 @@ const columns: GridColDef<Account>[] = [
65
65
  field: 'balance',
66
66
  headerName: 'Balance',
67
67
  width: 140,
68
- align: 'end',
68
+ type: 'number',
69
69
  valueFormatter: (_, row) => currencyFormatter.format(row.balance),
70
70
  },
71
71
  ];
@@ -87,6 +87,174 @@ export default function DataGridBasicDemo() {
87
87
  }
88
88
  ```
89
89
 
90
+ ## Column types
91
+
92
+ Set `type` on a column for MUI Community defaults: alignment, display formatting, and client sort. `number` right-aligns and formats with the locale (no forced decimals). `date` and `dateTime` expect a `Date` — convert strings with `valueGetter`. `boolean` renders a check or close icon with accessible Yes / No text. `singleSelect` shows the matching `valueOptions` label. Explicit `align`, `headerAlign`, `valueFormatter`, and `renderCell` override the defaults.
93
+
94
+ ```tsx
95
+ import { DataGrid, type GridColDef } from '@cdx-ui/data-grid';
96
+
97
+ // GridValidRowModel's index signature rejects otherwise equivalent interfaces.
98
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
99
+ type Product = {
100
+ id: string;
101
+ name: string;
102
+ price: number;
103
+ listed: Date;
104
+ updated: Date;
105
+ active: boolean;
106
+ status: string;
107
+ };
108
+
109
+ const columns: GridColDef<Product>[] = [
110
+ { field: 'name', headerName: 'Name', type: 'string', flex: 1, minWidth: 140 },
111
+ { field: 'price', headerName: 'Price', type: 'number', width: 120 },
112
+ { field: 'listed', headerName: 'Listed', type: 'date', width: 140 },
113
+ { field: 'updated', headerName: 'Updated', type: 'dateTime', width: 180 },
114
+ { field: 'active', headerName: 'Active', type: 'boolean', width: 100 },
115
+ {
116
+ field: 'status',
117
+ headerName: 'Status',
118
+ type: 'singleSelect',
119
+ width: 140,
120
+ valueOptions: [
121
+ { value: 'open', label: 'Open' },
122
+ { value: 'pending', label: 'Pending review' },
123
+ { value: 'closed', label: 'Closed' },
124
+ ],
125
+ },
126
+ ];
127
+
128
+ const rows: Product[] = [
129
+ {
130
+ id: '1',
131
+ name: 'Operating reserve',
132
+ price: 1234.5,
133
+ listed: new Date(2026, 0, 5),
134
+ updated: new Date(2026, 0, 5, 14, 30, 0),
135
+ active: true,
136
+ status: 'open',
137
+ },
138
+ {
139
+ id: '2',
140
+ name: 'Payroll sweep',
141
+ price: 80,
142
+ listed: new Date(2026, 2, 12),
143
+ updated: new Date(2026, 2, 12, 9, 0, 0),
144
+ active: false,
145
+ status: 'pending',
146
+ },
147
+ {
148
+ id: '3',
149
+ name: 'Merchant hold',
150
+ price: 10450,
151
+ listed: new Date(2025, 10, 2),
152
+ updated: new Date(2025, 11, 18, 16, 45, 0),
153
+ active: true,
154
+ status: 'closed',
155
+ },
156
+ ];
157
+
158
+ export default function DataGridColumnTypesDemo() {
159
+ return (
160
+ <DataGrid
161
+ rows={rows}
162
+ columns={columns}
163
+ hideFooter
164
+ headerFilters
165
+ aria-label="Column types"
166
+ className="h-80"
167
+ />
168
+ );
169
+ }
170
+ ```
171
+
172
+ ## Filters
173
+
174
+ `showToolbar` shows the search field and a filter button. The panel has one row per condition: column, an operator for that column's type, and a value. And or Or on the second row applies to the whole model, not to a single row.
175
+
176
+ Text columns use contains, does not contain, equals, starts with, ends with, is empty, is not empty, and is any of. Number columns use `=`, `!=`, `>`, `>=`, `<`, `<=`, plus the empty and is any of operators. Date columns use is, is not, is after, is on or after, is before, and is on or before. Boolean columns use is, and the value is any, true, or false. `singleSelect` columns use is, is not, and is any of.
177
+
178
+ An item with no `operator` still means contains, which is what each header filter input writes. `isEmpty` and `isNotEmpty` need no value. `isAnyOf` takes a list. Type numbers without grouping (`10450`, not `10,450`). Date and date time values use the date field, and a date time filter matches that calendar day. Pass `filterLogicOperator` beside `filterModel`. In server mode the grid sends the operator and the typed value and does not filter `rows`.
179
+
180
+ ```tsx
181
+ import { DataGrid, type GridColDef } from '@cdx-ui/data-grid';
182
+
183
+ // GridValidRowModel's index signature rejects otherwise equivalent interfaces.
184
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
185
+ type Product = {
186
+ id: string;
187
+ name: string;
188
+ price: number;
189
+ listed: Date;
190
+ updated: Date;
191
+ active: boolean;
192
+ status: string;
193
+ };
194
+
195
+ const columns: GridColDef<Product>[] = [
196
+ { field: 'name', headerName: 'Name', type: 'string', flex: 1, minWidth: 140 },
197
+ { field: 'price', headerName: 'Price', type: 'number', width: 120 },
198
+ { field: 'listed', headerName: 'Listed', type: 'date', width: 140 },
199
+ { field: 'updated', headerName: 'Updated', type: 'dateTime', width: 180 },
200
+ { field: 'active', headerName: 'Active', type: 'boolean', width: 100 },
201
+ {
202
+ field: 'status',
203
+ headerName: 'Status',
204
+ type: 'singleSelect',
205
+ width: 140,
206
+ valueOptions: [
207
+ { value: 'open', label: 'Open' },
208
+ { value: 'pending', label: 'Pending review' },
209
+ { value: 'closed', label: 'Closed' },
210
+ ],
211
+ },
212
+ ];
213
+
214
+ const rows: Product[] = [
215
+ {
216
+ id: '1',
217
+ name: 'Operating reserve',
218
+ price: 1234.5,
219
+ listed: new Date(2026, 0, 5),
220
+ updated: new Date(2026, 0, 5, 14, 30, 0),
221
+ active: true,
222
+ status: 'open',
223
+ },
224
+ {
225
+ id: '2',
226
+ name: 'Payroll sweep',
227
+ price: 80,
228
+ listed: new Date(2026, 2, 12),
229
+ updated: new Date(2026, 2, 12, 9, 0, 0),
230
+ active: false,
231
+ status: 'pending',
232
+ },
233
+ {
234
+ id: '3',
235
+ name: 'Merchant hold',
236
+ price: 10450,
237
+ listed: new Date(2025, 10, 2),
238
+ updated: new Date(2025, 11, 18, 16, 45, 0),
239
+ active: true,
240
+ status: 'closed',
241
+ },
242
+ ];
243
+
244
+ export default function DataGridFiltersDemo() {
245
+ return (
246
+ <DataGrid
247
+ rows={rows}
248
+ columns={columns}
249
+ showToolbar
250
+ hideFooter
251
+ autoHeight
252
+ aria-label="Filters"
253
+ />
254
+ );
255
+ }
256
+ ```
257
+
90
258
  ## Rich cells
91
259
 
92
260
  Use `renderCell` to compose Forge UI components inside a cell. This operations view combines `Avatar`, `Chip`, `ProgressBar`, and an action `Menu`, while `valueFormatter` keeps sortable numeric data separate from its display value.
@@ -163,13 +331,13 @@ const columns: GridColDef<Account>[] = [
163
331
  field: 'balance',
164
332
  headerName: 'Balance',
165
333
  width: 140,
166
- align: 'end',
334
+ type: 'number',
167
335
  valueFormatter: (_, row) => currencyFormatter.format(row.balance),
168
336
  },
169
337
  {
170
338
  field: 'actions',
171
339
  headerName: 'Actions',
172
- width: 72,
340
+ width: 100,
173
341
  align: 'center',
174
342
  headerAlign: 'center',
175
343
  sortable: false,
@@ -262,9 +430,144 @@ export default function DataGridNumericColumnsDemo() {
262
430
  }
263
431
  ```
264
432
 
433
+ ## Polarity and delta numbers
434
+
435
+ `gridPolarityNumberColDef` colors a number by its sign. A positive value uses success, a negative value uses danger and a minus sign (−), and zero stays primary.
436
+
437
+ `gridDeltaNumberColDef` shows a change. The symbol follows the direction of the value, and the color follows `increaseIsGood`: an increase is success when an increase is favorable and danger when it is not, and a decrease does the opposite. Zero stays primary. `symbol` is `arrow` (no icon at zero), `trendline` (including a flat icon at zero), or `sign` (+ or − before the value). Arrow and trendline hide the minus sign.
438
+
439
+ Spread the preset into the column. It sets `type` to `number`, so sorting compares the raw number and empty values sort last. The header filter matches that number's locale text, not the colored cell. A `valueFormatter` passed to the preset, or set on the column after it, formats the visible number. `density` selects body-md or body-sm.
440
+
441
+ Pass `increaseIsGood: false` when a rising number is unfavorable, such as contract terminations. The screen reader hears the direction, for example "Decrease 2.5%".
442
+
443
+ ```tsx
444
+ import {
445
+ DataGrid,
446
+ gridDeltaNumberColDef,
447
+ gridPolarityNumberColDef,
448
+ type GridColDef,
449
+ } from '@cdx-ui/data-grid';
450
+
451
+ // GridValidRowModel's index signature rejects otherwise equivalent interfaces.
452
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
453
+ type PerformanceRow = {
454
+ id: string;
455
+ metric: string;
456
+ amount: number;
457
+ change: number;
458
+ terminations: number;
459
+ };
460
+
461
+ const currency = new Intl.NumberFormat('en-US', {
462
+ style: 'currency',
463
+ currency: 'USD',
464
+ });
465
+
466
+ const points = new Intl.NumberFormat('en-US', {
467
+ minimumFractionDigits: 1,
468
+ maximumFractionDigits: 1,
469
+ });
470
+
471
+ const formatPoints = (value: number) => `${points.format(value)}%`;
472
+
473
+ const rows: PerformanceRow[] = [
474
+ { id: 'interest', metric: 'Interest income', amount: 1280.5, change: 2.5, terminations: -3.1 },
475
+ { id: 'fees', metric: 'Fee income', amount: -640, change: -1.2, terminations: 4.2 },
476
+ { id: 'transfers', metric: 'Transfers', amount: 0, change: 0, terminations: 0 },
477
+ ];
478
+
479
+ const columns: GridColDef<PerformanceRow>[] = [
480
+ { field: 'metric', headerName: 'Metric', flex: 1, minWidth: 160 },
481
+ {
482
+ field: 'amount',
483
+ headerName: 'Amount',
484
+ width: 140,
485
+ ...gridPolarityNumberColDef<PerformanceRow>({
486
+ valueFormatter: (value) => currency.format(value),
487
+ }),
488
+ },
489
+ {
490
+ field: 'change',
491
+ headerName: 'Change',
492
+ width: 120,
493
+ ...gridDeltaNumberColDef<PerformanceRow>({
494
+ increaseIsGood: true,
495
+ symbol: 'arrow',
496
+ valueFormatter: formatPoints,
497
+ }),
498
+ },
499
+ {
500
+ field: 'terminations',
501
+ headerName: 'Terminations',
502
+ width: 150,
503
+ ...gridDeltaNumberColDef<PerformanceRow>({
504
+ increaseIsGood: false,
505
+ symbol: 'arrow',
506
+ valueFormatter: formatPoints,
507
+ }),
508
+ },
509
+ {
510
+ field: 'trend',
511
+ headerName: 'Trend',
512
+ width: 120,
513
+ ...gridDeltaNumberColDef<PerformanceRow>({
514
+ increaseIsGood: true,
515
+ symbol: 'trendline',
516
+ valueFormatter: formatPoints,
517
+ }),
518
+ valueGetter: (_value, row) => row.change,
519
+ },
520
+ {
521
+ field: 'signed',
522
+ headerName: 'Signed change',
523
+ width: 150,
524
+ ...gridDeltaNumberColDef<PerformanceRow>({
525
+ increaseIsGood: true,
526
+ symbol: 'sign',
527
+ valueFormatter: formatPoints,
528
+ }),
529
+ valueGetter: (_value, row) => row.change,
530
+ },
531
+ {
532
+ field: 'terminationsTrend',
533
+ headerName: 'Terminations trend',
534
+ width: 170,
535
+ ...gridDeltaNumberColDef<PerformanceRow>({
536
+ increaseIsGood: false,
537
+ symbol: 'trendline',
538
+ valueFormatter: formatPoints,
539
+ }),
540
+ valueGetter: (_value, row) => row.terminations,
541
+ },
542
+ {
543
+ field: 'terminationsSigned',
544
+ headerName: 'Terminations sign',
545
+ width: 170,
546
+ ...gridDeltaNumberColDef<PerformanceRow>({
547
+ increaseIsGood: false,
548
+ symbol: 'sign',
549
+ valueFormatter: formatPoints,
550
+ }),
551
+ valueGetter: (_value, row) => row.terminations,
552
+ },
553
+ ];
554
+
555
+ export default function DataGridNumberCellsDemo() {
556
+ return (
557
+ <DataGrid
558
+ rows={rows}
559
+ columns={columns}
560
+ hideFooter
561
+ autoHeight
562
+ aria-label="Performance with polarity and delta numbers"
563
+ />
564
+ );
565
+ }
566
+ ```
567
+
265
568
  ## Toolbar actions
266
569
 
267
- `toolbarActions` is an extension slot for your own toolbar controls beside search — export, density, view toggles, and so on. DataGrid does not ship toolbar buttons; you compose them and wire `onPress` to state that drives grid props.
570
+ `toolbarActions` is an extension slot for your own controls beside search and the filter button — export, density, view toggles, and so on. Wire `onPress` to state that drives grid props.
268
571
 
269
572
  A common pattern is a **Filters** button that toggles the `headerFilters` row on demand instead of leaving filter inputs always visible:
270
573
 
@@ -505,13 +808,113 @@ export default function DataGridCheckboxCellsDemo() {
505
808
  }
506
809
  ```
507
810
 
811
+ ## Column pinning
812
+
813
+ Pass `pinnedColumns` with `start` and/or `end` field lists so key columns stay visible while the grid scrolls horizontally. Deprecated `left` / `right` keys are aliases for `start` / `end` (same mapping as `align`). MUI X `initialState.pinnedColumns` moves to the `pinnedColumns` prop.
814
+
815
+ Pinned columns use a fixed pixel `width` (default 100) and ignore `flex`. When `checkboxSelection` is on and any column is pinned to start, the selection column pins first at the start edge. The MUI X checkbox field `__check__` is accepted as an alias for that column.
816
+
817
+ ```tsx
818
+ import { Chip, IconButton, Menu } from '@cdx-ui/components';
819
+ import { DataGrid, type GridColDef } from '@cdx-ui/data-grid';
820
+ import { MoreHoriz } from '@cdx-ui/icons';
821
+ import { accounts, type Account, type AccountStatus } from './_data';
822
+
823
+ const currencyFormatter = new Intl.NumberFormat('en-US', {
824
+ style: 'currency',
825
+ currency: 'USD',
826
+ });
827
+
828
+ const statusColors: Record<AccountStatus, 'success' | 'warning' | 'info' | 'neutral'> = {
829
+ Active: 'success',
830
+ Pending: 'warning',
831
+ Frozen: 'info',
832
+ Closed: 'neutral',
833
+ };
834
+
835
+ const columns: GridColDef<Account>[] = [
836
+ { field: 'id', headerName: 'Account', width: 120 },
837
+ { field: 'name', headerName: 'Name', width: 180 },
838
+ { field: 'type', headerName: 'Type', width: 140 },
839
+ {
840
+ field: 'status',
841
+ headerName: 'Status',
842
+ width: 120,
843
+ renderCell: ({ row }) => (
844
+ <Chip color={statusColors[row.status]} size="small">
845
+ <Chip.Label>{row.status}</Chip.Label>
846
+ </Chip>
847
+ ),
848
+ },
849
+ { field: 'owner', headerName: 'Owner', width: 160 },
850
+ {
851
+ field: 'balance',
852
+ headerName: 'Balance',
853
+ width: 140,
854
+ align: 'end',
855
+ valueFormatter: (_, row) => currencyFormatter.format(row.balance),
856
+ },
857
+ {
858
+ field: 'automation',
859
+ headerName: 'Automated',
860
+ width: 140,
861
+ valueFormatter: (_, row) => `${row.automation.toString()}%`,
862
+ },
863
+ {
864
+ field: 'actions',
865
+ headerName: 'Actions',
866
+ width: 100,
867
+ align: 'center',
868
+ headerAlign: 'center',
869
+ sortable: false,
870
+ filterable: false,
871
+ renderCell: ({ row }) => (
872
+ <Menu placement="bottom-end">
873
+ <Menu.Trigger asChild>
874
+ <IconButton
875
+ as={MoreHoriz}
876
+ variant="ghost"
877
+ size="small"
878
+ accessibilityLabel={`Actions for ${row.name}`}
879
+ />
880
+ </Menu.Trigger>
881
+ <Menu.Popup>
882
+ <Menu.Content accessibilityLabel={`${row.name} actions`}>
883
+ <Menu.Item>
884
+ <Menu.ItemLabel>View account</Menu.ItemLabel>
885
+ </Menu.Item>
886
+ <Menu.Item>
887
+ <Menu.ItemLabel>Assign owner</Menu.ItemLabel>
888
+ </Menu.Item>
889
+ </Menu.Content>
890
+ </Menu.Popup>
891
+ </Menu>
892
+ ),
893
+ },
894
+ ];
895
+
896
+ export default function DataGridColumnPinningDemo() {
897
+ return (
898
+ <DataGrid
899
+ rows={accounts}
900
+ columns={columns}
901
+ pinnedColumns={{ start: ['id'], end: ['actions'] }}
902
+ aria-label="Accounts with pinned columns"
903
+ defaultPaginationModel={{ page: 0, pageSize: 5 }}
904
+ pageSizeOptions={[5, 10, 25]}
905
+ className="h-105"
906
+ />
907
+ );
908
+ }
909
+ ```
910
+
508
911
  ## Server data
509
912
 
510
913
  Set `paginationMode="server"` and `sortingMode="server"` to let your data source own those operations. `filterMode` follows `paginationMode` unless you set it, so server pagination also means server filtering. Keep the models controlled, pass the current page in `rows`, and provide the full `rowCount` of matching rows.
511
914
 
512
- With server filtering, search and header filters no longer filter `rows`. Send `quickFilter` and `filterModel` to your data source instead. Both change on every keystroke, so debounce the request and return to page 0 when the debounced query changes, as this demo does. Passing `filterMode="client"` with server pagination filters only the current page of `rows`.
915
+ With server filtering, search, header filters, and the filter panel no longer filter `rows`. Send `quickFilter`, `filterModel`, and `filterLogicOperator` to your data source instead. Search and header filters change on every keystroke, so debounce the request and return to page 0 when the debounced query changes, as this demo does. Passing `filterMode="client"` with server pagination filters only the current page of `rows`.
513
916
 
514
- `GridFilterItem` will gain an optional `operator` field, defaulting to `'contains'`, in a future minor release. Existing `{ field, value }` items keep working, so server handlers should treat a missing `operator` as `'contains'`.
917
+ A missing `operator` still means contains, so existing `{ field, value }` items keep working. When `operator` is set, `value` is typed: a string, a number, a `Date`, a boolean, a `singleSelect` value, or an array for `isAnyOf`. `filterLogicOperator` is a separate prop and defaults to `and`.
515
918
 
516
919
  ```tsx
517
920
  import { useEffect, useMemo, useState } from 'react';
@@ -702,7 +1105,7 @@ export default function DataGridEmptyDemo() {
702
1105
 
703
1106
  ### DataGrid
704
1107
 
705
- Web-only. Inspired by MUI Data Grid Community props; not a wrap of `@mui/x-data-grid`.
1108
+ Web-only. MUI X–shaped `rows` / `columns` API; not a wrap of `@mui/x-data-grid`.
706
1109
 
707
1110
  | Attribute | Values | Description |
708
1111
  | ----------- | ----------- | ----------- |
@@ -712,24 +1115,26 @@ Web-only. Inspired by MUI Data Grid Community props; not a wrap of `@mui/x-data-
712
1115
 
713
1116
  Column definition. `valueGetter`, `valueFormatter`, and `renderCell` take no `apiRef`.
714
1117
  Use `start`, `center`, or `end` for `align` and `headerAlign`; the legacy `left` and `right`
715
- values are deprecated aliases.
1118
+ values are deprecated aliases. `type` selects built-in alignment, formatting, and client
1119
+ sort. `valueOptions` is required when `type` is `singleSelect`.
716
1120
 
717
1121
  | Prop | Type | Default | Description |
718
1122
  | --- | --- | --- | --- |
719
- | `field` | `string` | — | — |
1123
+ | `field?` | `string` | — | — |
720
1124
  | `headerName?` | `string` | — | — |
721
1125
  | `width?` | `number` | — | — |
722
1126
  | `minWidth?` | `number` | — | — |
723
1127
  | `flex?` | `number` | — | — |
724
- | `align?` | `'start' \| 'center' \| 'end' \| 'left' \| 'right'` | `'start'` | Logical cell-content alignment. `left` and `right` are deprecated compatibility aliases for `start` and `end`. |
725
- | `headerAlign?` | `'start' \| 'center' \| 'end' \| 'left' \| 'right'` | — | Logical header-content alignment. Defaults to `align`. `left` and `right` are deprecated compatibility aliases for `start` and `end`. |
1128
+ | `align?` | `'start' \| 'center' \| 'end' \| 'left' \| 'right'` | — | — |
1129
+ | `headerAlign?` | `'start' \| 'center' \| 'end' \| 'left' \| 'right'` | — | — |
726
1130
  | `sortable?` | `boolean` | — | — |
727
1131
  | `filterable?` | `boolean` | — | — |
728
- | `type?` | `'string'` | — | — |
1132
+ | `type?` | `'string' \| 'number' \| 'boolean' \| 'date' \| 'dateTime' \| 'singleSelect'` | — | — |
729
1133
  | `valueGetter?` | `((value: unknown, row: GridValidRowModel, col: GridColDef<GridValidRowModel>) => unknown)` | — | — |
730
1134
  | `valueFormatter?` | `((value: unknown, row: GridValidRowModel, col: GridColDef<GridValidRowModel>) => ReactNode \| string)` | — | — |
731
1135
  | `renderCell?` | `((params: GridRenderCellParams<GridValidRowModel>) => ReactNode)` | — | — |
732
1136
  | `renderHeader?` | `(() => ReactNode)` | — | — |
1137
+ | `valueOptions?` | `readonly GridValueOption[] \| ((params: { row?: GridValidRowModel; }) => readonly GridValueOption[])` | — | — |
733
1138
 
734
1139
  ## Accessibility
735
1140
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Cross-platform icon library for Forge UI, built on [Material Symbols](https://fonts.google.com/icons) (outlined style, weight 400, optical size 24). Renders via `react-native-svg` and targets iOS, Android, and Web.
4
4
 
5
- 3,991 icons are available, each with outlined and filled variants, plus support for custom
5
+ 3,994 icons are available, each with outlined and filled variants, plus support for custom
6
6
  SVGs. Country flags are a separate set and do not appear in the browser below. Render one with
7
7
  [`CountryFlag`](https://design.candescent.com/docs/components/country-flag/content.md).
8
8
 
package/docs/llms.txt CHANGED
@@ -151,6 +151,7 @@ Links point at each page's `content.md`, which carries the page's prose, demo so
151
151
 
152
152
  ## Release notes
153
153
 
154
+ - [0.3.11](resources/release-notes/0.3.11/content.md): Read-only Input and CurrencyInput stay non-editable on Android instead of accepting edits again.
154
155
  - [0.3.10](resources/release-notes/0.3.10/content.md): CurrencyInput no longer clips the top of default-size amounts on iOS.
155
156
  - [0.3.9](resources/release-notes/0.3.9/content.md): DateRangePicker bottom sheets accept custom snap points, stack behavior, and fill; DataGrid keeps column headers within their bounds.
156
157
  - [0.3.8](resources/release-notes/0.3.8/content.md): Adds CurrencyFlag for ISO 4217 codes, expands CountryFlag to the full flag set including EU, and adds CurrencyInput align.
@@ -0,0 +1,7 @@
1
+ # 0.3.11 (https://design.candescent.com/docs/resources/release-notes/0.3.11)
2
+
3
+ Read-only Input and CurrencyInput stay non-editable on Android instead of accepting edits again.
4
+
5
+ ## Bug fixes
6
+
7
+ **[Input](https://design.candescent.com/docs/components/input/content.md)** — Fields with `readOnly` (including **CurrencyInput**) stay non-editable on Android. Accessibility state no longer re-enables the native view after `readOnly` disables it, matching iOS and web ([#940](https://github.com/dfh-candescent/forge-design-system/pull/940)).
@@ -8,6 +8,7 @@ Notes are generated from the release commit itself, so the versions and commit r
8
8
  each entry are exact. Releases that contained nothing but backlog or dependency bookkeeping
9
9
  are omitted.
10
10
 
11
+ - [0.3.11](https://design.candescent.com/docs/resources/release-notes/0.3.11/content.md) — 2026-10-30 — Read-only Input and CurrencyInput stay non-editable on Android instead of accepting edits again.
11
12
  - [0.3.10](https://design.candescent.com/docs/resources/release-notes/0.3.10/content.md) — 2026-10-30 — CurrencyInput no longer clips the top of default-size amounts on iOS.
12
13
  - [0.3.9](https://design.candescent.com/docs/resources/release-notes/0.3.9/content.md) — 2026-10-29 — DateRangePicker bottom sheets accept custom snap points, stack behavior, and fill; DataGrid keeps column headers within their bounds.
13
14
  - [0.3.8](https://design.candescent.com/docs/resources/release-notes/0.3.8/content.md) — 2026-10-28 — Adds CurrencyFlag for ISO 4217 codes, expands CountryFlag to the full flag set including EU, and adds CurrencyInput align.
@@ -13,6 +13,7 @@ var _Icon = require("../Icon");
13
13
  var _Calendar = require("../Calendar");
14
14
  var _PickerTrigger = require("../picker/PickerTrigger");
15
15
  var _surfaces = require("../picker/surfaces");
16
+ var _styles = require("../picker/styles");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  const DATE_FIELD_SCOPE = 'DATE_FIELD';
18
19
  const DatePickerRoot = /*#__PURE__*/(0, _react.forwardRef)(({
@@ -147,6 +148,7 @@ function DatePickerPopover({
147
148
  registerSurface: ctx.registerSurface,
148
149
  anchorRef: ctx.anchorRef,
149
150
  triggerRef: ctx.triggerRef,
151
+ minWidth: _styles.PICKER_CALENDAR_POPOVER_MIN_WIDTH,
150
152
  className: className,
151
153
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.DatePickerContext.Provider, {
152
154
  value: ctx,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_icons","_primitives","_utils","_Dialog","_Icon","_Calendar","_PickerTrigger","_surfaces","_jsxRuntime","DATE_FIELD_SCOPE","DatePickerRoot","forwardRef","className","children","style","props","ref","parent","useParentContext","ctx","useMemo","variant","size","fullWidth","jsx","ParentContext","Provider","value","cn","mergeDataAttributes","dataAttributes","slot","displayName","DatePickerTrigger","accessibilityLabel","open","setOpen","disabled","triggerRef","labels","useDatePickerContext","PickerTrigger","openDatePicker","DatePickerTriggerIndicator","Icon","as","CalendarToday","DatePickerCalendar","onValueChange","minValue","maxValue","isDateUnavailable","locale","handleValueChange","useCallback","next","Calendar","DatePickerDialog","PickerDialogSurface","registerSurface","Dialog","Popup","DatePickerContext","DatePickerBottomSheet","PickerBottomSheetSurface","DatePickerPopover","PickerPopoverSurface","anchorRef","DatePicker","exports","Object","assign","Trigger","TriggerIndicator","Popover","BottomSheet"],"sourceRoot":"../../../../src","sources":["components/DatePicker/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_icons","_primitives","_utils","_Dialog","_Icon","_Calendar","_PickerTrigger","_surfaces","_styles","_jsxRuntime","DATE_FIELD_SCOPE","DatePickerRoot","forwardRef","className","children","style","props","ref","parent","useParentContext","ctx","useMemo","variant","size","fullWidth","jsx","ParentContext","Provider","value","cn","mergeDataAttributes","dataAttributes","slot","displayName","DatePickerTrigger","accessibilityLabel","open","setOpen","disabled","triggerRef","labels","useDatePickerContext","PickerTrigger","openDatePicker","DatePickerTriggerIndicator","Icon","as","CalendarToday","DatePickerCalendar","onValueChange","minValue","maxValue","isDateUnavailable","locale","handleValueChange","useCallback","next","Calendar","DatePickerDialog","PickerDialogSurface","registerSurface","Dialog","Popup","DatePickerContext","DatePickerBottomSheet","PickerBottomSheetSurface","DatePickerPopover","PickerPopoverSurface","anchorRef","minWidth","PICKER_CALENDAR_POPOVER_MIN_WIDTH","DatePicker","exports","Object","assign","Trigger","TriggerIndicator","Popover","BottomSheet"],"sourceRoot":"../../../../src","sources":["components/DatePicker/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ var _Icon = require("../Icon");
14
14
  var _RangeCalendar = require("../RangeCalendar");
15
15
  var _PickerTrigger = require("../picker/PickerTrigger");
16
16
  var _surfaces = require("../picker/surfaces");
17
+ var _styles = require("../picker/styles");
17
18
  var _jsxRuntime = require("react/jsx-runtime");
18
19
  const DATE_FIELD_SCOPE = 'DATE_FIELD';
19
20
  const DateRangePickerRoot = /*#__PURE__*/(0, _react.forwardRef)(({
@@ -160,6 +161,7 @@ function DateRangePickerPopover({
160
161
  registerSurface: ctx.registerSurface,
161
162
  anchorRef: ctx.anchorRef,
162
163
  triggerRef: ctx.triggerRef,
164
+ minWidth: _styles.PICKER_CALENDAR_POPOVER_MIN_WIDTH,
163
165
  className: className,
164
166
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.DateRangePickerContext.Provider, {
165
167
  value: ctx,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_icons","_primitives","_utils","_Dialog","_Icon","_RangeCalendar","_PickerTrigger","_surfaces","_jsxRuntime","DATE_FIELD_SCOPE","DateRangePickerRoot","forwardRef","className","children","style","props","ref","parent","useParentContext","ctx","useMemo","variant","size","fullWidth","jsx","ParentContext","Provider","value","cn","mergeDataAttributes","dataAttributes","slot","displayName","DateRangePickerTrigger","accessibilityLabel","open","setOpen","disabled","triggerRef","labels","useDateRangePickerContext","PickerTrigger","openDateRangePicker","DateRangePickerTriggerIndicator","Icon","as","CalendarToday","DateRangePickerRangeSeparator","Text","rangeSeparator","DateRangePickerCalendar","startValue","endValue","onRangeChange","focusedField","setFocusedField","locale","RangeCalendar","onFocusedFieldChange","range","startId","endId","DateRangePickerDialog","PickerDialogSurface","registerSurface","Dialog","Popup","DateRangePickerContext","DateRangePickerBottomSheet","sheetProps","PickerBottomSheetSurface","DateRangePickerPopover","PickerPopoverSurface","anchorRef","DateRangePicker","exports","Object","assign","Trigger","TriggerIndicator","RangeSeparator","Calendar","Popover","BottomSheet"],"sourceRoot":"../../../../src","sources":["components/DateRangePicker/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_icons","_primitives","_utils","_Dialog","_Icon","_RangeCalendar","_PickerTrigger","_surfaces","_styles","_jsxRuntime","DATE_FIELD_SCOPE","DateRangePickerRoot","forwardRef","className","children","style","props","ref","parent","useParentContext","ctx","useMemo","variant","size","fullWidth","jsx","ParentContext","Provider","value","cn","mergeDataAttributes","dataAttributes","slot","displayName","DateRangePickerTrigger","accessibilityLabel","open","setOpen","disabled","triggerRef","labels","useDateRangePickerContext","PickerTrigger","openDateRangePicker","DateRangePickerTriggerIndicator","Icon","as","CalendarToday","DateRangePickerRangeSeparator","Text","rangeSeparator","DateRangePickerCalendar","startValue","endValue","onRangeChange","focusedField","setFocusedField","locale","RangeCalendar","onFocusedFieldChange","range","startId","endId","DateRangePickerDialog","PickerDialogSurface","registerSurface","Dialog","Popup","DateRangePickerContext","DateRangePickerBottomSheet","sheetProps","PickerBottomSheetSurface","DateRangePickerPopover","PickerPopoverSurface","anchorRef","minWidth","PICKER_CALENDAR_POPOVER_MIN_WIDTH","DateRangePicker","exports","Object","assign","Trigger","TriggerIndicator","RangeSeparator","Calendar","Popover","BottomSheet"],"sourceRoot":"../../../../src","sources":["components/DateRangePicker/index.tsx"],"mappings":"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","ignoreList":[]}