@tsed/react-formio 3.0.0-rc.2 → 3.0.0-rc.21
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/all.js +2 -0
- package/dist/all.js.map +1 -1
- package/dist/chunks/_baseGet.js +102 -0
- package/dist/chunks/_baseGet.js.map +1 -0
- package/dist/chunks/_baseSlice.js +12 -65
- package/dist/chunks/_baseSlice.js.map +1 -1
- package/dist/chunks/camelCase.js +1 -1
- package/dist/chunks/get.js +16 -0
- package/dist/chunks/get.js.map +1 -0
- package/dist/chunks/index2.js +19746 -22285
- package/dist/chunks/index2.js.map +1 -1
- package/dist/chunks/moment.js +2535 -0
- package/dist/chunks/moment.js.map +1 -0
- package/dist/chunks/omit.js +173 -268
- package/dist/chunks/omit.js.map +1 -1
- package/dist/chunks/toString.js +56 -0
- package/dist/chunks/toString.js.map +1 -0
- package/dist/interfaces/JSONRecord.d.ts +4 -0
- package/dist/interfaces/JSONRecord.js +2 -0
- package/dist/interfaces/JSONRecord.js.map +1 -0
- package/dist/interfaces/Operation.d.ts +3 -12
- package/dist/interfaces/SubmissionType.d.ts +4 -14
- package/dist/interfaces/index.d.ts +0 -1
- package/dist/molecules/forms/select/Select.interface.d.ts +0 -4
- package/dist/molecules/table/Table.d.ts +4 -12
- package/dist/molecules/table/Table.js +34 -33
- package/dist/molecules/table/Table.js.map +1 -1
- package/dist/molecules/table/all.js +2 -0
- package/dist/molecules/table/all.js.map +1 -1
- package/dist/molecules/table/components/DefaultBooleanCell.d.ts +2 -0
- package/dist/molecules/table/components/DefaultBooleanCell.js +12 -0
- package/dist/molecules/table/components/DefaultBooleanCell.js.map +1 -0
- package/dist/molecules/table/components/DefaultCell.d.ts +2 -5
- package/dist/molecules/table/components/DefaultCell.js +8 -6
- package/dist/molecules/table/components/DefaultCell.js.map +1 -1
- package/dist/molecules/table/components/DefaultCellOperations.d.ts +4 -11
- package/dist/molecules/table/components/DefaultCellOperations.js.map +1 -1
- package/dist/molecules/table/components/DefaultDateCell.d.ts +2 -0
- package/dist/molecules/table/components/DefaultDateCell.js +16 -0
- package/dist/molecules/table/components/DefaultDateCell.js.map +1 -0
- package/dist/molecules/table/components/DefaultFilter.d.ts +5 -7
- package/dist/molecules/table/components/DefaultFilter.js +8 -8
- package/dist/molecules/table/components/DefaultFilter.js.map +1 -1
- package/dist/molecules/table/components/DefaultOperationButton.d.ts +4 -11
- package/dist/molecules/table/components/DefaultOperationButton.js.map +1 -1
- package/dist/molecules/table/filters/Filters.d.ts +27 -0
- package/dist/molecules/table/filters/Filters.js +2 -0
- package/dist/molecules/table/filters/Filters.js.map +1 -0
- package/dist/molecules/table/filters/SelectFilter.js +22 -20
- package/dist/molecules/table/filters/SelectFilter.js.map +1 -1
- package/dist/molecules/table/filters/TextFieldFilter.js +16 -16
- package/dist/molecules/table/filters/TextFieldFilter.js.map +1 -1
- package/dist/molecules/table/hooks/useTable.d.ts +4 -11
- package/dist/molecules/table/hooks/useTable.js +14 -14
- package/dist/molecules/table/hooks/useTable.js.map +1 -1
- package/dist/molecules/table/hooks/useUniqValues.d.ts +4 -5
- package/dist/molecules/table/hooks/useUniqValues.js +23 -7
- package/dist/molecules/table/hooks/useUniqValues.js.map +1 -1
- package/dist/molecules/table/interfaces/extends.d.ts +3 -0
- package/dist/molecules/table/utils/mapFormToColumns.d.ts +5 -1
- package/dist/molecules/table/utils/mapFormToColumns.js +53 -26
- package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -1
- package/dist/organisms/form/Form.d.ts +3 -11
- package/dist/organisms/form/Form.js.map +1 -1
- package/dist/organisms/form/actions/FormAction.js +5 -5
- package/dist/organisms/form/types.d.ts +1 -9
- package/dist/organisms/form/useForm.d.ts +4 -11
- package/dist/organisms/form/useForm.js.map +1 -1
- package/dist/organisms/table/forms/components/FormsCell.js +1 -1
- package/dist/organisms/table/submissions/SubmissionsTable.d.ts +4 -11
- package/dist/organisms/table/submissions/SubmissionsTable.js +2 -5
- package/dist/organisms/table/submissions/SubmissionsTable.js.map +1 -1
- package/dist/organisms/views/FormViews.d.ts +4 -11
- package/dist/organisms/views/FormViews.js.map +1 -1
- package/package.json +3 -3
- package/src/all.ts +2 -0
- package/src/interfaces/JSONRecord.ts +2 -0
- package/src/interfaces/Operation.ts +3 -6
- package/src/interfaces/SubmissionType.ts +4 -8
- package/src/interfaces/index.ts +0 -1
- package/src/molecules/forms/select/Select.interface.ts +0 -4
- package/src/molecules/table/Table.stories.tsx +101 -66
- package/src/molecules/table/Table.tsx +57 -56
- package/src/molecules/table/all.ts +2 -0
- package/src/molecules/table/components/DefaultBooleanCell.spec.tsx +42 -0
- package/src/molecules/table/components/DefaultBooleanCell.tsx +11 -0
- package/src/molecules/table/components/DefaultCell.spec.tsx +32 -0
- package/src/molecules/table/components/DefaultCell.tsx +8 -9
- package/src/molecules/table/components/DefaultCellOperations.tsx +4 -3
- package/src/molecules/table/components/DefaultDateCell.spec.tsx +43 -0
- package/src/molecules/table/components/DefaultDateCell.tsx +23 -0
- package/src/molecules/table/components/DefaultFilter.tsx +10 -7
- package/src/molecules/table/components/DefaultOperationButton.tsx +4 -4
- package/src/molecules/table/filters/{Filters.d.ts → Filters.ts} +7 -3
- package/src/molecules/table/filters/SelectFilter.tsx +5 -3
- package/src/molecules/table/filters/TextFieldFilter.tsx +5 -3
- package/src/molecules/table/hooks/useTable.tsx +8 -13
- package/src/molecules/table/hooks/useUniqValues.spec.tsx +82 -0
- package/src/molecules/table/hooks/useUniqValues.tsx +38 -6
- package/src/molecules/table/interfaces/extends.ts +3 -0
- package/src/molecules/table/utils/mapFormToColumns.spec.tsx +116 -0
- package/src/molecules/table/utils/mapFormToColumns.tsx +67 -27
- package/src/organisms/form/Form.stories.tsx +7 -2
- package/src/organisms/form/Form.tsx +3 -3
- package/src/organisms/form/types.ts +1 -6
- package/src/organisms/form/useForm.ts +6 -5
- package/src/organisms/table/submissions/SubmissionsTable.tsx +5 -10
- package/src/organisms/views/FormViews.tsx +6 -9
- package/dist/interfaces/QueryOptions.d.ts +0 -23
- package/dist/interfaces/QueryOptions.js +0 -2
- package/dist/interfaces/QueryOptions.js.map +0 -1
- package/dist/molecules/table/filters/Filters.d.js +0 -2
- package/dist/molecules/table/filters/Filters.d.js.map +0 -1
- package/src/interfaces/QueryOptions.ts +0 -24
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { a as q, b as p, c as T, d } from "./_baseClone.js";
|
|
2
|
+
var s, g;
|
|
3
|
+
function _() {
|
|
4
|
+
if (g) return s;
|
|
5
|
+
g = 1;
|
|
6
|
+
var t = q(), r = p(), n = "[object Symbol]";
|
|
7
|
+
function i(e) {
|
|
8
|
+
return typeof e == "symbol" || r(e) && t(e) == n;
|
|
9
|
+
}
|
|
10
|
+
return s = i, s;
|
|
11
|
+
}
|
|
12
|
+
var u, c;
|
|
13
|
+
function h() {
|
|
14
|
+
if (c) return u;
|
|
15
|
+
c = 1;
|
|
16
|
+
function t(r, n) {
|
|
17
|
+
for (var i = -1, e = r == null ? 0 : r.length, o = Array(e); ++i < e; )
|
|
18
|
+
o[i] = n(r[i], i, r);
|
|
19
|
+
return o;
|
|
20
|
+
}
|
|
21
|
+
return u = t, u;
|
|
22
|
+
}
|
|
23
|
+
var b, m;
|
|
24
|
+
function v() {
|
|
25
|
+
if (m) return b;
|
|
26
|
+
m = 1;
|
|
27
|
+
var t = T(), r = h(), n = d(), i = _(), e = t ? t.prototype : void 0, o = e ? e.toString : void 0;
|
|
28
|
+
function y(a) {
|
|
29
|
+
if (typeof a == "string")
|
|
30
|
+
return a;
|
|
31
|
+
if (n(a))
|
|
32
|
+
return r(a, y) + "";
|
|
33
|
+
if (i(a))
|
|
34
|
+
return o ? o.call(a) : "";
|
|
35
|
+
var S = a + "";
|
|
36
|
+
return S == "0" && 1 / a == -1 / 0 ? "-0" : S;
|
|
37
|
+
}
|
|
38
|
+
return b = y, b;
|
|
39
|
+
}
|
|
40
|
+
var f, l;
|
|
41
|
+
function M() {
|
|
42
|
+
if (l) return f;
|
|
43
|
+
l = 1;
|
|
44
|
+
var t = v();
|
|
45
|
+
function r(n) {
|
|
46
|
+
return n == null ? "" : t(n);
|
|
47
|
+
}
|
|
48
|
+
return f = r, f;
|
|
49
|
+
}
|
|
50
|
+
export {
|
|
51
|
+
M as a,
|
|
52
|
+
h as b,
|
|
53
|
+
v as c,
|
|
54
|
+
_ as r
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=toString.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toString.js","sources":["../../../../node_modules/lodash/isSymbol.js","../../../../node_modules/lodash/_arrayMap.js","../../../../node_modules/lodash/_baseToString.js","../../../../node_modules/lodash/toString.js"],"sourcesContent":["var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n"],"names":["baseGetTag","require$$0","isObjectLike","require$$1","symbolTag","isSymbol","value","isSymbol_1","arrayMap","array","iteratee","index","length","result","_arrayMap","Symbol","isArray","require$$2","require$$3","symbolProto","symbolToString","baseToString","_baseToString","toString","toString_1"],"mappings":";;;;;AAAA,MAAIA,IAAaC,EAAA,GACbC,IAAeC,EAAA,GAGfC,IAAY;AAmBhB,WAASC,EAASC,GAAO;AACvB,WAAO,OAAOA,KAAS,YACpBJ,EAAaI,CAAK,KAAKN,EAAWM,CAAK,KAAKF;AAAA,EACjD;AAEA,SAAAG,IAAiBF;;;;;;ACnBjB,WAASG,EAASC,GAAOC,GAAU;AAKjC,aAJIC,IAAQ,IACRC,IAASH,KAAS,OAAO,IAAIA,EAAM,QACnCI,IAAS,MAAMD,CAAM,GAElB,EAAED,IAAQC;AACf,MAAAC,EAAOF,CAAK,IAAID,EAASD,EAAME,CAAK,GAAGA,GAAOF,CAAK;AAErD,WAAOI;AAAA,EACT;AAEA,SAAAC,IAAiBN;;;;;;ACpBjB,MAAIO,IAASd,EAAA,GACTO,IAAWL,EAAA,GACXa,IAAUC,EAAA,GACVZ,IAAWa,EAAA,GAMXC,IAAcJ,IAASA,EAAO,YAAY,QAC1CK,IAAiBD,IAAcA,EAAY,WAAW;AAU1D,WAASE,EAAaf,GAAO;AAE3B,QAAI,OAAOA,KAAS;AAClB,aAAOA;AAET,QAAIU,EAAQV,CAAK;AAEf,aAAOE,EAASF,GAAOe,CAAY,IAAI;AAEzC,QAAIhB,EAASC,CAAK;AAChB,aAAOc,IAAiBA,EAAe,KAAKd,CAAK,IAAI;AAEvD,QAAIO,IAAUP,IAAQ;AACtB,WAAQO,KAAU,OAAQ,IAAIP,KAAU,SAAa,OAAOO;AAAA,EAC9D;AAEA,SAAAS,IAAiBD;;;;;;ACpCjB,MAAIA,IAAepB,EAAA;AAuBnB,WAASsB,EAASjB,GAAO;AACvB,WAAOA,KAAS,OAAO,KAAKe,EAAaf,CAAK;AAAA,EAChD;AAEA,SAAAkB,IAAiBD;;","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JSONRecord.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
1
|
import { OperationButtonProps } from '../molecules/table/components/DefaultOperationButton.js';
|
|
3
|
-
import {
|
|
2
|
+
import { JSONRecord } from './JSONRecord.js';
|
|
4
3
|
export type CellMetadata = Record<string, unknown>;
|
|
5
|
-
export type PermissionsResolver<Data extends
|
|
6
|
-
|
|
7
|
-
} = {
|
|
8
|
-
[key: string]: JSON;
|
|
9
|
-
}> = (data: Data, metadata: CellMetadata, operation: Operation<Data>) => void;
|
|
10
|
-
export interface Operation<Data extends {
|
|
11
|
-
[key: string]: JSON;
|
|
12
|
-
} = {
|
|
13
|
-
[key: string]: JSON;
|
|
14
|
-
}> {
|
|
4
|
+
export type PermissionsResolver<Data extends object = JSONRecord> = (data: Data, metadata: CellMetadata, operation: Operation<Data>) => void;
|
|
5
|
+
export interface Operation<Data extends object = JSONRecord> {
|
|
15
6
|
/**
|
|
16
7
|
* Action identifier
|
|
17
8
|
*/
|
|
@@ -1,24 +1,14 @@
|
|
|
1
1
|
import { Component, Submission } from '@formio/core';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
export type SubmissionType<Data extends {
|
|
6
|
-
[key: string]: JSON;
|
|
7
|
-
} = {
|
|
8
|
-
[key: string]: JSON;
|
|
9
|
-
}> = Omit<Partial<Submission>, "data"> & {
|
|
2
|
+
import { JSONRecord } from './JSONRecord.js';
|
|
3
|
+
export type SubmissionType<Data extends object = JSONRecord> = Omit<Partial<Submission>, "data"> & {
|
|
10
4
|
data: Data;
|
|
11
5
|
};
|
|
12
|
-
export interface ChangedSubmission<Data extends {
|
|
13
|
-
[key: string]: JSON;
|
|
14
|
-
} = {
|
|
15
|
-
[key: string]: JSON;
|
|
16
|
-
}> extends SubmissionType<Data> {
|
|
6
|
+
export interface ChangedSubmission<Data extends object = JSONRecord> extends SubmissionType<Data> {
|
|
17
7
|
data: Data;
|
|
18
8
|
changed?: {
|
|
19
9
|
component: Component;
|
|
20
10
|
instance: any;
|
|
21
11
|
value: unknown;
|
|
22
|
-
} &
|
|
12
|
+
} & JSONRecord;
|
|
23
13
|
isValid: boolean;
|
|
24
14
|
}
|
|
@@ -24,10 +24,6 @@ export interface SelectProps<Data = string> extends FormControlProps<Data, Selec
|
|
|
24
24
|
searchEnabled?: boolean;
|
|
25
25
|
customProperties?: Record<string, any>;
|
|
26
26
|
options: (SelectOptionBaseProps<Data> | Omit<SelectOptionProps<Data>, "value">)[];
|
|
27
|
-
/**
|
|
28
|
-
* @deprecated
|
|
29
|
-
*/
|
|
30
|
-
choices?: (SelectOptionBaseProps<Data> | Omit<SelectOptionProps<Data>, "value">)[];
|
|
31
27
|
}
|
|
32
28
|
export interface SelectSingle<Data = string> extends SelectProps<Data> {
|
|
33
29
|
multiple?: false | undefined;
|
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { JSONRecord } from '../../interfaces/JSONRecord.js';
|
|
3
3
|
import { UseTableProps } from './hooks/useTable';
|
|
4
|
-
export interface TableProps<Data extends {
|
|
5
|
-
[key: string]: JSON;
|
|
6
|
-
} = {
|
|
7
|
-
[key: string]: JSON;
|
|
8
|
-
}> extends UseTableProps<Data> {
|
|
4
|
+
export interface TableProps<Data extends object = JSONRecord> extends UseTableProps<Data> {
|
|
9
5
|
className?: string;
|
|
10
6
|
enableFooter?: boolean;
|
|
11
|
-
|
|
7
|
+
enablePagination?: boolean;
|
|
12
8
|
}
|
|
13
|
-
export declare function Table<Data extends {
|
|
14
|
-
[key: string]: JSON;
|
|
15
|
-
} = {
|
|
16
|
-
[key: string]: JSON;
|
|
17
|
-
}>({ className, enableFooter, children, ...props }: PropsWithChildren<TableProps<Data>>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function Table<Data extends object = JSONRecord>({ className, enableFooter, enablePagination, children, ...props }: PropsWithChildren<TableProps<Data>>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,57 +1,58 @@
|
|
|
1
|
-
import { jsxs as l, jsx as
|
|
2
|
-
import { createElement as
|
|
3
|
-
import { flexRender as
|
|
4
|
-
import { c as
|
|
1
|
+
import { jsxs as l, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { createElement as C } from "react";
|
|
3
|
+
import { flexRender as b } from "@tanstack/react-table";
|
|
4
|
+
import { c as x } from "../../chunks/index.js";
|
|
5
5
|
import { getComponent as r } from "../../registries/components.js";
|
|
6
6
|
import { useTable as f } from "./hooks/useTable.js";
|
|
7
|
-
function
|
|
7
|
+
function k({
|
|
8
8
|
className: c,
|
|
9
9
|
enableFooter: g,
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
enablePagination: m = !0,
|
|
11
|
+
children: u,
|
|
12
|
+
...o
|
|
12
13
|
}) {
|
|
13
|
-
const { tableInstance:
|
|
14
|
-
return /* @__PURE__ */ l("div", { className:
|
|
15
|
-
/* @__PURE__ */ l("table", { className: "table table-striped table-hover", children: [
|
|
16
|
-
/* @__PURE__ */
|
|
14
|
+
const { tableInstance: n, i18n: d } = f(o), P = r("CellHeader"), p = r("CellFooter"), h = r("Pagination"), { pagination: i } = n.getState();
|
|
15
|
+
return /* @__PURE__ */ l("div", { className: x("table-group", c), children: [
|
|
16
|
+
/* @__PURE__ */ a("div", { className: "table-group-body", children: /* @__PURE__ */ l("table", { className: "table table-striped table-hover", children: [
|
|
17
|
+
/* @__PURE__ */ a("thead", { children: n.getHeaderGroups().map((t) => /* @__PURE__ */ a("tr", { children: t.headers.map((e) => {
|
|
17
18
|
const s = e.column.getIsSorted();
|
|
18
|
-
return /* @__PURE__ */
|
|
19
|
+
return /* @__PURE__ */ a(
|
|
19
20
|
"th",
|
|
20
21
|
{
|
|
21
22
|
"data-testid": `head-cell-${e.id}`,
|
|
22
23
|
"aria-sort": s ? s === "asc" ? "ascending" : "descending" : "none",
|
|
23
|
-
children: e.isPlaceholder ? null : /* @__PURE__ */
|
|
24
|
+
children: e.isPlaceholder ? null : /* @__PURE__ */ a(P, { header: e, i18n: d })
|
|
24
25
|
},
|
|
25
26
|
e.id
|
|
26
27
|
);
|
|
27
28
|
}) }, t.id)) }),
|
|
28
|
-
/* @__PURE__ */
|
|
29
|
-
g && /* @__PURE__ */
|
|
30
|
-
] }),
|
|
31
|
-
/* @__PURE__ */ l("div", { className: "
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
/* @__PURE__ */ a("tbody", { children: n.getRowModel().rows.map((t) => /* @__PURE__ */ a("tr", { "data-testid": `body-row-${t.id}`, children: t.getVisibleCells().filter((e) => !e.column.columnDef.meta?.hidden).map((e) => /* @__PURE__ */ C("td", { ...e.column.columnDef?.meta?.cellProps, key: e.id, "data-testid": `body-cell-${e.id}` }, b(e.column.columnDef.cell, e.getContext()))) }, t.id)) }),
|
|
30
|
+
g && /* @__PURE__ */ a("tfoot", { children: n.getFooterGroups().map((t) => /* @__PURE__ */ a("tr", { children: t.headers.map((e) => /* @__PURE__ */ a("th", { children: e.isPlaceholder ? null : /* @__PURE__ */ a(p, { header: e, i18n: d }) }, e.id)) }, t.id)) })
|
|
31
|
+
] }) }),
|
|
32
|
+
/* @__PURE__ */ l("div", { className: "table-group-footer", children: [
|
|
33
|
+
o.data.length && i && m ? /* @__PURE__ */ a(
|
|
34
|
+
h,
|
|
34
35
|
{
|
|
35
36
|
className: "flex-1",
|
|
36
|
-
canNextPage:
|
|
37
|
-
canPreviousPage:
|
|
38
|
-
pageIndex:
|
|
39
|
-
pageSize:
|
|
40
|
-
pageSizes:
|
|
41
|
-
i18n:
|
|
42
|
-
pageCount:
|
|
43
|
-
rowCount:
|
|
44
|
-
onPageIndexChange: (t) =>
|
|
45
|
-
onClickPreviousPage: () =>
|
|
46
|
-
onClickNextPage: () =>
|
|
47
|
-
onPageSizeChange: (t) =>
|
|
37
|
+
canNextPage: n.getCanNextPage(),
|
|
38
|
+
canPreviousPage: n.getCanPreviousPage(),
|
|
39
|
+
pageIndex: i.pageIndex,
|
|
40
|
+
pageSize: i.pageSize,
|
|
41
|
+
pageSizes: o.pageSizes,
|
|
42
|
+
i18n: o.i18n,
|
|
43
|
+
pageCount: n.getPageCount(),
|
|
44
|
+
rowCount: o.rowCount,
|
|
45
|
+
onPageIndexChange: (t) => n.setPageIndex(t),
|
|
46
|
+
onClickPreviousPage: () => n.previousPage(),
|
|
47
|
+
onClickNextPage: () => n.nextPage(),
|
|
48
|
+
onPageSizeChange: (t) => n.setPageSize(t)
|
|
48
49
|
}
|
|
49
50
|
) : null,
|
|
50
|
-
/* @__PURE__ */
|
|
51
|
+
/* @__PURE__ */ a("div", { children: u })
|
|
51
52
|
] })
|
|
52
53
|
] });
|
|
53
54
|
}
|
|
54
55
|
export {
|
|
55
|
-
|
|
56
|
+
k as Table
|
|
56
57
|
};
|
|
57
58
|
//# sourceMappingURL=Table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../../../src/molecules/table/Table.tsx"],"sourcesContent":["import { flexRender } from \"@tanstack/react-table\";\nimport cx from \"classnames\";\nimport { PropsWithChildren } from \"react\";\n\nimport type {
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../../src/molecules/table/Table.tsx"],"sourcesContent":["import { flexRender } from \"@tanstack/react-table\";\nimport cx from \"classnames\";\nimport { PropsWithChildren } from \"react\";\n\nimport type { JSONRecord } from \"../../interfaces/JSONRecord.js\";\nimport { getComponent } from \"../../registries/components\";\nimport type { Pagination as DefaultPagination } from \"../pagination/Pagination\";\nimport type { DefaultCellFooter } from \"./components/DefaultCellFooter\";\nimport type { DefaultCellHeader } from \"./components/DefaultCellHeader\";\nimport { useTable, UseTableProps } from \"./hooks/useTable\";\n\nexport interface TableProps<Data extends object = JSONRecord> extends UseTableProps<Data> {\n className?: string;\n enableFooter?: boolean;\n enablePagination?: boolean;\n}\n\nexport function Table<Data extends object = JSONRecord>({\n className,\n enableFooter,\n enablePagination = true,\n children,\n ...props\n}: PropsWithChildren<TableProps<Data>>) {\n const { tableInstance, i18n } = useTable<Data>(props);\n const CellHeader = getComponent<typeof DefaultCellHeader>(\"CellHeader\");\n const CellFooter = getComponent<typeof DefaultCellFooter>(\"CellFooter\");\n const Pagination = getComponent<typeof DefaultPagination>(\"Pagination\");\n\n const { pagination } = tableInstance.getState();\n\n return (\n <div className={cx(\"table-group\", className)}>\n <div className='table-group-body'>\n <table className='table table-striped table-hover'>\n <thead>\n {tableInstance.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const sort = header.column.getIsSorted();\n return (\n <th\n data-testid={`head-cell-${header.id}`}\n key={header.id}\n aria-sort={sort ? (sort === \"asc\" ? \"ascending\" : \"descending\") : \"none\"}\n >\n {header.isPlaceholder ? null : <CellHeader header={header} i18n={i18n} />}\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n <tbody>\n {tableInstance.getRowModel().rows.map((row) => {\n return (\n <tr key={row.id} data-testid={`body-row-${row.id}`}>\n {row\n .getVisibleCells()\n .filter((cell) => !cell.column.columnDef.meta?.hidden)\n .map((cell) => {\n return (\n <td {...cell.column.columnDef?.meta?.cellProps} key={cell.id} data-testid={`body-cell-${cell.id}`}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n );\n })}\n </tr>\n );\n })}\n </tbody>\n {enableFooter && (\n <tfoot>\n {tableInstance.getFooterGroups().map((footerGroup) => (\n <tr key={footerGroup.id}>\n {footerGroup.headers.map((header) => (\n <th key={header.id}>{header.isPlaceholder ? null : <CellFooter header={header} i18n={i18n} />}</th>\n ))}\n </tr>\n ))}\n </tfoot>\n )}\n </table>\n </div>\n <div className='table-group-footer'>\n {props.data.length && pagination && enablePagination ? (\n <Pagination\n className={\"flex-1\"}\n canNextPage={tableInstance.getCanNextPage()}\n canPreviousPage={tableInstance.getCanPreviousPage()}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n pageSizes={props.pageSizes}\n i18n={props.i18n}\n pageCount={tableInstance.getPageCount()}\n rowCount={props.rowCount}\n onPageIndexChange={(page) => tableInstance.setPageIndex(page)}\n onClickPreviousPage={() => tableInstance.previousPage()}\n onClickNextPage={() => tableInstance.nextPage()}\n onPageSizeChange={(pageSize) => tableInstance.setPageSize(pageSize)}\n />\n ) : null}\n <div>{children}</div>\n </div>\n </div>\n );\n}\n"],"names":["Table","className","enableFooter","enablePagination","children","props","tableInstance","i18n","useTable","CellHeader","getComponent","CellFooter","Pagination","pagination","cx","jsx","jsxs","headerGroup","header","sort","row","cell","createElement","flexRender","footerGroup","page","pageSize"],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import "./components/DefaultFilter.js";
|
|
2
2
|
import "./components/DefaultArrowSort.js";
|
|
3
3
|
import "./components/DefaultCell.js";
|
|
4
|
+
import "./components/DefaultBooleanCell.js";
|
|
5
|
+
import "./components/DefaultDateCell.js";
|
|
4
6
|
import "./components/DefaultCellOperations.js";
|
|
5
7
|
import "./components/DefaultOperationButton.js";
|
|
6
8
|
import "./components/DefaultCellHeader.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"all.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { registerComponent as o } from "../../../registries/components.js";
|
|
3
|
+
function l({ getValue: n, column: { columnDef: e } }) {
|
|
4
|
+
const t = n();
|
|
5
|
+
return /* @__PURE__ */ r("span", { children: String(t ? e.meta?.labels?.yes || "Yes" : e.meta?.labels?.no || "No") });
|
|
6
|
+
}
|
|
7
|
+
o("Cell.boolean", l);
|
|
8
|
+
o("Cell.checkbox", l);
|
|
9
|
+
export {
|
|
10
|
+
l as DefaultCellBoolean
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=DefaultBooleanCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultBooleanCell.js","sources":["../../../../src/molecules/table/components/DefaultBooleanCell.tsx"],"sourcesContent":["import { CellContext } from \"@tanstack/react-table\";\n\nimport { registerComponent } from \"../../../registries/components\";\n\nexport function DefaultCellBoolean<Data extends object>({ getValue, column: { columnDef } }: CellContext<Data, boolean>) {\n const value = getValue();\n return <span>{String(value ? columnDef.meta?.labels?.[\"yes\"] || \"Yes\" : columnDef.meta?.labels?.[\"no\"] || \"No\")}</span>;\n}\n\nregisterComponent(\"Cell.boolean\", DefaultCellBoolean);\nregisterComponent(\"Cell.checkbox\", DefaultCellBoolean);\n"],"names":["DefaultCellBoolean","getValue","columnDef","value","registerComponent"],"mappings":";;AAIO,SAASA,EAAwC,EAAE,UAAAC,GAAU,QAAQ,EAAE,WAAAC,EAAA,KAA2C;AACvH,QAAMC,IAAQF,EAAA;AACd,2BAAQ,QAAA,EAAM,UAAA,OAAOE,IAAQD,EAAU,MAAM,QAAS,OAAU,QAAQA,EAAU,MAAM,QAAS,MAAS,IAAI,GAAE;AAClH;AAEAE,EAAkB,gBAAgBJ,CAAkB;AACpDI,EAAkB,iBAAiBJ,CAAkB;"}
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
render?: (value: Data) => any;
|
|
4
|
-
}
|
|
5
|
-
export declare function DefaultCell<Data = any>({ value, render }: DefaultCellProps<Data>): JSX.Element;
|
|
1
|
+
import { CellContext } from '@tanstack/react-table';
|
|
2
|
+
export declare function DefaultCell<Data = any>({ getValue, renderValue }: CellContext<Data, any>): JSX.Element;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { registerComponent as
|
|
3
|
-
function
|
|
2
|
+
import { registerComponent as t } from "../../../registries/components.js";
|
|
3
|
+
function l({ getValue: i, renderValue: o }) {
|
|
4
|
+
const r = i();
|
|
4
5
|
if (r === void 0)
|
|
5
6
|
return /* @__PURE__ */ e("span", {});
|
|
6
|
-
const n =
|
|
7
|
-
return r !== n ? /* @__PURE__ */ e("div", { dangerouslySetInnerHTML: { __html: n } }) : /* @__PURE__ */ e("span", { children: String(r) });
|
|
7
|
+
const n = o();
|
|
8
|
+
return n != null && r !== n ? /* @__PURE__ */ e("div", { dangerouslySetInnerHTML: { __html: String(n) } }) : /* @__PURE__ */ e("span", { children: String(r) });
|
|
8
9
|
}
|
|
9
|
-
|
|
10
|
+
t("Cell", l);
|
|
11
|
+
t("Cell.string", l);
|
|
10
12
|
export {
|
|
11
|
-
|
|
13
|
+
l as DefaultCell
|
|
12
14
|
};
|
|
13
15
|
//# sourceMappingURL=DefaultCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultCell.js","sources":["../../../../src/molecules/table/components/DefaultCell.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"DefaultCell.js","sources":["../../../../src/molecules/table/components/DefaultCell.tsx"],"sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\n\nimport { registerComponent } from \"../../../registries/components\";\n\nexport function DefaultCell<Data = any>({ getValue, renderValue }: CellContext<Data, any>): JSX.Element {\n const value = getValue();\n if (value === undefined) {\n return <span></span>;\n }\n\n const rendered = renderValue();\n\n if (rendered != null && value !== rendered) {\n return <div dangerouslySetInnerHTML={{ __html: String(rendered) }} />;\n }\n\n return <span>{String(value)}</span>;\n}\n\nregisterComponent(\"Cell\", DefaultCell);\nregisterComponent(\"Cell.string\", DefaultCell);\n"],"names":["DefaultCell","getValue","renderValue","value","rendered","jsx","registerComponent"],"mappings":";;AAIO,SAASA,EAAwB,EAAE,UAAAC,GAAU,aAAAC,KAAoD;AACtG,QAAMC,IAAQF,EAAA;AACd,MAAIE,MAAU;AACZ,6BAAQ,QAAA,EAAK;AAGf,QAAMC,IAAWF,EAAA;AAEjB,SAAIE,KAAY,QAAQD,MAAUC,IACzB,gBAAAC,EAAC,SAAI,yBAAyB,EAAE,QAAQ,OAAOD,CAAQ,KAAK,IAG9D,gBAAAC,EAAC,QAAA,EAAM,UAAA,OAAOF,CAAK,GAAE;AAC9B;AAEAG,EAAkB,QAAQN,CAAW;AACrCM,EAAkB,eAAeN,CAAW;"}
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { CellContext } from '@tanstack/react-table';
|
|
2
|
-
import { CellMetadata,
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} = {
|
|
6
|
-
[key: string]: JSON;
|
|
7
|
-
}> {
|
|
2
|
+
import { CellMetadata, Operation } from '../../../interfaces';
|
|
3
|
+
import { JSONRecord } from '../../../interfaces/JSONRecord.js';
|
|
4
|
+
export interface DefaultCellOperationsProps<Data extends object = JSONRecord> {
|
|
8
5
|
info: CellContext<Data, unknown>;
|
|
9
6
|
operations: Operation<Data>[];
|
|
10
7
|
metadata?: CellMetadata;
|
|
11
8
|
i18n: (i18n: string) => string;
|
|
12
9
|
onClick?: (data: any, operation: Operation<Data>) => void;
|
|
13
10
|
}
|
|
14
|
-
export declare function DefaultCellOperations<Data extends {
|
|
15
|
-
[key: string]: JSON;
|
|
16
|
-
} = {
|
|
17
|
-
[key: string]: JSON;
|
|
18
|
-
}>({ info, metadata, operations, i18n, onClick }: DefaultCellOperationsProps<Data>): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function DefaultCellOperations<Data extends object = JSONRecord>({ info, metadata, operations, i18n, onClick }: DefaultCellOperationsProps<Data>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultCellOperations.js","sources":["../../../../src/molecules/table/components/DefaultCellOperations.tsx"],"sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\n\nimport type { CellMetadata,
|
|
1
|
+
{"version":3,"file":"DefaultCellOperations.js","sources":["../../../../src/molecules/table/components/DefaultCellOperations.tsx"],"sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\n\nimport type { CellMetadata, Operation } from \"../../../interfaces\";\nimport type { JSONRecord } from \"../../../interfaces/JSONRecord.js\";\nimport { getComponent, registerComponent } from \"../../../registries/components\";\nimport type { DefaultOperationButton } from \"./DefaultOperationButton\";\n\nexport interface DefaultCellOperationsProps<Data extends object = JSONRecord> {\n info: CellContext<Data, unknown>;\n operations: Operation<Data>[];\n metadata?: CellMetadata;\n i18n: (i18n: string) => string;\n onClick?: (data: any, operation: Operation<Data>) => void;\n}\n\nexport function DefaultCellOperations<Data extends object = JSONRecord>({\n info,\n metadata,\n operations,\n i18n,\n onClick\n}: DefaultCellOperationsProps<Data>) {\n const Button = getComponent<typeof DefaultOperationButton<Data>>(\"OperationButton\");\n return (\n <div className='btn-group'>\n {operations\n .filter(({ permissionsResolver, ...operation }) => {\n return !permissionsResolver || permissionsResolver(info.row.original, metadata || {}, operation);\n })\n .map((operation) => {\n return (\n <Button\n data-testid={`operation-${info.row.id}-${operation.action}`}\n key={operation.action}\n operation={operation}\n metadata={metadata}\n info={info}\n i18n={i18n}\n onClick={() => {\n onClick?.(info.row.original, operation);\n }}\n />\n );\n })}\n </div>\n );\n}\n\nregisterComponent(\"CellOperations\", DefaultCellOperations);\n"],"names":["DefaultCellOperations","info","metadata","operations","i18n","onClick","Button","getComponent","jsx","permissionsResolver","operation","registerComponent"],"mappings":";;AAeO,SAASA,EAAwD;AAAA,EACtE,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AACF,GAAqC;AACnC,QAAMC,IAASC,EAAkD,iBAAiB;AAClF,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,aACZ,UAAAL,EACE,OAAO,CAAC,EAAE,qBAAAM,GAAqB,GAAGC,EAAA,MAC1B,CAACD,KAAuBA,EAAoBR,EAAK,IAAI,UAAUC,KAAY,CAAA,GAAIQ,CAAS,CAChG,EACA,IAAI,CAACA,MAEF,gBAAAF;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,eAAa,aAAaL,EAAK,IAAI,EAAE,IAAIS,EAAU,MAAM;AAAA,MAEzD,WAAAA;AAAA,MACA,UAAAR;AAAA,MACA,MAAAD;AAAA,MACA,MAAAG;AAAA,MACA,SAAS,MAAM;AACb,QAAAC,IAAUJ,EAAK,IAAI,UAAUS,CAAS;AAAA,MACxC;AAAA,IAAA;AAAA,IAPKA,EAAU;AAAA,EAAA,CAUpB,EAAA,CACL;AAEJ;AAEAC,EAAkB,kBAAkBX,CAAqB;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { h as o } from "../../../chunks/moment.js";
|
|
3
|
+
import { registerComponent as n } from "../../../registries/components.js";
|
|
4
|
+
function a({ getValue: i, column: { columnDef: l } }) {
|
|
5
|
+
const e = i();
|
|
6
|
+
if (!e)
|
|
7
|
+
return /* @__PURE__ */ t("span", {});
|
|
8
|
+
const r = o.parseZone(e, o.ISO_8601, !0);
|
|
9
|
+
return r.isValid() ? /* @__PURE__ */ t("span", { children: r.format(l.meta?.format || "L") }) : /* @__PURE__ */ t("span", { children: String(e) });
|
|
10
|
+
}
|
|
11
|
+
n("Cell.date", a);
|
|
12
|
+
n("Cell.datetime", a);
|
|
13
|
+
export {
|
|
14
|
+
a as DefaultDateCell
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=DefaultDateCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultDateCell.js","sources":["../../../../src/molecules/table/components/DefaultDateCell.tsx"],"sourcesContent":["import { CellContext } from \"@tanstack/react-table\";\nimport moment from \"moment\";\n\nimport { registerComponent } from \"../../../registries/components\";\n\nexport function DefaultDateCell<Data extends object>({ getValue, column: { columnDef } }: CellContext<Data, string>) {\n const value = getValue();\n\n if (!value) {\n return <span />;\n }\n\n const date = moment.parseZone(value, moment.ISO_8601, true);\n\n if (!date.isValid()) {\n return <span>{String(value)}</span>;\n }\n\n return <span>{date.format(columnDef.meta?.format || \"L\")}</span>;\n}\n\nregisterComponent(\"Cell.date\", DefaultDateCell);\nregisterComponent(\"Cell.datetime\", DefaultDateCell);\n"],"names":["DefaultDateCell","getValue","columnDef","value","date","moment","jsx","registerComponent"],"mappings":";;;AAKO,SAASA,EAAqC,EAAE,UAAAC,GAAU,QAAQ,EAAE,WAAAC,EAAA,KAA0C;AACnH,QAAMC,IAAQF,EAAA;AAEd,MAAI,CAACE;AACH,6BAAQ,QAAA,EAAK;AAGf,QAAMC,IAAOC,EAAO,UAAUF,GAAOE,EAAO,UAAU,EAAI;AAE1D,SAAKD,EAAK,YAIH,gBAAAE,EAAC,UAAM,UAAAF,EAAK,OAAOF,EAAU,MAAM,UAAU,GAAG,EAAA,CAAE,IAHhD,gBAAAI,EAAC,QAAA,EAAM,UAAA,OAAOH,CAAK,GAAE;AAIhC;AAEAI,EAAkB,aAAaP,CAAe;AAC9CO,EAAkB,iBAAiBP,CAAe;"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { Header } from '@tanstack/react-table';
|
|
2
|
-
export interface DefaultFilterProps<Data = any> {
|
|
3
|
-
header: Header<Data,
|
|
1
|
+
import { Header, RowData } from '@tanstack/react-table';
|
|
2
|
+
export interface DefaultFilterProps<Data extends RowData = any, TValue = unknown> {
|
|
3
|
+
header: Header<Data, TValue>;
|
|
4
4
|
i18n?: (f: string) => string;
|
|
5
5
|
}
|
|
6
|
-
export interface FilterProps<Data = any, Opts = Record<string, unknown>> {
|
|
7
|
-
header: Header<Data, unknown>;
|
|
6
|
+
export interface FilterProps<Data extends RowData = any, Opts = Record<string, unknown>> extends DefaultFilterProps<Data> {
|
|
8
7
|
options: Opts;
|
|
9
|
-
i18n?: (f: string) => string;
|
|
10
8
|
}
|
|
11
|
-
export declare function DefaultFilter<Data = any
|
|
9
|
+
export declare function DefaultFilter<Data extends RowData = any, TValue = unknown>(props: DefaultFilterProps<Data, TValue>): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
-
import { registerComponent as
|
|
3
|
-
function
|
|
4
|
-
const {
|
|
5
|
-
filter:
|
|
2
|
+
import { registerComponent as a, getComponent as c } from "../../../registries/components.js";
|
|
3
|
+
function s(n) {
|
|
4
|
+
const { header: t, i18n: o } = n, {
|
|
5
|
+
filter: e = {
|
|
6
6
|
variant: "text"
|
|
7
7
|
}
|
|
8
|
-
} = t.column.columnDef.meta || {}, { variant:
|
|
9
|
-
return e ? /* @__PURE__ */ l("div", { className: "table-cell-header__filter", children: /* @__PURE__ */ l(
|
|
8
|
+
} = t.column.columnDef.meta || {}, { variant: r } = e, i = c([`Filter.${t.column.id}`, `Filter.${r}`, "Filter.text"]);
|
|
9
|
+
return i ? e.disabled ? null : /* @__PURE__ */ l("div", { className: "table-cell-header__filter", children: /* @__PURE__ */ l(i, { header: t, options: e, i18n: o }) }) : (console.warn("Missing filter for `Filter." + t.column.id + "` or `Filter." + r + "`"), null);
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
a("Filter", s);
|
|
12
12
|
export {
|
|
13
|
-
|
|
13
|
+
s as DefaultFilter
|
|
14
14
|
};
|
|
15
15
|
//# sourceMappingURL=DefaultFilter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultFilter.js","sources":["../../../../src/molecules/table/components/DefaultFilter.tsx"],"sourcesContent":["import \"../interfaces/extends\";\n\nimport { Header } from \"@tanstack/react-table\";\nimport type { ComponentType } from \"react\";\n\nimport { getComponent, registerComponent } from \"../../../registries/components\";\n\nexport interface DefaultFilterProps<Data = any> {\n header: Header<Data,
|
|
1
|
+
{"version":3,"file":"DefaultFilter.js","sources":["../../../../src/molecules/table/components/DefaultFilter.tsx"],"sourcesContent":["import \"../interfaces/extends\";\n\nimport { Header, RowData } from \"@tanstack/react-table\";\nimport type { ComponentType } from \"react\";\n\nimport { getComponent, registerComponent } from \"../../../registries/components\";\n\nexport interface DefaultFilterProps<Data extends RowData = any, TValue = unknown> {\n header: Header<Data, TValue>;\n i18n?: (f: string) => string;\n}\n\nexport interface FilterProps<Data extends RowData = any, Opts = Record<string, unknown>> extends DefaultFilterProps<Data> {\n options: Opts;\n}\n\nexport function DefaultFilter<Data extends RowData = any, TValue = unknown>(props: DefaultFilterProps<Data, TValue>) {\n const { header, i18n } = props;\n const {\n filter = {\n variant: \"text\"\n }\n } = header.column.columnDef.meta || {};\n\n const { variant: filterVariant } = filter;\n const Filter = getComponent<ComponentType<FilterProps>>([`Filter.${header.column.id}`, `Filter.${filterVariant}`, \"Filter.text\"]);\n\n if (!Filter) {\n console.warn(\"Missing filter for `Filter.\" + header.column.id + \"` or `Filter.\" + filterVariant + \"`\");\n\n return null;\n }\n\n if (filter.disabled) {\n return null;\n }\n\n return (\n <div className='table-cell-header__filter'>\n <Filter header={header} options={filter} i18n={i18n} />\n </div>\n );\n}\n\nregisterComponent(\"Filter\", DefaultFilter);\n"],"names":["DefaultFilter","props","header","i18n","filter","filterVariant","Filter","getComponent","jsx","registerComponent"],"mappings":";;AAgBO,SAASA,EAA4DC,GAAyC;AACnH,QAAM,EAAE,QAAAC,GAAQ,MAAAC,EAAA,IAASF,GACnB;AAAA,IACJ,QAAAG,IAAS;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,EACX,IACEF,EAAO,OAAO,UAAU,QAAQ,CAAA,GAE9B,EAAE,SAASG,EAAA,IAAkBD,GAC7BE,IAASC,EAAyC,CAAC,UAAUL,EAAO,OAAO,EAAE,IAAI,UAAUG,CAAa,IAAI,aAAa,CAAC;AAEhI,SAAKC,IAMDF,EAAO,WACF,OAIP,gBAAAI,EAAC,OAAA,EAAI,WAAU,6BACb,UAAA,gBAAAA,EAACF,KAAO,QAAAJ,GAAgB,SAASE,GAAQ,MAAAD,EAAA,CAAY,EAAA,CACvD,KAZA,QAAQ,KAAK,gCAAgCD,EAAO,OAAO,KAAK,kBAAkBG,IAAgB,GAAG,GAE9F;AAYX;AAEAI,EAAkB,UAAUT,CAAa;"}
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
import { CellContext } from '@tanstack/react-table';
|
|
2
2
|
import { HTMLAttributes } from 'react';
|
|
3
|
-
import { CellMetadata,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} = {
|
|
7
|
-
[key: string]: JSON;
|
|
8
|
-
}> extends Omit<HTMLAttributes<HTMLButtonElement>, "onClick"> {
|
|
3
|
+
import { CellMetadata, Operation } from '../../../interfaces';
|
|
4
|
+
import { JSONRecord } from '../../../interfaces/JSONRecord.js';
|
|
5
|
+
export interface OperationButtonProps<Data extends object = JSONRecord> extends Omit<HTMLAttributes<HTMLButtonElement>, "onClick"> {
|
|
9
6
|
operation: Operation<Data>;
|
|
10
7
|
info: CellContext<Data, unknown>;
|
|
11
8
|
metadata?: CellMetadata;
|
|
12
9
|
onClick: () => void;
|
|
13
10
|
i18n?: (i18n: string) => string;
|
|
14
11
|
}
|
|
15
|
-
export declare function DefaultOperationButton<Data extends
|
|
16
|
-
[key: string]: JSON;
|
|
17
|
-
} = {
|
|
18
|
-
[key: string]: JSON;
|
|
19
|
-
}>(props: OperationButtonProps<Data>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function DefaultOperationButton<Data extends object = JSONRecord>(props: OperationButtonProps<Data>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultOperationButton.js","sources":["../../../../src/molecules/table/components/DefaultOperationButton.tsx"],"sourcesContent":["import { CellContext } from \"@tanstack/react-table\";\nimport cx from \"classnames\";\nimport { HTMLAttributes } from \"react\";\n\nimport { type CellMetadata, type
|
|
1
|
+
{"version":3,"file":"DefaultOperationButton.js","sources":["../../../../src/molecules/table/components/DefaultOperationButton.tsx"],"sourcesContent":["import { CellContext } from \"@tanstack/react-table\";\nimport cx from \"classnames\";\nimport { HTMLAttributes } from \"react\";\n\nimport { type CellMetadata, Operation } from \"../../../interfaces\";\nimport type { JSONRecord } from \"../../../interfaces/JSONRecord.js\";\nimport { registerComponent } from \"../../../registries/components\";\nimport { iconClass } from \"../../../utils/iconClass\";\nimport { stopPropagationWrapper } from \"../../../utils/stopPropagationWrapper\";\n\nexport interface OperationButtonProps<Data extends object = JSONRecord> extends Omit<HTMLAttributes<HTMLButtonElement>, \"onClick\"> {\n operation: Operation<Data>;\n info: CellContext<Data, unknown>;\n metadata?: CellMetadata;\n onClick: () => void;\n i18n?: (i18n: string) => string;\n}\n\nexport function DefaultOperationButton<Data extends object = JSONRecord>(props: OperationButtonProps<Data>) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { i18n = (f: string) => f, onClick, operation, info, ...extraProps } = props;\n const { className = \"btn\", buttonSize = \"xs\", buttonType = \"primary\", buttonOutline, action, title = \"\", icon = \"\" } = operation;\n\n return (\n <button\n {...extraProps}\n aria-label={\"Operation button: \" + (title || action)}\n className={cx(className, [\"btn\", buttonOutline && \"outline\", buttonType].filter(Boolean).join(\"-\"), `btn-${buttonSize}`)}\n onClick={stopPropagationWrapper(() => onClick())}\n >\n {icon ? (\n <>\n <i className={iconClass(undefined, icon)} /> {title && \" \"}\n </>\n ) : null}\n {title && <span className={icon && title ? \"ml-1\" : \"\"}>{i18n(title)}</span>}\n </button>\n );\n}\n\nregisterComponent(\"OperationButton\", DefaultOperationButton);\n"],"names":["DefaultOperationButton","props","i18n","onClick","operation","info","extraProps","className","buttonSize","buttonType","buttonOutline","action","title","icon","jsxs","cx","stopPropagationWrapper","Fragment","jsx","iconClass","registerComponent"],"mappings":";;;;;AAkBO,SAASA,EAAyDC,GAAmC;AAE1G,QAAM,EAAE,MAAAC,IAAO,CAAC,MAAc,GAAG,SAAAC,GAAS,WAAAC,GAAW,MAAAC,GAAM,GAAGC,EAAA,IAAeL,GACvE,EAAE,WAAAM,IAAY,OAAO,YAAAC,IAAa,MAAM,YAAAC,IAAa,WAAW,eAAAC,GAAe,QAAAC,GAAQ,OAAAC,IAAQ,IAAI,MAAAC,IAAO,OAAOT;AAEvH,SACE,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGR;AAAA,MACJ,cAAY,wBAAwBM,KAASD;AAAA,MAC7C,WAAWI,EAAGR,GAAW,CAAC,OAAOG,KAAiB,WAAWD,CAAU,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,GAAG,OAAOD,CAAU,EAAE;AAAA,MACvH,SAASQ,EAAuB,MAAMb,GAAS;AAAA,MAE9C,UAAA;AAAA,QAAAU,IACC,gBAAAC,EAAAG,GAAA,EACE,UAAA;AAAA,UAAA,gBAAAC,EAAC,KAAA,EAAE,WAAWC,EAAU,QAAWN,CAAI,GAAG;AAAA,UAAE;AAAA,UAAED,KAAS;AAAA,QAAA,EAAA,CACzD,IACE;AAAA,QACHA,KAAS,gBAAAM,EAAC,QAAA,EAAK,WAAWL,KAAQD,IAAQ,SAAS,IAAK,UAAAV,EAAKU,CAAK,EAAA,CAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG3E;AAEAQ,EAAkB,mBAAmBpB,CAAsB;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { RowData } from '@tanstack/react-table';
|
|
2
|
+
import { SelectOptionProps, SelectProps } from '../../forms/select/Select.interface';
|
|
3
|
+
import { FilterProps } from '../components/DefaultFilter';
|
|
4
|
+
export type FilterVariants = "text" | "range" | "select" | "boolean";
|
|
5
|
+
export interface FilterBaseOptions extends Record<string, unknown> {
|
|
6
|
+
variant: string;
|
|
7
|
+
}
|
|
8
|
+
export interface FilterTextOptions extends FilterBaseOptions {
|
|
9
|
+
variant: "text";
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
disableDatalist?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface FilterRangeOptions extends FilterBaseOptions {
|
|
14
|
+
variant: "range";
|
|
15
|
+
min?: number;
|
|
16
|
+
max?: number;
|
|
17
|
+
step?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface FilterSelectOptions<Data extends RowData = any> extends FilterBaseOptions, Omit<SelectProps<string>, "options"> {
|
|
20
|
+
variant: "select";
|
|
21
|
+
options?: SelectOptionProps<string>[] | ((props: FilterProps<Data, FilterSelectOptions>) => SelectOptionProps<string>)[];
|
|
22
|
+
}
|
|
23
|
+
export interface FilterBooleanOptions extends FilterBaseOptions {
|
|
24
|
+
variant: "boolean";
|
|
25
|
+
options?: SelectOptionProps<string>[];
|
|
26
|
+
}
|
|
27
|
+
export type FilterOptions = FilterTextOptions | FilterRangeOptions | FilterSelectOptions | FilterBooleanOptions;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Filters.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|