@powerhousedao/document-engineering 1.33.0 → 1.35.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/src/table/components/default-cell-editors/aid-editor.d.ts +1 -1
- package/dist/src/table/components/default-cell-editors/aid-editor.d.ts.map +1 -1
- package/dist/src/table/components/default-cell-editors/aid-editor.js +9 -2
- package/dist/src/table/components/default-cell-editors/aid-editor.js.map +1 -1
- package/dist/src/table/components/default-cell-editors/email-editor.js +1 -1
- package/dist/src/table/components/default-cell-editors/email-editor.js.map +1 -1
- package/dist/src/table/components/default-cell-editors/enum-editor.d.ts +1 -1
- package/dist/src/table/components/default-cell-editors/enum-editor.d.ts.map +1 -1
- package/dist/src/table/components/default-cell-editors/enum-editor.js +9 -2
- package/dist/src/table/components/default-cell-editors/enum-editor.js.map +1 -1
- package/dist/src/table/components/default-cell-editors/index.d.ts +13 -0
- package/dist/src/table/components/default-cell-editors/index.d.ts.map +1 -1
- package/dist/src/table/components/default-cell-editors/index.js +13 -0
- package/dist/src/table/components/default-cell-editors/index.js.map +1 -1
- package/dist/src/table/components/default-cell-renderers/url-render.d.ts.map +1 -1
- package/dist/src/table/components/default-cell-renderers/url-render.js +1 -1
- package/dist/src/table/components/default-cell-renderers/url-render.js.map +1 -1
- package/dist/src/table/components/header.d.ts.map +1 -1
- package/dist/src/table/components/header.js +4 -1
- package/dist/src/table/components/header.js.map +1 -1
- package/dist/src/table/components/rows/render-row.d.ts.map +1 -1
- package/dist/src/table/components/rows/render-row.js +6 -1
- package/dist/src/table/components/rows/render-row.js.map +1 -1
- package/dist/src/table/components/table-focus-trap.d.ts.map +1 -1
- package/dist/src/table/components/table-focus-trap.js +5 -2
- package/dist/src/table/components/table-focus-trap.js.map +1 -1
- package/dist/src/table/examples/custom-cell-editors/custom-cell-editors.d.ts +5 -0
- package/dist/src/table/examples/custom-cell-editors/custom-cell-editors.d.ts.map +1 -0
- package/dist/src/table/examples/custom-cell-editors/custom-cell-editors.js +173 -0
- package/dist/src/table/examples/custom-cell-editors/custom-cell-editors.js.map +1 -0
- package/dist/src/table/examples/row-reordering/row-reordering.d.ts +5 -0
- package/dist/src/table/examples/row-reordering/row-reordering.d.ts.map +1 -0
- package/dist/src/table/examples/row-reordering/row-reordering.js +65 -0
- package/dist/src/table/examples/row-reordering/row-reordering.js.map +1 -0
- package/dist/src/table/hooks/useRowDrag.d.ts +9 -0
- package/dist/src/table/hooks/useRowDrag.d.ts.map +1 -0
- package/dist/src/table/hooks/useRowDrag.js +78 -0
- package/dist/src/table/hooks/useRowDrag.js.map +1 -0
- package/dist/src/table/logic/selection-manager.d.ts.map +1 -1
- package/dist/src/table/logic/selection-manager.js +6 -0
- package/dist/src/table/logic/selection-manager.js.map +1 -1
- package/dist/src/table/logic/table-api.d.ts.map +1 -1
- package/dist/src/table/logic/table-api.js +3 -6
- package/dist/src/table/logic/table-api.js.map +1 -1
- package/dist/src/table/table/object-set-table.d.ts +1 -0
- package/dist/src/table/table/object-set-table.d.ts.map +1 -1
- package/dist/src/table/table/object-set-table.js +5 -0
- package/dist/src/table/table/object-set-table.js.map +1 -1
- package/dist/src/table/table/types.d.ts +7 -0
- package/dist/src/table/table/types.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/amount-input/amount-input.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/amount-input/amount-input.js +1 -1
- package/dist/src/ui/components/data-entry/amount-input/amount-input.js.map +1 -1
- package/dist/src/ui/components/data-entry/phone-number-input/phone-number-input.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/phone-number-input/phone-number-input.js +8 -4
- package/dist/src/ui/components/data-entry/phone-number-input/phone-number-input.js.map +1 -1
- package/dist/src/ui/components/data-entry/phone-number-input/subcomponents/phone-number-diff.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/phone-number-input/subcomponents/phone-number-diff.js +8 -3
- package/dist/src/ui/components/data-entry/phone-number-input/subcomponents/phone-number-diff.js.map +1 -1
- package/dist/src/ui/components/data-entry/phone-number-input/use-phone-number-input.d.ts +6 -4
- package/dist/src/ui/components/data-entry/phone-number-input/use-phone-number-input.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/phone-number-input/use-phone-number-input.js +84 -55
- package/dist/src/ui/components/data-entry/phone-number-input/use-phone-number-input.js.map +1 -1
- package/dist/src/ui/components/data-entry/phone-number-input/utils.d.ts +10 -0
- package/dist/src/ui/components/data-entry/phone-number-input/utils.d.ts.map +1 -0
- package/dist/src/ui/components/data-entry/phone-number-input/utils.js +72 -0
- package/dist/src/ui/components/data-entry/phone-number-input/utils.js.map +1 -0
- package/dist/src/ui/components/sidebar/sidebar.d.ts +14 -1
- package/dist/src/ui/components/sidebar/sidebar.d.ts.map +1 -1
- package/dist/src/ui/components/sidebar/sidebar.js +13 -5
- package/dist/src/ui/components/sidebar/sidebar.js.map +1 -1
- package/dist/src/ui/components/sidebar/subcomponents/sidebar-item.d.ts.map +1 -1
- package/dist/src/ui/components/sidebar/subcomponents/sidebar-item.js +2 -2
- package/dist/src/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -1
- package/dist/src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts +4 -2
- package/dist/src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts.map +1 -1
- package/dist/src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js +14 -4
- package/dist/src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js.map +1 -1
- package/dist/src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts +20 -4
- package/dist/src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts.map +1 -1
- package/dist/src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js +17 -1
- package/dist/src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js.map +1 -1
- package/dist/src/ui/components/sidebar/types.d.ts +3 -0
- package/dist/src/ui/components/sidebar/types.d.ts.map +1 -1
- package/dist/src/ui/components/sidebar/utils.d.ts +9 -1
- package/dist/src/ui/components/sidebar/utils.d.ts.map +1 -1
- package/dist/src/ui/components/sidebar/utils.js +35 -0
- package/dist/src/ui/components/sidebar/utils.js.map +1 -1
- package/dist/style.css +84 -10
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +3 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { AIDFieldProps } from '../../../scalars/components/aid-field/types.js';
|
|
2
2
|
import type { CellContext, DataType } from '../../table/types.js';
|
|
3
|
-
export declare const buildAidCellEditor: <T extends DataType>(aidFieldProps: Omit<AIDFieldProps, "name" | "value" | "onChange"
|
|
3
|
+
export declare const buildAidCellEditor: <T extends DataType>(aidFieldProps: Omit<AIDFieldProps, "name" | "value" | "onChange">) => (value: unknown, onChange: (newValue: unknown) => void, context: CellContext<T>) => import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
//# sourceMappingURL=aid-editor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aid-editor.d.ts","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/aid-editor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAA;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEjE,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,QAAQ,EACnD,eAAe,IAAI,
|
|
1
|
+
{"version":3,"file":"aid-editor.d.ts","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/aid-editor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAA;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEjE,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,QAAQ,EACnD,eAAe,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,aAEnC,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,WAAW,WAAW,CAAC,CAAC,CAAC,4CA6CtG,CAAA"}
|
|
@@ -2,8 +2,15 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { AIDField } from '../../../scalars/components/aid-field/aid-field.js';
|
|
3
3
|
export const buildAidCellEditor = (aidFieldProps) => {
|
|
4
4
|
const AidCellEditor = (value, onChange, context) => {
|
|
5
|
-
const aidValue = typeof value === 'string' ? value :
|
|
6
|
-
|
|
5
|
+
const aidValue = typeof value === 'string' ? value : (value?.toString() ?? '');
|
|
6
|
+
if (aidFieldProps.autoComplete !== false && aidFieldProps.fetchOptionsCallback) {
|
|
7
|
+
const { autoComplete: _, fetchOptionsCallback, ...restProps } = aidFieldProps;
|
|
8
|
+
return (_jsx(AIDField, { name: context.column.field, className: "max-w-full", autoFocus: true, fetchOptionsCallback: fetchOptionsCallback, ...restProps, value: aidValue, onChange: (value) => {
|
|
9
|
+
onChange(value);
|
|
10
|
+
} }));
|
|
11
|
+
}
|
|
12
|
+
const { autoComplete: _1, fetchOptionsCallback: _2, fetchSelectedOptionCallback: _3, previewPlaceholder: _4, ...restProps } = aidFieldProps;
|
|
13
|
+
return (_jsx(AIDField, { name: context.column.field, className: "max-w-full", autoFocus: true, autoComplete: false, ...restProps, value: aidValue, onChange: (value) => {
|
|
7
14
|
onChange(value);
|
|
8
15
|
} }));
|
|
9
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aid-editor.js","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/aid-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oDAAoD,CAAA;AAI7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,
|
|
1
|
+
{"version":3,"file":"aid-editor.js","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/aid-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oDAAoD,CAAA;AAI7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,aAAiE,EACjE,EAAE;IACF,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,QAAqC,EAAE,OAAuB,EAAE,EAAE;QACvG,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAE9E,IAAI,aAAa,CAAC,YAAY,KAAK,KAAK,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC;YAC/E,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,oBAAoB,EAAE,GAAG,SAAS,EAAE,GAAG,aAAa,CAAA;YAE7E,OAAO,CACL,KAAC,QAAQ,IACP,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAC1B,SAAS,EAAC,YAAY,EACtB,SAAS,QACT,oBAAoB,EAAE,oBAAoB,KACtC,SAAS,EACb,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACjB,CAAC,GACD,CACH,CAAA;QACH,CAAC;QAED,MAAM,EACJ,YAAY,EAAE,EAAE,EAChB,oBAAoB,EAAE,EAAE,EACxB,2BAA2B,EAAE,EAAE,EAC/B,kBAAkB,EAAE,EAAE,EACtB,GAAG,SAAS,EACb,GAAG,aAAa,CAAA;QAEjB,OAAO,CACL,KAAC,QAAQ,IACP,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAC1B,SAAS,EAAC,YAAY,EACtB,SAAS,QACT,YAAY,EAAE,KAAK,KACf,SAAS,EACb,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,QAAQ,CAAC,KAAK,CAAC,CAAA;YACjB,CAAC,GACD,CACH,CAAA;IACH,CAAC,CAAA;IAED,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { EmailField } from '../../../scalars/components/email-field/email-field.js';
|
|
3
3
|
export const buildEmailCellEditor = (emailFieldProps) => {
|
|
4
4
|
const EmailCellEditor = (value, onChange, context) => {
|
|
5
|
-
const emailValue = typeof value === 'string' ? value :
|
|
5
|
+
const emailValue = typeof value === 'string' ? value : (value?.toString() ?? '');
|
|
6
6
|
return (_jsx(EmailField, { name: context.column.field, className: "max-w-full", autoFocus: true, ...emailFieldProps, value: emailValue, onChange: (e) => {
|
|
7
7
|
onChange(e.target.value);
|
|
8
8
|
} }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-editor.js","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/email-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,wDAAwD,CAAA;AAGzG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,eAAqE,EACrE,EAAE;IACF,MAAM,eAAe,GAAG,CAAC,KAAc,EAAE,QAAqC,EAAE,OAAuB,EAAE,EAAE;QACzG,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"email-editor.js","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/email-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,wDAAwD,CAAA;AAGzG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,eAAqE,EACrE,EAAE;IACF,MAAM,eAAe,GAAG,CAAC,KAAc,EAAE,QAAqC,EAAE,OAAuB,EAAE,EAAE;QACzG,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAEhF,OAAO,CACL,KAAC,UAAU,IACT,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAC1B,SAAS,EAAC,YAAY,EACtB,SAAS,WACL,eAAe,EACnB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC1B,CAAC,GACD,CACH,CAAA;IACH,CAAC,CAAA;IAED,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type SelectFieldProps } from '../../../scalars/components/fragments/select-field/index.js';
|
|
2
2
|
import type { CellContext, DataType } from '../../table/types.js';
|
|
3
|
-
export declare const buildEnumCellEditor: <T extends DataType>(selectFieldProps: Omit<SelectFieldProps, "name" | "value" | "onChange"
|
|
3
|
+
export declare const buildEnumCellEditor: <T extends DataType>(selectFieldProps: Omit<SelectFieldProps, "name" | "value" | "onChange">) => (value: unknown, onChange: (newValue: unknown) => void, context: CellContext<T>) => import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
//# sourceMappingURL=enum-editor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-editor.d.ts","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/enum-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,6DAA6D,CAAA;AAChH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEjE,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,QAAQ,EACpD,kBAAkB,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"enum-editor.d.ts","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/enum-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,6DAA6D,CAAA;AAChH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEjE,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,QAAQ,EACpD,kBAAkB,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,aAExC,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,WAAW,WAAW,CAAC,CAAC,CAAC,4CAuCvG,CAAA"}
|
|
@@ -2,8 +2,15 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { SelectField } from '../../../scalars/components/fragments/select-field/index.js';
|
|
3
3
|
export const buildEnumCellEditor = (selectFieldProps) => {
|
|
4
4
|
const EnumCellEditor = (value, onChange, context) => {
|
|
5
|
-
const enumValue = typeof value === 'string' ? value :
|
|
6
|
-
|
|
5
|
+
const enumValue = typeof value === 'string' ? value : (value?.toString() ?? '');
|
|
6
|
+
if (selectFieldProps.selectionIcon === 'checkmark') {
|
|
7
|
+
const { selectionIcon: _, selectionIconPosition, ...restProps } = selectFieldProps;
|
|
8
|
+
return (_jsx(SelectField, { name: context.column.field, className: "max-w-full", autoFocus: true, selectionIcon: "checkmark", selectionIconPosition: selectionIconPosition, ...restProps, value: enumValue, onChange: (newValue) => {
|
|
9
|
+
onChange(newValue);
|
|
10
|
+
} }));
|
|
11
|
+
}
|
|
12
|
+
const { selectionIcon: _1, selectionIconPosition: _2, ...restProps } = selectFieldProps;
|
|
13
|
+
return (_jsx(SelectField, { name: context.column.field, className: "max-w-full", autoFocus: true, ...restProps, value: enumValue, onChange: (newValue) => {
|
|
7
14
|
onChange(newValue);
|
|
8
15
|
} }));
|
|
9
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-editor.js","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/enum-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,6DAA6D,CAAA;AAGhH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,
|
|
1
|
+
{"version":3,"file":"enum-editor.js","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/enum-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,6DAA6D,CAAA;AAGhH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,gBAAuE,EACvE,EAAE;IACF,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,QAAqC,EAAE,OAAuB,EAAE,EAAE;QACxG,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAE/E,IAAI,gBAAgB,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;YACnD,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,qBAAqB,EAAE,GAAG,SAAS,EAAE,GAAG,gBAAgB,CAAA;YAElF,OAAO,CACL,KAAC,WAAW,IACV,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAC1B,SAAS,EAAC,YAAY,EACtB,SAAS,QACT,aAAa,EAAC,WAAW,EACzB,qBAAqB,EAAE,qBAAqB,KACxC,SAAS,EACb,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACrB,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBACpB,CAAC,GACD,CACH,CAAA;QACH,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,gBAAgB,CAAA;QAEvF,OAAO,CACL,KAAC,WAAW,IACV,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAC1B,SAAS,EAAC,YAAY,EACtB,SAAS,WACL,SAAS,EACb,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACrB,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACpB,CAAC,GACD,CACH,CAAA;IACH,CAAC,CAAA;IAED,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
+
export { buildAidCellEditor } from './aid-editor.js';
|
|
2
|
+
export { buildAmountCellEditor } from './amount-editor.js';
|
|
1
3
|
export { buildBooleanCellEditor } from './boolean-editor.js';
|
|
4
|
+
export { buildCountryCellEditor } from './country-editor.js';
|
|
5
|
+
export { buildCurrencyCellEditor } from './currency-editor.js';
|
|
6
|
+
export { buildDateCellEditor } from './date-editor.js';
|
|
7
|
+
export { buildDateTimeCellEditor } from './datetime-editor.js';
|
|
8
|
+
export { buildEmailCellEditor } from './email-editor.js';
|
|
9
|
+
export { buildEnumCellEditor } from './enum-editor.js';
|
|
2
10
|
export { buildNumberCellEditor } from './number-editor.js';
|
|
11
|
+
export { buildOidCellEditor } from './oid-editor.js';
|
|
12
|
+
export { buildPhidCellEditor } from './phid-editor.js';
|
|
3
13
|
export { buildStringCellEditor } from './string-editor.js';
|
|
14
|
+
export { buildTimeCellEditor } from './time-editor.js';
|
|
15
|
+
export { buildUrlCellEditor } from './url-editor.js';
|
|
16
|
+
export { getCellEditorFn } from './get-cell-editor-fn.js';
|
|
4
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
+
export { buildAidCellEditor } from './aid-editor.js';
|
|
2
|
+
export { buildAmountCellEditor } from './amount-editor.js';
|
|
1
3
|
export { buildBooleanCellEditor } from './boolean-editor.js';
|
|
4
|
+
export { buildCountryCellEditor } from './country-editor.js';
|
|
5
|
+
export { buildCurrencyCellEditor } from './currency-editor.js';
|
|
6
|
+
export { buildDateCellEditor } from './date-editor.js';
|
|
7
|
+
export { buildDateTimeCellEditor } from './datetime-editor.js';
|
|
8
|
+
export { buildEmailCellEditor } from './email-editor.js';
|
|
9
|
+
export { buildEnumCellEditor } from './enum-editor.js';
|
|
2
10
|
export { buildNumberCellEditor } from './number-editor.js';
|
|
11
|
+
export { buildOidCellEditor } from './oid-editor.js';
|
|
12
|
+
export { buildPhidCellEditor } from './phid-editor.js';
|
|
3
13
|
export { buildStringCellEditor } from './string-editor.js';
|
|
14
|
+
export { buildTimeCellEditor } from './time-editor.js';
|
|
15
|
+
export { buildUrlCellEditor } from './url-editor.js';
|
|
16
|
+
export { getCellEditorFn } from './get-cell-editor-fn.js';
|
|
4
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-render.d.ts","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-renderers/url-render.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEjE,QAAA,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,OAAO,OAAO,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"url-render.d.ts","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-renderers/url-render.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEjE,QAAA,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,OAAO,OAAO,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,4CAyB5F,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -6,7 +6,7 @@ const renderUrlCell = (value, context) => {
|
|
|
6
6
|
'text-right': context.column.align === 'right',
|
|
7
7
|
'text-center': context.column.align === 'center',
|
|
8
8
|
'text-left': context.column.align === 'left' || !context.column.align,
|
|
9
|
-
}), children: url ? (_jsx("a", { href: url, target: "_blank", rel: "noopener noreferrer", className: "text-blue-
|
|
9
|
+
}), children: url ? (_jsx("a", { href: url, target: "_blank", rel: "noopener noreferrer", className: "text-blue-900 hover:underline focus-visible:outline-none", children: url })) : ('') }));
|
|
10
10
|
};
|
|
11
11
|
export { renderUrlCell };
|
|
12
12
|
//# sourceMappingURL=url-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-render.js","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-renderers/url-render.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAA;AAGlD,MAAM,aAAa,GAAG,CAAgC,KAAc,EAAE,OAAuB,EAAE,EAAE;IAC/F,MAAM,GAAG,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAEnC,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CAAC;YACZ,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO;YAC9C,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;YAChD,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;SACtE,CAAC,YAED,GAAG,CAAC,CAAC,CAAC,CACL,
|
|
1
|
+
{"version":3,"file":"url-render.js","sourceRoot":"","sources":["../../../../../src/table/components/default-cell-renderers/url-render.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAA;AAGlD,MAAM,aAAa,GAAG,CAAgC,KAAc,EAAE,OAAuB,EAAE,EAAE;IAC/F,MAAM,GAAG,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAEnC,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CAAC;YACZ,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO;YAC9C,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;YAChD,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;SACtE,CAAC,YAED,GAAG,CAAC,CAAC,CAAC,CACL,YACE,IAAI,EAAE,GAAG,EACT,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,0DAA0D,YAEnE,GAAG,GACF,CACL,CAAC,CAAC,CAAC,CACF,EAAE,CACH,GACG,CACP,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/table/components/header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/table/components/header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAM/D,UAAU,gBAAgB;IACxB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;CAC/B;AAID,QAAA,MAAM,WAAW,GAAI,aAAa,gBAAgB,4CA2EjD,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -4,6 +4,8 @@ import { cn } from '../../scalars/lib/utils.js';
|
|
|
4
4
|
import { getColumnTitle } from '../table/utils.js';
|
|
5
5
|
import { HeaderNumberTd } from './header/header-number-td.js';
|
|
6
6
|
import { useInternalTableState } from './table-provider/table-provider.js';
|
|
7
|
+
import { useRowDrag } from '../hooks/useRowDrag.js';
|
|
8
|
+
const HEADER_ROW_INDEX = -1;
|
|
7
9
|
const TableHeader = ({ columns }) => {
|
|
8
10
|
const { config, state: { selectedRowIndexes }, api, } = useInternalTableState();
|
|
9
11
|
const handleSelectAllRows = useCallback(() => {
|
|
@@ -41,7 +43,8 @@ const TableHeader = ({ columns }) => {
|
|
|
41
43
|
return (_jsx("th", { className: cn('group/header-cell', column.sortable ? 'cursor-pointer' : ''), style: style, onClick: onSort, children: column.renderHeader(getColumnTitle(column), cellContext) }, column.field));
|
|
42
44
|
});
|
|
43
45
|
}, [api, columns, config]);
|
|
44
|
-
|
|
46
|
+
const { draggingOver, onDragOver, onDragLeave, onDrop } = useRowDrag(HEADER_ROW_INDEX);
|
|
47
|
+
return (_jsx("thead", { children: _jsxs("tr", { className: cn(!selectedRowIndexes.includes(0) && 'border-b', draggingOver ? 'border-b-1 border-blue-500' : 'border-gray-300'), onDragOver: onDragOver, onDragLeave: onDragLeave, onDrop: onDrop, children: [_jsx(HeaderNumberTd, { isAllRowsSelected: isAllRowsSelected, handleSelectAllRows: handleSelectAllRows }), columnHeaders] }) }));
|
|
45
48
|
};
|
|
46
49
|
export { TableHeader };
|
|
47
50
|
//# sourceMappingURL=header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/table/components/header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,4BAA4B,CAAA;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/table/components/header.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-row.d.ts","sourceRoot":"","sources":["../../../../../src/table/components/rows/render-row.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"render-row.d.ts","sourceRoot":"","sources":["../../../../../src/table/components/rows/render-row.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAUjE,UAAU,cAAc,CAAC,CAAC,SAAS,QAAQ;IACzC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;CACzC;AAED,QAAA,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,EAAE,0BAAsC,cAAc,CAAC,CAAC,CAAC,4CA4J7F,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -6,6 +6,8 @@ import { TableRow } from './table-row.js';
|
|
|
6
6
|
import { RenderCell } from '../cells/render-cell/render-cell.js';
|
|
7
7
|
import { InformationCell } from '../cells/information-cell.js';
|
|
8
8
|
import { RowActions } from './row-actions.js';
|
|
9
|
+
import { useRowDrag } from '../../hooks/useRowDrag.js';
|
|
10
|
+
import { cn } from '../../../scalars/index.js';
|
|
9
11
|
const RenderRow = ({ item, rowIndex, mode = 'default' }) => {
|
|
10
12
|
const { config, state: { selectedRowIndexes, selectedCellIndex, selectedRowErrors }, api, } = useInternalTableState();
|
|
11
13
|
const { allowRowSelection } = config;
|
|
@@ -90,7 +92,10 @@ const RenderRow = ({ item, rowIndex, mode = 'default' }) => {
|
|
|
90
92
|
const handleSecondaryActionsClose = useCallback(() => {
|
|
91
93
|
setIsSecondaryActionsOpen(false);
|
|
92
94
|
}, []);
|
|
93
|
-
|
|
95
|
+
const { canDrag, draggingOver, ...eventHandlers } = useRowDrag(rowIndex);
|
|
96
|
+
return (_jsxs(TableRow, { ref: rowRef, index: rowIndex, onClick: createAddSelectedRowHandler(rowIndex), onMouseDown: handleMouseDown, onMouseEnter: handleRowMouseEnter, onMouseLeave: handleRowMouseLeave,
|
|
97
|
+
// rows drag and drop handlers
|
|
98
|
+
draggable: canDrag, ...eventHandlers, className: cn(draggingOver === rowIndex && canDrag && 'border-b-1 border-blue-900'), children: [_jsx(RowNumberCell, { index: mode === 'default' ? item.__index + 1 : rowIndex + 1, handleSelectRowOnClick: createSelectRowOnClickHandler(rowIndex), selected: selectedRowIndexes.includes(rowIndex) || selectedCellIndex?.row === rowIndex, hasErrors: hasErrors }), config.columns.map((column, columnIndex) => {
|
|
94
99
|
return (_jsx(RenderCell, { rowItem: item, column: column, rowIndex: rowIndex, columnIndex: columnIndex, renderEmptyCell: mode === 'empty' }, column.field));
|
|
95
100
|
}), (api.isEditable() || api.canDelete()) && _jsx(InformationCell, { rowIndex: rowIndex }), canShowActions && (_jsx(RowActions, { data: item, open: actionsOpen, rowIndex: rowIndex, rowRef: rowRef, primaryAction: config.actions?.primary, secondaryActions: config.actions?.secondary, isSecondaryActionsOpen: isSecondaryActionsOpen, handleSecondaryActionsOpen: handleSecondaryActionsOpen, handleSecondaryActionsClose: handleSecondaryActionsClose }))] }));
|
|
96
101
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-row.js","sourceRoot":"","sources":["../../../../../src/table/components/rows/render-row.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"render-row.js","sourceRoot":"","sources":["../../../../../src/table/components/rows/render-row.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-focus-trap.d.ts","sourceRoot":"","sources":["../../../../src/table/components/table-focus-trap.tsx"],"names":[],"mappings":"AAKA,QAAA,MAAM,cAAc,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"table-focus-trap.d.ts","sourceRoot":"","sources":["../../../../src/table/components/table-focus-trap.tsx"],"names":[],"mappings":"AAKA,QAAA,MAAM,cAAc,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,4CA0ClE,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -18,14 +18,17 @@ const TableFocusTrap = ({ children }) => {
|
|
|
18
18
|
}
|
|
19
19
|
if (api.selection.haveSelectedCells()) {
|
|
20
20
|
if (api.isEditing()) {
|
|
21
|
+
event.preventDefault();
|
|
21
22
|
void api.exitCellEditMode(true);
|
|
22
23
|
return; // do not clear the cell selection
|
|
23
24
|
}
|
|
24
25
|
api.selection.clearCellSelection();
|
|
25
26
|
}
|
|
26
27
|
});
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
return (_jsx("div", { ref: ref, children: _jsx(FocusTrap, { active: !!selectedCellIndex, focusTrapOptions: {
|
|
29
|
+
allowOutsideClick: true,
|
|
30
|
+
escapeDeactivates: false,
|
|
31
|
+
}, children: children }) }));
|
|
29
32
|
};
|
|
30
33
|
export { TableFocusTrap };
|
|
31
34
|
//# sourceMappingURL=table-focus-trap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-focus-trap.js","sourceRoot":"","sources":["../../../../src/table/components/table-focus-trap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAE1E,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAiC,EAAE,EAAE;IACrE,MAAM,EACJ,KAAK,EAAE,EAAE,iBAAiB,EAAE,EAC5B,GAAG,GACJ,GAAG,qBAAqB,EAAE,CAAA;IAC3B,MAAM,GAAG,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"table-focus-trap.js","sourceRoot":"","sources":["../../../../src/table/components/table-focus-trap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAE1E,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAiC,EAAE,EAAE;IACrE,MAAM,EACJ,KAAK,EAAE,EAAE,iBAAiB,EAAE,EAC5B,GAAG,GACJ,GAAG,qBAAqB,EAAE,CAAA;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAExC,iBAAiB,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAI,KAAK,CAAC,MAAsB,CAAC,qBAAqB,EAAE,CAAA;QAEtE,kEAAkE;QAClE,wGAAwG;QACxG,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAA;QACtD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC/F,OAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACtC,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,KAAK,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBAC/B,OAAM,CAAC,kCAAkC;YAC3C,CAAC;YACD,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAA;QACpC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CACL,cAAK,GAAG,EAAE,GAAG,YACX,KAAC,SAAS,IACR,MAAM,EAAE,CAAC,CAAC,iBAAiB,EAC3B,gBAAgB,EAAE;gBAChB,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB,EAAE,KAAK;aACzB,YAEA,QAAQ,GACC,GACR,CACP,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type MockedPerson } from '../../table/mock-data.js';
|
|
2
|
+
import type { ObjectSetTableConfig } from '../../table/types.js';
|
|
3
|
+
declare const CustomCellEditorsExample: (props: Omit<ObjectSetTableConfig<MockedPerson>, "columns" | "data">) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export default CustomCellEditorsExample;
|
|
5
|
+
//# sourceMappingURL=custom-cell-editors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-cell-editors.d.ts","sourceRoot":"","sources":["../../../../../src/table/examples/custom-cell-editors/custom-cell-editors.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEtE,OAAO,KAAK,EAA0B,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AA6GxF,QAAA,MAAM,wBAAwB,GAAI,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,4CA+IpG,CAAA;AAED,eAAe,wBAAwB,CAAA"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState } from 'react';
|
|
3
|
+
import { useFormContext } from 'react-hook-form';
|
|
4
|
+
import { cn } from '../../../scalars/lib/utils.js';
|
|
5
|
+
import { mockData } from '../../table/mock-data.js';
|
|
6
|
+
import { ObjectSetTable } from '../../table/object-set-table.js';
|
|
7
|
+
import { buildStringCellEditor } from '../../components/default-cell-editors/string-editor.js';
|
|
8
|
+
const CustomTextInputEditor = ({ value, onChange, context, placeholder, maxLength, }) => {
|
|
9
|
+
const { register } = useFormContext();
|
|
10
|
+
const inputValue = typeof value === 'string' ? value : (value?.toString() ?? '');
|
|
11
|
+
return (_jsx("input", { ...register(context.column.field, {
|
|
12
|
+
value: inputValue,
|
|
13
|
+
onChange,
|
|
14
|
+
validate: (value) => {
|
|
15
|
+
if (typeof value === 'string' && value.length > 10) {
|
|
16
|
+
return 'Custom validation: Value must be less than 10 characters';
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
},
|
|
20
|
+
}), type: "text", placeholder: placeholder, maxLength: maxLength, autoFocus: true, className: cn('w-full px-2 py-1 text-sm border border-gray-300 rounded-md', 'focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent', 'bg-white text-gray-900 placeholder-gray-500') }));
|
|
21
|
+
};
|
|
22
|
+
CustomTextInputEditor.displayName = 'CustomTextInputEditor';
|
|
23
|
+
const CustomEmailInputEditor = ({ value, onChange, context, }) => {
|
|
24
|
+
const { register } = useFormContext();
|
|
25
|
+
const emailValue = typeof value === 'string' ? value : (value?.toString() ?? '');
|
|
26
|
+
return (_jsx("input", { ...register(context.column.field, {
|
|
27
|
+
value: emailValue,
|
|
28
|
+
onChange,
|
|
29
|
+
pattern: {
|
|
30
|
+
value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,
|
|
31
|
+
message: 'Invalid email address',
|
|
32
|
+
},
|
|
33
|
+
}), type: "email", placeholder: "Enter email address...", autoFocus: true, className: cn('w-full px-2 py-1 text-sm border border-gray-300 rounded-md', 'focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent', 'bg-white text-gray-900 placeholder-gray-500', 'invalid:border-red-500 invalid:ring-red-500') }));
|
|
34
|
+
};
|
|
35
|
+
CustomEmailInputEditor.displayName = 'CustomEmailInputEditor';
|
|
36
|
+
// The Editors can be created using the CellEditor signature directly, but creating builders for them gives you the
|
|
37
|
+
// flexibility to reuse them with different parameters.
|
|
38
|
+
const buildCustomHTMLInputEditor = (placeholder, maxLength) => {
|
|
39
|
+
const editor = (value, onChange, context) => {
|
|
40
|
+
return (_jsx(CustomTextInputEditor, { value: value, onChange: onChange, context: context, placeholder: placeholder, maxLength: maxLength }));
|
|
41
|
+
};
|
|
42
|
+
editor.displayName = 'CustomHTMLInputEditor';
|
|
43
|
+
return editor;
|
|
44
|
+
};
|
|
45
|
+
const buildCustomEmailEditor = () => {
|
|
46
|
+
const editor = (value, onChange, context) => {
|
|
47
|
+
return _jsx(CustomEmailInputEditor, { value: value, onChange: onChange, context: context });
|
|
48
|
+
};
|
|
49
|
+
editor.displayName = 'CustomEmailEditor';
|
|
50
|
+
return editor;
|
|
51
|
+
};
|
|
52
|
+
const CustomCellEditorsExample = (props) => {
|
|
53
|
+
const [data, setData] = useState(mockData);
|
|
54
|
+
const columns = useMemo(() => [
|
|
55
|
+
{
|
|
56
|
+
field: 'firstName',
|
|
57
|
+
title: 'First Name',
|
|
58
|
+
editable: true,
|
|
59
|
+
width: 160,
|
|
60
|
+
onSave: (value, context) => {
|
|
61
|
+
if (typeof value === 'string' && value.trim().length > 0) {
|
|
62
|
+
setData((prevData) => {
|
|
63
|
+
const newData = [...prevData];
|
|
64
|
+
newData[context.rowIndex].firstName = value.trim();
|
|
65
|
+
return newData;
|
|
66
|
+
});
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
},
|
|
71
|
+
// Using custom HTML input editor instead of built-in StringField
|
|
72
|
+
renderCellEditor: buildCustomHTMLInputEditor('Enter first name...', 50),
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
field: 'email',
|
|
76
|
+
title: 'Email',
|
|
77
|
+
editable: true,
|
|
78
|
+
width: 200,
|
|
79
|
+
type: 'email',
|
|
80
|
+
onSave: (value, context) => {
|
|
81
|
+
if (typeof value === 'string' && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)) {
|
|
82
|
+
setData((prevData) => {
|
|
83
|
+
const newData = [...prevData];
|
|
84
|
+
newData[context.rowIndex].email = value;
|
|
85
|
+
return newData;
|
|
86
|
+
});
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
return false;
|
|
90
|
+
},
|
|
91
|
+
// Using custom email input with validation
|
|
92
|
+
renderCellEditor: buildCustomEmailEditor(),
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
field: 'walletAddress',
|
|
96
|
+
title: 'Wallet Address',
|
|
97
|
+
editable: true,
|
|
98
|
+
width: 200,
|
|
99
|
+
onSave: (value, context) => {
|
|
100
|
+
if (typeof value === 'string' && value.trim().length > 0) {
|
|
101
|
+
setData((prevData) => {
|
|
102
|
+
const newData = [...prevData];
|
|
103
|
+
newData[context.rowIndex].walletAddress = value.trim();
|
|
104
|
+
return newData;
|
|
105
|
+
});
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
return false;
|
|
109
|
+
},
|
|
110
|
+
// Mixed: Using built-in scalar editor for comparison
|
|
111
|
+
renderCellEditor: buildStringCellEditor({
|
|
112
|
+
placeholder: 'Enter wallet address...',
|
|
113
|
+
className: 'font-mono text-xs',
|
|
114
|
+
}),
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
field: 'payment',
|
|
118
|
+
title: 'Payment',
|
|
119
|
+
width: 120,
|
|
120
|
+
type: 'number',
|
|
121
|
+
editable: true,
|
|
122
|
+
align: 'right',
|
|
123
|
+
onSave: (value, context) => {
|
|
124
|
+
const numValue = Number(value);
|
|
125
|
+
if (!isNaN(numValue) && numValue >= 0) {
|
|
126
|
+
setData((prevData) => {
|
|
127
|
+
const newData = [...prevData];
|
|
128
|
+
newData[context.rowIndex].payment = numValue;
|
|
129
|
+
return newData;
|
|
130
|
+
});
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
return false;
|
|
134
|
+
},
|
|
135
|
+
renderCell: (value) => {
|
|
136
|
+
return value !== undefined ? _jsxs("span", { className: "font-mono", children: ["$", value.toLocaleString()] }) : null;
|
|
137
|
+
},
|
|
138
|
+
// Using built-in number editor for simplicity
|
|
139
|
+
renderCellEditor: buildStringCellEditor({
|
|
140
|
+
placeholder: 'Enter amount...',
|
|
141
|
+
className: 'text-right font-mono',
|
|
142
|
+
}),
|
|
143
|
+
},
|
|
144
|
+
], []);
|
|
145
|
+
return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "bg-blue-50 border border-blue-200 rounded-lg p-4", children: [_jsx("h3", { className: "font-semibold text-blue-900 mb-2", children: "Custom Cell Editors Example" }), _jsx("p", { className: "text-blue-800 text-sm", children: "This example demonstrates custom cell editors using HTML inputs with react-hook-form's register() function. Compare the custom HTML inputs (First Name, Email) with the built-in scalar editor (Wallet Address)." })] }), _jsx(ObjectSetTable, { columns: columns, data: data, minRowCount: 5, maxRowCount: 10, ...props, onDelete: (rows) => {
|
|
146
|
+
setData((prevData) => {
|
|
147
|
+
const newData = [...prevData];
|
|
148
|
+
const filteredData = newData.filter((row) => !rows.some((person) => person.id === row.id));
|
|
149
|
+
return filteredData;
|
|
150
|
+
});
|
|
151
|
+
}, onAdd: (data) => {
|
|
152
|
+
const newPerson = {
|
|
153
|
+
id: crypto.randomUUID(),
|
|
154
|
+
firstName: '',
|
|
155
|
+
status: 'inactive',
|
|
156
|
+
payment: 0,
|
|
157
|
+
isActive: false,
|
|
158
|
+
walletAddress: '',
|
|
159
|
+
email: '',
|
|
160
|
+
address: {
|
|
161
|
+
addressLine1: '',
|
|
162
|
+
addressLine2: '',
|
|
163
|
+
city: '',
|
|
164
|
+
state: '',
|
|
165
|
+
zip: '',
|
|
166
|
+
},
|
|
167
|
+
...data,
|
|
168
|
+
};
|
|
169
|
+
setData((prevData) => [...prevData, newPerson]);
|
|
170
|
+
} })] }));
|
|
171
|
+
};
|
|
172
|
+
export default CustomCellEditorsExample;
|
|
173
|
+
//# sourceMappingURL=custom-cell-editors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-cell-editors.js","sourceRoot":"","sources":["../../../../../src/table/examples/custom-cell-editors/custom-cell-editors.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type MockedPerson } from '../../table/mock-data.js';
|
|
2
|
+
import type { ObjectSetTableConfig } from '../../table/types.js';
|
|
3
|
+
declare const RowReorderingExample: (props: Omit<ObjectSetTableConfig<MockedPerson>, "columns" | "data">) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export default RowReorderingExample;
|
|
5
|
+
//# sourceMappingURL=row-reordering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-reordering.d.ts","sourceRoot":"","sources":["../../../../../src/table/examples/row-reordering/row-reordering.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEtE,OAAO,KAAK,EAAa,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAG3E,QAAA,MAAM,oBAAoB,GAAI,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,4CA8FhG,CAAA;AAED,eAAe,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState } from 'react';
|
|
3
|
+
import { cn } from '../../../scalars/index.js';
|
|
4
|
+
import { mockData } from '../../table/mock-data.js';
|
|
5
|
+
import { ObjectSetTable } from '../../table/object-set-table.js';
|
|
6
|
+
import { Icon } from '../../../ui/components/icon/icon.js';
|
|
7
|
+
const RowReorderingExample = (props) => {
|
|
8
|
+
const [data, setData] = useState(mockData.slice(0, 6)); // Use fewer rows for better demo
|
|
9
|
+
const columns = useMemo(() => [
|
|
10
|
+
{
|
|
11
|
+
field: 'firstName',
|
|
12
|
+
title: 'Name',
|
|
13
|
+
width: 140,
|
|
14
|
+
renderCell: (value) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Icon, { name: "Person", size: 16, className: "text-gray-500" }), _jsx("span", { className: "font-medium", children: value })] })),
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
field: 'email',
|
|
18
|
+
width: 200,
|
|
19
|
+
renderCell: (value) => _jsx("span", { className: "text-gray-600", children: value }),
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
field: 'status',
|
|
23
|
+
width: 120,
|
|
24
|
+
renderCell: (value) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: cn('h-2 w-2 rounded-full', value === 'active' ? 'bg-green-500' : 'bg-red-500') }), _jsx("span", { className: cn('text-xs font-medium', value === 'active' ? 'text-green-700' : 'text-red-700'), children: value.charAt(0).toUpperCase() + value.slice(1) })] })),
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
field: 'payment',
|
|
28
|
+
width: 120,
|
|
29
|
+
type: 'number',
|
|
30
|
+
},
|
|
31
|
+
], []);
|
|
32
|
+
/**
|
|
33
|
+
* Reorder the rows in the table.
|
|
34
|
+
*
|
|
35
|
+
* @param rows - The rows part of the `data` array to reorder.
|
|
36
|
+
* @param targetRowIndex - The index (0-based) to reorder the rows to, this index is relative to the original array.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```
|
|
40
|
+
* data = [1,2,3,4,5]
|
|
41
|
+
* handleReorder([1,2], 3)
|
|
42
|
+
* data = [4,3,1,2,5]
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
const handleReorder = (rows, targetRowIndex) => {
|
|
46
|
+
setData((prevData) => {
|
|
47
|
+
const left = [];
|
|
48
|
+
const right = [];
|
|
49
|
+
prevData.forEach((row, index) => {
|
|
50
|
+
if (!rows.some((incomingRow) => incomingRow.id === row.id)) {
|
|
51
|
+
if (index <= targetRowIndex) {
|
|
52
|
+
left.push(row);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
right.push(row);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return [...left, ...rows, ...right];
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
return (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsxs("div", { className: "p-4 bg-blue-50 border border-blue-200 rounded-md", children: [_jsx("h3", { className: "text-sm font-medium text-blue-900 mb-2", children: "Row Reordering Demo" }), _jsx("p", { className: "text-sm text-blue-700", children: "Drag and drop rows to reorder them. The table data will update automatically." })] }), _jsx(ObjectSetTable, { columns: columns, data: data, onReorder: handleReorder, allowRowSelection: true, showRowNumbers: true, minRowCount: 10, ...props })] }));
|
|
63
|
+
};
|
|
64
|
+
export default RowReorderingExample;
|
|
65
|
+
//# sourceMappingURL=row-reordering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-reordering.js","sourceRoot":"","sources":["../../../../../src/table/examples/row-reordering/row-reordering.tsx"],"names":[],"mappings":"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"}
|