@rowsncolumns/ui 15.0.42 → 16.0.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.
Files changed (37) hide show
  1. package/dist/cjs/editor/suggestions-dropdown.d.ts +7 -1
  2. package/dist/cjs/editor/suggestions-dropdown.d.ts.map +1 -1
  3. package/dist/cjs/editor/suggestions-dropdown.js +9 -8
  4. package/dist/cjs/editor-pm/helpers.d.ts +3 -1
  5. package/dist/cjs/editor-pm/helpers.d.ts.map +1 -1
  6. package/dist/cjs/editor-pm/helpers.js +5 -2
  7. package/dist/cjs/editor-pm/prosemirror-editor.d.ts +25 -0
  8. package/dist/cjs/editor-pm/prosemirror-editor.d.ts.map +1 -1
  9. package/dist/cjs/editor-pm/prosemirror-editor.js +28 -2
  10. package/dist/cjs/editor-pm/use-editor-change-pm.d.ts +3 -1
  11. package/dist/cjs/editor-pm/use-editor-change-pm.d.ts.map +1 -1
  12. package/dist/cjs/editor-pm/use-editor-change-pm.js +3 -2
  13. package/dist/cjs/function-info/helpers.d.ts +3 -2
  14. package/dist/cjs/function-info/helpers.d.ts.map +1 -1
  15. package/dist/cjs/function-info/helpers.js +9 -4
  16. package/dist/cjs/function-info/index.d.ts +2 -0
  17. package/dist/cjs/function-info/index.d.ts.map +1 -1
  18. package/dist/cjs/function-info/index.js +8 -8
  19. package/dist/esm/editor/suggestions-dropdown.d.ts +7 -1
  20. package/dist/esm/editor/suggestions-dropdown.d.ts.map +1 -1
  21. package/dist/esm/editor/suggestions-dropdown.js +8 -5
  22. package/dist/esm/editor-pm/helpers.d.ts +3 -1
  23. package/dist/esm/editor-pm/helpers.d.ts.map +1 -1
  24. package/dist/esm/editor-pm/helpers.js +4 -2
  25. package/dist/esm/editor-pm/prosemirror-editor.d.ts +25 -0
  26. package/dist/esm/editor-pm/prosemirror-editor.d.ts.map +1 -1
  27. package/dist/esm/editor-pm/prosemirror-editor.js +20 -2
  28. package/dist/esm/editor-pm/use-editor-change-pm.d.ts +3 -1
  29. package/dist/esm/editor-pm/use-editor-change-pm.d.ts.map +1 -1
  30. package/dist/esm/editor-pm/use-editor-change-pm.js +3 -2
  31. package/dist/esm/function-info/helpers.d.ts +3 -2
  32. package/dist/esm/function-info/helpers.d.ts.map +1 -1
  33. package/dist/esm/function-info/helpers.js +6 -4
  34. package/dist/esm/function-info/index.d.ts +2 -0
  35. package/dist/esm/function-info/index.d.ts.map +1 -1
  36. package/dist/esm/function-info/index.js +7 -7
  37. package/package.json +13 -11
@@ -1,5 +1,6 @@
1
1
  import type { ParsedToken } from "@rowsncolumns/calculator";
2
2
  import type { CalculatorFunction } from "@rowsncolumns/common-types";
3
+ import type { FormulaLocale } from "@rowsncolumns/utils";
3
4
  import React from "react";
4
5
  import { OptionItem } from "../editor-pm/types";
5
6
  export type SuggestionsDropdownProps = {
@@ -20,6 +21,11 @@ export type SuggestionsDropdownProps = {
20
21
  onSelect(value: OptionItem | CalculatorFunction): void;
21
22
  onChangeHighlightedIndex(index: number): void;
22
23
  functionDescriptions?: CalculatorFunction[] | null;
24
+ /**
25
+ * The formula locale the editor text (and `functionDescriptions`) are written in — supplies the
26
+ * argument separator the function hint is rendered with. Canonical (`,`) when omitted.
27
+ */
28
+ formulaLocale?: FormulaLocale;
23
29
  };
24
- export declare const SuggestionsDropdown: React.MemoExoticComponent<({ formulaMode, dropdownStyles, items, functionToken, parameterIndex, highlightedIndex, showFormulaHelp, onHideFormulaHelp, onSelect, onChangeHighlightedIndex, functionDescriptions, }: SuggestionsDropdownProps) => React.JSX.Element>;
30
+ export declare const SuggestionsDropdown: React.MemoExoticComponent<({ formulaMode, dropdownStyles, items, functionToken, parameterIndex, highlightedIndex, showFormulaHelp, onHideFormulaHelp, onSelect, onChangeHighlightedIndex, functionDescriptions, formulaLocale, }: SuggestionsDropdownProps) => React.JSX.Element>;
25
31
  //# sourceMappingURL=suggestions-dropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"suggestions-dropdown.d.ts","sourceRoot":"","sources":["../../../editor/suggestions-dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAA2C,MAAM,OAAO,CAAC;AAShE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAkBhD,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,UAAU,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACvD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,qNAa3B,wBAAwB,uBAwK5B,CAAC"}
1
+ {"version":3,"file":"suggestions-dropdown.d.ts","sourceRoot":"","sources":["../../../editor/suggestions-dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAA2C,MAAM,OAAO,CAAC;AAShE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAkBhD,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,UAAU,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACvD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACnD;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAKF,eAAO,MAAM,mBAAmB,oOAc3B,wBAAwB,uBAkK5B,CAAC"}
@@ -4,8 +4,10 @@ import { FunctionInfo } from "../function-info";
4
4
  import { cn } from "../utils";
5
5
  import { StyledCategoryHeader, StyledDropdownItem, StyledDropdownWrapper, } from "./style";
6
6
  import { cleanFunctionToken } from "../editor-pm/helpers";
7
+ /** Case fold matching `@rowsncolumns/utils`' dictionaries (Turkish dotted İ folds like I). */
8
+ var foldName = function (name) { return name.toUpperCase().replace(/İ/g, "I"); };
7
9
  export var SuggestionsDropdown = memo(function (_a) {
8
- var formulaMode = _a.formulaMode, dropdownStyles = _a.dropdownStyles, items = _a.items, functionToken = _a.functionToken, parameterIndex = _a.parameterIndex, highlightedIndex = _a.highlightedIndex, _b = _a.showFormulaHelp, showFormulaHelp = _b === void 0 ? true : _b, onHideFormulaHelp = _a.onHideFormulaHelp, onSelect = _a.onSelect, onChangeHighlightedIndex = _a.onChangeHighlightedIndex, functionDescriptions = _a.functionDescriptions;
10
+ var formulaMode = _a.formulaMode, dropdownStyles = _a.dropdownStyles, items = _a.items, functionToken = _a.functionToken, parameterIndex = _a.parameterIndex, highlightedIndex = _a.highlightedIndex, _b = _a.showFormulaHelp, showFormulaHelp = _b === void 0 ? true : _b, onHideFormulaHelp = _a.onHideFormulaHelp, onSelect = _a.onSelect, onChangeHighlightedIndex = _a.onChangeHighlightedIndex, functionDescriptions = _a.functionDescriptions, formulaLocale = _a.formulaLocale;
9
11
  var containerRef = useRef(null);
10
12
  var itemRefs = useRef(new Map());
11
13
  var categorizedItems = useMemo(function () {
@@ -75,16 +77,15 @@ export var SuggestionsDropdown = memo(function (_a) {
75
77
  }, [highlightedIndex]);
76
78
  // Get active function
77
79
  var activeFunction = useMemo(function () {
78
- return functionToken
79
- ? functionDescriptions === null || functionDescriptions === void 0 ? void 0 : functionDescriptions.find(function (fn) {
80
- var _a;
81
- return fn.title.match(new RegExp("^" + cleanFunctionToken((_a = functionToken === null || functionToken === void 0 ? void 0 : functionToken.image) !== null && _a !== void 0 ? _a : "") + "$", "gi"));
82
- })
83
- : void 0;
80
+ var _a;
81
+ if (!functionToken)
82
+ return void 0;
83
+ var name = foldName(cleanFunctionToken((_a = functionToken.image) !== null && _a !== void 0 ? _a : ""));
84
+ return functionDescriptions === null || functionDescriptions === void 0 ? void 0 : functionDescriptions.find(function (fn) { return foldName(fn.title) === name; });
84
85
  }, [functionDescriptions, functionToken]);
85
86
  var showFunctionInfo = functionToken && !categorizedItems.length && activeFunction;
86
87
  return (React.createElement(StyledDropdownWrapper, { ref: containerRef, style: dropdownStyles, role: "listbox", className: cn("relative", showFunctionInfo && !showFormulaHelp ? "p-0" : undefined, formulaMode ? "w-[340px]" : undefined) },
87
- Boolean(showFormulaHelp && showFunctionInfo) && (React.createElement(FunctionInfo, { activeFunction: activeFunction, parameterIndex: parameterIndex, onHideFormulaHelp: onHideFormulaHelp })),
88
+ Boolean(showFormulaHelp && showFunctionInfo) && (React.createElement(FunctionInfo, { activeFunction: activeFunction, parameterIndex: parameterIndex, onHideFormulaHelp: onHideFormulaHelp, argumentSeparator: formulaLocale === null || formulaLocale === void 0 ? void 0 : formulaLocale.argumentSeparator })),
88
89
  categorizedItems.map(function (_a) {
89
90
  var item = _a.item, index = _a.index, header = _a.header, category = _a.category;
90
91
  var isNamedRange = category === "namedrange";
@@ -186,7 +186,9 @@ export declare const getActiveTableToken: (position: number, activeToken: Parsed
186
186
  * @param tokens
187
187
  */
188
188
  export declare const getParameterIndex: (curToken: ParsedToken | undefined, functionToken: ParsedToken | undefined, tokens: ParsedToken[]) => number;
189
- export declare const getFunctionParameters: (input: string, functionToken: ParsedToken | undefined) => {
189
+ export declare const getFunctionParameters: (input: string, functionToken: ParsedToken | undefined,
190
+ /** The formula locale's argument separator the input was typed with (`,` canonical). */
191
+ argumentSeparator?: string) => {
190
192
  parameters: string[];
191
193
  ranges: {
192
194
  start: number;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../editor-pm/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../editor-pm/helpers.ts"],"names":[],"mappings":"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"}
@@ -990,8 +990,11 @@ export var getParameterIndex = function (curToken, functionToken, tokens) {
990
990
  }
991
991
  return count;
992
992
  };
993
- export var getFunctionParameters = function (input, functionToken) {
993
+ export var getFunctionParameters = function (input, functionToken,
994
+ /** The formula locale's argument separator the input was typed with (`,` canonical). */
995
+ argumentSeparator) {
994
996
  var _a;
997
+ if (argumentSeparator === void 0) { argumentSeparator = ","; }
995
998
  if (!functionToken) {
996
999
  return { parameters: [], ranges: [] };
997
1000
  }
@@ -1042,7 +1045,7 @@ export var getFunctionParameters = function (input, functionToken) {
1042
1045
  for (var i = 0; i <= argsSlice.length; i++) {
1043
1046
  var ch = argsSlice[i];
1044
1047
  if (i === argsSlice.length ||
1045
- (ch === "," &&
1048
+ (ch === argumentSeparator &&
1046
1049
  paren === 0 &&
1047
1050
  brace === 0 &&
1048
1051
  bracket === 0 &&
@@ -1,5 +1,6 @@
1
1
  import type { ParsedToken } from "@rowsncolumns/calculator";
2
2
  import type { CalculatorFunction, Mention } from "@rowsncolumns/common-types";
3
+ import { type FormulaLocale } from "@rowsncolumns/utils";
3
4
  import React from "react";
4
5
  import { Command } from "prosemirror-state";
5
6
  import { type RunColorResolver } from "./helpers";
@@ -44,6 +45,14 @@ export type ProseMirrorEditorProps<M extends Mention = Mention> = RichTextEditor
44
45
  formulaMode?: boolean;
45
46
  isActive?: boolean;
46
47
  tokenizer(value: string): ParsedToken[];
48
+ /**
49
+ * The formula locale the editor text is written in (rowsncolumns/spreadsheet#655): the locale's
50
+ * argument separator splits the argument hints, and the function names the host callbacks
51
+ * (`getFunctionParameterSuggestions`, `shouldFetchFunctionParameters`) receive are canonical
52
+ * (English) whatever the user typed. `tokenizer` and `functionDescriptions` are expected to be
53
+ * in the same locale. Canonical syntax when omitted.
54
+ */
55
+ formulaLocale?: FormulaLocale;
47
56
  showDropdown?: boolean;
48
57
  dropdownStyles?: React.CSSProperties;
49
58
  stickyEditor?: boolean;
@@ -232,6 +241,14 @@ export declare const ProseMirrorEditorThatMayError: React.NamedExoticComponent<R
232
241
  * @param value
233
242
  */
234
243
  tokenizer(value: string): ParsedToken[];
244
+ /**
245
+ * The formula locale the editor text is written in (rowsncolumns/spreadsheet#655): the locale's
246
+ * argument separator splits the argument hints, and the function names the host callbacks
247
+ * (`getFunctionParameterSuggestions`, `shouldFetchFunctionParameters`) receive are canonical
248
+ * (English) whatever the user typed. `tokenizer` and `functionDescriptions` are expected to be
249
+ * in the same locale. Canonical syntax when omitted.
250
+ */
251
+ formulaLocale?: FormulaLocale;
235
252
  showDropdown?: boolean;
236
253
  dropdownStyles?: React.CSSProperties;
237
254
  stickyEditor?: boolean;
@@ -372,6 +389,14 @@ export declare const ProseMirrorEditor: React.ForwardRefExoticComponent<Omit<Ric
372
389
  * @param value
373
390
  */
374
391
  tokenizer(value: string): ParsedToken[];
392
+ /**
393
+ * The formula locale the editor text is written in (rowsncolumns/spreadsheet#655): the locale's
394
+ * argument separator splits the argument hints, and the function names the host callbacks
395
+ * (`getFunctionParameterSuggestions`, `shouldFetchFunctionParameters`) receive are canonical
396
+ * (English) whatever the user typed. `tokenizer` and `functionDescriptions` are expected to be
397
+ * in the same locale. Canonical syntax when omitted.
398
+ */
399
+ formulaLocale?: FormulaLocale;
375
400
  showDropdown?: boolean;
376
401
  dropdownStyles?: React.CSSProperties;
377
402
  stickyEditor?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"prosemirror-editor.d.ts","sourceRoot":"","sources":["../../../editor-pm/prosemirror-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prosemirror-editor.d.ts","sourceRoot":"","sources":["../../../editor-pm/prosemirror-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQnF,OAAO,KAQN,MAAM,OAAO,CAAC;AAIf,OAAO,EAAgB,OAAO,EAAe,MAAM,mBAAmB,CAAC;AAiBvE,OAAO,EAQL,KAAK,gBAAgB,EACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAEL,wBAAwB,EACzB,MAAM,gCAAgC,CAAC;AASxC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIpD,OAAO,EAAmB,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAM/E,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,KAAK,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAC5C,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CACzD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,EAAE,OAYvB,CAAC;AAEF,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAC5D,uBAAuB,GAAG;IAExB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACxC;;;;OAIG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAGnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IACxC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAG9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,MAAM,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IACvE,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAC7D,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,CACP,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,EACvC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAC1C,IAAI,CAAC;IACR,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACxD,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACvD;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAC3B;;OAEG;IACH,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAC3B;;OAEG;IACH,UAAU,CAAC,IAAI,IAAI,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IACxC;;;;;OAKG;IACH,oBAAoB,CAAC,CACnB,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,GACrB,IAAI,CAAC;IACR;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB,GAAG,OAAO,CAAC;IAClE;;OAEG;IACH,cAAc,CAAC,IAAI,UAAU,EAAE,GAAG,SAAS,CAAC;IAC5C;;OAEG;IACH,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACnD;;OAEG;IACH,+BAA+B,CAAC,EAAE,CAChC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAAE,KAElB,UAAU,EAAE,GACZ,SAAS,GACT,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,GACjC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,IAAI,UAAU,EAAE,GAAG,SAAS,CAAC;IAC3C;;;OAGG;IACH,mBAAmB,CAAC,CAClB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,UAAU,EAAE,GAAG,SAAS,CAAC;IAC5B;;;;;OAKG;IACH,uBAAuB,CAAC,CACtB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,UAAU,EAAE,GAAG,SAAS,CAAC;IAC5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAClE;;;OAGG;IACH,WAAW,CAAC,CACV,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC/B,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;IACzC;;OAEG;IACH,6BAA6B,CAAC,CAC5B,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC;IACX;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE;;OAEG;IACH,4BAA4B,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IACnE;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEJ,KAAK,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,wBAAwB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAChD,QAAQ,IAAI,IAAI,CAAC;IACjB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7D,SAAS,IAAI,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IACnE,QAAQ,IAAI,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CACb,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,GACtE,OAAO,CAAC;IACX;;;;;OAKG;IACH,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAAC;IACtC,eAAe,IAAI,IAAI,CAAC;IACxB;;;;;OAKG;IACH,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,EAAE,IAAI,cAAc,GAAG,IAAI,CAAC;IAC5B,IAAI,SAAS,IAAI,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B;WAlO/B,MAAM;iBACA,OAAO;gBACR,OAAO;gBACP,MAAM;kBACJ,MAAM;mBACL,OAAO;qBACL,aAAa,EAAE,GAAG,IAAI;IACvC;;;;OAIG;sBACe,gBAAgB;kBAGpB,OAAO;eACV,OAAO;qBACD,MAAM,GAAG,WAAW,EAAE;IA6CvC;;;OAGG;qBACc,MAAM,GAAG,WAAW,EAAE;IAhDvC;;;;;;OAMG;oBACa,aAAa;mBAGd,OAAO;qBACL,KAAK,CAAC,aAAa;mBACrB,OAAO;mBAGP,cAAc,GAAG,IAAI;kBACtB,cAAc,GAAG,IAAI;oBACnB,cAAc,GAAG,IAAI;oBACrB,MAAM,mBAAmB,aAAa,EAAE,GAAG,IAAI,GAAG,IAAI;sBACpD,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI;qBAC3C,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI;qBAElD,MAAM,mBACI,aAAa,EAAE,GAAG,IAAI,UAC/B,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAC1C,IAAI;oBACS,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI;mBACxC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI;IACtD;;OAEG;sBACe,OAAO;IACzB;;OAEG;0BACmB,IAAI;IAC1B;;OAEG;0BACmB,IAAI;IAC1B;;OAEG;mBACY,IAAI;IAMnB;;;;;OAKG;0CAEe,OAAO,iBACR,aAAa,kBACZ,MAAM,GACrB,IAAI;IACP;;OAEG;cACO,UAAU,EAAE,GAAG,SAAS;IAClC;;;;OAIG;4BACqB,UAAU,GAAG,kBAAkB,GAAG,OAAO;IACjE;;OAEG;uBACgB,UAAU,EAAE,GAAG,SAAS;IAC3C;;OAEG;2BACoB,kBAAkB,EAAE,GAAG,IAAI;IAClD;;OAEG;sCAC+B,CAChC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAAE,KAElB,UAAU,EAAE,GACZ,SAAS,GACT,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,GACjC,OAAO,CAAC,UAAU,EAAE,CAAC;IACzB;;OAEG;sBACe,UAAU,EAAE,GAAG,SAAS;IAC1C;;;OAGG;oCAEU,MAAM,GAAG,SAAS,GAC5B,UAAU,EAAE,GAAG,SAAS;IAC3B;;;;;OAKG;wCAEU,MAAM,GAAG,SAAS,YACnB,MAAM,eACH,MAAM,GAClB,UAAU,EAAE,GAAG,SAAS;IAC3B;;;OAGG;wBACiB,OAAO;IAC3B;;OAEG;0BACmB,KAAK,CAAC,WAAW,CAAC,wBAAwB,CAAC;IACjE;;;OAGG;wBAEM,MAAM,GAAG,SAAS,GAAG,IAAI,GAC/B,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;IACxC;;OAEG;iDAEa,MAAM,kBACJ,MAAM,cACV,MAAM,EAAE,GACnB,OAAO;IACV;;OAEG;;IAEH;;OAEG;;;;IAEH;;;OAGG;qBACc,OAAO;IACxB;;;OAGG;gCACyB,OAAO;IACnC;;;;OAIG;qBACc,MAAM;yBAm/C1B,CAAC;AAEF,eAAO,MAAM,iBAAiB;WAtqDnB,MAAM;iBACA,OAAO;gBACR,OAAO;gBACP,MAAM;kBACJ,MAAM;mBACL,OAAO;qBACL,aAAa,EAAE,GAAG,IAAI;IACvC;;;;OAIG;sBACe,gBAAgB;kBAGpB,OAAO;eACV,OAAO;qBACD,MAAM,GAAG,WAAW,EAAE;IA6CvC;;;OAGG;qBACc,MAAM,GAAG,WAAW,EAAE;IAhDvC;;;;;;OAMG;oBACa,aAAa;mBAGd,OAAO;qBACL,KAAK,CAAC,aAAa;mBACrB,OAAO;mBAGP,cAAc,GAAG,IAAI;kBACtB,cAAc,GAAG,IAAI;oBACnB,cAAc,GAAG,IAAI;oBACrB,MAAM,mBAAmB,aAAa,EAAE,GAAG,IAAI,GAAG,IAAI;sBACpD,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI;qBAC3C,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI;qBAElD,MAAM,mBACI,aAAa,EAAE,GAAG,IAAI,UAC/B,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAC1C,IAAI;oBACS,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI;mBACxC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI;IACtD;;OAEG;sBACe,OAAO;IACzB;;OAEG;0BACmB,IAAI;IAC1B;;OAEG;0BACmB,IAAI;IAC1B;;OAEG;mBACY,IAAI;IAMnB;;;;;OAKG;0CAEe,OAAO,iBACR,aAAa,kBACZ,MAAM,GACrB,IAAI;IACP;;OAEG;cACO,UAAU,EAAE,GAAG,SAAS;IAClC;;;;OAIG;4BACqB,UAAU,GAAG,kBAAkB,GAAG,OAAO;IACjE;;OAEG;uBACgB,UAAU,EAAE,GAAG,SAAS;IAC3C;;OAEG;2BACoB,kBAAkB,EAAE,GAAG,IAAI;IAClD;;OAEG;sCAC+B,CAChC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAAE,KAElB,UAAU,EAAE,GACZ,SAAS,GACT,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,GACjC,OAAO,CAAC,UAAU,EAAE,CAAC;IACzB;;OAEG;sBACe,UAAU,EAAE,GAAG,SAAS;IAC1C;;;OAGG;oCAEU,MAAM,GAAG,SAAS,GAC5B,UAAU,EAAE,GAAG,SAAS;IAC3B;;;;;OAKG;wCAEU,MAAM,GAAG,SAAS,YACnB,MAAM,eACH,MAAM,GAClB,UAAU,EAAE,GAAG,SAAS;IAC3B;;;OAGG;wBACiB,OAAO;IAC3B;;OAEG;0BACmB,KAAK,CAAC,WAAW,CAAC,wBAAwB,CAAC;IACjE;;;OAGG;wBAEM,MAAM,GAAG,SAAS,GAAG,IAAI,GAC/B,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;IACxC;;OAEG;iDAEa,MAAM,kBACJ,MAAM,cACV,MAAM,EAAE,GACnB,OAAO;IACV;;OAEG;;IAEH;;OAEG;;;;IAEH;;;OAGG;qBACc,OAAO;IACxB;;;OAGG;gCACyB,OAAO;IACnC;;;;OAIG;qBACc,MAAM;4DA0/C1B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { __assign, __awaiter, __generator, __read, __rest, __spreadArray, __values } from "tslib";
2
2
  import { LoadingIcon, QuestionMarkIcon } from "@rowsncolumns/icons";
3
+ import { canonicalizeFunctionName } from "@rowsncolumns/utils";
3
4
  import { addressToCell, getHotkeyKey, isAFormula, isNil, log, } from "@rowsncolumns/utils";
4
5
  import React, { forwardRef, memo, useCallback, useImperativeHandle, useMemo, useRef, useState, } from "react";
5
6
  import { history, undo, redo } from "prosemirror-history";
@@ -61,10 +62,34 @@ export var deleteAll = function (state, dispatch) {
61
62
  */
62
63
  export var ProseMirrorEditorThatMayError = memo(forwardRef(function (_a, forwardedRef) {
63
64
  var _b;
64
- var _c = _a.value, value = _c === void 0 ? "" : _c, isNewValue = _a.isNewValue, formulaMode = _a.formulaMode, onChange = _a.onChange, autoFocus = _a.autoFocus, className = _a.className, onKeyDown = _a.onKeyDown, disabled = _a.disabled, _d = _a.showDropdown, showDropdown = _d === void 0 ? true : _d, _e = _a.persistFocus, persistFocus = _e === void 0 ? true : _e, editorZeroOutline = _a.editorZeroOutline, showFormulaHelp = _a.showFormulaHelp, onHideFormulaHelp = _a.onHideFormulaHelp, onShowFormulaHelp = _a.onShowFormulaHelp, tokenizer = _a.tokenizer, onCancel = _a.onCancel, onSubmit = _a.onSubmit, onFormulaStateChange = _a.onFormulaStateChange, dropdownStyles = _a.dropdownStyles, options = _a.options, isOptionSelected = _a.isOptionSelected, functionDescriptions = _a.functionDescriptions, shouldFetchFunctionParameters = _a.shouldFetchFunctionParameters, getFunctionParameterSuggestions = _a.getFunctionParameterSuggestions, getMentions = _a.getMentions, getNamedRanges = _a.getNamedRanges, getTableNames = _a.getTableNames, getTableColumnNames = _a.getTableColumnNames, getStructuredProperties = _a.getStructuredProperties, onTeardown = _a.onTeardown, _f = _a.SuggestionsDropdown, SuggestionsDropdown = _f === void 0 ? DefaultSuggestionsDropdown : _f, MentionTagComponent = _a.MentionTagComponent, MentionDropdownItemComponent = _a.MentionDropdownItemComponent, isActive = _a.isActive, _g = _a.stickyEditor, stickyEditor = _g === void 0 ? true : _g, onFocus = _a.onFocus, onBlur = _a.onBlur, onCopy = _a.onCopy, onCut = _a.onCut, onPaste = _a.onPaste, placeholder = _a.placeholder, textFormatRuns = _a.textFormatRuns, resolveRunColor = _a.resolveRunColor, navigationMode = _a.navigationMode, enableContinuousSelection = _a.enableContinuousSelection, cellFontFamily = _a.cellFontFamily, props = __rest(_a, ["value", "isNewValue", "formulaMode", "onChange", "autoFocus", "className", "onKeyDown", "disabled", "showDropdown", "persistFocus", "editorZeroOutline", "showFormulaHelp", "onHideFormulaHelp", "onShowFormulaHelp", "tokenizer", "onCancel", "onSubmit", "onFormulaStateChange", "dropdownStyles", "options", "isOptionSelected", "functionDescriptions", "shouldFetchFunctionParameters", "getFunctionParameterSuggestions", "getMentions", "getNamedRanges", "getTableNames", "getTableColumnNames", "getStructuredProperties", "onTeardown", "SuggestionsDropdown", "MentionTagComponent", "MentionDropdownItemComponent", "isActive", "stickyEditor", "onFocus", "onBlur", "onCopy", "onCut", "onPaste", "placeholder", "textFormatRuns", "resolveRunColor", "navigationMode", "enableContinuousSelection", "cellFontFamily"]);
65
+ var _c = _a.value, value = _c === void 0 ? "" : _c, isNewValue = _a.isNewValue, formulaMode = _a.formulaMode, onChange = _a.onChange, autoFocus = _a.autoFocus, className = _a.className, onKeyDown = _a.onKeyDown, disabled = _a.disabled, _d = _a.showDropdown, showDropdown = _d === void 0 ? true : _d, _e = _a.persistFocus, persistFocus = _e === void 0 ? true : _e, editorZeroOutline = _a.editorZeroOutline, showFormulaHelp = _a.showFormulaHelp, onHideFormulaHelp = _a.onHideFormulaHelp, onShowFormulaHelp = _a.onShowFormulaHelp, tokenizer = _a.tokenizer, onCancel = _a.onCancel, onSubmit = _a.onSubmit, onFormulaStateChange = _a.onFormulaStateChange, dropdownStyles = _a.dropdownStyles, options = _a.options, isOptionSelected = _a.isOptionSelected, functionDescriptions = _a.functionDescriptions, shouldFetchFunctionParametersProp = _a.shouldFetchFunctionParameters, getFunctionParameterSuggestionsProp = _a.getFunctionParameterSuggestions, formulaLocale = _a.formulaLocale, getMentions = _a.getMentions, getNamedRanges = _a.getNamedRanges, getTableNames = _a.getTableNames, getTableColumnNames = _a.getTableColumnNames, getStructuredProperties = _a.getStructuredProperties, onTeardown = _a.onTeardown, _f = _a.SuggestionsDropdown, SuggestionsDropdown = _f === void 0 ? DefaultSuggestionsDropdown : _f, MentionTagComponent = _a.MentionTagComponent, MentionDropdownItemComponent = _a.MentionDropdownItemComponent, isActive = _a.isActive, _g = _a.stickyEditor, stickyEditor = _g === void 0 ? true : _g, onFocus = _a.onFocus, onBlur = _a.onBlur, onCopy = _a.onCopy, onCut = _a.onCut, onPaste = _a.onPaste, placeholder = _a.placeholder, textFormatRuns = _a.textFormatRuns, resolveRunColor = _a.resolveRunColor, navigationMode = _a.navigationMode, enableContinuousSelection = _a.enableContinuousSelection, cellFontFamily = _a.cellFontFamily, props = __rest(_a, ["value", "isNewValue", "formulaMode", "onChange", "autoFocus", "className", "onKeyDown", "disabled", "showDropdown", "persistFocus", "editorZeroOutline", "showFormulaHelp", "onHideFormulaHelp", "onShowFormulaHelp", "tokenizer", "onCancel", "onSubmit", "onFormulaStateChange", "dropdownStyles", "options", "isOptionSelected", "functionDescriptions", "shouldFetchFunctionParameters", "getFunctionParameterSuggestions", "formulaLocale", "getMentions", "getNamedRanges", "getTableNames", "getTableColumnNames", "getStructuredProperties", "onTeardown", "SuggestionsDropdown", "MentionTagComponent", "MentionDropdownItemComponent", "isActive", "stickyEditor", "onFocus", "onBlur", "onCopy", "onCut", "onPaste", "placeholder", "textFormatRuns", "resolveRunColor", "navigationMode", "enableContinuousSelection", "cellFontFamily"]);
65
66
  var editorRef = useRef(null);
66
67
  var viewRef = useRef(null);
67
68
  var cellFontFamilyRef = useRef(cellFontFamily);
69
+ // The function token is in the editor's locale (`СУММ(`); hosts are asked about the canonical
70
+ // name (`SUM(`) so parameter providers keyed on English names work in every locale.
71
+ var canonicalFunctionImage = useCallback(function (image) {
72
+ if (!formulaLocale || formulaLocale.isCanonical)
73
+ return image;
74
+ var hasParen = image.endsWith("(");
75
+ var name = hasParen ? image.slice(0, -1) : image;
76
+ return canonicalizeFunctionName(name, formulaLocale) + (hasParen ? "(" : "");
77
+ }, [formulaLocale]);
78
+ var needsCanonicalNames = Boolean(formulaLocale && !formulaLocale.isCanonical);
79
+ var shouldFetchFunctionParameters = useMemo(function () {
80
+ return needsCanonicalNames && shouldFetchFunctionParametersProp
81
+ ? function (functionName, parameterIndex, parameters) {
82
+ return shouldFetchFunctionParametersProp(canonicalFunctionImage(functionName), parameterIndex, parameters);
83
+ }
84
+ : shouldFetchFunctionParametersProp;
85
+ }, [needsCanonicalNames, shouldFetchFunctionParametersProp, canonicalFunctionImage]);
86
+ var getFunctionParameterSuggestions = useMemo(function () {
87
+ return needsCanonicalNames && getFunctionParameterSuggestionsProp
88
+ ? function (functionName, parameterIndex, parameters) {
89
+ return getFunctionParameterSuggestionsProp(canonicalFunctionImage(functionName), parameterIndex, parameters);
90
+ }
91
+ : getFunctionParameterSuggestionsProp;
92
+ }, [needsCanonicalNames, getFunctionParameterSuggestionsProp, canonicalFunctionImage]);
68
93
  var _h = __read(useState(), 2), cursorPosition = _h[0], setCursorPosition = _h[1];
69
94
  var _j = __read(useState(), 2), tableToken = _j[0], setTableToken = _j[1];
70
95
  var _k = __read(useState(), 2), functionToken = _k[0], setFunctionToken = _k[1];
@@ -281,6 +306,7 @@ export var ProseMirrorEditorThatMayError = memo(forwardRef(function (_a, forward
281
306
  },
282
307
  onChangePreviousToken: setPreviousToken,
283
308
  enableContinuousSelection: enableContinuousSelection !== null && enableContinuousSelection !== void 0 ? enableContinuousSelection : isNil(navigationMode),
309
+ argumentSeparator: formulaLocale === null || formulaLocale === void 0 ? void 0 : formulaLocale.argumentSeparator,
284
310
  });
285
311
  // Initialize editor
286
312
  useIsomorphicLayoutEffect(function () {
@@ -1134,7 +1160,7 @@ export var ProseMirrorEditorThatMayError = memo(forwardRef(function (_a, forward
1134
1160
  } })),
1135
1161
  showDropdownEffective && isDropdownOpen && (React.createElement(ConditionalWrapper, { condition: stickyEditor, wrapper: function (children) { return React.createElement(Portal, { asChild: true }, children); } },
1136
1162
  React.createElement(Popper.Content, { side: "bottom", align: "start", className: "z-50", sideOffset: 2 },
1137
- React.createElement(SuggestionsDropdown, { functionDescriptions: functionDescriptions, formulaMode: formulaMode, dropdownStyles: dropdownStyles, functionToken: functionToken, parameterIndex: parameterIndex, items: items, highlightedIndex: highlightedIndex, onSelect: onSelect, onChangeHighlightedIndex: onChangeHighlightedIndex, showFormulaHelp: showFormulaHelp, onHideFormulaHelp: onHideFormulaHelp })))),
1163
+ React.createElement(SuggestionsDropdown, { functionDescriptions: functionDescriptions, formulaMode: formulaMode, dropdownStyles: dropdownStyles, functionToken: functionToken, parameterIndex: parameterIndex, items: items, highlightedIndex: highlightedIndex, onSelect: onSelect, onChangeHighlightedIndex: onChangeHighlightedIndex, showFormulaHelp: showFormulaHelp, onHideFormulaHelp: onHideFormulaHelp, formulaLocale: formulaLocale })))),
1138
1164
  showDropdownEffective && showMentionDropdownEffective && (React.createElement(ConditionalWrapper, { condition: stickyEditor, wrapper: function (children) { return React.createElement(Portal, { asChild: true }, children); } },
1139
1165
  React.createElement(Popper.Content, { side: "bottom", align: "start", className: "z-50", sideOffset: 2 },
1140
1166
  React.createElement(MentionsDropdown, { mentions: mentions, onSelect: handleInsertMention, highlightedIndex: mentionHighlightedIndex, isFetchingMentions: isFetchingMentions, MentionDropdownItemComponent: MentionDropdownItemComponent }))))));
@@ -23,7 +23,9 @@ type UseEditorOnChangePMProps = {
23
23
  end: number;
24
24
  }[]): void;
25
25
  onChangePreviousToken(token: ParsedToken | undefined): void;
26
+ /** Argument separator of the formula locale the editor text is written in (`,` canonical). */
27
+ argumentSeparator?: string;
26
28
  };
27
- export declare const useEditorOnChangePM: ({ onChange, getView, isActive, enableContinuousSelection, tokenizer, onChangeCursor, onChangeActiveToken, onFormulaStateChange, onSuggestionTokenChange, onTableTokenChange, onChangeFunctionToken, onChangeParameterIndex, onCellPropertyTokenChange, onChangeFunctionParameters, onChangeIsEdgeOfCell, onChangePreviousToken, }: UseEditorOnChangePMProps) => (newState: EditorState) => void;
29
+ export declare const useEditorOnChangePM: ({ onChange, getView, isActive, enableContinuousSelection, tokenizer, onChangeCursor, onChangeActiveToken, onFormulaStateChange, onSuggestionTokenChange, onTableTokenChange, onChangeFunctionToken, onChangeParameterIndex, onCellPropertyTokenChange, onChangeFunctionParameters, onChangeIsEdgeOfCell, onChangePreviousToken, argumentSeparator, }: UseEditorOnChangePMProps) => (newState: EditorState) => void;
28
30
  export {};
29
31
  //# sourceMappingURL=use-editor-change-pm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-editor-change-pm.d.ts","sourceRoot":"","sources":["../../../editor-pm/use-editor-change-pm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAyBnE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IACvE,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACnD,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IACxC,oBAAoB,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;IACrE,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC9D,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IACzD,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5D,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,oBAAoB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAChE,0BAA0B,CAAC,CACzB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,GACvC,IAAI,CAAC;IACR,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,mUAiBjC,wBAAwB,gBAWV,WAAW,SAoN3B,CAAC"}
1
+ {"version":3,"file":"use-editor-change-pm.d.ts","sourceRoot":"","sources":["../../../editor-pm/use-editor-change-pm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAyBnE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IACvE,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACnD,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IACxC,oBAAoB,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;IACrE,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC9D,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IACzD,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5D,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,oBAAoB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAChE,0BAA0B,CAAC,CACzB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,GACvC,IAAI,CAAC;IACR,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5D,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,sVAkBjC,wBAAwB,gBAWV,WAAW,SAsN3B,CAAC"}
@@ -5,7 +5,7 @@ import { enableCellSelection, extractTextFormatRuns, getActiveFunctionToken, get
5
5
  import { useCallbackRef } from "@rowsncolumns/grid";
6
6
  import { CELL_SUGGESTION_PREFIX } from "../editor/constants";
7
7
  export var useEditorOnChangePM = function (_a) {
8
- var onChange = _a.onChange, getView = _a.getView, isActive = _a.isActive, enableContinuousSelection = _a.enableContinuousSelection, tokenizer = _a.tokenizer, onChangeCursor = _a.onChangeCursor, onChangeActiveToken = _a.onChangeActiveToken, onFormulaStateChange = _a.onFormulaStateChange, onSuggestionTokenChange = _a.onSuggestionTokenChange, onTableTokenChange = _a.onTableTokenChange, onChangeFunctionToken = _a.onChangeFunctionToken, onChangeParameterIndex = _a.onChangeParameterIndex, onCellPropertyTokenChange = _a.onCellPropertyTokenChange, onChangeFunctionParameters = _a.onChangeFunctionParameters, onChangeIsEdgeOfCell = _a.onChangeIsEdgeOfCell, onChangePreviousToken = _a.onChangePreviousToken;
8
+ var onChange = _a.onChange, getView = _a.getView, isActive = _a.isActive, enableContinuousSelection = _a.enableContinuousSelection, tokenizer = _a.tokenizer, onChangeCursor = _a.onChangeCursor, onChangeActiveToken = _a.onChangeActiveToken, onFormulaStateChange = _a.onFormulaStateChange, onSuggestionTokenChange = _a.onSuggestionTokenChange, onTableTokenChange = _a.onTableTokenChange, onChangeFunctionToken = _a.onChangeFunctionToken, onChangeParameterIndex = _a.onChangeParameterIndex, onCellPropertyTokenChange = _a.onCellPropertyTokenChange, onChangeFunctionParameters = _a.onChangeFunctionParameters, onChangeIsEdgeOfCell = _a.onChangeIsEdgeOfCell, onChangePreviousToken = _a.onChangePreviousToken, argumentSeparator = _a.argumentSeparator;
9
9
  var lastSeenCursorTokenRef = useRef(undefined);
10
10
  useEffect(function () {
11
11
  if (!isActive) {
@@ -95,7 +95,7 @@ export var useEditorOnChangePM = function (_a) {
95
95
  }
96
96
  // Get function parameters
97
97
  var parameterIndex = getParameterIndex(tokenForFunction, functionToken, tokens);
98
- var _h = getFunctionParameters(line, functionToken), parameters = _h.parameters, ranges = _h.ranges;
98
+ var _h = getFunctionParameters(line, functionToken, argumentSeparator), parameters = _h.parameters, ranges = _h.ranges;
99
99
  // Cursor position to show cell suggestion
100
100
  onChangeCursor(canSelectCells ? cursorPos : undefined);
101
101
  // Active token
@@ -154,5 +154,6 @@ export var useEditorOnChangePM = function (_a) {
154
154
  onChangeParameterIndex,
155
155
  onCellPropertyTokenChange,
156
156
  onChangeFunctionParameters,
157
+ argumentSeparator,
157
158
  ]));
158
159
  };
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Tokenizes function syntax
2
+ * Tokenizes function syntax. `argumentSeparator` is the locale's argument separator the syntax
3
+ * was written with (`,` for the canonical catalog, `;` for a `localizeFunctionSyntax` result).
3
4
  * @param syntax
4
5
  */
5
- export declare const tokenizeFunctionSyntax: (syntax: string) => {
6
+ export declare const tokenizeFunctionSyntax: (syntax: string, argumentSeparator?: string) => {
6
7
  functionOpen: string;
7
8
  parameters: string[];
8
9
  functionClose: string;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../function-info/helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM;;;;CAepD,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../function-info/helpers.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,EAAE,0BAAuB;;;;CAoB7E,CAAC"}
@@ -1,16 +1,21 @@
1
+ var escapeForRegExp = function (value) {
2
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
3
+ };
1
4
  /**
2
- * Tokenizes function syntax
5
+ * Tokenizes function syntax. `argumentSeparator` is the locale's argument separator the syntax
6
+ * was written with (`,` for the canonical catalog, `;` for a `localizeFunctionSyntax` result).
3
7
  * @param syntax
4
8
  */
5
- export var tokenizeFunctionSyntax = function (syntax) {
9
+ export var tokenizeFunctionSyntax = function (syntax, argumentSeparator) {
10
+ if (argumentSeparator === void 0) { argumentSeparator = ","; }
6
11
  var openParen = "(";
7
12
  var closeParen = ")";
8
13
  var index = syntax.indexOf(openParen) + 1;
9
14
  var functionOpen = syntax.substr(0, index);
10
15
  var parameters = syntax
11
16
  .substr(index, syntax.length - index - 1)
12
- // https://regex101.com/r/ymosUf/1 : Exclude comma inside square braces
13
- .split(/,\s*(?=[^)^\]^}]*(?:\(|\[|\{|$))/gi)
17
+ // https://regex101.com/r/ymosUf/1 : Exclude the separator inside square braces
18
+ .split(new RegExp("".concat(escapeForRegExp(argumentSeparator), "\\s*(?=[^)^\\]^}]*(?:\\(|\\[|\\{|$))"), "gi"))
14
19
  .map(function (a) { return a.trim(); });
15
20
  return {
16
21
  functionOpen: functionOpen,
@@ -5,6 +5,8 @@ type FunctionInfoProps = {
5
5
  parameterIndex?: number;
6
6
  showFormulaHelp?: boolean;
7
7
  onHideFormulaHelp?(): void;
8
+ /** Argument separator of the syntax being shown (the formula locale's; `,` by default). */
9
+ argumentSeparator?: string;
8
10
  };
9
11
  export declare const FunctionInfo: React.FC<FunctionInfoProps>;
10
12
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../function-info/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,KAAK,iBAAiB,GAAG;IACvB,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,IAAI,IAAI,CAAC;CAC5B,CAAC;AASF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoEpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../function-info/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,KAAK,iBAAiB,GAAG;IACvB,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAC3B,2FAA2F;IAC3F,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAUF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyEpD,CAAC"}
@@ -6,16 +6,16 @@ import { tokenizeFunctionSyntax } from "./helpers";
6
6
  import { StyledFunctionParameterTitle, StyledFunctionSubtitle } from "./style";
7
7
  var ACTIVE_COLOR = "#008000";
8
8
  export var FunctionInfo = function (_a) {
9
- var activeFunction = _a.activeFunction, _b = _a.parameterIndex, parameterIndex = _b === void 0 ? 0 : _b, onHideFormulaHelp = _a.onHideFormulaHelp;
10
- var _c = activeFunction !== null && activeFunction !== void 0 ? activeFunction : {}, syntax = _c.syntax, example = _c.example, description = _c.description, parameters = _c.parameters;
9
+ var activeFunction = _a.activeFunction, _b = _a.parameterIndex, parameterIndex = _b === void 0 ? 0 : _b, onHideFormulaHelp = _a.onHideFormulaHelp, _c = _a.argumentSeparator, argumentSeparator = _c === void 0 ? "," : _c;
10
+ var _d = activeFunction !== null && activeFunction !== void 0 ? activeFunction : {}, syntax = _d.syntax, example = _d.example, description = _d.description, parameters = _d.parameters;
11
11
  /**
12
12
  * It can happen that formula list does not contain
13
13
  * parameters, but syntax has
14
14
  * Use syntax
15
15
  */
16
16
  var paramLen = useMemo(function () {
17
- return tokenizeFunctionSyntax(syntax !== null && syntax !== void 0 ? syntax : "").parameters.length;
18
- }, [syntax]);
17
+ return tokenizeFunctionSyntax(syntax !== null && syntax !== void 0 ? syntax : "", argumentSeparator).parameters.length;
18
+ }, [syntax, argumentSeparator]);
19
19
  var paramIndex = Math.min(parameterIndex, paramLen - 1);
20
20
  /**
21
21
  * If Function is not documented,
@@ -26,7 +26,7 @@ export var FunctionInfo = function (_a) {
26
26
  return (React.createElement("div", { className: "break-words text-rnc-foreground" },
27
27
  React.createElement("div", { className: "py-1 px-2 text-sm rounded-t-sm place-items-center flex bg-rnc-accent -mt-1 font-formula" },
28
28
  React.createElement("div", { className: "flex-1" },
29
- React.createElement(TokenizedFunction, { syntax: syntax, parameterIndex: paramIndex })),
29
+ React.createElement(TokenizedFunction, { syntax: syntax, parameterIndex: paramIndex, argumentSeparator: argumentSeparator })),
30
30
  React.createElement(IconButton, { onClick: onHideFormulaHelp, title: "Hide formula suggestions for this cell" },
31
31
  React.createElement(CrossCircledIcon, null))),
32
32
  React.createElement(Separator, { orientation: "horizontal", color: "$gray7" }),
@@ -50,16 +50,16 @@ export var FunctionInfo = function (_a) {
50
50
  * @param param0
51
51
  */
52
52
  var TokenizedFunction = function (_a) {
53
- var syntax = _a.syntax, parameterIndex = _a.parameterIndex;
53
+ var syntax = _a.syntax, parameterIndex = _a.parameterIndex, argumentSeparator = _a.argumentSeparator;
54
54
  if (!syntax) {
55
55
  return null;
56
56
  }
57
- var _b = tokenizeFunctionSyntax(syntax), functionOpen = _b.functionOpen, parameters = _b.parameters, functionClose = _b.functionClose;
57
+ var _b = tokenizeFunctionSyntax(syntax, argumentSeparator), functionOpen = _b.functionOpen, parameters = _b.parameters, functionClose = _b.functionClose;
58
58
  var paramLen = parameters.length;
59
59
  return (React.createElement(React.Fragment, null,
60
60
  React.createElement("span", null, functionOpen),
61
61
  parameters.map(function (param, i) {
62
- var sep = i < paramLen - 1 ? ", " : "";
62
+ var sep = i < paramLen - 1 ? "".concat(argumentSeparator, " ") : "";
63
63
  return (React.createElement(React.Fragment, { key: i },
64
64
  React.createElement("span", { style: {
65
65
  color: parameterIndex === i ? ACTIVE_COLOR : void 0,
@@ -1,5 +1,6 @@
1
1
  import type { ParsedToken } from "@rowsncolumns/calculator";
2
2
  import type { CalculatorFunction } from "@rowsncolumns/common-types";
3
+ import type { FormulaLocale } from "@rowsncolumns/utils";
3
4
  import React from "react";
4
5
  import { OptionItem } from "../editor-pm/types";
5
6
  export type SuggestionsDropdownProps = {
@@ -20,6 +21,11 @@ export type SuggestionsDropdownProps = {
20
21
  onSelect(value: OptionItem | CalculatorFunction): void;
21
22
  onChangeHighlightedIndex(index: number): void;
22
23
  functionDescriptions?: CalculatorFunction[] | null;
24
+ /**
25
+ * The formula locale the editor text (and `functionDescriptions`) are written in — supplies the
26
+ * argument separator the function hint is rendered with. Canonical (`,`) when omitted.
27
+ */
28
+ formulaLocale?: FormulaLocale;
23
29
  };
24
- export declare const SuggestionsDropdown: React.MemoExoticComponent<({ formulaMode, dropdownStyles, items, functionToken, parameterIndex, highlightedIndex, showFormulaHelp, onHideFormulaHelp, onSelect, onChangeHighlightedIndex, functionDescriptions, }: SuggestionsDropdownProps) => React.JSX.Element>;
30
+ export declare const SuggestionsDropdown: React.MemoExoticComponent<({ formulaMode, dropdownStyles, items, functionToken, parameterIndex, highlightedIndex, showFormulaHelp, onHideFormulaHelp, onSelect, onChangeHighlightedIndex, functionDescriptions, formulaLocale, }: SuggestionsDropdownProps) => React.JSX.Element>;
25
31
  //# sourceMappingURL=suggestions-dropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"suggestions-dropdown.d.ts","sourceRoot":"","sources":["../../../editor/suggestions-dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAA2C,MAAM,OAAO,CAAC;AAShE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAkBhD,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,UAAU,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACvD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,qNAa3B,wBAAwB,uBAwK5B,CAAC"}
1
+ {"version":3,"file":"suggestions-dropdown.d.ts","sourceRoot":"","sources":["../../../editor/suggestions-dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAA2C,MAAM,OAAO,CAAC;AAShE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAkBhD,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,UAAU,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACvD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACnD;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAKF,eAAO,MAAM,mBAAmB,oOAc3B,wBAAwB,uBAkK5B,CAAC"}
@@ -4,7 +4,9 @@ import { FunctionInfo } from "../function-info";
4
4
  import { cn } from "../utils";
5
5
  import { StyledCategoryHeader, StyledDropdownItem, StyledDropdownWrapper, } from "./style";
6
6
  import { cleanFunctionToken } from "../editor-pm/helpers";
7
- export const SuggestionsDropdown = memo(({ formulaMode, dropdownStyles, items, functionToken, parameterIndex, highlightedIndex, showFormulaHelp = true, onHideFormulaHelp, onSelect, onChangeHighlightedIndex, functionDescriptions, }) => {
7
+ /** Case fold matching `@rowsncolumns/utils`' dictionaries (Turkish dotted İ folds like I). */
8
+ const foldName = (name) => name.toUpperCase().replace(/İ/g, "I");
9
+ export const SuggestionsDropdown = memo(({ formulaMode, dropdownStyles, items, functionToken, parameterIndex, highlightedIndex, showFormulaHelp = true, onHideFormulaHelp, onSelect, onChangeHighlightedIndex, functionDescriptions, formulaLocale, }) => {
8
10
  const containerRef = useRef(null);
9
11
  const itemRefs = useRef(new Map());
10
12
  const categorizedItems = useMemo(() => {
@@ -74,13 +76,14 @@ export const SuggestionsDropdown = memo(({ formulaMode, dropdownStyles, items, f
74
76
  }, [highlightedIndex]);
75
77
  // Get active function
76
78
  const activeFunction = useMemo(() => {
77
- return functionToken
78
- ? functionDescriptions?.find((fn) => fn.title.match(new RegExp("^" + cleanFunctionToken(functionToken?.image ?? "") + "$", "gi")))
79
- : void 0;
79
+ if (!functionToken)
80
+ return void 0;
81
+ const name = foldName(cleanFunctionToken(functionToken.image ?? ""));
82
+ return functionDescriptions?.find((fn) => foldName(fn.title) === name);
80
83
  }, [functionDescriptions, functionToken]);
81
84
  const showFunctionInfo = functionToken && !categorizedItems.length && activeFunction;
82
85
  return (React.createElement(StyledDropdownWrapper, { ref: containerRef, style: dropdownStyles, role: "listbox", className: cn("relative", showFunctionInfo && !showFormulaHelp ? "p-0" : undefined, formulaMode ? "w-[340px]" : undefined) },
83
- Boolean(showFormulaHelp && showFunctionInfo) && (React.createElement(FunctionInfo, { activeFunction: activeFunction, parameterIndex: parameterIndex, onHideFormulaHelp: onHideFormulaHelp })),
86
+ Boolean(showFormulaHelp && showFunctionInfo) && (React.createElement(FunctionInfo, { activeFunction: activeFunction, parameterIndex: parameterIndex, onHideFormulaHelp: onHideFormulaHelp, argumentSeparator: formulaLocale?.argumentSeparator })),
84
87
  categorizedItems.map(({ item, index, header, category }) => {
85
88
  const isNamedRange = category === "namedrange";
86
89
  const isFunction = category === "function";
@@ -186,7 +186,9 @@ export declare const getActiveTableToken: (position: number, activeToken: Parsed
186
186
  * @param tokens
187
187
  */
188
188
  export declare const getParameterIndex: (curToken: ParsedToken | undefined, functionToken: ParsedToken | undefined, tokens: ParsedToken[]) => number;
189
- export declare const getFunctionParameters: (input: string, functionToken: ParsedToken | undefined) => {
189
+ export declare const getFunctionParameters: (input: string, functionToken: ParsedToken | undefined,
190
+ /** The formula locale's argument separator the input was typed with (`,` canonical). */
191
+ argumentSeparator?: string) => {
190
192
  parameters: string[];
191
193
  ranges: {
192
194
  start: number;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../editor-pm/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../editor-pm/helpers.ts"],"names":[],"mappings":"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"}
@@ -932,7 +932,9 @@ export const getParameterIndex = (curToken, functionToken, tokens) => {
932
932
  }
933
933
  return count;
934
934
  };
935
- export const getFunctionParameters = (input, functionToken) => {
935
+ export const getFunctionParameters = (input, functionToken,
936
+ /** The formula locale's argument separator the input was typed with (`,` canonical). */
937
+ argumentSeparator = ",") => {
936
938
  if (!functionToken) {
937
939
  return { parameters: [], ranges: [] };
938
940
  }
@@ -983,7 +985,7 @@ export const getFunctionParameters = (input, functionToken) => {
983
985
  for (let i = 0; i <= argsSlice.length; i++) {
984
986
  const ch = argsSlice[i];
985
987
  if (i === argsSlice.length ||
986
- (ch === "," &&
988
+ (ch === argumentSeparator &&
987
989
  paren === 0 &&
988
990
  brace === 0 &&
989
991
  bracket === 0 &&
@@ -1,5 +1,6 @@
1
1
  import type { ParsedToken } from "@rowsncolumns/calculator";
2
2
  import type { CalculatorFunction, Mention } from "@rowsncolumns/common-types";
3
+ import { type FormulaLocale } from "@rowsncolumns/utils";
3
4
  import React from "react";
4
5
  import { Command } from "prosemirror-state";
5
6
  import { type RunColorResolver } from "./helpers";
@@ -44,6 +45,14 @@ export type ProseMirrorEditorProps<M extends Mention = Mention> = RichTextEditor
44
45
  formulaMode?: boolean;
45
46
  isActive?: boolean;
46
47
  tokenizer(value: string): ParsedToken[];
48
+ /**
49
+ * The formula locale the editor text is written in (rowsncolumns/spreadsheet#655): the locale's
50
+ * argument separator splits the argument hints, and the function names the host callbacks
51
+ * (`getFunctionParameterSuggestions`, `shouldFetchFunctionParameters`) receive are canonical
52
+ * (English) whatever the user typed. `tokenizer` and `functionDescriptions` are expected to be
53
+ * in the same locale. Canonical syntax when omitted.
54
+ */
55
+ formulaLocale?: FormulaLocale;
47
56
  showDropdown?: boolean;
48
57
  dropdownStyles?: React.CSSProperties;
49
58
  stickyEditor?: boolean;
@@ -232,6 +241,14 @@ export declare const ProseMirrorEditorThatMayError: React.NamedExoticComponent<R
232
241
  * @param value
233
242
  */
234
243
  tokenizer(value: string): ParsedToken[];
244
+ /**
245
+ * The formula locale the editor text is written in (rowsncolumns/spreadsheet#655): the locale's
246
+ * argument separator splits the argument hints, and the function names the host callbacks
247
+ * (`getFunctionParameterSuggestions`, `shouldFetchFunctionParameters`) receive are canonical
248
+ * (English) whatever the user typed. `tokenizer` and `functionDescriptions` are expected to be
249
+ * in the same locale. Canonical syntax when omitted.
250
+ */
251
+ formulaLocale?: FormulaLocale;
235
252
  showDropdown?: boolean;
236
253
  dropdownStyles?: React.CSSProperties;
237
254
  stickyEditor?: boolean;
@@ -372,6 +389,14 @@ export declare const ProseMirrorEditor: React.ForwardRefExoticComponent<Omit<Ric
372
389
  * @param value
373
390
  */
374
391
  tokenizer(value: string): ParsedToken[];
392
+ /**
393
+ * The formula locale the editor text is written in (rowsncolumns/spreadsheet#655): the locale's
394
+ * argument separator splits the argument hints, and the function names the host callbacks
395
+ * (`getFunctionParameterSuggestions`, `shouldFetchFunctionParameters`) receive are canonical
396
+ * (English) whatever the user typed. `tokenizer` and `functionDescriptions` are expected to be
397
+ * in the same locale. Canonical syntax when omitted.
398
+ */
399
+ formulaLocale?: FormulaLocale;
375
400
  showDropdown?: boolean;
376
401
  dropdownStyles?: React.CSSProperties;
377
402
  stickyEditor?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"prosemirror-editor.d.ts","sourceRoot":"","sources":["../../../editor-pm/prosemirror-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prosemirror-editor.d.ts","sourceRoot":"","sources":["../../../editor-pm/prosemirror-editor.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { LoadingIcon, QuestionMarkIcon } from "@rowsncolumns/icons";
2
+ import { canonicalizeFunctionName } from "@rowsncolumns/utils";
2
3
  import { addressToCell, getHotkeyKey, isAFormula, isNil, log, } from "@rowsncolumns/utils";
3
4
  import React, { forwardRef, memo, useCallback, useImperativeHandle, useMemo, useRef, useState, } from "react";
4
5
  import { history, undo, redo } from "prosemirror-history";
@@ -58,10 +59,26 @@ export const deleteAll = (state, dispatch) => {
58
59
  * ProseMirror editor component for rich text and formula editing.
59
60
  * Supports syntax highlighting, autocomplete, and keyboard shortcuts.
60
61
  */
61
- export const ProseMirrorEditorThatMayError = memo(forwardRef(({ value = "", isNewValue, formulaMode, onChange, autoFocus, className, onKeyDown, disabled, showDropdown = true, persistFocus = true, editorZeroOutline, showFormulaHelp, onHideFormulaHelp, onShowFormulaHelp, tokenizer, onCancel, onSubmit, onFormulaStateChange, dropdownStyles, options, isOptionSelected, functionDescriptions, shouldFetchFunctionParameters, getFunctionParameterSuggestions, getMentions, getNamedRanges, getTableNames, getTableColumnNames, getStructuredProperties, onTeardown, SuggestionsDropdown = DefaultSuggestionsDropdown, MentionTagComponent, MentionDropdownItemComponent, isActive, stickyEditor = true, onFocus, onBlur, onCopy, onCut, onPaste, placeholder, textFormatRuns, resolveRunColor, navigationMode, enableContinuousSelection, cellFontFamily, ...props }, forwardedRef) => {
62
+ export const ProseMirrorEditorThatMayError = memo(forwardRef(({ value = "", isNewValue, formulaMode, onChange, autoFocus, className, onKeyDown, disabled, showDropdown = true, persistFocus = true, editorZeroOutline, showFormulaHelp, onHideFormulaHelp, onShowFormulaHelp, tokenizer, onCancel, onSubmit, onFormulaStateChange, dropdownStyles, options, isOptionSelected, functionDescriptions, shouldFetchFunctionParameters: shouldFetchFunctionParametersProp, getFunctionParameterSuggestions: getFunctionParameterSuggestionsProp, formulaLocale, getMentions, getNamedRanges, getTableNames, getTableColumnNames, getStructuredProperties, onTeardown, SuggestionsDropdown = DefaultSuggestionsDropdown, MentionTagComponent, MentionDropdownItemComponent, isActive, stickyEditor = true, onFocus, onBlur, onCopy, onCut, onPaste, placeholder, textFormatRuns, resolveRunColor, navigationMode, enableContinuousSelection, cellFontFamily, ...props }, forwardedRef) => {
62
63
  const editorRef = useRef(null);
63
64
  const viewRef = useRef(null);
64
65
  const cellFontFamilyRef = useRef(cellFontFamily);
66
+ // The function token is in the editor's locale (`СУММ(`); hosts are asked about the canonical
67
+ // name (`SUM(`) so parameter providers keyed on English names work in every locale.
68
+ const canonicalFunctionImage = useCallback((image) => {
69
+ if (!formulaLocale || formulaLocale.isCanonical)
70
+ return image;
71
+ const hasParen = image.endsWith("(");
72
+ const name = hasParen ? image.slice(0, -1) : image;
73
+ return canonicalizeFunctionName(name, formulaLocale) + (hasParen ? "(" : "");
74
+ }, [formulaLocale]);
75
+ const needsCanonicalNames = Boolean(formulaLocale && !formulaLocale.isCanonical);
76
+ const shouldFetchFunctionParameters = useMemo(() => needsCanonicalNames && shouldFetchFunctionParametersProp
77
+ ? (functionName, parameterIndex, parameters) => shouldFetchFunctionParametersProp(canonicalFunctionImage(functionName), parameterIndex, parameters)
78
+ : shouldFetchFunctionParametersProp, [needsCanonicalNames, shouldFetchFunctionParametersProp, canonicalFunctionImage]);
79
+ const getFunctionParameterSuggestions = useMemo(() => needsCanonicalNames && getFunctionParameterSuggestionsProp
80
+ ? (functionName, parameterIndex, parameters) => getFunctionParameterSuggestionsProp(canonicalFunctionImage(functionName), parameterIndex, parameters)
81
+ : getFunctionParameterSuggestionsProp, [needsCanonicalNames, getFunctionParameterSuggestionsProp, canonicalFunctionImage]);
65
82
  const [cursorPosition, setCursorPosition] = useState();
66
83
  const [tableToken, setTableToken] = useState();
67
84
  const [functionToken, setFunctionToken] = useState();
@@ -264,6 +281,7 @@ export const ProseMirrorEditorThatMayError = memo(forwardRef(({ value = "", isNe
264
281
  },
265
282
  onChangePreviousToken: setPreviousToken,
266
283
  enableContinuousSelection: enableContinuousSelection ?? isNil(navigationMode),
284
+ argumentSeparator: formulaLocale?.argumentSeparator,
267
285
  });
268
286
  // Initialize editor
269
287
  useIsomorphicLayoutEffect(() => {
@@ -1124,7 +1142,7 @@ export const ProseMirrorEditorThatMayError = memo(forwardRef(({ value = "", isNe
1124
1142
  } })),
1125
1143
  showDropdownEffective && isDropdownOpen && (React.createElement(ConditionalWrapper, { condition: stickyEditor, wrapper: (children) => React.createElement(Portal, { asChild: true }, children) },
1126
1144
  React.createElement(Popper.Content, { side: "bottom", align: "start", className: "z-50", sideOffset: 2 },
1127
- React.createElement(SuggestionsDropdown, { functionDescriptions: functionDescriptions, formulaMode: formulaMode, dropdownStyles: dropdownStyles, functionToken: functionToken, parameterIndex: parameterIndex, items: items, highlightedIndex: highlightedIndex, onSelect: onSelect, onChangeHighlightedIndex: onChangeHighlightedIndex, showFormulaHelp: showFormulaHelp, onHideFormulaHelp: onHideFormulaHelp })))),
1145
+ React.createElement(SuggestionsDropdown, { functionDescriptions: functionDescriptions, formulaMode: formulaMode, dropdownStyles: dropdownStyles, functionToken: functionToken, parameterIndex: parameterIndex, items: items, highlightedIndex: highlightedIndex, onSelect: onSelect, onChangeHighlightedIndex: onChangeHighlightedIndex, showFormulaHelp: showFormulaHelp, onHideFormulaHelp: onHideFormulaHelp, formulaLocale: formulaLocale })))),
1128
1146
  showDropdownEffective && showMentionDropdownEffective && (React.createElement(ConditionalWrapper, { condition: stickyEditor, wrapper: (children) => React.createElement(Portal, { asChild: true }, children) },
1129
1147
  React.createElement(Popper.Content, { side: "bottom", align: "start", className: "z-50", sideOffset: 2 },
1130
1148
  React.createElement(MentionsDropdown, { mentions: mentions, onSelect: handleInsertMention, highlightedIndex: mentionHighlightedIndex, isFetchingMentions: isFetchingMentions, MentionDropdownItemComponent: MentionDropdownItemComponent }))))));
@@ -23,7 +23,9 @@ type UseEditorOnChangePMProps = {
23
23
  end: number;
24
24
  }[]): void;
25
25
  onChangePreviousToken(token: ParsedToken | undefined): void;
26
+ /** Argument separator of the formula locale the editor text is written in (`,` canonical). */
27
+ argumentSeparator?: string;
26
28
  };
27
- export declare const useEditorOnChangePM: ({ onChange, getView, isActive, enableContinuousSelection, tokenizer, onChangeCursor, onChangeActiveToken, onFormulaStateChange, onSuggestionTokenChange, onTableTokenChange, onChangeFunctionToken, onChangeParameterIndex, onCellPropertyTokenChange, onChangeFunctionParameters, onChangeIsEdgeOfCell, onChangePreviousToken, }: UseEditorOnChangePMProps) => (newState: EditorState) => void;
29
+ export declare const useEditorOnChangePM: ({ onChange, getView, isActive, enableContinuousSelection, tokenizer, onChangeCursor, onChangeActiveToken, onFormulaStateChange, onSuggestionTokenChange, onTableTokenChange, onChangeFunctionToken, onChangeParameterIndex, onCellPropertyTokenChange, onChangeFunctionParameters, onChangeIsEdgeOfCell, onChangePreviousToken, argumentSeparator, }: UseEditorOnChangePMProps) => (newState: EditorState) => void;
28
30
  export {};
29
31
  //# sourceMappingURL=use-editor-change-pm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-editor-change-pm.d.ts","sourceRoot":"","sources":["../../../editor-pm/use-editor-change-pm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAyBnE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IACvE,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACnD,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IACxC,oBAAoB,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;IACrE,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC9D,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IACzD,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5D,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,oBAAoB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAChE,0BAA0B,CAAC,CACzB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,GACvC,IAAI,CAAC;IACR,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,mUAiBjC,wBAAwB,gBAWV,WAAW,SAoN3B,CAAC"}
1
+ {"version":3,"file":"use-editor-change-pm.d.ts","sourceRoot":"","sources":["../../../editor-pm/use-editor-change-pm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAyBnE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IACvE,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACnD,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IACxC,oBAAoB,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;IACrE,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC9D,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IACzD,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5D,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,oBAAoB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAChE,0BAA0B,CAAC,CACzB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,GACvC,IAAI,CAAC;IACR,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5D,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,sVAkBjC,wBAAwB,gBAWV,WAAW,SAsN3B,CAAC"}
@@ -4,7 +4,7 @@ import { useCallback, useEffect, useRef } from "react";
4
4
  import { enableCellSelection, extractTextFormatRuns, getActiveFunctionToken, getActiveSelectionIndex, getActiveSuggestionToken, getActiveTableToken, getActiveToken, getCursorPosition, getFunctionParameters, getParameterIndex, getTokenizationContent, getPreviousToken, hasPropertyReference, isCellToken, isNamedRangeToken, isTableColumnToken, isTableNameToken, resolveCellPropertyToken, serializeEditorValue, getTokenBeforeCaret, isUnknownToken, } from "./helpers";
5
5
  import { useCallbackRef } from "@rowsncolumns/grid";
6
6
  import { CELL_SUGGESTION_PREFIX } from "../editor/constants";
7
- export const useEditorOnChangePM = ({ onChange, getView, isActive, enableContinuousSelection, tokenizer, onChangeCursor, onChangeActiveToken, onFormulaStateChange, onSuggestionTokenChange, onTableTokenChange, onChangeFunctionToken, onChangeParameterIndex, onCellPropertyTokenChange, onChangeFunctionParameters, onChangeIsEdgeOfCell, onChangePreviousToken, }) => {
7
+ export const useEditorOnChangePM = ({ onChange, getView, isActive, enableContinuousSelection, tokenizer, onChangeCursor, onChangeActiveToken, onFormulaStateChange, onSuggestionTokenChange, onTableTokenChange, onChangeFunctionToken, onChangeParameterIndex, onCellPropertyTokenChange, onChangeFunctionParameters, onChangeIsEdgeOfCell, onChangePreviousToken, argumentSeparator, }) => {
8
8
  const lastSeenCursorTokenRef = useRef(undefined);
9
9
  useEffect(() => {
10
10
  if (!isActive) {
@@ -93,7 +93,7 @@ export const useEditorOnChangePM = ({ onChange, getView, isActive, enableContinu
93
93
  }
94
94
  // Get function parameters
95
95
  const parameterIndex = getParameterIndex(tokenForFunction, functionToken, tokens);
96
- const { parameters, ranges } = getFunctionParameters(line, functionToken);
96
+ const { parameters, ranges } = getFunctionParameters(line, functionToken, argumentSeparator);
97
97
  // Cursor position to show cell suggestion
98
98
  onChangeCursor(canSelectCells ? cursorPos : undefined);
99
99
  // Active token
@@ -152,5 +152,6 @@ export const useEditorOnChangePM = ({ onChange, getView, isActive, enableContinu
152
152
  onChangeParameterIndex,
153
153
  onCellPropertyTokenChange,
154
154
  onChangeFunctionParameters,
155
+ argumentSeparator,
155
156
  ]));
156
157
  };
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Tokenizes function syntax
2
+ * Tokenizes function syntax. `argumentSeparator` is the locale's argument separator the syntax
3
+ * was written with (`,` for the canonical catalog, `;` for a `localizeFunctionSyntax` result).
3
4
  * @param syntax
4
5
  */
5
- export declare const tokenizeFunctionSyntax: (syntax: string) => {
6
+ export declare const tokenizeFunctionSyntax: (syntax: string, argumentSeparator?: string) => {
6
7
  functionOpen: string;
7
8
  parameters: string[];
8
9
  functionClose: string;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../function-info/helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM;;;;CAepD,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../function-info/helpers.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,EAAE,0BAAuB;;;;CAoB7E,CAAC"}
@@ -1,16 +1,18 @@
1
+ const escapeForRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1
2
  /**
2
- * Tokenizes function syntax
3
+ * Tokenizes function syntax. `argumentSeparator` is the locale's argument separator the syntax
4
+ * was written with (`,` for the canonical catalog, `;` for a `localizeFunctionSyntax` result).
3
5
  * @param syntax
4
6
  */
5
- export const tokenizeFunctionSyntax = (syntax) => {
7
+ export const tokenizeFunctionSyntax = (syntax, argumentSeparator = ",") => {
6
8
  const openParen = "(";
7
9
  const closeParen = ")";
8
10
  const index = syntax.indexOf(openParen) + 1;
9
11
  const functionOpen = syntax.substr(0, index);
10
12
  const parameters = syntax
11
13
  .substr(index, syntax.length - index - 1)
12
- // https://regex101.com/r/ymosUf/1 : Exclude comma inside square braces
13
- .split(/,\s*(?=[^)^\]^}]*(?:\(|\[|\{|$))/gi)
14
+ // https://regex101.com/r/ymosUf/1 : Exclude the separator inside square braces
15
+ .split(new RegExp(`${escapeForRegExp(argumentSeparator)}\\s*(?=[^)^\\]^}]*(?:\\(|\\[|\\{|$))`, "gi"))
14
16
  .map((a) => a.trim());
15
17
  return {
16
18
  functionOpen,
@@ -5,6 +5,8 @@ type FunctionInfoProps = {
5
5
  parameterIndex?: number;
6
6
  showFormulaHelp?: boolean;
7
7
  onHideFormulaHelp?(): void;
8
+ /** Argument separator of the syntax being shown (the formula locale's; `,` by default). */
9
+ argumentSeparator?: string;
8
10
  };
9
11
  export declare const FunctionInfo: React.FC<FunctionInfoProps>;
10
12
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../function-info/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,KAAK,iBAAiB,GAAG;IACvB,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,IAAI,IAAI,CAAC;CAC5B,CAAC;AASF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoEpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../function-info/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,KAAK,iBAAiB,GAAG;IACvB,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAC3B,2FAA2F;IAC3F,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAUF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyEpD,CAAC"}
@@ -5,7 +5,7 @@ import { Separator } from "../separator";
5
5
  import { tokenizeFunctionSyntax } from "./helpers";
6
6
  import { StyledFunctionParameterTitle, StyledFunctionSubtitle } from "./style";
7
7
  const ACTIVE_COLOR = "#008000";
8
- export const FunctionInfo = ({ activeFunction, parameterIndex = 0, onHideFormulaHelp, }) => {
8
+ export const FunctionInfo = ({ activeFunction, parameterIndex = 0, onHideFormulaHelp, argumentSeparator = ",", }) => {
9
9
  const { syntax, example, description, parameters } = activeFunction ?? {};
10
10
  /**
11
11
  * It can happen that formula list does not contain
@@ -13,8 +13,8 @@ export const FunctionInfo = ({ activeFunction, parameterIndex = 0, onHideFormula
13
13
  * Use syntax
14
14
  */
15
15
  const paramLen = useMemo(() => {
16
- return tokenizeFunctionSyntax(syntax ?? "").parameters.length;
17
- }, [syntax]);
16
+ return tokenizeFunctionSyntax(syntax ?? "", argumentSeparator).parameters.length;
17
+ }, [syntax, argumentSeparator]);
18
18
  const paramIndex = Math.min(parameterIndex, paramLen - 1);
19
19
  /**
20
20
  * If Function is not documented,
@@ -25,7 +25,7 @@ export const FunctionInfo = ({ activeFunction, parameterIndex = 0, onHideFormula
25
25
  return (React.createElement("div", { className: "break-words text-rnc-foreground" },
26
26
  React.createElement("div", { className: "py-1 px-2 text-sm rounded-t-sm place-items-center flex bg-rnc-accent -mt-1 font-formula" },
27
27
  React.createElement("div", { className: "flex-1" },
28
- React.createElement(TokenizedFunction, { syntax: syntax, parameterIndex: paramIndex })),
28
+ React.createElement(TokenizedFunction, { syntax: syntax, parameterIndex: paramIndex, argumentSeparator: argumentSeparator })),
29
29
  React.createElement(IconButton, { onClick: onHideFormulaHelp, title: "Hide formula suggestions for this cell" },
30
30
  React.createElement(CrossCircledIcon, null))),
31
31
  React.createElement(Separator, { orientation: "horizontal", color: "$gray7" }),
@@ -47,16 +47,16 @@ export const FunctionInfo = ({ activeFunction, parameterIndex = 0, onHideFormula
47
47
  * Convert string function to tokens
48
48
  * @param param0
49
49
  */
50
- const TokenizedFunction = ({ syntax, parameterIndex, }) => {
50
+ const TokenizedFunction = ({ syntax, parameterIndex, argumentSeparator, }) => {
51
51
  if (!syntax) {
52
52
  return null;
53
53
  }
54
- const { functionOpen, parameters, functionClose } = tokenizeFunctionSyntax(syntax);
54
+ const { functionOpen, parameters, functionClose } = tokenizeFunctionSyntax(syntax, argumentSeparator);
55
55
  const paramLen = parameters.length;
56
56
  return (React.createElement(React.Fragment, null,
57
57
  React.createElement("span", null, functionOpen),
58
58
  parameters.map((param, i) => {
59
- const sep = i < paramLen - 1 ? ", " : "";
59
+ const sep = i < paramLen - 1 ? `${argumentSeparator} ` : "";
60
60
  return (React.createElement(React.Fragment, { key: i },
61
61
  React.createElement("span", { style: {
62
62
  color: parameterIndex === i ? ACTIVE_COLOR : void 0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rowsncolumns/ui",
3
- "version": "15.0.42",
3
+ "version": "16.0.0",
4
4
  "author": "Vinay M",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "main": "./dist/cjs/index.js",
@@ -55,23 +55,25 @@
55
55
  "tailwind-merge": "^3.3.0"
56
56
  },
57
57
  "devDependencies": {
58
- "@rowsncolumns/calculator": ">=7.2.30",
59
- "@rowsncolumns/common-types": ">=5.2.30",
60
- "@rowsncolumns/fast-formula-parser": ">=6.2.38",
61
- "@rowsncolumns/functions": ">=14.0.33",
58
+ "@rowsncolumns/calculator": ">=7.3.0",
59
+ "@rowsncolumns/common-types": ">=5.2.33",
60
+ "@rowsncolumns/fast-formula-parser": ">=6.2.39",
61
+ "@rowsncolumns/functions": ">=15.0.0",
62
+ "@rowsncolumns/grid": ">=13.2.33",
62
63
  "@rowsncolumns/icons": ">=7.2.31",
63
- "@rowsncolumns/utils": ">=9.2.43",
64
+ "@rowsncolumns/utils": ">=9.3.0",
64
65
  "@types/lodash": "^4.17.17",
65
66
  "react": "^19.1.0",
66
67
  "react-dom": "^19.1.0"
67
68
  },
68
69
  "peerDependencies": {
69
- "@rowsncolumns/calculator": ">=7.2.30",
70
- "@rowsncolumns/common-types": ">=5.2.30",
71
- "@rowsncolumns/fast-formula-parser": ">=6.2.38",
72
- "@rowsncolumns/functions": ">=14.0.33",
70
+ "@rowsncolumns/calculator": ">=7.3.0",
71
+ "@rowsncolumns/common-types": ">=5.2.33",
72
+ "@rowsncolumns/fast-formula-parser": ">=6.2.39",
73
+ "@rowsncolumns/functions": ">=15.0.0",
74
+ "@rowsncolumns/grid": ">=13.2.33",
73
75
  "@rowsncolumns/icons": ">=7.2.31",
74
- "@rowsncolumns/utils": ">=9.2.43",
76
+ "@rowsncolumns/utils": ">=9.3.0",
75
77
  "react": ">=18.0.0",
76
78
  "react-dom": ">=18.0.0"
77
79
  }