blixify-ui-web 1.2.181 → 1.2.183

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.
Files changed (39) hide show
  1. package/lib/components/data/dataTemplate/activityChanges.d.ts.map +1 -1
  2. package/lib/components/data/dataTemplate/activityChanges.js +1 -0
  3. package/lib/components/data/dataTemplate/activityChanges.js.map +1 -1
  4. package/lib/components/data/dataTemplate/index.d.ts +1 -0
  5. package/lib/components/data/dataTemplate/index.d.ts.map +1 -1
  6. package/lib/components/data/dataTemplate/index.js +664 -419
  7. package/lib/components/data/dataTemplate/index.js.map +1 -1
  8. package/lib/components/data/dataTemplate/model.d.ts +11 -2
  9. package/lib/components/data/dataTemplate/model.d.ts.map +1 -1
  10. package/lib/components/data/flexFilter/index.d.ts.map +1 -1
  11. package/lib/components/data/flexFilter/index.js +41 -14
  12. package/lib/components/data/flexFilter/index.js.map +1 -1
  13. package/lib/components/data/formula/builder.d.ts +19 -0
  14. package/lib/components/data/formula/builder.d.ts.map +1 -0
  15. package/lib/components/data/formula/builder.js +189 -0
  16. package/lib/components/data/formula/builder.js.map +1 -0
  17. package/lib/components/data/formula/functions.d.ts +22 -0
  18. package/lib/components/data/formula/functions.d.ts.map +1 -0
  19. package/lib/components/data/formula/functions.js +773 -0
  20. package/lib/components/data/formula/functions.js.map +1 -0
  21. package/lib/components/data/formula/index.d.ts +75 -0
  22. package/lib/components/data/formula/index.d.ts.map +1 -0
  23. package/lib/components/data/formula/index.js +801 -0
  24. package/lib/components/data/formula/index.js.map +1 -0
  25. package/lib/components/data/listModule.d.ts.map +1 -1
  26. package/lib/components/data/listModule.js +7 -1
  27. package/lib/components/data/listModule.js.map +1 -1
  28. package/lib/components/data/readModule.d.ts.map +1 -1
  29. package/lib/components/data/readModule.js +25 -2
  30. package/lib/components/data/readModule.js.map +1 -1
  31. package/lib/components/data/utils.d.ts.map +1 -1
  32. package/lib/components/data/utils.js +4 -0
  33. package/lib/components/data/utils.js.map +1 -1
  34. package/lib/components/display/newTable/index.d.ts +1 -0
  35. package/lib/components/display/newTable/index.d.ts.map +1 -1
  36. package/lib/components/display/newTable/index.js +85 -30
  37. package/lib/components/display/newTable/index.js.map +1 -1
  38. package/lib/tail.css +2 -2
  39. package/package.json +1 -1
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
26
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
27
+ if (ar || !(i in from)) {
28
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
29
+ ar[i] = from[i];
30
+ }
31
+ }
32
+ return to.concat(ar || Array.prototype.slice.call(from));
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.FormulaBuilder = FormulaBuilder;
36
+ var outline_1 = require("@heroicons/react/24/outline");
37
+ var react_1 = __importStar(require("react"));
38
+ var textInput_1 = require("../../input/textInput");
39
+ var _1 = require(".");
40
+ /**
41
+ * monday.com-style formula builder: a formula editor above a searchable list of
42
+ * columns and functions. Hovering an item explains it; clicking inserts it at
43
+ * the caret.
44
+ */
45
+ function FormulaBuilder(props) {
46
+ var _a;
47
+ // 1. State
48
+ var _b = (0, react_1.useState)(""), search = _b[0], setSearch = _b[1];
49
+ var _c = (0, react_1.useState)(""), activeKey = _c[0], setActiveKey = _c[1];
50
+ // 2. Refs
51
+ var editorRef = (0, react_1.useRef)(null);
52
+ // 3. Computed
53
+ var previewColumnId = props.columnId || "__formula_preview";
54
+ var evaluationSchema = (0, react_1.useMemo)(function () { return props.schema.filter(function (each) { return each.id !== previewColumnId; }); }, [props.schema, previewColumnId]);
55
+ var storedFormula = (0, _1.handleFormulaToStorage)(props.value, evaluationSchema);
56
+ var error = props.value.trim()
57
+ ? (0, _1.handleValidateFormula)(storedFormula, evaluationSchema)
58
+ : "";
59
+ var previewValue = (0, react_1.useMemo)(function () {
60
+ var _a;
61
+ if (!props.previewRow || !props.value.trim() || error)
62
+ return "";
63
+ var previewColumn = {
64
+ id: previewColumnId,
65
+ name: "Formula",
66
+ type: "formula",
67
+ formulaExpression: storedFormula,
68
+ };
69
+ return (0, _1.handleFormatFormulaValue)((0, _1.handleEvaluateFormula)(previewColumn, props.previewRow, (_a = props.previewDisplayRow) !== null && _a !== void 0 ? _a : props.previewRow, __spreadArray(__spreadArray([], evaluationSchema, true), [previewColumn], false)));
70
+ }, [
71
+ props.previewRow,
72
+ props.previewDisplayRow,
73
+ props.value,
74
+ storedFormula,
75
+ error,
76
+ evaluationSchema,
77
+ previewColumnId,
78
+ ]);
79
+ var resourceItems = (0, react_1.useMemo)(function () {
80
+ var items = (0, _1.handleGetFormulaColumns)(props.schema, props.columnId).map(function (each) { return ({
81
+ key: "column-".concat(each.id),
82
+ label: each.name || each.id,
83
+ group: "Columns",
84
+ // INFO: by name only when the name finds this column — with two columns
85
+ // of one name the second is written by id, or it would link the first
86
+ insert: each.name && (0, _1.handleFindFormulaColumn)(each.name, props.schema) === each
87
+ ? "{".concat(each.name, "}")
88
+ : "{".concat(each.id, "}"),
89
+ caretBack: 0,
90
+ column: each,
91
+ }); });
92
+ _1.FORMULA_FUNCTION_CATEGORIES.forEach(function (eachCategory) {
93
+ _1.FORMULA_FUNCTIONS.filter(function (each) { return each.category === eachCategory; }).forEach(function (each) {
94
+ return items.push({
95
+ key: "fn-".concat(each.name),
96
+ label: each.name,
97
+ group: eachCategory,
98
+ insert: each.constant ? each.name : "".concat(each.name, "()"),
99
+ caretBack: each.constant ? 0 : 1,
100
+ fn: each,
101
+ });
102
+ });
103
+ });
104
+ var query = search.trim().toLowerCase();
105
+ return query
106
+ ? items.filter(function (each) { return each.label.toLowerCase().includes(query); })
107
+ : items;
108
+ }, [props.schema, props.columnId, search]);
109
+ var activeItem = (_a = resourceItems.find(function (each) { return each.key === activeKey; })) !== null && _a !== void 0 ? _a : resourceItems[0];
110
+ // 5. Handlers
111
+ var handleInsert = function (item) {
112
+ var _a, _b;
113
+ var editor = editorRef.current;
114
+ var start = (_a = editor === null || editor === void 0 ? void 0 : editor.selectionStart) !== null && _a !== void 0 ? _a : props.value.length;
115
+ var end = (_b = editor === null || editor === void 0 ? void 0 : editor.selectionEnd) !== null && _b !== void 0 ? _b : props.value.length;
116
+ var next = props.value.slice(0, start) + item.insert + props.value.slice(end);
117
+ props.onChange(next);
118
+ var caret = start + item.insert.length - item.caretBack;
119
+ // INFO: the textarea re-renders with the new value first, then the caret
120
+ // is put back where the user will keep typing — inside a function's ( )
121
+ requestAnimationFrame(function () {
122
+ var _a, _b;
123
+ (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.focus();
124
+ (_b = editorRef.current) === null || _b === void 0 ? void 0 : _b.setSelectionRange(caret, caret);
125
+ });
126
+ };
127
+ // 6. Render helpers
128
+ var textColour = props.darkMode ? "text-gray-200" : "text-gray-900";
129
+ var mutedColour = props.darkMode ? "text-gray-400" : "text-gray-500";
130
+ var borderColour = props.darkMode ? "border-gray-600" : "border-gray-300";
131
+ var renderStatus = function () {
132
+ if (!props.value.trim())
133
+ return (react_1.default.createElement("p", { className: "text-xs ".concat(mutedColour) },
134
+ "Reference columns in braces, e.g.",
135
+ " ",
136
+ 'IF({Budget} > 100, "Big", "Small")'));
137
+ if (error)
138
+ return (react_1.default.createElement("p", { role: "alert", className: "flex items-start gap-x-1 text-xs text-red-600", "data-testid": "formula-error" },
139
+ react_1.default.createElement(outline_1.ExclamationCircleIcon, { className: "h-4 w-4 shrink-0", "aria-hidden": true }),
140
+ error));
141
+ return (react_1.default.createElement("p", { className: "flex items-center gap-x-1 text-xs text-green-700", "data-testid": "formula-valid" },
142
+ react_1.default.createElement(outline_1.CheckCircleIcon, { className: "h-4 w-4 shrink-0", "aria-hidden": true }),
143
+ "Valid formula",
144
+ props.previewRow && (react_1.default.createElement("span", { className: "ml-1 ".concat(mutedColour) },
145
+ "\u00B7 First row:",
146
+ " ",
147
+ react_1.default.createElement("span", { className: "font-mono" }, previewValue || "(blank)")))));
148
+ };
149
+ var renderResourceList = function () {
150
+ var lastGroup = "";
151
+ return (react_1.default.createElement("ul", { className: "max-h-44 overflow-y-auto rounded-md border ".concat(borderColour), "aria-label": "Columns and functions" },
152
+ resourceItems.length === 0 && (react_1.default.createElement("li", { className: "px-3 py-2 text-xs ".concat(mutedColour) }, "No matches")),
153
+ resourceItems.map(function (each) {
154
+ var showGroup = each.group !== lastGroup;
155
+ lastGroup = each.group;
156
+ var isActive = (activeItem === null || activeItem === void 0 ? void 0 : activeItem.key) === each.key;
157
+ return (react_1.default.createElement(react_1.default.Fragment, { key: each.key },
158
+ showGroup && (react_1.default.createElement("li", { className: "px-3 pb-1 pt-2 text-[11px] font-semibold uppercase tracking-wide ".concat(mutedColour), "aria-hidden": true }, each.group)),
159
+ react_1.default.createElement("li", null,
160
+ react_1.default.createElement("button", { type: "button", "data-testid": "formula-resource-".concat(each.key), className: "w-full truncate px-3 py-1 text-left text-sm ".concat(each.column ? "" : "font-mono", " ").concat(textColour, " ").concat(isActive
161
+ ? props.darkMode
162
+ ? "bg-gray-700"
163
+ : "bg-primary-50"
164
+ : ""), onMouseEnter: function () { return setActiveKey(each.key); }, onFocus: function () { return setActiveKey(each.key); }, onClick: function () { return handleInsert(each); } }, each.label))));
165
+ })));
166
+ };
167
+ var renderResourceDetail = function () {
168
+ if (!activeItem)
169
+ return null;
170
+ return (react_1.default.createElement("div", { className: "flex flex-col gap-y-2 text-xs ".concat(textColour) },
171
+ react_1.default.createElement("p", { className: "font-mono text-sm font-semibold" }, activeItem.label),
172
+ react_1.default.createElement("p", { className: mutedColour }, activeItem.fn
173
+ ? activeItem.fn.description
174
+ : "Reads this row's ".concat(activeItem.label, " value.")),
175
+ activeItem.fn && (react_1.default.createElement("p", { className: "break-words font-mono text-primary-600" }, activeItem.fn.example)),
176
+ react_1.default.createElement("button", { type: "button", className: "self-start text-xs font-medium text-primary-600 hover:underline", onClick: function () { return handleInsert(activeItem); } }, "Insert")));
177
+ };
178
+ // 7. Return
179
+ return (react_1.default.createElement("div", { className: "flex flex-col gap-y-3", "data-testid": "formula-builder" },
180
+ react_1.default.createElement("div", { className: "flex flex-col gap-y-1" },
181
+ react_1.default.createElement("label", { htmlFor: "formula-editor", className: "text-sm font-medium ".concat(textColour) }, "Formula"),
182
+ react_1.default.createElement("textarea", { id: "formula-editor", ref: editorRef, rows: 3, spellCheck: false, placeholder: "Type your formula here", value: props.value, "aria-invalid": !!error, className: "block w-full rounded-md border ".concat(error ? "border-red-400" : borderColour, " ").concat(props.darkMode ? "bg-gray-800" : "bg-white", " px-3 py-2 font-mono text-base sm:text-sm ").concat(textColour, " focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500"), onChange: function (event) { return props.onChange(event.target.value); } }),
183
+ renderStatus()),
184
+ react_1.default.createElement(textInput_1.TextInput, { id: "formula-resource-search", type: "text", label: "Columns & functions", placeholder: "Search", value: search, darkMode: props.darkMode, optional: true, onChange: function (event) { var _a, _b; return setSearch((_b = (_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : ""); } }),
185
+ react_1.default.createElement("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2" },
186
+ renderResourceList(),
187
+ renderResourceDetail())));
188
+ }
189
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/components/data/formula/builder.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,wCAsQC;AAtTD,uDAGqC;AACrC,6CAAyD;AACzD,mDAAkD;AAElD,sBAUW;AA0BX;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAY;;IACzC,WAAW;IACL,IAAA,KAAsB,IAAA,gBAAQ,EAAC,EAAE,CAAC,EAAjC,MAAM,QAAA,EAAE,SAAS,QAAgB,CAAC;IACnC,IAAA,KAA4B,IAAA,gBAAQ,EAAC,EAAE,CAAC,EAAvC,SAAS,QAAA,EAAE,YAAY,QAAgB,CAAC;IAE/C,UAAU;IACV,IAAM,SAAS,GAAG,IAAA,cAAM,EAAsB,IAAI,CAAC,CAAC;IAEpD,cAAc;IACd,IAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,IAAI,mBAAmB,CAAC;IAC9D,IAAM,gBAAgB,GAAG,IAAA,eAAO,EAC9B,cAAM,OAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,EAAE,KAAK,eAAe,EAA3B,CAA2B,CAAC,EAA1D,CAA0D,EAChE,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAChC,CAAC;IACF,IAAM,aAAa,GAAG,IAAA,yBAAsB,EAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC5E,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;QAC9B,CAAC,CAAC,IAAA,wBAAqB,EAAC,aAAa,EAAE,gBAAgB,CAAC;QACxD,CAAC,CAAC,EAAE,CAAC;IACP,IAAM,YAAY,GAAG,IAAA,eAAO,EAAC;;QAC3B,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK;YAAE,OAAO,EAAE,CAAC;QACjE,IAAM,aAAa,GAAkB;YACnC,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,iBAAiB,EAAE,aAAa;SACjC,CAAC;QACF,OAAO,IAAA,2BAAwB,EAC7B,IAAA,wBAAqB,EACnB,aAAa,EACb,KAAK,CAAC,UAAU,EAChB,MAAA,KAAK,CAAC,iBAAiB,mCAAI,KAAK,CAAC,UAAU,kCACvC,gBAAgB,UAAE,aAAa,UACpC,CACF,CAAC;IACJ,CAAC,EAAE;QACD,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,iBAAiB;QACvB,KAAK,CAAC,KAAK;QACX,aAAa;QACb,KAAK;QACL,gBAAgB;QAChB,eAAe;KAChB,CAAC,CAAC;IAEH,IAAM,aAAa,GAAG,IAAA,eAAO,EAAC;QAC5B,IAAM,KAAK,GAAmB,IAAA,0BAAuB,EACnD,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,QAAQ,CACf,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC;YACf,GAAG,EAAE,iBAAU,IAAI,CAAC,EAAE,CAAE;YACxB,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YAC3B,KAAK,EAAE,SAAS;YAChB,wEAAwE;YACxE,sEAAsE;YACtE,MAAM,EACJ,IAAI,CAAC,IAAI,IAAI,IAAA,0BAAuB,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBACpE,CAAC,CAAC,WAAI,IAAI,CAAC,IAAI,MAAG;gBAClB,CAAC,CAAC,WAAI,IAAI,CAAC,EAAE,MAAG;YACpB,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI;SACb,CAAC,EAZc,CAYd,CAAC,CAAC;QACJ,8BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY;YAC/C,oBAAiB,CAAC,MAAM,CACtB,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,KAAK,YAAY,EAA9B,CAA8B,CACzC,CAAC,OAAO,CAAC,UAAC,IAAI;gBACb,OAAA,KAAK,CAAC,IAAI,CAAC;oBACT,GAAG,EAAE,aAAM,IAAI,CAAC,IAAI,CAAE;oBACtB,KAAK,EAAE,IAAI,CAAC,IAAI;oBAChB,KAAK,EAAE,YAAY;oBACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAG,IAAI,CAAC,IAAI,OAAI;oBACpD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChC,EAAE,EAAE,IAAI;iBACT,CAAC;YAPF,CAOE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,KAAK;YACV,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAxC,CAAwC,CAAC;YAClE,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAE3C,IAAM,UAAU,GACd,MAAA,aAAa,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,GAAG,KAAK,SAAS,EAAtB,CAAsB,CAAC,mCAAI,aAAa,CAAC,CAAC,CAAC,CAAC;IAE3E,cAAc;IACd,IAAM,YAAY,GAAG,UAAC,IAAkB;;QACtC,IAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAM,KAAK,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,mCAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3D,IAAM,GAAG,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACvD,IAAM,IAAI,GACR,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrB,IAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1D,yEAAyE;QACzE,wEAAwE;QACxE,qBAAqB,CAAC;;YACpB,MAAA,SAAS,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC3B,MAAA,SAAS,CAAC,OAAO,0CAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,oBAAoB;IACpB,IAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;IACtE,IAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;IACvE,IAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAE5E,IAAM,YAAY,GAAG;QACnB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;YACrB,OAAO,CACL,qCAAG,SAAS,EAAE,kBAAW,WAAW,CAAE;;gBACF,GAAG;gBACpC,oCAAoC,CACnC,CACL,CAAC;QACJ,IAAI,KAAK;YACP,OAAO,CACL,qCACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,+CAA+C,iBAC7C,eAAe;gBAE3B,8BAAC,+BAAqB,IAAC,SAAS,EAAC,kBAAkB,wBAAe;gBACjE,KAAK,CACJ,CACL,CAAC;QACJ,OAAO,CACL,qCACE,SAAS,EAAC,kDAAkD,iBAChD,eAAe;YAE3B,8BAAC,yBAAe,IAAC,SAAS,EAAC,kBAAkB,wBAAe;;YAE3D,KAAK,CAAC,UAAU,IAAI,CACnB,wCAAM,SAAS,EAAE,eAAQ,WAAW,CAAE;;gBACvB,GAAG;gBAChB,wCAAM,SAAS,EAAC,WAAW,IAAE,YAAY,IAAI,SAAS,CAAQ,CACzD,CACR,CACC,CACL,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,kBAAkB,GAAG;QACzB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,OAAO,CACL,sCACE,SAAS,EAAE,qDAA8C,YAAY,CAAE,gBAC5D,uBAAuB;YAEjC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,CAC7B,sCAAI,SAAS,EAAE,4BAAqB,WAAW,CAAE,iBAAiB,CACnE;YACA,aAAa,CAAC,GAAG,CAAC,UAAC,IAAI;gBACtB,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;gBAC3C,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;gBACvB,IAAM,QAAQ,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,MAAK,IAAI,CAAC,GAAG,CAAC;gBAC9C,OAAO,CACL,8BAAC,eAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,GAAG;oBAC1B,SAAS,IAAI,CACZ,sCACE,SAAS,EAAE,2EAAoE,WAAW,CAAE,yBAG3F,IAAI,CAAC,KAAK,CACR,CACN;oBACD;wBACE,0CACE,IAAI,EAAC,QAAQ,iBACA,2BAAoB,IAAI,CAAC,GAAG,CAAE,EAC3C,SAAS,EAAE,sDACT,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,cAC5B,UAAU,cACZ,QAAQ;gCACN,CAAC,CAAC,KAAK,CAAC,QAAQ;oCACd,CAAC,CAAC,aAAa;oCACf,CAAC,CAAC,eAAe;gCACnB,CAAC,CAAC,EAAE,CACN,EACF,YAAY,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAtB,CAAsB,EAC1C,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAtB,CAAsB,EACrC,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,IAEhC,IAAI,CAAC,KAAK,CACJ,CACN,CACU,CAClB,CAAC;YACJ,CAAC,CAAC,CACC,CACN,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,oBAAoB,GAAG;QAC3B,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,CACL,uCAAK,SAAS,EAAE,wCAAiC,UAAU,CAAE;YAC3D,qCAAG,SAAS,EAAC,iCAAiC,IAAE,UAAU,CAAC,KAAK,CAAK;YACrE,qCAAG,SAAS,EAAE,WAAW,IACtB,UAAU,CAAC,EAAE;gBACZ,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW;gBAC3B,CAAC,CAAC,2BAAoB,UAAU,CAAC,KAAK,YAAS,CAC/C;YACH,UAAU,CAAC,EAAE,IAAI,CAChB,qCAAG,SAAS,EAAC,wCAAwC,IAClD,UAAU,CAAC,EAAE,CAAC,OAAO,CACpB,CACL;YACD,0CACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,iEAAiE,EAC3E,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,UAAU,CAAC,EAAxB,CAAwB,aAGhC,CACL,CACP,CAAC;IACJ,CAAC,CAAC;IAEF,YAAY;IACZ,OAAO,CACL,uCAAK,SAAS,EAAC,uBAAuB,iBAAa,iBAAiB;QAClE,uCAAK,SAAS,EAAC,uBAAuB;YACpC,yCACE,OAAO,EAAC,gBAAgB,EACxB,SAAS,EAAE,8BAAuB,UAAU,CAAE,cAGxC;YACR,4CACE,EAAE,EAAC,gBAAgB,EACnB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,KAAK,EACjB,WAAW,EAAC,wBAAwB,EACpC,KAAK,EAAE,KAAK,CAAC,KAAK,kBACJ,CAAC,CAAC,KAAK,EACrB,SAAS,EAAE,yCACT,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,cAEvC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,uDACA,UAAU,qFAAkF,EACzI,QAAQ,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAlC,CAAkC,GACvD;YACD,YAAY,EAAE,CACX;QACN,8BAAC,qBAAS,IACR,EAAE,EAAC,yBAAyB,EAC5B,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAC,QAAQ,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,QACR,QAAQ,EAAE,UAAC,KAAU,gBAAK,OAAA,SAAS,CAAC,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,KAAK,mCAAI,EAAE,CAAC,CAAA,EAAA,GAC/D;QACF,uCAAK,SAAS,EAAC,uCAAuC;YACnD,kBAAkB,EAAE;YACpB,oBAAoB,EAAE,CACnB,CACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ import dayjsBase from "../../dayjs";
2
+ export type FormulaFunctionCategory = "Text" | "Logical" | "Numeric" | "Date" | "Constants";
3
+ export declare const FORMULA_MAX_TEXT = 10000;
4
+ export interface FormulaFunction {
5
+ name: string;
6
+ category: FormulaFunctionCategory;
7
+ description: string;
8
+ example: string;
9
+ constant?: boolean;
10
+ fn?: (...args: any[]) => any;
11
+ }
12
+ export declare const handleToFormulaNumber: (value: any) => number;
13
+ export declare const handleToFormulaText: (value: any) => string;
14
+ declare const handleToFormulaDate: (value: any) => dayjsBase.Dayjs | null;
15
+ declare const handleFormatFormulaDate: (date: any) => any;
16
+ export declare const FORMULA_FUNCTIONS: FormulaFunction[];
17
+ export declare const FORMULA_CONSTANTS: {
18
+ [key: string]: any;
19
+ };
20
+ export declare const FORMULA_FUNCTION_CATEGORIES: FormulaFunctionCategory[];
21
+ export { handleFormatFormulaDate, handleToFormulaDate };
22
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../../src/components/data/formula/functions.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AAQpC,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,SAAS,GACT,SAAS,GACT,MAAM,GACN,WAAW,CAAC;AAEhB,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,uBAAuB,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAGhB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CAC9B;AAOD,eAAO,MAAM,qBAAqB,UAAW,GAAG,KAAG,MAIlD,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAAW,GAAG,KAAG,MAKhD,CAAC;AAOF,QAAA,MAAM,mBAAmB,UAAW,GAAG,2BAItC,CAAC;AAIF,QAAA,MAAM,uBAAuB,SAAU,GAAG,QAKzC,CAAC;AAuGF,eAAO,MAAM,iBAAiB,EAAE,eAAe,EA2iB9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAInD,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,uBAAuB,EAMhE,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,CAAC"}