@bsol-oss/react-datatable5 13.0.1-beta.16 → 13.0.1-beta.18

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/README.md CHANGED
@@ -1,263 +1,3 @@
1
1
  # @bsol-oss/react-datatable5
2
2
 
3
3
  A powerful React component library built on top of `@tanstack/react-table` and `@chakra-ui/react` v3 that provides advanced data table and form components with built-in filtering, sorting, pagination, and JSON Schema validation.
4
-
5
- ## Features
6
-
7
- ### 📊 DataTable Components
8
-
9
- - **Client-side DataTable**: Full-featured table with local state management
10
- - **Server-side DataTable**: API-integrated table with automatic data fetching
11
- - Advanced filtering (text, range, select, tag, boolean, dateRange, custom)
12
- - Column sorting and reordering
13
- - Pagination and row selection
14
- - Responsive design with mobile-friendly card views
15
- - Density controls and column visibility
16
- - Customizable display components
17
-
18
- ### 📝 Form Components
19
-
20
- - **JSON Schema-based forms**: Auto-generate forms from JSON Schema
21
- - **AJV validation**: Full Draft 7 JSON Schema validation support
22
- - Multi-language validation support (en, zh-HK, zh-TW, zh-CN)
23
- - Custom error messages via schema configuration
24
- - Field types: String, Number, Boolean, Date, DateTime, Enum, ID Picker, Tag, File
25
- - Read-only form viewers
26
- - Built-in form state management with `react-hook-form`
27
-
28
- ### 📅 Date & Time Pickers
29
-
30
- - Custom date/time picker components
31
- - Built-in calendar implementation (no external dependencies)
32
- - `dayjs` integration for date formatting and manipulation
33
- - Timezone support (default: Asia/Hong_Kong)
34
-
35
- ## Installation
36
-
37
- ```bash
38
- npm install @bsol-oss/react-datatable5
39
- ```
40
-
41
- ### Peer Dependencies
42
-
43
- This library requires the following peer dependencies to be installed in your project:
44
-
45
- ```bash
46
- npm install react@^19.0.0 react-dom@^19.0.0
47
- npm install @chakra-ui/react@^3.19.1
48
- npm install @tanstack/react-table@^8.21.2
49
- npm install @tanstack/react-query@^5.66.9
50
- npm install react-hook-form@^7.54.2
51
- npm install ajv@^8.12.0 ajv-formats@^3.0.1 ajv-errors@^3.0.0
52
- npm install dayjs@^1.11.13
53
- npm install react-icons@^5.4.0
54
- npm install axios@^1.13.2
55
- ```
56
-
57
- See `package.json` for the complete list of peer dependencies.
58
-
59
- ## Quick Start
60
-
61
- ### Client-side DataTable
62
-
63
- ```tsx
64
- import {
65
- useDataTable,
66
- DataTable,
67
- DefaultTable,
68
- } from '@bsol-oss/react-datatable5';
69
-
70
- const columns = [
71
- {
72
- accessorKey: 'name',
73
- header: 'Name',
74
- },
75
- {
76
- accessorKey: 'email',
77
- header: 'Email',
78
- },
79
- ];
80
-
81
- const data = [
82
- { name: 'John Doe', email: 'john@example.com' },
83
- { name: 'Jane Smith', email: 'jane@example.com' },
84
- ];
85
-
86
- function MyTable() {
87
- const datatable = useDataTable({
88
- default: {
89
- pageSize: 20,
90
- sorting: [{ id: 'name', desc: false }],
91
- },
92
- });
93
-
94
- return (
95
- <DataTable columns={columns} data={data} {...datatable}>
96
- <DefaultTable />
97
- </DataTable>
98
- );
99
- }
100
- ```
101
-
102
- ### Server-side DataTable
103
-
104
- ```tsx
105
- import {
106
- useDataTableServer,
107
- DataTableServer,
108
- DefaultTable,
109
- Pagination,
110
- } from '@bsol-oss/react-datatable5';
111
-
112
- function MyServerTable() {
113
- const datatable = useDataTableServer({
114
- url: 'https://api.example.com/data',
115
- default: { pageSize: 10 },
116
- });
117
-
118
- return (
119
- <DataTableServer columns={columns} {...datatable}>
120
- <DefaultTable />
121
- <Pagination />
122
- </DataTableServer>
123
- );
124
- }
125
- ```
126
-
127
- ### Form with JSON Schema
128
-
129
- ```tsx
130
- import { FormRoot, FormBody } from '@bsol-oss/react-datatable5';
131
-
132
- const schema = {
133
- type: 'object',
134
- required: ['username', 'email'],
135
- properties: {
136
- username: {
137
- type: 'string',
138
- minLength: 3,
139
- errorMessages: {
140
- required: 'Username is required',
141
- minLength: 'Username must be at least 3 characters',
142
- },
143
- },
144
- email: {
145
- type: 'string',
146
- format: 'email',
147
- errorMessages: {
148
- required: 'Email is required',
149
- format: 'Invalid email format',
150
- },
151
- },
152
- },
153
- };
154
-
155
- function MyForm() {
156
- return (
157
- <FormRoot
158
- schema={schema}
159
- validationLocale="en"
160
- onSubmit={async (data) => {
161
- console.log('Submitted:', data);
162
- }}
163
- >
164
- <FormBody />
165
- </FormRoot>
166
- );
167
- }
168
- ```
169
-
170
- ## Documentation
171
-
172
- - [Server-side DataTable Usage](./docs/DATATABLE_SERVER_USAGE.md)
173
- - [ID Picker Guide](./docs/IDPICKER_GUIDE.md)
174
- - [Enum Picker Translation](./docs/ENUMPICKER_TRANSLATION.md)
175
- - [i18n Migration Guide](./docs/I18N_MIGRATION_GUIDE.md)
176
- - [Validation Guide](./VALIDATION_GUIDE.md)
177
- - [Deployment Guide](./docs/deployment.md)
178
-
179
- ## Development
180
-
181
- ### Storybook
182
-
183
- View interactive examples and component documentation:
184
-
185
- ```bash
186
- npm run storybook
187
- ```
188
-
189
- Stories are organized by feature:
190
-
191
- - `DataTable/` - Client-side table examples
192
- - `DataTableServer/` - Server-side table examples
193
- - `Form/` - Form component examples
194
- - `DatePicker/` - Date/time picker examples
195
-
196
- ### Build
197
-
198
- ```bash
199
- npm run build
200
- ```
201
-
202
- ### Lint
203
-
204
- ```bash
205
- npm run lint
206
- ```
207
-
208
- ### Format
209
-
210
- ```bash
211
- npm run format
212
- ```
213
-
214
- ## Key Features
215
-
216
- ### Column Customization
217
-
218
- Define custom filters and display options in column metadata:
219
-
220
- ```tsx
221
- {
222
- id: 'status',
223
- meta: {
224
- displayName: 'Status',
225
- filterVariant: 'select',
226
- filterOptions: [
227
- { label: 'Active', value: 'active' },
228
- { label: 'Inactive', value: 'inactive' }
229
- ]
230
- }
231
- }
232
- ```
233
-
234
- ### Label Objects
235
-
236
- Components use label objects from schema context for internationalization:
237
-
238
- ```tsx
239
- <FormRoot
240
- schema={schema}
241
- idPickerLabels={{
242
- typeToSearch: 'Type to search...',
243
- total: 'Total',
244
- // ... other labels
245
- }}
246
- >
247
- <FormBody />
248
- </FormRoot>
249
- ```
250
-
251
- ## Requirements
252
-
253
- - React 19+
254
- - @chakra-ui/react 3.19+
255
- - TypeScript (for type definitions)
256
-
257
- ## License
258
-
259
- MIT
260
-
261
- ## Repository
262
-
263
- [GitHub](https://github.com/bsol-oss/react-datatable5)
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ import { JSONSchema7 } from 'json-schema';
11
11
  import { ForeignKeyProps as ForeignKeyProps$1 } from '@/components/Form/components/fields/StringInputField';
12
12
  import { AxiosRequestConfig } from 'axios';
13
13
  import * as react_hook_form from 'react-hook-form';
14
- import { FieldValues, UseFormReturn, SubmitHandler } from 'react-hook-form';
14
+ import { UseFormReturn, FieldValues, SubmitHandler } from 'react-hook-form';
15
15
 
16
16
  interface TableHeaderTexts {
17
17
  pinColumn?: string;
@@ -502,23 +502,6 @@ interface GetColumnsConfigs<K extends RowData> {
502
502
  declare const widthSanityCheck: <K extends unknown>(widthList: number[], ignoreList: K[], properties: { [key in K as string]?: object | undefined; }) => void;
503
503
  declare const getColumns: <TData extends unknown>({ schema, include, ignore, width, meta, defaultWidth, }: GetColumnsConfigs<TData>) => ColumnDef<TData>[];
504
504
 
505
- interface Translate {
506
- t: (key: string, options?: any) => string;
507
- i18n?: any;
508
- ready?: boolean;
509
- }
510
- interface UseFormProps {
511
- preLoadedValues?: FieldValues | undefined;
512
- namespace?: string;
513
- schema?: JSONSchema7;
514
- }
515
- declare const useForm: ({ preLoadedValues, namespace: _namespace, schema, }: UseFormProps) => {
516
- form: react_hook_form.UseFormReturn<FieldValues, any, undefined>;
517
- idMap: Record<string, object>;
518
- setIdMap: React$1.Dispatch<React$1.SetStateAction<Record<string, object>>>;
519
- translate: Translate;
520
- };
521
-
522
505
  interface CustomQueryFnResponse {
523
506
  /**
524
507
  * The data of the query
@@ -545,234 +528,13 @@ interface ForeignKeyProps {
545
528
  customQueryFn?: CustomQueryFn;
546
529
  }
547
530
 
548
- /**
549
- * Type definitions for error message configuration
550
- */
551
- /**
552
- * Common validation error types that can be customized
553
- */
554
531
  type ValidationErrorType = 'minLength' | 'maxLength' | 'pattern' | 'minimum' | 'maximum' | 'multipleOf' | 'format' | 'type' | 'enum' | 'required' | 'minItems' | 'maxItems' | 'uniqueItems' | 'minProperties' | 'maxProperties' | 'anyOf' | 'oneOf' | 'allOf' | 'const' | 'additionalProperties' | 'dependencies';
555
- /**
556
- * Configuration for field-specific validation errors
557
- */
558
- type FieldErrorConfig = Partial<Record<ValidationErrorType, string>>;
559
- /**
560
- * Configuration for building error messages
561
- */
562
- interface ErrorMessageConfig {
563
- /**
564
- * Required field error messages
565
- * Maps field names to their required error messages
566
- * Supports both plain strings and i18n translation keys
567
- *
568
- * @example
569
- * ```typescript
570
- * required: {
571
- * username: "Username is required", // plain string
572
- * email: "user.email.field_required" // i18n key
573
- * }
574
- * ```
575
- */
576
- required?: Record<string, string>;
577
- /**
578
- * Field-specific validation error messages
579
- * Maps field names to their validation error configurations
580
- *
581
- * @example
582
- * ```typescript
583
- * properties: {
584
- * username: {
585
- * minLength: "Username must be at least 3 characters",
586
- * pattern: "Username can only contain letters and numbers"
587
- * },
588
- * age: {
589
- * minimum: "Age must be at least 18",
590
- * maximum: "Age cannot exceed 120"
591
- * }
592
- * }
593
- * ```
594
- */
595
- properties?: Record<string, FieldErrorConfig>;
596
- /**
597
- * Global fallback error messages for validation types
598
- * These are used when no field-specific message is provided
599
- *
600
- * @example
601
- * ```typescript
602
- * {
603
- * minLength: "This field is too short",
604
- * minimum: "Value is too small"
605
- * }
606
- * ```
607
- */
608
- [key: string]: any;
609
- }
610
- /**
611
- * Result of buildErrorMessages that follows ajv-errors format
612
- */
613
- interface ErrorMessageResult {
614
- required?: Record<string, string>;
615
- properties?: Record<string, FieldErrorConfig>;
616
- [key: string]: any;
617
- }
618
- /**
619
- * Schema-level error message builder
620
- *
621
- * Builds a complete errorMessage object compatible with ajv-errors plugin.
622
- * Supports both i18n translation keys and plain string messages.
623
- *
624
- * @param config - Error message configuration
625
- * @returns Complete errorMessage object for JSON Schema
626
- *
627
- * @example
628
- * ```typescript
629
- * // Simple required field errors
630
- * const errorMessage = buildErrorMessages({
631
- * required: {
632
- * username: "Username is required",
633
- * email: "user.email.field_required" // i18n key
634
- * }
635
- * });
636
- *
637
- * // With validation rules
638
- * const errorMessage = buildErrorMessages({
639
- * required: {
640
- * password: "Password is required"
641
- * },
642
- * properties: {
643
- * password: {
644
- * minLength: "Password must be at least 8 characters",
645
- * pattern: "Password must contain letters and numbers"
646
- * },
647
- * age: {
648
- * minimum: "Must be 18 or older",
649
- * maximum: "Must be under 120"
650
- * }
651
- * }
652
- * });
653
- *
654
- * // With global fallbacks
655
- * const errorMessage = buildErrorMessages({
656
- * required: {
657
- * email: "Email is required"
658
- * },
659
- * minLength: "This field is too short", // applies to all fields
660
- * minimum: "Value is too small"
661
- * });
662
- * ```
663
- */
664
- declare const buildErrorMessages: (config: ErrorMessageConfig) => ErrorMessageResult;
665
- /**
666
- * Converts buildErrorMessages result to ajv-errors compatible format
667
- */
668
- declare const convertToAjvErrorsFormat: (errorMessages: ErrorMessageResult) => Record<string, any>;
669
- /**
670
- * Helper function to build required field errors
671
- *
672
- * Simplifies creating required field error messages, especially useful
673
- * for generating i18n translation keys following a pattern.
674
- *
675
- * @param fields - Array of required field names
676
- * @param messageOrGenerator - Either a string template or function to generate messages
677
- * @returns Required field error configuration
678
- *
679
- * @example
680
- * ```typescript
681
- * // Plain string messages
682
- * const required = buildRequiredErrors(
683
- * ["username", "email", "password"],
684
- * (field) => `${field} is required`
685
- * );
686
- * // Result: { username: "username is required", email: "email is required", ... }
687
- *
688
- * // i18n translation keys
689
- * const required = buildRequiredErrors(
690
- * ["username", "email"],
691
- * (field) => `user.${field}.field_required`
692
- * );
693
- * // Result: { username: "user.username.field_required", email: "user.email.field_required" }
694
- *
695
- * // Same message for all fields
696
- * const required = buildRequiredErrors(
697
- * ["username", "email"],
698
- * "This field is required"
699
- * );
700
- * // Result: { username: "This field is required", email: "This field is required" }
701
- *
702
- * // With prefix in generator function
703
- * const required = buildRequiredErrors(
704
- * ["username", "email"],
705
- * (field) => `user.${field}.field_required`
706
- * );
707
- * // Result: { username: "user.username.field_required", email: "user.email.field_required" }
708
- * ```
709
- */
710
- declare const buildRequiredErrors: (fields: string[], messageOrGenerator: string | ((field: string) => string)) => Record<string, string>;
711
- /**
712
- * Helper function to build field-specific validation errors
713
- *
714
- * Creates property-specific error messages for multiple fields at once.
715
- *
716
- * @param config - Maps field names to their validation error configurations
717
- * @returns Properties error configuration
718
- *
719
- * @example
720
- * ```typescript
721
- * const properties = buildFieldErrors({
722
- * username: {
723
- * minLength: "Username must be at least 3 characters",
724
- * pattern: "Username can only contain letters and numbers"
725
- * },
726
- * age: {
727
- * minimum: "Must be 18 or older",
728
- * maximum: "Must be under 120"
729
- * },
730
- * email: {
731
- * format: "Please enter a valid email address"
732
- * }
733
- * });
734
- * ```
735
- */
736
- declare const buildFieldErrors: (config: Record<string, FieldErrorConfig>) => Record<string, FieldErrorConfig>;
737
- /**
738
- * Helper function to create a complete error message configuration in one call
739
- *
740
- * Convenient wrapper that combines required and validation errors.
741
- *
742
- * @param required - Required field error messages
743
- * @param properties - Field-specific validation error messages
744
- * @param globalFallbacks - Global fallback error messages
745
- * @returns Complete error message configuration
746
- *
747
- * @example
748
- * ```typescript
749
- * const errorMessage = createErrorMessage(
750
- * {
751
- * username: "Username is required",
752
- * email: "Email is required"
753
- * },
754
- * {
755
- * username: {
756
- * minLength: "Username must be at least 3 characters"
757
- * },
758
- * email: {
759
- * format: "Please enter a valid email"
760
- * }
761
- * },
762
- * {
763
- * minLength: "This field is too short",
764
- * format: "Invalid format"
765
- * }
766
- * );
767
- * ```
768
- */
769
- declare const createErrorMessage: (required?: Record<string, string>, properties?: Record<string, FieldErrorConfig>, globalFallbacks?: Partial<Record<ValidationErrorType, string>>) => ErrorMessageResult;
770
-
771
532
  interface DateTimePickerLabels {
772
533
  monthNamesShort?: string[];
773
534
  weekdayNamesShort?: string[];
774
535
  backButtonLabel?: string;
775
536
  forwardButtonLabel?: string;
537
+ selectDateLabel?: string;
776
538
  quickActionLabels?: {
777
539
  yesterday?: string;
778
540
  today?: string;
@@ -830,6 +592,7 @@ interface FormButtonLabels {
830
592
  interface TimePickerLabels {
831
593
  placeholder?: string;
832
594
  emptyMessage?: string;
595
+ selectTimeLabel?: string;
833
596
  }
834
597
  interface LoadInitialValuesParams {
835
598
  ids: string[];
@@ -874,7 +637,6 @@ interface CustomJSONSchema7 extends JSONSchema7 {
874
637
  filePicker?: FilePickerProps;
875
638
  tagPicker?: {
876
639
  queryFn?: (params: {
877
- in_table: string;
878
640
  where?: {
879
641
  id: string;
880
642
  value: string[];
@@ -924,13 +686,36 @@ interface FilePickerProps {
924
686
  }
925
687
 
926
688
  interface FormRootProps<TData extends FieldValues> {
689
+ /**
690
+ * JSON Schema with support for errorMessages in properties.
691
+ * Each property can define errorMessages object with keys like:
692
+ * - required: Error message when field is required but missing
693
+ * - minLength, maxLength: Error messages for string length validation
694
+ * - minimum, maximum: Error messages for number range validation
695
+ * - format: Error message for format validation (email, date, etc.)
696
+ * - pattern: Error message for pattern validation
697
+ * - type: Error message for type validation
698
+ *
699
+ * @example
700
+ * {
701
+ * type: 'object',
702
+ * properties: {
703
+ * username: {
704
+ * type: 'string',
705
+ * minLength: 3,
706
+ * errorMessages: {
707
+ * required: 'Username is required',
708
+ * minLength: 'Username must be at least 3 characters'
709
+ * }
710
+ * }
711
+ * }
712
+ * }
713
+ */
927
714
  schema: CustomJSONSchema7;
928
715
  requestUrl?: string;
929
716
  idMap: Record<string, object>;
930
717
  setIdMap: Dispatch<SetStateAction<Record<string, object>>>;
931
718
  form: UseFormReturn;
932
- /** Translate object for fallback text (components prefer label objects) */
933
- translate: Translate;
934
719
  children: ReactNode;
935
720
  order?: string[];
936
721
  ignore?: string[];
@@ -946,7 +731,6 @@ interface FormRootProps<TData extends FieldValues> {
946
731
  showResetButton?: boolean;
947
732
  showTitle?: boolean;
948
733
  };
949
- requireConfirmation?: boolean;
950
734
  dateTimePickerLabels?: DateTimePickerLabels;
951
735
  idPickerLabels?: IdPickerLabels;
952
736
  enumPickerLabels?: EnumPickerLabels;
@@ -957,8 +741,6 @@ interface FormRootProps<TData extends FieldValues> {
957
741
  }
958
742
  interface CustomJSONSchema7Definition extends JSONSchema7 {
959
743
  variant: string;
960
- in_table: string;
961
- column_ref: string;
962
744
  gridColumn: string;
963
745
  gridRow: string;
964
746
  foreign_key: ForeignKeyProps$1;
@@ -968,7 +750,7 @@ declare const idPickerSanityCheck: (column: string, foreign_key?: {
968
750
  table?: string | undefined;
969
751
  column?: string | undefined;
970
752
  } | undefined) => void;
971
- declare const FormRoot: <TData extends FieldValues>({ schema, idMap, setIdMap, form, translate, children, order, ignore, include, onSubmit, rowNumber, requestOptions, getUpdatedData, customErrorRenderer, customSuccessRenderer, displayConfig, requireConfirmation, dateTimePickerLabels, idPickerLabels, enumPickerLabels, filePickerLabels, formButtonLabels, timePickerLabels, insideDialog, }: FormRootProps<TData>) => react_jsx_runtime.JSX.Element;
753
+ declare const FormRoot: <TData extends FieldValues>({ schema, idMap, setIdMap, form, children, order, ignore, include, onSubmit, rowNumber, requestOptions, getUpdatedData, customErrorRenderer, customSuccessRenderer, displayConfig, dateTimePickerLabels, idPickerLabels, enumPickerLabels, filePickerLabels, formButtonLabels, timePickerLabels, insideDialog, }: FormRootProps<TData>) => react_jsx_runtime.JSX.Element;
972
754
 
973
755
  interface DefaultFormProps<TData extends FieldValues> {
974
756
  formConfig: Omit<FormRootProps<TData>, "children">;
@@ -1001,6 +783,21 @@ type MediaLibraryBrowserPropsMultiple = MediaLibraryBrowserPropsBase & {
1001
783
  type MediaLibraryBrowserProps = MediaLibraryBrowserPropsSingle | MediaLibraryBrowserPropsMultiple;
1002
784
  declare const MediaLibraryBrowser: ({ onFetchFiles, filterImageOnly, labels, enabled, multiple, onFileSelect, selectedFile: controlledSelectedFile, onSelectedFileChange, }: MediaLibraryBrowserProps) => react_jsx_runtime.JSX.Element | null;
1003
785
 
786
+ interface Translate {
787
+ t: (key: string, options?: any) => string;
788
+ i18n?: any;
789
+ ready?: boolean;
790
+ }
791
+ interface UseFormProps {
792
+ preLoadedValues?: FieldValues | undefined;
793
+ schema?: JSONSchema7;
794
+ }
795
+ declare const useForm: ({ preLoadedValues, schema }: UseFormProps) => {
796
+ form: react_hook_form.UseFormReturn<FieldValues, any, undefined>;
797
+ idMap: Record<string, object>;
798
+ setIdMap: React$1.Dispatch<React$1.SetStateAction<Record<string, object>>>;
799
+ };
800
+
1004
801
  interface CalendarDate {
1005
802
  date: Date;
1006
803
  selected: boolean;
@@ -1452,4 +1249,4 @@ declare module '@tanstack/react-table' {
1452
1249
  }
1453
1250
  }
1454
1251
 
1455
- export { CalendarDisplay, type CalendarDisplayProps, type CalendarEvent, type CalendarProps, CardHeader, type CardHeaderProps, type CustomJSONSchema7, type CustomJSONSchema7Definition, DataDisplay, type DataDisplayProps, type DataResponse, DataTable, type DataTableDefaultState, type DataTableProps, DataTableServer, type DataTableServerProps, DatePickerContext, DatePickerInput, type DatePickerInputProps, type DatePickerLabels, type DatePickerProps, type DateTimePickerLabels, DefaultCardTitle, DefaultForm, type DefaultFormProps, DefaultTable, type DefaultTableProps, DefaultTableServer, type DefaultTableServerProps, DensityToggleButton, type DensityToggleButtonProps, type EditFilterButtonProps, EditSortingButton, type EditSortingButtonProps, type EditViewButtonProps, EmptyState, type EmptyStateProps, type EnumPickerLabels, ErrorAlert, type ErrorAlertProps, type ErrorMessageConfig, type ErrorMessageResult, type FieldErrorConfig, type FilePickerLabels, type FilePickerMediaFile, type FilePickerProps, FilterDialog, FormBody, type FormButtonLabels, FormRoot, type FormRootProps, FormTitle, type GetColumnsConfigs, type GetDateColorProps, type GetMultiDatesProps, type GetRangeDatesProps, type GetStyleProps, type GetVariantProps, GlobalFilter, type IdPickerLabels, type LoadInitialValuesParams, type LoadInitialValuesResult, MediaLibraryBrowser, type MediaLibraryBrowserProps, PageSizeControl, type PageSizeControlProps, Pagination, type QueryParams, type RangeCalendarProps, type RangeDatePickerLabels, type RangeDatePickerProps, RecordDisplay, type RecordDisplayProps, ReloadButton, type ReloadButtonProps, ResetFilteringButton, ResetSelectionButton, ResetSortingButton, type Result, RowCountText, SelectAllRowsToggle, type SelectAllRowsToggleProps, Table, TableBody, type TableBodyProps, TableCardContainer, type TableCardContainerProps, TableCards, type TableCardsProps, TableComponent, TableControls, type TableControlsProps, TableDataDisplay, type TableDataDisplayProps, TableFilter, TableFilterTags, type TableFilterTagsProps, TableFooter, type TableFooterProps, TableHeader, type TableHeaderProps, type TableHeaderTexts, TableLoadingComponent, type TableLoadingComponentProps, type TableProps, type TableRendererProps, type TableRowSelectorProps, TableSelector, TableSorter, TableViewer, type TagPickerProps, TextCell, type TextCellProps, type TimePickerLabels, type Translate, type UseDataTableProps, type UseDataTableReturn, type UseDataTableServerProps, type UseDataTableServerReturn, type UseFormProps, type ValidationErrorType, ViewDialog, buildErrorMessages, buildFieldErrors, buildRequiredErrors, convertToAjvErrorsFormat, createErrorMessage, defaultRenderDisplay, getColumns, getMultiDates, getRangeDates, idPickerSanityCheck, useDataTable, useDataTableContext, useDataTableServer, useForm, widthSanityCheck };
1252
+ export { CalendarDisplay, type CalendarDisplayProps, type CalendarEvent, type CalendarProps, CardHeader, type CardHeaderProps, type CustomJSONSchema7, type CustomJSONSchema7Definition, DataDisplay, type DataDisplayProps, type DataResponse, DataTable, type DataTableDefaultState, type DataTableProps, DataTableServer, type DataTableServerProps, DatePickerContext, DatePickerInput, type DatePickerInputProps, type DatePickerLabels, type DatePickerProps, type DateTimePickerLabels, DefaultCardTitle, DefaultForm, type DefaultFormProps, DefaultTable, type DefaultTableProps, DefaultTableServer, type DefaultTableServerProps, DensityToggleButton, type DensityToggleButtonProps, type EditFilterButtonProps, EditSortingButton, type EditSortingButtonProps, type EditViewButtonProps, EmptyState, type EmptyStateProps, type EnumPickerLabels, ErrorAlert, type ErrorAlertProps, type FilePickerLabels, type FilePickerMediaFile, type FilePickerProps, FilterDialog, FormBody, type FormButtonLabels, FormRoot, type FormRootProps, FormTitle, type GetColumnsConfigs, type GetDateColorProps, type GetMultiDatesProps, type GetRangeDatesProps, type GetStyleProps, type GetVariantProps, GlobalFilter, type IdPickerLabels, type LoadInitialValuesParams, type LoadInitialValuesResult, MediaLibraryBrowser, type MediaLibraryBrowserProps, PageSizeControl, type PageSizeControlProps, Pagination, type QueryParams, type RangeCalendarProps, type RangeDatePickerLabels, type RangeDatePickerProps, RecordDisplay, type RecordDisplayProps, ReloadButton, type ReloadButtonProps, ResetFilteringButton, ResetSelectionButton, ResetSortingButton, type Result, RowCountText, SelectAllRowsToggle, type SelectAllRowsToggleProps, Table, TableBody, type TableBodyProps, TableCardContainer, type TableCardContainerProps, TableCards, type TableCardsProps, TableComponent, TableControls, type TableControlsProps, TableDataDisplay, type TableDataDisplayProps, TableFilter, TableFilterTags, type TableFilterTagsProps, TableFooter, type TableFooterProps, TableHeader, type TableHeaderProps, type TableHeaderTexts, TableLoadingComponent, type TableLoadingComponentProps, type TableProps, type TableRendererProps, type TableRowSelectorProps, TableSelector, TableSorter, TableViewer, type TagPickerProps, TextCell, type TextCellProps, type TimePickerLabels, type Translate, type UseDataTableProps, type UseDataTableReturn, type UseDataTableServerProps, type UseDataTableServerReturn, type UseFormProps, type ValidationErrorType, ViewDialog, defaultRenderDisplay, getColumns, getMultiDates, getRangeDates, idPickerSanityCheck, useDataTable, useDataTableContext, useDataTableServer, useForm, widthSanityCheck };