@telicent-oss/ds 4.3.0 → 4.4.0

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.
package/dist/export.d.ts CHANGED
@@ -6,6 +6,7 @@ import { AccordionProps } from '@mui/material/Accordion';
6
6
  import { AccordionSummaryClasses } from '@mui/material';
7
7
  import { AccordionSummaryProps } from '@mui/material/AccordionSummary';
8
8
  import { AccordionSummaryProps as AccordionSummaryProps_2 } from '@mui/material';
9
+ import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
9
10
  import { default as Alert } from '@mui/material/Alert';
10
11
  import { AlertClasses } from '@mui/material';
11
12
  import { AlertColor } from '@mui/material/Alert';
@@ -67,11 +68,13 @@ import { closeSnackbar } from 'notistack';
67
68
  import { CollapseClasses } from '@mui/material';
68
69
  import { CollapseProps } from '@mui/material';
69
70
  import { CommonProps } from '@mui/material/OverridableComponent';
71
+ import { ComponentProps } from 'react';
70
72
  import { ComponentsProps } from '@mui/material';
71
73
  import { ContainerClasses } from '@mui/material';
72
74
  import { ContainerProps } from '@mui/material';
73
75
  import { Context } from 'react';
74
76
  import { Coordinate } from 'ol/coordinate';
77
+ import { DataGrid as DataGrid_2 } from '@mui/x-data-grid';
75
78
  import { DatePickerProps as DatePickerProps_2 } from '@mui/x-date-pickers/DatePicker';
76
79
  import { DateTimePickerProps as DateTimePickerProps_2 } from '@mui/x-date-pickers/DateTimePicker';
77
80
  import { Dayjs } from 'dayjs';
@@ -130,8 +133,13 @@ import { ForwardRefExoticComponent } from 'react';
130
133
  import type * as GeoJSON_2 from 'geojson';
131
134
  import { Grid2Props } from '@mui/material';
132
135
  import { GridClasses } from '@mui/material';
136
+ import { GridClasses as GridClasses_2 } from '@mui/x-data-grid';
137
+ import { GridColDef } from '@mui/x-data-grid';
133
138
  import { GridProps } from '@mui/material';
134
139
  import { GridProps as GridProps_2 } from '@mui/material/Grid';
140
+ import { GridRenderCellParams } from '@mui/x-data-grid';
141
+ import { GridRowParams } from '@mui/x-data-grid';
142
+ import { GridSortModel } from '@mui/x-data-grid';
135
143
  import { HTMLAttributes } from 'react';
136
144
  import { IconButtonProps } from '@mui/material/IconButton';
137
145
  import { IconButtonTypeMap } from '@mui/material';
@@ -184,6 +192,7 @@ import { ListProps } from '@mui/material';
184
192
  import { ListProps as ListProps_2 } from '@mui/material/List';
185
193
  import { ListSubheaderClasses } from '@mui/material';
186
194
  import { ListSubheaderProps } from '@mui/material';
195
+ import { LocalizationProvider as LocalizationProvider_2 } from '@mui/x-date-pickers/LocalizationProvider';
187
196
  import { LocationOn as LocationOnIcon } from '@telicent-oss/mui-icons-material';
188
197
  import { Map as Map_2 } from 'ol';
189
198
  import { MenuClasses } from '@mui/material';
@@ -224,8 +233,10 @@ import { PropsWithChildren } from 'react';
224
233
  import { QueryClient } from '@tanstack/react-query';
225
234
  import { QueryKey } from '@tanstack/react-query';
226
235
  import { RadioClasses } from '@mui/material';
227
- import { RadioGroupProps } from '@mui/material';
228
- import { RadioProps } from '@mui/material';
236
+ import { RadioGroupProps } from '@mui/material/RadioGroup';
237
+ import { RadioGroupProps as RadioGroupProps_2 } from '@mui/material';
238
+ import { RadioProps as RadioProps_2 } from '@mui/material';
239
+ import { RadioProps as RadioProps_3 } from '@mui/material/Radio';
229
240
  import { RatingClasses } from '@mui/material';
230
241
  import { RatingProps } from '@mui/material';
231
242
  import * as React_2 from 'react';
@@ -283,7 +294,6 @@ import { SwitchProps } from '@mui/material';
283
294
  import { SwitchProps as SwitchProps_3 } from '@mui/material/Switch';
284
295
  import { SxProps } from '@mui/material';
285
296
  import { SxProps as SxProps_2 } from '@mui/material/styles';
286
- import { TabClasses } from '@mui/material';
287
297
  import { TableBodyProps } from '@mui/material/TableBody';
288
298
  import { TableBodyProps as TableBodyProps_2 } from '@mui/material';
289
299
  import { TableCellClasses } from '@mui/material';
@@ -303,8 +313,8 @@ import { TableRowProps } from '@mui/material/TableRow';
303
313
  import { TableRowProps as TableRowProps_2 } from '@mui/material';
304
314
  import { TableSortLabelClasses } from '@mui/material';
305
315
  import { TableSortLabelProps } from '@mui/material';
306
- import { TabProps as TabProps_2 } from '@mui/material';
307
- import { TabProps as TabProps_3 } from '@mui/material/Tab';
316
+ import { TabOwnProps } from '@mui/material';
317
+ import { TabProps as TabProps_2 } from '@mui/material/Tab';
308
318
  import { TabsOwnProps } from '@mui/material';
309
319
  import { TabsProps as TabsProps_2 } from '@mui/material/Tabs';
310
320
  import { TextFieldProps } from '@mui/material';
@@ -312,8 +322,8 @@ import { Theme } from '@mui/material';
312
322
  import { Theme as Theme_2 } from '@mui/material/styles';
313
323
  import { Theme as Theme_3 } from '@emotion/react';
314
324
  import { ToggleButtonClasses } from '@mui/material';
315
- import { ToggleButtonGroupClasses } from '@mui/material';
316
- import { ToggleButtonGroupProps } from '@mui/material';
325
+ import { ToggleButtonGroupProps as ToggleButtonGroupProps_2 } from '@mui/material';
326
+ import { ToggleButtonGroupProps as ToggleButtonGroupProps_3 } from '@mui/material/ToggleButtonGroup';
317
327
  import { ToggleButtonProps } from '@mui/material/ToggleButton';
318
328
  import { ToggleButtonProps as ToggleButtonProps_2 } from '@mui/material';
319
329
  import { ToolbarClasses } from '@mui/material';
@@ -341,6 +351,14 @@ declare type AccessibleName = {
341
351
  "aria-label"?: never;
342
352
  };
343
353
 
354
+ declare type AccessibleName_2 = {
355
+ "aria-label": string;
356
+ "aria-labelledby"?: never;
357
+ } | {
358
+ "aria-labelledby": string;
359
+ "aria-label"?: never;
360
+ };
361
+
344
362
  export declare const Accordion: default_3.FC<AccordionProps>;
345
363
 
346
364
  export declare const AccordionDetails: default_3.FC<AccordionDetailsProps>;
@@ -353,6 +371,8 @@ export declare const AccordionSummary: default_3.FC<AccordionSummaryProps>;
353
371
 
354
372
  export { AccordionSummaryProps }
355
373
 
374
+ export { AdapterDayjs }
375
+
356
376
  export { Alert }
357
377
 
358
378
  export { AlertColor }
@@ -800,6 +820,27 @@ declare interface CustomCheckboxProps extends CheckboxProps {
800
820
  required?: boolean;
801
821
  }
802
822
 
823
+ /**
824
+ * Telicent-themed `DataGrid` — a MUI `x-data-grid` wrapped in a nested
825
+ * `ThemeProvider` that extends the outer DS theme with Telicent's grid
826
+ * styling. Palette-token-driven, so light/dark theme switching Just Works.
827
+ *
828
+ * Telicent defaults baked in: `autoHeight`, `disableColumnResize`,
829
+ * `disableRowSelectionOnClick`, `disableColumnMenu`, `pagination: true`,
830
+ * `pageSizeOptions: [10, 25, 50]`, initial page size 10.
831
+ *
832
+ * When `onRowClick` is set, DS opts row hover (`palette.action.hover`) and
833
+ * the pointer cursor back in — the baked theme suppresses row hover by
834
+ * default so non-interactive grids don't flicker, so interactive grids need
835
+ * the opt-in. Callsite `sx` wins (spread last) if a consumer wants a
836
+ * different hover colour or no hover.
837
+ */
838
+ export declare const DataGrid: FC<DataGridProps>;
839
+
840
+ export declare type DataGridProps = {
841
+ initialSort?: GridSortModel;
842
+ } & ComponentProps<typeof DataGrid_2>;
843
+
803
844
  export declare const DataServiceIcon: default_3.FC<SvgIconProps_2>;
804
845
 
805
846
  export declare const DataSetIcon: default_3.FC<SvgIconProps_2>;
@@ -1119,10 +1160,10 @@ declare const generateComponentOverrides: (uiTheme: UITheme) => {
1119
1160
  };
1120
1161
  MuiMenuItem: {
1121
1162
  styleOverrides: {
1122
- root: ({ theme }: MenuItemOwnProps & Omit<ButtonBaseOwnProps, "classes"> & CommonProps & Omit<DetailedHTMLProps<LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "className" | "style" | "classes" | "children" | "sx" | "autoFocus" | "tabIndex" | "disableGutters" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "dense" | "divider" | "selected"> & {
1163
+ root: ({ theme }: MenuItemOwnProps & Omit<ButtonBaseOwnProps, "classes"> & CommonProps & Omit<DetailedHTMLProps<LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "className" | "style" | "classes" | "children" | "sx" | "autoFocus" | "tabIndex" | "disableGutters" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "selected" | "dense" | "divider"> & {
1123
1164
  component?: ElementType;
1124
1165
  } & Record<string, unknown> & {
1125
- ownerState: MenuItemOwnProps & Omit<ButtonBaseOwnProps, "classes"> & CommonProps & Omit<DetailedHTMLProps<LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "className" | "style" | "classes" | "children" | "sx" | "autoFocus" | "tabIndex" | "disableGutters" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "dense" | "divider" | "selected"> & {
1166
+ ownerState: MenuItemOwnProps & Omit<ButtonBaseOwnProps, "classes"> & CommonProps & Omit<DetailedHTMLProps<LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "className" | "style" | "classes" | "children" | "sx" | "autoFocus" | "tabIndex" | "disableGutters" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "selected" | "dense" | "divider"> & {
1126
1167
  component?: ElementType;
1127
1168
  } & Record<string, unknown>;
1128
1169
  } & {
@@ -1225,6 +1266,64 @@ declare const generateComponentOverrides: (uiTheme: UITheme) => {
1225
1266
  MuiCssBaseline: {
1226
1267
  styleOverrides: (theme: Omit<Theme, "components">) => string;
1227
1268
  };
1269
+ MuiToggleButtonGroup: {
1270
+ styleOverrides: {
1271
+ root: ({ theme }: ToggleButtonGroupProps_2 & Record<string, unknown> & {
1272
+ ownerState: ToggleButtonGroupProps_2 & Record<string, unknown>;
1273
+ } & {
1274
+ theme: Omit<Theme, "components">;
1275
+ }) => {
1276
+ [x: string]: {
1277
+ width: string;
1278
+ border: string;
1279
+ borderRadius: number;
1280
+ backgroundColor: string;
1281
+ padding: string;
1282
+ gap: string;
1283
+ margin?: undefined;
1284
+ minHeight?: undefined;
1285
+ height?: undefined;
1286
+ minWidth?: undefined;
1287
+ textTransform?: undefined;
1288
+ whiteSpace?: undefined;
1289
+ fontSize?: undefined;
1290
+ color?: undefined;
1291
+ "&.Mui-selected, &.Mui-selected:hover"?: undefined;
1292
+ "& .MuiTouchRipple-root"?: undefined;
1293
+ } | {
1294
+ border: number;
1295
+ borderRadius: number;
1296
+ margin: number;
1297
+ minHeight: number;
1298
+ height: number;
1299
+ minWidth: string;
1300
+ padding: string;
1301
+ textTransform: string;
1302
+ whiteSpace: string;
1303
+ fontSize: number;
1304
+ color: string;
1305
+ "&.Mui-selected, &.Mui-selected:hover": {
1306
+ backgroundColor: string;
1307
+ color: string;
1308
+ };
1309
+ "& .MuiTouchRipple-root": {
1310
+ display: string;
1311
+ };
1312
+ width?: undefined;
1313
+ backgroundColor?: undefined;
1314
+ gap?: undefined;
1315
+ };
1316
+ "&.TelicentPillGroup": {
1317
+ width: string;
1318
+ border: string;
1319
+ borderRadius: number;
1320
+ backgroundColor: string;
1321
+ padding: string;
1322
+ gap: string;
1323
+ };
1324
+ };
1325
+ };
1326
+ };
1228
1327
  MuiTabs: {
1229
1328
  styleOverrides: {
1230
1329
  root: ({ theme }: TabsOwnProps & CommonProps & Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "value" | "className" | "style" | "classes" | "children" | "sx" | "variant" | "slots" | "slotProps" | "aria-label" | "aria-labelledby" | "onChange" | "action" | "centered" | "scrollButtons" | "allowScrollButtonsMobile" | "indicatorColor" | "orientation" | "ScrollButtonComponent" | "selectionFollowsFocus" | "TabIndicatorProps" | "TabScrollButtonProps" | "textColor" | "visibleScrollbar"> & {
@@ -1241,6 +1340,52 @@ declare const generateComponentOverrides: (uiTheme: UITheme) => {
1241
1340
  borderBottom: string;
1242
1341
  borderInlineEnd: string;
1243
1342
  };
1343
+ "&.TelicentPillGroup": {
1344
+ width: string;
1345
+ minHeight: string;
1346
+ border: string;
1347
+ borderRadius: number;
1348
+ backgroundColor: string;
1349
+ padding: string;
1350
+ "& .MuiTabs-indicator": {
1351
+ display: string;
1352
+ };
1353
+ "& .MuiTabs-flexContainer": {
1354
+ gap: string;
1355
+ };
1356
+ };
1357
+ };
1358
+ };
1359
+ };
1360
+ MuiTab: {
1361
+ styleOverrides: {
1362
+ root: ({ theme }: TabOwnProps & Omit<ButtonBaseOwnProps, "classes"> & CommonProps & Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "value" | "disabled" | "className" | "style" | "classes" | "children" | "sx" | "label" | "tabIndex" | "icon" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "wrapped" | "iconPosition"> & {
1363
+ component?: ElementType;
1364
+ } & Record<string, unknown> & {
1365
+ ownerState: TabOwnProps & Omit<ButtonBaseOwnProps, "classes"> & CommonProps & Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "value" | "disabled" | "className" | "style" | "classes" | "children" | "sx" | "label" | "tabIndex" | "icon" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "wrapped" | "iconPosition"> & {
1366
+ component?: ElementType;
1367
+ } & Record<string, unknown>;
1368
+ } & {
1369
+ theme: Omit<Theme, "components">;
1370
+ }) => {
1371
+ ".TelicentPillGroup &": {
1372
+ minHeight: number;
1373
+ height: number;
1374
+ minWidth: string;
1375
+ padding: string;
1376
+ textTransform: string;
1377
+ borderRadius: number;
1378
+ whiteSpace: string;
1379
+ fontSize: number;
1380
+ color: string;
1381
+ "&.Mui-selected": {
1382
+ backgroundColor: string;
1383
+ color: string;
1384
+ };
1385
+ "& .MuiTouchRipple-root": {
1386
+ display: string;
1387
+ };
1388
+ };
1244
1389
  };
1245
1390
  };
1246
1391
  };
@@ -2155,8 +2300,8 @@ declare const generateComponentOverrides: (uiTheme: UITheme) => {
2155
2300
  defaultProps?: ComponentsProps["MuiRadio"];
2156
2301
  styleOverrides?: Partial<OverridesStyleRules<keyof RadioClasses, "MuiRadio", Omit<Theme, "components">>> | undefined;
2157
2302
  variants?: {
2158
- props: Partial<RadioProps> | ((props: Partial<RadioProps> & {
2159
- ownerState: Partial<RadioProps>;
2303
+ props: Partial<RadioProps_2> | ((props: Partial<RadioProps_2> & {
2304
+ ownerState: Partial<RadioProps_2>;
2160
2305
  }) => boolean);
2161
2306
  style: Interpolation< {
2162
2307
  theme: Omit<Theme, "components">;
@@ -2167,8 +2312,8 @@ declare const generateComponentOverrides: (uiTheme: UITheme) => {
2167
2312
  defaultProps?: ComponentsProps["MuiRadioGroup"];
2168
2313
  styleOverrides?: Partial<OverridesStyleRules<keyof FormGroupClasses, "MuiRadioGroup", Omit<Theme, "components">>> | undefined;
2169
2314
  variants?: {
2170
- props: Partial<RadioGroupProps> | ((props: Partial<RadioGroupProps> & {
2171
- ownerState: Partial<RadioGroupProps>;
2315
+ props: Partial<RadioGroupProps_2> | ((props: Partial<RadioGroupProps_2> & {
2316
+ ownerState: Partial<RadioGroupProps_2>;
2172
2317
  }) => boolean);
2173
2318
  style: Interpolation< {
2174
2319
  theme: Omit<Theme, "components">;
@@ -2405,7 +2550,7 @@ declare const generateComponentOverrides: (uiTheme: UITheme) => {
2405
2550
  } | undefined;
2406
2551
  MuiSwipeableDrawer?: {
2407
2552
  defaultProps?: ComponentsProps["MuiSwipeableDrawer"];
2408
- };
2553
+ } | undefined;
2409
2554
  MuiSwitch?: {
2410
2555
  defaultProps?: ComponentsProps["MuiSwitch"];
2411
2556
  styleOverrides?: Partial<OverridesStyleRules<keyof SwitchClasses, "MuiSwitch", Omit<Theme, "components">>> | undefined;
@@ -2418,18 +2563,6 @@ declare const generateComponentOverrides: (uiTheme: UITheme) => {
2418
2563
  }>;
2419
2564
  }[] | undefined;
2420
2565
  } | undefined;
2421
- MuiTab?: {
2422
- defaultProps?: ComponentsProps["MuiTab"];
2423
- styleOverrides?: Partial<OverridesStyleRules<keyof TabClasses, "MuiTab", Omit<Theme, "components">>> | undefined;
2424
- variants?: {
2425
- props: Partial<TabProps_2> | ((props: Partial<TabProps_2> & {
2426
- ownerState: Partial<TabProps_2>;
2427
- }) => boolean);
2428
- style: Interpolation< {
2429
- theme: Omit<Theme, "components">;
2430
- }>;
2431
- }[] | undefined;
2432
- } | undefined;
2433
2566
  MuiTable?: {
2434
2567
  defaultProps?: ComponentsProps["MuiTable"];
2435
2568
  styleOverrides?: Partial<OverridesStyleRules<keyof TableClasses, "MuiTable", Omit<Theme, "components">>> | undefined;
@@ -2562,18 +2695,6 @@ declare const generateComponentOverrides: (uiTheme: UITheme) => {
2562
2695
  }>;
2563
2696
  }[] | undefined;
2564
2697
  } | undefined;
2565
- MuiToggleButtonGroup?: {
2566
- defaultProps?: ComponentsProps["MuiToggleButtonGroup"];
2567
- styleOverrides?: Partial<OverridesStyleRules<keyof ToggleButtonGroupClasses, "MuiToggleButtonGroup", Omit<Theme, "components">>> | undefined;
2568
- variants?: {
2569
- props: Partial<ToggleButtonGroupProps> | ((props: Partial<ToggleButtonGroupProps> & {
2570
- ownerState: Partial<ToggleButtonGroupProps>;
2571
- }) => boolean);
2572
- style: Interpolation< {
2573
- theme: Omit<Theme, "components">;
2574
- }>;
2575
- }[] | undefined;
2576
- } | undefined;
2577
2698
  MuiToolbar?: {
2578
2699
  defaultProps?: ComponentsProps["MuiToolbar"];
2579
2700
  styleOverrides?: Partial<OverridesStyleRules<keyof ToolbarClasses, "MuiToolbar", Omit<Theme, "components">>> | undefined;
@@ -2624,7 +2745,11 @@ declare const generateComponentOverrides: (uiTheme: UITheme) => {
2624
2745
  } | undefined;
2625
2746
  MuiUseMediaQuery?: {
2626
2747
  defaultProps?: ComponentsProps["MuiUseMediaQuery"];
2627
- };
2748
+ } | undefined;
2749
+ MuiDataGrid?: {
2750
+ defaultProps?: ComponentsProps["MuiDataGrid"];
2751
+ styleOverrides?: Partial<OverridesStyleRules<keyof GridClasses_2, "MuiDataGrid", Omit<Theme, "components">>> | undefined;
2752
+ } | undefined;
2628
2753
  };
2629
2754
 
2630
2755
  export declare const getCodec: (mode?: ENCODE_SEARCH_PARAMS_MODES_Type) => Codec;
@@ -2637,8 +2762,16 @@ export declare const GRAPH_APP: {
2637
2762
  };
2638
2763
  };
2639
2764
 
2765
+ export { GridColDef }
2766
+
2640
2767
  export declare const GridIcon: default_3.FC<SvgIconProps>;
2641
2768
 
2769
+ export { GridRenderCellParams }
2770
+
2771
+ export { GridRowParams }
2772
+
2773
+ export { GridSortModel }
2774
+
2642
2775
  export declare const H1: default_3.FC<HeadingProps>;
2643
2776
 
2644
2777
  export declare const H2: default_3.FC<HeadingProps>;
@@ -2771,6 +2904,12 @@ export declare const ListItemText: default_3.FC<ListItemTextProps_2>;
2771
2904
  declare interface ListItemTextProps_2 extends Omit<ListItemTextProps_3, "primaryTypographyProps" | "secondaryTypographyProps" | "sx"> {
2772
2905
  }
2773
2906
 
2907
+ export declare const LocalizationProvider: default_3.FC<LocalizationProviderProps>;
2908
+
2909
+ export declare type LocalizationProviderProps = Omit<MuiProps, "dateAdapter"> & {
2910
+ dateAdapter?: MuiProps["dateAdapter"];
2911
+ };
2912
+
2774
2913
  export { LocationOnIcon }
2775
2914
 
2776
2915
  /**
@@ -3031,6 +3170,8 @@ declare type MUIAutocompleteProps<Option> = AutocompleteProps<Option, false, fal
3031
3170
 
3032
3171
  declare type MuiMultiplePassthrough = Omit<AutocompleteProps_2<Option_2, true, false, false>, "options" | "value" | "onChange" | "renderInput" | "multiple" | "disabled" | "size">;
3033
3172
 
3173
+ declare type MuiProps = ComponentProps<typeof LocalizationProvider_2>;
3174
+
3034
3175
  declare type MuiSinglePassthrough = Omit<AutocompleteProps_2<Option_2, false, false, false>, "options" | "value" | "onChange" | "renderInput" | "multiple" | "disabled" | "size">;
3035
3176
 
3036
3177
  declare type MultipleAutoCompleteProps = MultipleProps & MuiMultiplePassthrough;
@@ -3254,6 +3395,17 @@ declare interface ProgressProps extends Omit<CircularProgressProps_2, "classes"
3254
3395
 
3255
3396
  export declare const QuestionIcon: default_3.FC<SvgIconProps>;
3256
3397
 
3398
+ export declare const Radio: ForwardRefExoticComponent<Omit<RadioProps, "ref"> & RefAttributes<HTMLButtonElement>>;
3399
+
3400
+ export declare const RadioGroup: default_3.FC<RadioGroupProps>;
3401
+
3402
+ export { RadioGroupProps }
3403
+
3404
+ export declare type RadioProps = Omit<RadioProps_3, "color"> & {
3405
+ label?: React.ReactNode;
3406
+ labelPlacement?: "end" | "start" | "top" | "bottom";
3407
+ };
3408
+
3257
3409
  export declare const RecentSearches: default_3.FC<RecentSearchProps>;
3258
3410
 
3259
3411
  declare type RecentSearchProps = Partial<{
@@ -3753,7 +3905,7 @@ export declare type TabPanelProps = Omit<default_3.HTMLAttributes<HTMLDivElement
3753
3905
  keepMounted?: boolean;
3754
3906
  };
3755
3907
 
3756
- export declare type TabProps = Omit<TabProps_3, "value"> & {
3908
+ export declare type TabProps = Omit<TabProps_2, "value"> & {
3757
3909
  /**
3758
3910
  * Required, where MUI falls back to the child's index, and narrowed to
3759
3911
  * `string | number` because it becomes part of a DOM id.
@@ -3771,6 +3923,15 @@ export declare const Tabs: default_3.ForwardRefExoticComponent<(Omit<Omit<TabsPr
3771
3923
  * page, and repeated on this group's `TabPanel`s.
3772
3924
  */
3773
3925
  idPrefix: string;
3926
+ /**
3927
+ * Render as a pill group: a bordered well hugging its tabs, the
3928
+ * selected tab filled, and no underline indicator.
3929
+ *
3930
+ * A boolean rather than a `variant` value — MUI's `Tabs` already owns
3931
+ * `variant` for `standard | scrollable | fullWidth`, and MUI v5's
3932
+ * theme `variants` support does not cover `MuiTabs`.
3933
+ */
3934
+ pill?: boolean;
3774
3935
  }, "ref"> | Omit<Omit<TabsProps_2, "aria-label" | "aria-labelledby"> & {
3775
3936
  "aria-labelledby": string;
3776
3937
  "aria-label"?: never;
@@ -3781,15 +3942,33 @@ export declare const Tabs: default_3.ForwardRefExoticComponent<(Omit<Omit<TabsPr
3781
3942
  * page, and repeated on this group's `TabPanel`s.
3782
3943
  */
3783
3944
  idPrefix: string;
3945
+ /**
3946
+ * Render as a pill group: a bordered well hugging its tabs, the
3947
+ * selected tab filled, and no underline indicator.
3948
+ *
3949
+ * A boolean rather than a `variant` value — MUI's `Tabs` already owns
3950
+ * `variant` for `standard | scrollable | fullWidth`, and MUI v5's
3951
+ * theme `variants` support does not cover `MuiTabs`.
3952
+ */
3953
+ pill?: boolean;
3784
3954
  }, "ref">) & default_3.RefAttributes<HTMLDivElement>>;
3785
3955
 
3786
- export declare type TabsProps = Omit<TabsProps_2, "aria-label" | "aria-labelledby"> & AccessibleName & {
3956
+ export declare type TabsProps = Omit<TabsProps_2, "aria-label" | "aria-labelledby"> & AccessibleName_2 & {
3787
3957
  /**
3788
3958
  * Namespace for the `id` / `aria-controls` / `aria-labelledby` triple the
3789
3959
  * DS wires between each `Tab` and its `TabPanel`. Unique per tab set on the
3790
3960
  * page, and repeated on this group's `TabPanel`s.
3791
3961
  */
3792
3962
  idPrefix: string;
3963
+ /**
3964
+ * Render as a pill group: a bordered well hugging its tabs, the
3965
+ * selected tab filled, and no underline indicator.
3966
+ *
3967
+ * A boolean rather than a `variant` value — MUI's `Tabs` already owns
3968
+ * `variant` for `standard | scrollable | fullWidth`, and MUI v5's
3969
+ * theme `variants` support does not cover `MuiTabs`.
3970
+ */
3971
+ pill?: boolean;
3793
3972
  };
3794
3973
 
3795
3974
  declare type TabValue = string | number;
@@ -3858,6 +4037,37 @@ declare interface TitleAndContentProps {
3858
4037
 
3859
4038
  export declare const ToggleButton: default_3.FC<ToggleButtonProps>;
3860
4039
 
4040
+ export declare const ToggleButtonGroup: default_3.ForwardRefExoticComponent<(Omit<Omit<ToggleButtonGroupProps_3, "aria-label" | "aria-labelledby"> & {
4041
+ "aria-label": string;
4042
+ "aria-labelledby"?: never;
4043
+ } & {
4044
+ /**
4045
+ * Render as a pill group: a bordered well hugging its buttons, with
4046
+ * the selected one filled. Without it the group renders MUI's
4047
+ * default squared-off segments.
4048
+ */
4049
+ pill?: boolean;
4050
+ }, "ref"> | Omit<Omit<ToggleButtonGroupProps_3, "aria-label" | "aria-labelledby"> & {
4051
+ "aria-labelledby": string;
4052
+ "aria-label"?: never;
4053
+ } & {
4054
+ /**
4055
+ * Render as a pill group: a bordered well hugging its buttons, with
4056
+ * the selected one filled. Without it the group renders MUI's
4057
+ * default squared-off segments.
4058
+ */
4059
+ pill?: boolean;
4060
+ }, "ref">) & default_3.RefAttributes<HTMLDivElement>>;
4061
+
4062
+ export declare type ToggleButtonGroupProps = Omit<ToggleButtonGroupProps_3, "aria-label" | "aria-labelledby"> & AccessibleName & {
4063
+ /**
4064
+ * Render as a pill group: a bordered well hugging its buttons, with
4065
+ * the selected one filled. Without it the group renders MUI's
4066
+ * default squared-off segments.
4067
+ */
4068
+ pill?: boolean;
4069
+ };
4070
+
3861
4071
  export { ToggleButtonProps }
3862
4072
 
3863
4073
  export declare type ToggleFn = (id: string) => void;
package/dist/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # Telicent DS Component Manifest
2
2
 
3
- **VERSION:** This file documents @telicent-oss/ds v4.3.0. It shipped inside that package, so it matches the version installed in your project. If that package was built locally rather than installed from npm, the code may be newer than v4.3.0.
3
+ **VERSION:** This file documents @telicent-oss/ds v4.4.0. It shipped inside that package, so it matches the version installed in your project. If that package was built locally rather than installed from npm, the code may be newer than v4.4.0.
4
4
 
5
5
  > `@telicent-oss/ds` is Telicent's MUI-based React component library. This file is the complete, self-contained reference: setup, theming, every exported component, and copy-paste recipes. An agent that fetches it has what it needs to build a Telicent app UI without reading the source.
6
6
 
@@ -310,12 +310,13 @@ Usage: https://github.com/telicent-oss/telicent-ds/blob/main/src/components/surf
310
310
  Demonstrated states:
311
311
  - Example
312
312
 
313
- * **`Tabs` / `Tab` / `TabPanel`**: Switch between views of the same region. Give `Tabs` an `idPrefix` and an accessible name (the type requires one of `aria-label` / `aria-labelledby`), give each `Tab` an explicit `value`, and repeat the same `idPrefix` on each `TabPanel` — the DS derives every `id`, `aria-controls`, and `aria-labelledby` from those two things, so there is no `a11yProps` helper to write. Panels unmount their children when hidden; pass `keepMounted` to preserve form state across switches. The divider under the tab bar comes from the theme — do not wrap `Tabs` in a bordered `Box`. Padding inside a panel is yours to set.
313
+ * **`Tabs` / `Tab` / `TabPanel`**: Switch between views of the same region. Give `Tabs` an `idPrefix` and an accessible name (the type requires one of `aria-label` / `aria-labelledby`), give each `Tab` an explicit `value`, and repeat the same `idPrefix` on each `TabPanel` — the DS derives every `id`, `aria-controls`, and `aria-labelledby` from those two things, so there is no `a11yProps` helper to write. Panels unmount their children when hidden; pass `keepMounted` to preserve form state across switches. The divider under the tab bar comes from the theme — do not wrap `Tabs` in a bordered `Box`. Padding inside a panel is yours to set. Pass `pill` for the Telicent pill treatment (same shape as `ToggleButtonGroup`'s pill); the tablist role, roving tabindex and derived ids are unchanged.
314
314
  ```yaml
315
315
  Tabs:
316
316
  'aria-label': {type: 'string', required: false}
317
317
  'aria-labelledby': {type: 'string', required: false}
318
318
  idPrefix: {type: 'string', required: true}
319
+ pill: {type: 'boolean', required: false}
319
320
  ```
320
321
  ```yaml
321
322
  Tab:
@@ -338,6 +339,7 @@ Demonstrated states:
338
339
  - Scrollable
339
340
  - WithIcons
340
341
  - KeepMounted
342
+ - Pill
341
343
 
342
344
  ## 3. Inputs & Forms
343
345
  *Use these instead of standard `<input>`, `<select>`, or `<textarea>` tags. Ensure accessibility labels are passed.*
@@ -514,6 +516,41 @@ Demonstrated states:
514
516
  - Required — checked=false, id="switch-required", label="Required setting", required=true
515
517
  - NoLabel — checked=true, id="switch-no-label"
516
518
  - ExampleWithOnChange — disabled=false
519
+ * **`Radio` / `RadioGroup`**: Mutually-exclusive choice between several options (wraps MUI Radio / RadioGroup). `label` on `Radio` collapses the `FormControlLabel` wrap; `color="primary"` is baked (not overridable). Use `RadioGroup` with `value`/`onChange` to own the selection; use standalone `Radio` only when a `Switch` would be semantically wrong.
520
+ ```yaml
521
+ Radio:
522
+ label: {type: 'React.ReactNode', required: false}
523
+ labelPlacement: {type: '"bottom" | "top" | "end" | "start"', required: false}
524
+ ```
525
+ Live: https://telicent-oss.github.io/telicent-ds/?path=/docs/inputs-radio--docs
526
+ Usage: https://github.com/telicent-oss/telicent-ds/blob/main/src/components/inputs/Radio/Radio.stories.tsx
527
+
528
+ Demonstrated states:
529
+ - Default — id="radio-default", value="option-a"
530
+ - WithLabel — id="radio-with-label", value="option-a", label="Full backup", defaultChecked=true
531
+ - Disabled — id="radio-disabled", value="option-a", label="Not available", disabled=true
532
+ - InsideRadioGroup
533
+ Live: https://telicent-oss.github.io/telicent-ds/?path=/docs/inputs-radiogroup--docs
534
+ Usage: https://github.com/telicent-oss/telicent-ds/blob/main/src/components/inputs/RadioGroup/RadioGroup.stories.tsx
535
+
536
+ Demonstrated states:
537
+ - Column
538
+ - Row
539
+ * **`ToggleButtonGroup`**: Use for a small set of mutually exclusive views or modes where both options should stay visible. Pass `pill` for the Telicent pill treatment. Reach for `Tabs` instead when the buttons select a panel.
540
+ ```yaml
541
+ ToggleButtonGroup:
542
+ 'aria-label': {type: 'string', required: false}
543
+ 'aria-labelledby': {type: 'string', required: false}
544
+ pill: {type: 'boolean', required: false}
545
+ ```
546
+ Live: https://telicent-oss.github.io/telicent-ds/?path=/docs/inputs-togglebuttongroup--docs
547
+ Usage: https://github.com/telicent-oss/telicent-ds/blob/main/src/components/inputs/ToggleButtonGroup/ToggleButtonGroup.stories.tsx
548
+
549
+ Demonstrated states:
550
+ - Pill
551
+ - Default
552
+ - WithLabelledBy
553
+ - DeselectHazard
517
554
  * **`DatePicker` / `DateTimePicker`**: Use for any temporal inputs.
518
555
  ```yaml
519
556
  DatePicker:
@@ -522,10 +559,10 @@ DatePicker:
522
559
  fullWidth: {type: 'boolean', required: false}
523
560
  helperText: {type: 'string', required: false}
524
561
  label: {type: 'ReactNode & string', required: false}
525
- maxDate: {type: 'PickerValidDate', required: false}
526
- minDate: {type: 'PickerValidDate', required: false}
562
+ maxDate: {type: 'Dayjs', required: false}
563
+ minDate: {type: 'Dayjs', required: false}
527
564
  textFieldProps: {type: 'TextFieldProps', required: false}
528
- value: {type: 'Dayjs | null', required: true}
565
+ value: {type: 'Dayjs', required: true}
529
566
  ```
530
567
  ```yaml
531
568
  DateTimePicker:
@@ -533,8 +570,8 @@ DateTimePicker:
533
570
  errorMsg: {type: 'string', required: false}
534
571
  fullWidth: {type: 'boolean', required: false}
535
572
  helperText: {type: 'string', required: false}
536
- maxDateTime: {type: 'PickerValidDate', required: false}
537
- minDateTime: {type: 'PickerValidDate', required: false}
573
+ maxDateTime: {type: 'Dayjs', required: false}
574
+ minDateTime: {type: 'Dayjs', required: false}
538
575
  textFieldProps: {type: 'TextFieldProps', required: false}
539
576
  ```
540
577
  Live: https://telicent-oss.github.io/telicent-ds/?path=/docs/inputs-datepicker--docs
@@ -551,6 +588,16 @@ Demonstrated states:
551
588
  - Default — label="Pick date & time"
552
589
  - ErrorState — label="Required field", error=true, errorMsg="Something went wrong", helperText="Date and time are required"
553
590
  - WithDateRestrictions — label="Restricted time range", helperText="Only available within the next 48 hours"
591
+ * **`LocalizationProvider` / `AdapterDayjs`**: Root-level provider for `DatePicker` / `DateTimePicker`. Mount once at the app root — the dayjs adapter is pre-wired, so a bare `<LocalizationProvider>` is enough. `AdapterDayjs` is re-exported for apps that want to pass it explicitly or use it outside the provider.
592
+ ```yaml
593
+ LocalizationProvider:
594
+ dateAdapter: {type: 'new (...args: any) => MuiPickersAdapter<unknown>', required: false}
595
+ ```
596
+ Live: https://telicent-oss.github.io/telicent-ds/?path=/docs/inputs-localizationprovider--docs
597
+ Usage: https://github.com/telicent-oss/telicent-ds/blob/main/src/components/inputs/LocalizationProvider/LocalizationProvider.stories.tsx
598
+
599
+ Demonstrated states:
600
+ - WrappingADatePicker
554
601
 
555
602
  ## 4. Data Display & Typography
556
603
  *Use these to render text and structured data.*
@@ -610,6 +657,21 @@ Demonstrated states:
610
657
  - Outlined — variant="outlined"
611
658
  - ClickableChips
612
659
  - DeletableChips
660
+ * **`DataGrid`**: Tabular data with pagination, sorting, and themed styling (wraps MUI X `DataGrid`). DS bakes `autoHeight`, `disableColumnResize`, `disableRowSelectionOnClick`, `disableColumnMenu`, `pagination`, `pageSizeOptions=[10, 25, 50]`, and initial `pageSize=10`. Row hover is suppressed by default; when `onRowClick` is set, the DS auto-opts `cursor: "pointer"` + `palette.action.hover` back in so interactive grids read as interactive with zero `sx` at the callsite. A nested `ThemeProvider` scopes the palette-driven grid overrides so Paper / MenuItem / IconButton / TablePagination styling inside the grid doesn't leak globally. DS re-exports `GridColDef`, `GridRenderCellParams`, `GridRowParams`, `GridSortModel`. `initialSort` is a DS convenience prop that maps to `initialState.sorting.sortModel`.
661
+ ```yaml
662
+ DataGrid:
663
+ initialSort: {type: 'GridSortModel', required: false}
664
+ ```
665
+ Live: https://telicent-oss.github.io/telicent-ds/?path=/docs/data-display-datagrid--docs
666
+ Usage: https://github.com/telicent-oss/telicent-ds/blob/main/src/components/data-display/DataGrid/DataGrid.stories.tsx
667
+
668
+ Demonstrated states:
669
+ - Default — columns=basicColumns
670
+ - WithInitialSort — columns=basicColumns, initialSort=[…]
671
+ - WithCustomCellRenderer
672
+ - ClickableRows
673
+ - Loading — columns=basicColumns, loading=true
674
+ - Empty — rows=[…], columns=basicColumns
613
675
  * **`Divider`**: Use to separate content sections instead of `<hr>`.
614
676
  Live: https://telicent-oss.github.io/telicent-ds/?path=/docs/data-display-divider--docs
615
677
  Usage: https://github.com/telicent-oss/telicent-ds/blob/main/src/components/data-display/Divider/Divider.stories.tsx
@@ -944,4 +1006,4 @@ ThemeSwitchRow:
944
1006
  - Live examples (Storybook): https://telicent-oss.github.io/telicent-ds/
945
1007
  - Source and issues: https://github.com/telicent-oss/telicent-ds
946
1008
 
947
- This reference documents @telicent-oss/ds v4.3.0.
1009
+ This reference documents @telicent-oss/ds v4.4.0.