@osdk/react-components 0.2.0-beta.16 → 0.2.0-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/CHANGELOG.md +31 -0
- package/README.md +91 -3
- package/build/browser/action-form/ActionForm.js +109 -0
- package/build/browser/action-form/ActionForm.js.map +1 -0
- package/build/browser/action-form/ActionFormApi.js.map +1 -1
- package/build/browser/action-form/BaseForm.js +74 -0
- package/build/browser/action-form/BaseForm.js.map +1 -0
- package/build/browser/action-form/FormFieldApi.js.map +1 -1
- package/build/browser/action-form/fields/FieldBridge.js +45 -0
- package/build/browser/action-form/fields/FieldBridge.js.map +1 -0
- package/build/browser/action-form/fields/FormFieldRenderer.js +68 -0
- package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -0
- package/build/browser/action-form/fields/TextInputField.js +38 -0
- package/build/browser/action-form/fields/TextInputField.js.map +1 -0
- package/build/browser/action-form/utils/coerceFieldValue.js +93 -0
- package/build/browser/action-form/utils/coerceFieldValue.js.map +1 -0
- package/build/browser/action-form/utils/getDefaultFieldComponent.js +56 -0
- package/build/browser/action-form/utils/getDefaultFieldComponent.js.map +1 -0
- package/build/browser/action-form/utils/getDefaultFieldDefinitions.js +33 -0
- package/build/browser/action-form/utils/getDefaultFieldDefinitions.js.map +1 -0
- package/build/browser/base-components/tooltip/Tooltip.js +91 -0
- package/build/browser/base-components/tooltip/Tooltip.js.map +1 -0
- package/build/browser/base-components/tooltip/Tooltip.module.css +70 -0
- package/build/browser/base-components/tooltip/Tooltip.module.css.js +11 -0
- package/build/browser/base-components/tooltip/index.js +18 -0
- package/build/browser/base-components/tooltip/index.js.map +1 -0
- package/build/browser/filter-list/base/BaseFilterList.js +23 -11
- package/build/browser/filter-list/base/BaseFilterList.js.map +1 -1
- package/build/browser/filter-list/base/FilterIcons.js +48 -13
- package/build/browser/filter-list/base/FilterIcons.js.map +1 -1
- package/build/browser/filter-list/base/FilterList.module.css +57 -13
- package/build/browser/filter-list/base/FilterList.module.css.js +5 -2
- package/build/browser/filter-list/base/FilterListHeader.js +10 -15
- package/build/browser/filter-list/base/FilterListHeader.js.map +1 -1
- package/build/browser/filter-list/base/FilterListHeader.module.css +13 -41
- package/build/browser/filter-list/base/FilterListHeader.module.css.js +1 -4
- package/build/browser/filter-list/hooks/useFilterListState.js +25 -7
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/browser/filter-list/utils/assertUnreachable.js +1 -8
- package/build/browser/filter-list/utils/assertUnreachable.js.map +1 -1
- package/build/browser/filter-list/utils/filterStateToWhereClause.js +121 -91
- package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/browser/object-table/DefaultCellRenderer.js +6 -1
- package/build/browser/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/browser/object-table/EditableCell.js +76 -9
- package/build/browser/object-table/EditableCell.js.map +1 -1
- package/build/browser/object-table/EditableCell.module.css +47 -8
- package/build/browser/object-table/EditableCell.module.css.js +5 -1
- package/build/browser/object-table/MultiColumnSortDialog.js +4 -1
- package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -1
- package/build/browser/object-table/ObjectTable.js +4 -1
- package/build/browser/object-table/ObjectTable.js.map +1 -1
- package/build/browser/object-table/ObjectTableApi.js.map +1 -1
- package/build/browser/object-table/SelectionCells.js +1 -0
- package/build/browser/object-table/SelectionCells.js.map +1 -1
- package/build/browser/object-table/Table.js +2 -2
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/TableBody.js +1 -1
- package/build/browser/object-table/TableBody.js.map +1 -1
- package/build/browser/object-table/TableEditContainer.js +27 -16
- package/build/browser/object-table/TableEditContainer.js.map +1 -1
- package/build/browser/object-table/TableEditContainer.module.css +27 -0
- package/build/browser/object-table/TableEditContainer.module.css.js +5 -1
- package/build/browser/object-table/TableHeader.js +4 -1
- package/build/browser/object-table/TableHeader.js.map +1 -1
- package/build/browser/object-table/TableHeader.module.css +2 -1
- package/build/browser/object-table/TableHeader.module.css.js +1 -0
- package/build/browser/object-table/TableRow.js +2 -2
- package/build/browser/object-table/TableRow.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnDefs.js +2 -1
- package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/browser/object-table/hooks/useEditableTable.js +21 -2
- package/build/browser/object-table/hooks/useEditableTable.js.map +1 -1
- package/build/browser/object-table/utils/types.js.map +1 -1
- package/build/browser/shared/assertUnreachable.js +25 -0
- package/build/browser/shared/assertUnreachable.js.map +1 -0
- package/build/browser/shared/typedMemo.js +25 -0
- package/build/browser/shared/typedMemo.js.map +1 -0
- package/build/browser/styles.css +219 -63
- package/build/cjs/public/experimental.cjs +1212 -966
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/experimental.css +167 -55
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/experimental.d.cts +18 -4
- package/build/esm/action-form/ActionForm.js +109 -0
- package/build/esm/action-form/ActionForm.js.map +1 -0
- package/build/esm/action-form/ActionFormApi.js.map +1 -1
- package/build/esm/action-form/BaseForm.js +74 -0
- package/build/esm/action-form/BaseForm.js.map +1 -0
- package/build/esm/action-form/FormFieldApi.js.map +1 -1
- package/build/esm/action-form/fields/FieldBridge.js +45 -0
- package/build/esm/action-form/fields/FieldBridge.js.map +1 -0
- package/build/esm/action-form/fields/FormFieldRenderer.js +68 -0
- package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -0
- package/build/esm/action-form/fields/TextInputField.js +38 -0
- package/build/esm/action-form/fields/TextInputField.js.map +1 -0
- package/build/esm/action-form/utils/coerceFieldValue.js +93 -0
- package/build/esm/action-form/utils/coerceFieldValue.js.map +1 -0
- package/build/esm/action-form/utils/getDefaultFieldComponent.js +56 -0
- package/build/esm/action-form/utils/getDefaultFieldComponent.js.map +1 -0
- package/build/esm/action-form/utils/getDefaultFieldDefinitions.js +33 -0
- package/build/esm/action-form/utils/getDefaultFieldDefinitions.js.map +1 -0
- package/build/esm/base-components/tooltip/Tooltip.js +91 -0
- package/build/esm/base-components/tooltip/Tooltip.js.map +1 -0
- package/build/esm/base-components/tooltip/Tooltip.module.css +70 -0
- package/build/esm/base-components/tooltip/index.js +18 -0
- package/build/esm/base-components/tooltip/index.js.map +1 -0
- package/build/esm/filter-list/base/BaseFilterList.js +23 -11
- package/build/esm/filter-list/base/BaseFilterList.js.map +1 -1
- package/build/esm/filter-list/base/FilterIcons.js +48 -13
- package/build/esm/filter-list/base/FilterIcons.js.map +1 -1
- package/build/esm/filter-list/base/FilterList.module.css +57 -13
- package/build/esm/filter-list/base/FilterListHeader.js +10 -15
- package/build/esm/filter-list/base/FilterListHeader.js.map +1 -1
- package/build/esm/filter-list/base/FilterListHeader.module.css +13 -41
- package/build/esm/filter-list/hooks/useFilterListState.js +25 -7
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/esm/filter-list/utils/assertUnreachable.js +1 -8
- package/build/esm/filter-list/utils/assertUnreachable.js.map +1 -1
- package/build/esm/filter-list/utils/filterStateToWhereClause.js +121 -91
- package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/esm/object-table/DefaultCellRenderer.js +6 -1
- package/build/esm/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/esm/object-table/EditableCell.js +76 -9
- package/build/esm/object-table/EditableCell.js.map +1 -1
- package/build/esm/object-table/EditableCell.module.css +47 -8
- package/build/esm/object-table/MultiColumnSortDialog.js +4 -1
- package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -1
- package/build/esm/object-table/ObjectTable.js +4 -1
- package/build/esm/object-table/ObjectTable.js.map +1 -1
- package/build/esm/object-table/ObjectTableApi.js.map +1 -1
- package/build/esm/object-table/SelectionCells.js +1 -0
- package/build/esm/object-table/SelectionCells.js.map +1 -1
- package/build/esm/object-table/Table.js +2 -2
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/object-table/TableBody.js +1 -1
- package/build/esm/object-table/TableBody.js.map +1 -1
- package/build/esm/object-table/TableEditContainer.js +27 -16
- package/build/esm/object-table/TableEditContainer.js.map +1 -1
- package/build/esm/object-table/TableEditContainer.module.css +27 -0
- package/build/esm/object-table/TableHeader.js +4 -1
- package/build/esm/object-table/TableHeader.js.map +1 -1
- package/build/esm/object-table/TableHeader.module.css +2 -1
- package/build/esm/object-table/TableRow.js +2 -2
- package/build/esm/object-table/TableRow.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnDefs.js +2 -1
- package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/esm/object-table/hooks/useEditableTable.js +21 -2
- package/build/esm/object-table/hooks/useEditableTable.js.map +1 -1
- package/build/esm/object-table/utils/types.js.map +1 -1
- package/build/esm/shared/assertUnreachable.js +25 -0
- package/build/esm/shared/assertUnreachable.js.map +1 -0
- package/build/esm/shared/typedMemo.js +25 -0
- package/build/esm/shared/typedMemo.js.map +1 -0
- package/build/types/action-form/ActionForm.d.ts +4 -0
- package/build/types/action-form/ActionForm.d.ts.map +1 -0
- package/build/types/action-form/ActionFormApi.d.ts +48 -32
- package/build/types/action-form/ActionFormApi.d.ts.map +1 -1
- package/build/types/action-form/BaseForm.d.ts +3 -0
- package/build/types/action-form/BaseForm.d.ts.map +1 -0
- package/build/types/action-form/FormFieldApi.d.ts +58 -18
- package/build/types/action-form/FormFieldApi.d.ts.map +1 -1
- package/build/types/action-form/fields/FieldBridge.d.ts +9 -0
- package/build/types/action-form/fields/FieldBridge.d.ts.map +1 -0
- package/build/types/action-form/fields/FormFieldRenderer.d.ts +8 -0
- package/build/types/action-form/fields/FormFieldRenderer.d.ts.map +1 -0
- package/build/types/action-form/fields/TextInputField.d.ts +3 -0
- package/build/types/action-form/fields/TextInputField.d.ts.map +1 -0
- package/build/types/action-form/utils/coerceFieldValue.d.ts +10 -0
- package/build/types/action-form/utils/coerceFieldValue.d.ts.map +1 -0
- package/build/types/action-form/utils/getDefaultFieldComponent.d.ts +6 -0
- package/build/types/action-form/utils/getDefaultFieldComponent.d.ts.map +1 -0
- package/build/types/action-form/utils/getDefaultFieldDefinitions.d.ts +6 -0
- package/build/types/action-form/utils/getDefaultFieldDefinitions.d.ts.map +1 -0
- package/build/types/base-components/tooltip/Tooltip.d.ts +31 -0
- package/build/types/base-components/tooltip/Tooltip.d.ts.map +1 -0
- package/build/types/base-components/tooltip/index.d.ts +1 -0
- package/build/types/base-components/tooltip/index.d.ts.map +1 -0
- package/build/types/filter-list/base/BaseFilterList.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterIcons.d.ts +7 -0
- package/build/types/filter-list/base/FilterIcons.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterListHeader.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -1
- package/build/types/filter-list/utils/assertUnreachable.d.ts +1 -6
- package/build/types/filter-list/utils/assertUnreachable.d.ts.map +1 -1
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts +5 -1
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -1
- package/build/types/object-table/EditableCell.d.ts +8 -2
- package/build/types/object-table/EditableCell.d.ts.map +1 -1
- package/build/types/object-table/ObjectTableApi.d.ts +7 -0
- package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
- package/build/types/object-table/Table.d.ts +4 -0
- package/build/types/object-table/Table.d.ts.map +1 -1
- package/build/types/object-table/TableEditContainer.d.ts +1 -1
- package/build/types/object-table/TableEditContainer.d.ts.map +1 -1
- package/build/types/object-table/TableHeader.d.ts.map +1 -1
- package/build/types/object-table/TableRow.d.ts +2 -2
- package/build/types/object-table/TableRow.d.ts.map +1 -1
- package/build/types/object-table/hooks/useEditableTable.d.ts.map +1 -1
- package/build/types/object-table/utils/types.d.ts +7 -4
- package/build/types/object-table/utils/types.d.ts.map +1 -1
- package/build/types/shared/assertUnreachable.d.ts +6 -0
- package/build/types/shared/assertUnreachable.d.ts.map +1 -0
- package/build/types/shared/typedMemo.d.ts +6 -0
- package/build/types/shared/typedMemo.d.ts.map +1 -0
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,sBAAsB,mBAAmB,WAAY;
|
|
1
|
+
{"mappings":"AAgBA,cAAc,sBAAsB,mBAAmB,WAAY;AAGnE,cAAc,uBAAuB,qBAAsB;AAC3D,cAAc,mBAAmB,yBAA0B;AAU3D,iBAAiB,yBAAyB,UAAU,sBAAsB;CACxE,cAAc,YAAY;CAC1B,iBACEA,mBACAC,OAAO;CAET,aAAa,YAAY;CACzB,uBAAuB,YAAY,YAAY;CAC/C;CACA;AACD;AAqDD,OAAO,iBAAS,mBAAmB,UAAU,sBAC3CC,OAAO,gBAAgB,KACtB,yBAAyB","names":["filterKey: string","state: FilterState","props: FilterListProps<Q>"],"sources":["../../../../src/filter-list/hooks/useFilterListState.ts"],"version":3,"file":"useFilterListState.d.ts"}
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Exhaustive type checking helper.
|
|
3
|
-
* Use in default cases of switch statements to ensure all cases are handled.
|
|
4
|
-
* TypeScript will error if a case is missing.
|
|
5
|
-
*/
|
|
6
|
-
export declare function assertUnreachable(value: never): never;
|
|
1
|
+
export { assertUnreachable } from "../../shared/assertUnreachable.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAgBA,SAAS,yBAAyB","names":[],"sources":["../../../../src/filter-list/utils/assertUnreachable.ts"],"version":3,"file":"assertUnreachable.d.ts"}
|
|
@@ -13,4 +13,8 @@ import type { FilterState } from "../FilterListItemApi.js";
|
|
|
13
13
|
* cannot verify that the constructed clause structure matches the generic Q's
|
|
14
14
|
* expected shape, but the structure is guaranteed to be valid by construction.
|
|
15
15
|
*/
|
|
16
|
-
export
|
|
16
|
+
export interface PropertyTypeInfo {
|
|
17
|
+
type: string;
|
|
18
|
+
multiplicity: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare function buildWhereClause<Q extends ObjectTypeDefinition>(definitions: Array<FilterDefinitionUnion<Q>> | undefined, filterStates: Map<string, FilterState>, operator: "and" | "or", propertyTypes?: Map<string, PropertyTypeInfo>, excludeFilterKey?: string): WhereClause<Q>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,sBAAsB,mBAAmB,WAAY;
|
|
1
|
+
{"mappings":"AAgBA,cAAc,sBAAsB,mBAAmB,WAAY;AAEnE,cAAc,6BAA6B,qBAAsB;AACjE,cAAc,mBAAmB,yBAA0B;;;;;;;;;;;;;AA2M3D,iBAAiB,iBAAiB;CAChC;CACA;AACD;AAED,OAAO,iBAAS,iBAAiB,UAAU,sBACzCA,aAAa,MAAM,sBAAsB,iBACzCC,cAAc,YAAY,cAC1BC,UAAU,QAAQ,MAClBC,gBAAgB,YAAY,mBAC5BC,4BACC,YAAY","names":["definitions: Array<FilterDefinitionUnion<Q>> | undefined","filterStates: Map<string, FilterState>","operator: \"and\" | \"or\"","propertyTypes?: Map<string, PropertyTypeInfo>","excludeFilterKey?: string"],"sources":["../../../../src/filter-list/utils/filterStateToWhereClause.ts"],"version":3,"file":"filterStateToWhereClause.d.ts"}
|
|
@@ -10,11 +10,17 @@ export interface EditableCellProps<
|
|
|
10
10
|
cellId: string;
|
|
11
11
|
dataType?: string;
|
|
12
12
|
onCellEdit: (cellId: string, info: CellEditInfo<TData, CellValue>) => void;
|
|
13
|
+
onCellValidationError?: (cellId: string, error: string) => void;
|
|
14
|
+
clearCellValidationError?: (cellId: string) => void;
|
|
15
|
+
validationError?: string;
|
|
13
16
|
originalRowData: TData;
|
|
14
17
|
rowId: string;
|
|
15
18
|
columnId: string;
|
|
19
|
+
validateEdit?: (value: unknown) => Promise<string | undefined>;
|
|
16
20
|
}
|
|
17
|
-
|
|
21
|
+
declare function EditableCellInner<
|
|
18
22
|
TData extends RowData,
|
|
19
23
|
CellValue = unknown
|
|
20
|
-
>({ initialValue, currentValue, cellId, dataType, onCellEdit, originalRowData, rowId, columnId }: EditableCellProps<TData, CellValue>): React.ReactElement;
|
|
24
|
+
>({ initialValue, currentValue, cellId, dataType, onCellEdit, onCellValidationError, clearCellValidationError, originalRowData, rowId, columnId, validateEdit, validationError }: EditableCellProps<TData, CellValue>): React.ReactElement;
|
|
25
|
+
export declare const EditableCell: typeof EditableCellInner;
|
|
26
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAkBA,cAAc,eAAe,uBAAwB;AAErD,OAAO,WAAyD,OAAQ;AAGxE,cAAc,oBAAoB,kBAAmB;AAErD,iBAAiB;CAAkB,cAAc;CAAS;EAAqB;CAC7E,cAAc;CACd,cAAc;CACd;CACA;CACA,aAAaA,gBAAgBC,MAAM,aAAa,OAAO;CACvD,yBACED,gBACAE;CAEF,4BAA4BF;CAC5B;CACA,iBAAiB;CACjB;CACA;CACA,gBAAgBG,mBAAmB;AACpC;AA8CD,iBAAS;CAAkB,cAAc;CAAS;EAAqB,EACrE,cACA,cACA,QACA,UACA,YACA,uBACA,0BACA,iBACA,OACA,UACA,cACA,iBACoC,EAAnC,kBAAkB,OAAO,aAAa,MAAM;AA6J/C,OAAO,cAAM,qBAED","names":["cellId: string","info: CellEditInfo<TData, CellValue>","error: string","value: unknown"],"sources":["../../../src/object-table/EditableCell.tsx"],"version":3,"file":"EditableCell.d.ts"}
|
|
@@ -22,6 +22,13 @@ export type ColumnDefinition<
|
|
|
22
22
|
orderable?: boolean
|
|
23
23
|
filterable?: boolean
|
|
24
24
|
editable?: boolean
|
|
25
|
+
/**
|
|
26
|
+
* Additional function to validate the cell value during edit
|
|
27
|
+
*
|
|
28
|
+
* @param value the current cell value
|
|
29
|
+
* @returns a promise that resolves to an error message string if validation fails, or undefined if validation succeeds
|
|
30
|
+
*/
|
|
31
|
+
validateEdit?: (value: unknown) => Promise<string | undefined>
|
|
25
32
|
renderCell?: (object: Osdk.Instance<Q, "$allBaseProperties", PropertyKeys<Q>, RDPs>, locator: ColumnDefinitionLocator<Q, RDPs, FunctionColumns>) => React.ReactNode
|
|
26
33
|
/**
|
|
27
34
|
* If provided, this will be used in the column header.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,iBACA,6BACA,WACA,MACA,gBACA,cACA,iBACA,mBACA,mBACK,WAAY;AACnB,iBAAiB,WAAW,OAAQ;AACpC,cAAc,oBAAoB,kBAAmB;AAErD,YAAY;CACV,UAAU;CACV,aAAa,eAAe,qBAAqB;CACjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;IAI5D;CACF,SAAS,wBAAwB,GAAG,MAAM;;;;CAK1C;;;;CAKA,SAAS,SAAS,UAAU;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;
|
|
1
|
+
{"mappings":"AAgBA,cACE,iBACA,6BACA,WACA,MACA,gBACA,cACA,iBACA,mBACA,mBACK,WAAY;AACnB,iBAAiB,WAAW,OAAQ;AACpC,cAAc,oBAAoB,kBAAmB;AAErD,YAAY;CACV,UAAU;CACV,aAAa,eAAe,qBAAqB;CACjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;IAI5D;CACF,SAAS,wBAAwB,GAAG,MAAM;;;;CAK1C;;;;CAKA,SAAS,SAAS,UAAU;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;;;;;;;CAQA,gBACEA,mBACG;CAEL,cACEC,QAAQ,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI,OAChEC,SAAS,wBAAwB,GAAG,MAAM,qBACvC,MAAM;;;;;;;;;;CAWX;;;;;CAMA,qBAAqB,MAAM;AAC5B;AAED,YAAY;CACV,UAAU;CACV,aAAa,eAAe,qBAAqB;CACjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;IAK5D;CACA,MAAM;CACN,IAAI,aAAa;AAClB,IACC;CACA,MAAM;CACN,UAAU;AACX,IACC;CACA,MAAM;CACN,UAAU;CACV,SAAS,gBAAgB,QAAQ,GAAG,WAAW;AAChD,IACC;CACA,MAAM;CACN;AACD;AAEH,iBAAiB;CACf,UAAU;CACV,aAAa,eAAe,qBAAqB;CACjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D;;;;;CAKA,YAAY;;;;;CAMZ,YAAY,UAAU;CAEtB,mBAAmB,iBAAiB;;;;;;CAOpC,oBAAoB,MAAM,iBAAiB,GAAG,MAAM;;;;;;CAOpD;;;;;CAMA,SAAS,YAAY,GAAG;;;;;;;CAQxB,mBAAmBC,UAAU,YAAY,GAAG;;;;;;CAO5C;;;;;;CAOA;;;;;;CAOA;;;;;;CAOA;;;;;;;;CASA,WAAW,WAAW;;;;;;CAOtB,iBAAiB,MAAM;EACrB,UAAU,aAAa;EACvB,WAAW,QAAQ;CACpB;;;;;;CAOD,UAAU,MAAM;EACd,UAAU,aAAa;EACvB,WAAW,QAAQ;CACpB;;;;;;;CAQD,oBACEC,YAAY,MAAM;EAChB,UAAU,aAAa;EACvB,WAAW,QAAQ;CACpB;;;;;;;CASH,sBACEC,MAAM,aACJ,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;;;;;;;;CAY5D,iBAAiBC,OAAO,aACtB,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI,sBAElD;;;;;;;;CASR,6BACEC,WAAW,MAAM;EACf,UAAU,aAAa,WAAW,aAAa;EAC/C;CACD;;;;;;;;CAUH,0BACEC,WAAW,MAAM;EACf,UAAU,aAAa,WAAW,aAAa;EAC/C,QAAQ,SAAS,UAAU;CAC5B;;;;;;;CASH,kBACEC,UAAU,aAAa,WAAW,aAAa,iBAC/CC;;;;;;CAQF,cACET,QAAQ,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;;;;;;;;;CAWlE,gBAAgB,WAAW,aAAa;;;;;CAMxC,eAAe,eAAe;;;;;CAM9B;;;;;;;;CASA,kBACEU,gBAAgB,eAAe,MAC/BC;;;;CAKF,yBACEC,KAAK,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI,OAC7DC,uBACG,MAAM;;;;;;CAOX;CAEA;AACD;AAED,iBAAiB,iBACf,UAAU,6BACV;;;;CAIA,QAAQ,UAAU;;;;CAKlB,YAAY,UAAU;;;;CAKtB,WAAW,UAAU;AACtB","names":["value: unknown","object: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","locator: ColumnDefinitionLocator<Q, RDPs, FunctionColumns>","newWhere: WhereClause<Q, RDPs>","newOrderBy: Array<{\n property: PropertyKeys<Q>;\n direction: \"asc\" | \"desc\";\n }>","info: CellEditInfo<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n unknown\n >","edits: CellEditInfo<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n unknown\n >[]","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n isVisible: boolean;\n }>","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n pinned: \"left\" | \"right\" | \"none\";\n }>","columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns","newWidth: number | null","selectedRowIds: PrimaryKeyType<Q>[]","isSelectAll?: boolean","row: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","cellValue: unknown"],"sources":["../../../src/object-table/ObjectTableApi.ts"],"version":3,"file":"ObjectTableApi.d.ts"}
|
|
@@ -11,11 +11,15 @@ declare module "@tanstack/react-table" {
|
|
|
11
11
|
isVisible?: boolean;
|
|
12
12
|
editable?: boolean;
|
|
13
13
|
dataType?: string;
|
|
14
|
+
validateEdit?: (value: unknown) => Promise<string | undefined>;
|
|
14
15
|
}
|
|
15
16
|
interface TableMeta<TData extends RowData = unknown> {
|
|
16
17
|
onCellEdit?: (cellId: string, info: CellEditInfo<TData, unknown>) => void;
|
|
18
|
+
onCellValidationError?: (cellId: string, error: string) => void;
|
|
19
|
+
clearCellValidationError?: (cellId: string) => void;
|
|
17
20
|
cellEdits?: Record<string, CellEditInfo<TData, unknown>>;
|
|
18
21
|
isInEditMode?: boolean;
|
|
22
|
+
validationErrors?: Map<string, string>;
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
25
|
export interface BaseTableProps<TData extends RowData> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,MAAM,SAAS,aAAa,uBAAwB;AAElE,OAAO,cACA,oBAKA,OAAQ;AAOf,cAAc,8BAA8B,6BAA8B;AAC1E,cAAc,cAAc,sBAAsB,kBAAmB;eAEtD,wBAAwB;WAC3B;EAAW,cAAc;EAAmB;GAAkB;EACtE;EACA;EACA;EACA;
|
|
1
|
+
{"mappings":"AAgBA,cAAc,MAAM,SAAS,aAAa,uBAAwB;AAElE,OAAO,cACA,oBAKA,OAAQ;AAOf,cAAc,8BAA8B,6BAA8B;AAC1E,cAAc,cAAc,sBAAsB,kBAAmB;eAEtD,wBAAwB;WAC3B;EAAW,cAAc;EAAmB;GAAkB;EACtE;EACA;EACA;EACA;EACA,gBAAgBA,mBAAmB;CACpC;WACS,UAAU,cAAc,mBAAmB;EACnD,cACEC,gBACAC,MAAM,aAAa;EAErB,yBACED,gBACAE;EAEF,4BAA4BF;EAC5B,YAAY,eAAe,aAAa;EACxC;EACA,mBAAmB;CACpB;AACF;AAED,iBAAiB,eACf,cAAc,SACd;CACA,OAAO,MAAM;CACb;CACA,sBAAsB;CACtB,cAAcG,KAAK;CACnB;CACA,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,QAAQ;CACR,yBAAyB;CACzB,iBAAiB,eAAe;AACjC;AAED,OAAO,iBAAS,UACd,cAAc,SAEd,EACE,OACA,WACA,eACA,YACA,WACA,uBACA,WACA,OACA,wBACA,gBACsB,EAArB,eAAe,SACjB","names":["value: unknown","cellId: string","info: CellEditInfo<TData, unknown>","error: string","row: TData","cell: Cell<TData, unknown>"],"sources":["../../../src/object-table/Table.tsx"],"version":3,"file":"Table.d.ts"}
|
|
@@ -2,7 +2,7 @@ import type { RowData } from "@tanstack/react-table";
|
|
|
2
2
|
import { type ReactElement } from "react";
|
|
3
3
|
import type { EditableConfig } from "./utils/types.js";
|
|
4
4
|
interface TableEditContainerProps<TData extends RowData> {
|
|
5
|
-
editableConfig
|
|
5
|
+
editableConfig: EditableConfig<TData, unknown>;
|
|
6
6
|
focusedRowId?: string | null;
|
|
7
7
|
}
|
|
8
8
|
export declare function TableEditContainer<TData extends RowData>({ editableConfig, focusedRowId }: TableEditContainerProps<TData>): ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAiBA,cAAc,eAAe,uBAAwB;AACrD,cAAqB,oBAA2C,OAAQ;AAGxE,cAAc,sBAAsB,kBAAmB;UAE7C,wBACR,cAAc,SACd;CACA,gBAAgB,eAAe;CAC/B;AACD;AAED,OAAO,iBAAS,mBACd,cAAc,SACd,EACA,gBACA,cAC+B,EAA9B,wBAAwB,SAAS","names":[],"sources":["../../../src/object-table/TableEditContainer.tsx"],"version":3,"file":"TableEditContainer.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAGE,SAEA,aAEK,uBAAwB;
|
|
1
|
+
{"mappings":"AAgBA,cAGE,SAEA,aAEK,uBAAwB;AAE/B,OAAO,WAA+C,OAAQ;AAK9D,cACO,8BAEA,6BAA8B;UAK3B,iBACR,cAAc,SACd;CACA,OAAO,MAAM;CACb,yBAAyB;AAC1B;AAyBD,OAAO,iBAAS,YACd,cAAc,SACd,EACA,OACA,wBACwB,EAAvB,iBAAiB,SAAS,MAAM","names":[],"sources":["../../../src/object-table/TableHeader.tsx"],"version":3,"file":"TableHeader.d.ts"}
|
|
@@ -6,9 +6,9 @@ interface TableRowProps<TData extends RowData> {
|
|
|
6
6
|
virtualRow: VirtualItem;
|
|
7
7
|
onRowClick?: (row: TData) => void;
|
|
8
8
|
renderCellContextMenu?: (row: TData, cell: Cell<TData, unknown>) => React.ReactNode;
|
|
9
|
-
|
|
9
|
+
isFocused: boolean;
|
|
10
10
|
setFocusedRowId?: (rowId: string | null) => void;
|
|
11
11
|
isInEditMode?: boolean;
|
|
12
12
|
}
|
|
13
|
-
export declare function TableRow<TData extends RowData>({ row, virtualRow, onRowClick, renderCellContextMenu,
|
|
13
|
+
export declare function TableRow<TData extends RowData>({ row, virtualRow, onRowClick, renderCellContextMenu, isFocused, setFocusedRowId, isInEditMode }: TableRowProps<TData>): React.ReactElement;
|
|
14
14
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,MAAM,KAAK,eAAe,uBAAwB;AAChE,cAAc,mBAAmB,yBAA0B;AAC3D,OAAO,WAA4B,OAAQ;UAIjC,cAAc,cAAc,SAAS;CAC7C,KAAK,IAAI;CACT,YAAY;CACZ,cAAcA,KAAK;CACnB,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,mBAAmBC;CACnB;AACD;AAED,OAAO,iBAAS,SAAS,cAAc,SAAS,EAC9C,KACA,YACA,YACA,uBACA,
|
|
1
|
+
{"mappings":"AAgBA,cAAc,MAAM,KAAK,eAAe,uBAAwB;AAChE,cAAc,mBAAmB,yBAA0B;AAC3D,OAAO,WAA4B,OAAQ;UAIjC,cAAc,cAAc,SAAS;CAC7C,KAAK,IAAI;CACT,YAAY;CACZ,cAAcA,KAAK;CACnB,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,mBAAmBC;CACnB;AACD;AAED,OAAO,iBAAS,SAAS,cAAc,SAAS,EAC9C,KACA,YACA,YACA,uBACA,WACA,iBACA,cACqB,EAApB,cAAc,SAAS,MAAM","names":["row: TData","cell: Cell<TData, unknown>","rowId: string | null"],"sources":["../../../src/object-table/TableRow.tsx"],"version":3,"file":"TableRow.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,6BACA,MACA,cACA,iBACA,yBACK,WAAY;AAEnB,cAAc,wBAAwB,sBAAuB;AAC7D,
|
|
1
|
+
{"mappings":"AAgBA,cACE,6BACA,MACA,cACA,iBACA,yBACK,WAAY;AAEnB,cAAc,wBAAwB,sBAAuB;AAC7D,cAEE,sBAEK,mBAAoB;AAE3B,iBAAiB;CACf,UAAU;CACV,aAAa,eAAe,qBAAqB;CAIjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D;CACA,WAAW,WAAW;CAEtB,qBAAqB,iBACnB,GACA,MACA,iBACA;CAEF,gBAAgB,iBACd,GACA,MACA,iBACA;AACH;AAED,OAAO,iBAAS;CACd,UAAU;CACV,aAAa,eAAe,qBAAqB;CAIjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D,EACA,UACA,oBACA,eACgD,EAA/C,sBAAsB,GAAG,MAAM,mBAAmB,eACnD,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI","names":[],"sources":["../../../../src/object-table/hooks/useEditableTable.ts"],"version":3,"file":"useEditableTable.d.ts"}
|
|
@@ -12,11 +12,11 @@ export interface CellEditInfo<
|
|
|
12
12
|
TData extends RowData = unknown,
|
|
13
13
|
CellValue = unknown
|
|
14
14
|
> extends CellIdentifier {
|
|
15
|
-
newValue: CellValue;
|
|
16
|
-
oldValue: CellValue;
|
|
15
|
+
newValue: CellValue | null;
|
|
16
|
+
oldValue: CellValue | null;
|
|
17
17
|
originalRowData: TData;
|
|
18
18
|
}
|
|
19
|
-
export type
|
|
19
|
+
export type EditModeState = {
|
|
20
20
|
type: "always"
|
|
21
21
|
isActive: true
|
|
22
22
|
} | {
|
|
@@ -32,5 +32,8 @@ export interface EditableConfig<
|
|
|
32
32
|
onCellEdit: (cellId: string, info: CellEditInfo<TData, CellValue>) => void;
|
|
33
33
|
onSubmitEdits?: () => Promise<boolean>;
|
|
34
34
|
clearEdits: () => void;
|
|
35
|
-
|
|
35
|
+
editModeState: EditModeState;
|
|
36
|
+
onCellValidationError: (cellId: string, error: string) => void;
|
|
37
|
+
validationErrors: Map<string, string>;
|
|
38
|
+
clearCellValidationError: (cellId: string) => void;
|
|
36
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,eAAe,uBAAwB;AAErD,iBAAiB,aAAa;CAC5B;CACA;CACA;AACD;AAED,iBAAiB,eAAe;CAC9B;CACA;AACD;AAED,iBAAiB;CACf,cAAc;CACd;UACQ,eAAe;CACvB,UAAU;CACV,UAAU;CACV,iBAAiB;AAClB;AAED,YAAY,
|
|
1
|
+
{"mappings":"AAgBA,cAAc,eAAe,uBAAwB;AAErD,iBAAiB,aAAa;CAC5B;CACA;CACA;AACD;AAED,iBAAiB,eAAe;CAC9B;CACA;AACD;AAED,iBAAiB;CACf,cAAc;CACd;UACQ,eAAe;CACvB,UAAU;CACV,UAAU;CACV,iBAAiB;AAClB;AAED,YAAY,gBACR;CAAE,MAAM;CAAU,UAAU;AAAM,IAClC;CAAE,MAAM;CAAU;CAAmB,YAAYA;AAAyB;AAE9E,iBAAiB;CACf,cAAc;CACd;EACA;CACA,WAAW,eAAe,aAAa,OAAO;CAC9C,aACEC,gBACAC,MAAM,aAAa,OAAO;CAE5B,sBAAsB;CACtB;CACA,eAAe;CACf,wBACED,gBACAE;CAEF,kBAAkB;CAClB,2BAA2BF;AAC5B","names":["value: boolean","cellId: string","info: CellEditInfo<TData, CellValue>","error: string"],"sources":["../../../../src/object-table/utils/types.ts"],"version":3,"file":"types.d.ts"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;AAqBA,OAAO,iBAAS,kBAAkBA","names":["value: never"],"sources":["../../../src/shared/assertUnreachable.ts"],"version":3,"file":"assertUnreachable.d.ts"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;AAuBA,OAAO,cAAMA,iBAAiB,GAAGC,WAAW,MAAM","names":["typedReactMemo: <T>(component: T) => T","component: T"],"sources":["../../../src/shared/typedMemo.ts"],"version":3,"file":"typedMemo.d.ts"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/react-components",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.18",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -44,7 +44,8 @@
|
|
|
44
44
|
"@dnd-kit/utilities": "^3.2.2",
|
|
45
45
|
"@tanstack/react-table": "^8.21.3",
|
|
46
46
|
"@tanstack/react-virtual": "^3.13.13",
|
|
47
|
-
"lodash-es": "^4.17.21"
|
|
47
|
+
"lodash-es": "^4.17.21",
|
|
48
|
+
"react-hook-form": "^7.54.0"
|
|
48
49
|
},
|
|
49
50
|
"peerDependencies": {
|
|
50
51
|
"@osdk/api": "*",
|
|
@@ -66,11 +67,11 @@
|
|
|
66
67
|
"react": "^18.3.1",
|
|
67
68
|
"react-dom": "^18.3.1",
|
|
68
69
|
"typescript": "~5.5.4",
|
|
69
|
-
"@osdk/
|
|
70
|
-
"@osdk/
|
|
70
|
+
"@osdk/client": "2.8.0-beta.21",
|
|
71
|
+
"@osdk/api": "2.8.0-beta.21",
|
|
71
72
|
"@osdk/monorepo.api-extractor": "~0.7.0-beta.1",
|
|
72
73
|
"@osdk/monorepo.tsconfig": "~0.7.0-beta.1",
|
|
73
|
-
"@osdk/react": "0.10.0-beta.
|
|
74
|
+
"@osdk/react": "0.10.0-beta.9"
|
|
74
75
|
},
|
|
75
76
|
"publishConfig": {
|
|
76
77
|
"access": "public"
|