comins-table 0.2.1 → 0.2.3

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 (94) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +6 -2
  3. package/THIRD_PARTY_NOTICES.md +4 -0
  4. package/dist/browser/measurements.d.ts.map +1 -1
  5. package/dist/browser/viewport-requests.d.ts.map +1 -1
  6. package/dist/cell-fill.d.ts +7 -0
  7. package/dist/cell-fill.d.ts.map +1 -1
  8. package/dist/{clipboard-CNrbmDue.js → clipboard-DZmm2iRM.js} +172 -146
  9. package/dist/clipboard-DZmm2iRM.js.map +1 -0
  10. package/dist/clipboard.js +2 -2
  11. package/dist/column-filter.d.ts +6 -1
  12. package/dist/column-filter.d.ts.map +1 -1
  13. package/dist/column-pinning.d.ts.map +1 -1
  14. package/dist/component-renderer.d.ts.map +1 -1
  15. package/dist/core/editing/xlsx-data.d.ts +12 -0
  16. package/dist/core/editing/xlsx-data.d.ts.map +1 -0
  17. package/dist/core/editing/xlsx-model.d.ts +103 -0
  18. package/dist/core/editing/xlsx-model.d.ts.map +1 -0
  19. package/dist/core/layout/columns.d.ts.map +1 -1
  20. package/dist/core/layout/virtual.d.ts.map +1 -1
  21. package/dist/core/model.d.ts +2 -0
  22. package/dist/core/model.d.ts.map +1 -1
  23. package/dist/core/rows/filter-value.d.ts +12 -0
  24. package/dist/core/rows/filter-value.d.ts.map +1 -0
  25. package/dist/core/rows/filtering.d.ts +27 -7
  26. package/dist/core/rows/filtering.d.ts.map +1 -1
  27. package/dist/core/rows/values-filter.d.ts +46 -0
  28. package/dist/core/rows/values-filter.d.ts.map +1 -0
  29. package/dist/core/viewport/data.d.ts.map +1 -1
  30. package/dist/{core-compat-B4I2OHGY.js → core-compat-CQ_YgTHr.js} +8 -3
  31. package/dist/core-compat-CQ_YgTHr.js.map +1 -0
  32. package/dist/core.d.ts +5 -0
  33. package/dist/core.d.ts.map +1 -1
  34. package/dist/core.js +3 -3
  35. package/dist/engine-iWefk5Rv.js +146 -0
  36. package/dist/engine-iWefk5Rv.js.map +1 -0
  37. package/dist/export-B_Q9_Whp.js +184 -0
  38. package/dist/export-B_Q9_Whp.js.map +1 -0
  39. package/dist/filtering.d.ts +23 -25
  40. package/dist/filtering.d.ts.map +1 -1
  41. package/dist/grouping.d.ts +8 -0
  42. package/dist/grouping.d.ts.map +1 -1
  43. package/dist/index.d.ts +32 -5
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +2819 -2314
  46. package/dist/index.js.map +1 -1
  47. package/dist/react/cell-tooltip.d.ts +20 -0
  48. package/dist/react/cell-tooltip.d.ts.map +1 -0
  49. package/dist/react/core-compat.d.ts.map +1 -1
  50. package/dist/react/state.d.ts.map +1 -1
  51. package/dist/react/table-transfer.d.ts +4 -0
  52. package/dist/react/table-transfer.d.ts.map +1 -1
  53. package/dist/react/value-filter-types.d.ts +79 -0
  54. package/dist/react/value-filter-types.d.ts.map +1 -0
  55. package/dist/react/value-filter.d.ts +897 -0
  56. package/dist/react/value-filter.d.ts.map +1 -0
  57. package/dist/react-types.d.ts +10 -1
  58. package/dist/react-types.d.ts.map +1 -1
  59. package/dist/selection.js +1 -1
  60. package/dist/summary.d.ts +9 -0
  61. package/dist/summary.d.ts.map +1 -1
  62. package/dist/tree-drag.d.ts.map +1 -1
  63. package/dist/values-filter-pFAPWz1Q.js +497 -0
  64. package/dist/values-filter-pFAPWz1Q.js.map +1 -0
  65. package/dist/workbook-C7MXhUjt.js +349 -0
  66. package/dist/workbook-C7MXhUjt.js.map +1 -0
  67. package/dist/xlsx/engine.d.ts +5 -0
  68. package/dist/xlsx/engine.d.ts.map +1 -0
  69. package/dist/xlsx/errors.d.ts +12 -0
  70. package/dist/xlsx/errors.d.ts.map +1 -0
  71. package/dist/xlsx/export.d.ts +3 -0
  72. package/dist/xlsx/export.d.ts.map +1 -0
  73. package/dist/xlsx/styles.d.ts +37 -0
  74. package/dist/xlsx/styles.d.ts.map +1 -0
  75. package/dist/xlsx/text.d.ts +7 -0
  76. package/dist/xlsx/text.d.ts.map +1 -0
  77. package/dist/xlsx/workbook.d.ts +32 -0
  78. package/dist/xlsx/workbook.d.ts.map +1 -0
  79. package/dist/xlsx/xml.d.ts +14 -0
  80. package/dist/xlsx/xml.d.ts.map +1 -0
  81. package/dist/xlsx/zip.d.ts +9 -0
  82. package/dist/xlsx/zip.d.ts.map +1 -0
  83. package/dist/xlsx.d.ts +7 -0
  84. package/dist/xlsx.d.ts.map +1 -0
  85. package/dist/xlsx.js +39 -0
  86. package/dist/xlsx.js.map +1 -0
  87. package/dist/zip-Oz81THHH.js +62 -0
  88. package/dist/zip-Oz81THHH.js.map +1 -0
  89. package/package.json +22 -12
  90. package/styles.css +35 -0
  91. package/dist/clipboard-CNrbmDue.js.map +0 -1
  92. package/dist/core-compat-B4I2OHGY.js.map +0 -1
  93. package/dist/export-structure-Dy2zOqbj.js +0 -166
  94. package/dist/export-structure-Dy2zOqbj.js.map +0 -1
@@ -1,17 +1,28 @@
1
+ import type { CominsColumnFilterValue } from "../model";
1
2
  import type { CominsCellFormatParams, CominsTableRuntimeColumn } from "../model";
2
3
  import type { CominsRowId } from "../model";
3
4
  import type { CominsColumnFilterConfig as CoreFilterConfig, CominsColumnFilterKind } from "../model";
4
5
  export type { CominsColumnFilterKind } from "../model";
5
- export type CominsColumnFilterOperator = "between" | "contains" | "endsWith" | "equals" | "greaterThan" | "greaterThanOrEqual" | "isEmpty" | "isNotEmpty" | "lessThan" | "lessThanOrEqual" | "notContains" | "notEquals" | "startsWith";
6
+ export type CominsColumnConditionFilterOperator = "between" | "contains" | "endsWith" | "equals" | "greaterThan" | "greaterThanOrEqual" | "isEmpty" | "isNotEmpty" | "lessThan" | "lessThanOrEqual" | "notContains" | "notEquals" | "startsWith";
7
+ export type CominsColumnFilterOperator = CominsColumnConditionFilterOperator | "in";
6
8
  export type CominsColumnFilterConfig<TData, TValue = unknown> = Omit<CoreFilterConfig<TData, TValue>, "getValue"> & {
7
9
  getValue?: (params: CominsCellFormatParams<TData, TValue>) => unknown;
8
10
  };
9
- export type CominsColumnFilterRule = {
11
+ export type CominsColumnConditionFilterRule = {
10
12
  columnId: string;
11
- operator: CominsColumnFilterOperator;
12
- value?: boolean | null | number | string;
13
+ operator: CominsColumnConditionFilterOperator;
14
+ value?: CominsColumnFilterValue;
13
15
  valueTo?: null | number | string;
16
+ values?: never;
14
17
  };
18
+ export type CominsColumnValueFilterRule = {
19
+ columnId: string;
20
+ operator: "in";
21
+ values: readonly CominsColumnFilterValue[];
22
+ value?: never;
23
+ valueTo?: never;
24
+ };
25
+ export type CominsColumnFilterRule = CominsColumnConditionFilterRule | CominsColumnValueFilterRule;
15
26
  export type CominsColumnFilterModel = readonly CominsColumnFilterRule[];
16
27
  export type CominsColumnFilteringConfig = {
17
28
  model: CominsColumnFilterModel;
@@ -28,11 +39,20 @@ type CominsNormalizedFilterValue = boolean | number | string;
28
39
  export type CominsNormalizedColumnFilterRule<TData> = {
29
40
  column: CominsTableRuntimeColumn<TData>;
30
41
  config: CominsColumnFilterConfig<TData>;
31
- operator: CominsColumnFilterOperator;
42
+ } & ({
43
+ operator: CominsColumnConditionFilterOperator;
32
44
  value?: CominsNormalizedFilterValue;
33
45
  valueTo?: number;
34
- };
35
- export declare function getCominsColumnFilterOperators(kind: CominsColumnFilterKind): CominsColumnFilterOperator[];
46
+ values?: never;
47
+ keys?: never;
48
+ } | {
49
+ operator: "in";
50
+ values: readonly CominsColumnFilterValue[];
51
+ keys: ReadonlySet<string>;
52
+ value?: never;
53
+ valueTo?: never;
54
+ });
55
+ export declare function getCominsColumnFilterOperators(kind: CominsColumnFilterKind): CominsColumnConditionFilterOperator[];
36
56
  export declare function normalizeCominsColumnFilterModel<TData>({ columns, model, }: {
37
57
  columns: readonly CominsTableRuntimeColumn<TData>[];
38
58
  model: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"filtering.d.ts","sourceRoot":"","sources":["../../../src/core/rows/filtering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,wBAAwB,IAAI,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAErG,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,MAAM,0BAA0B,GAClC,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,aAAa,GACb,oBAAoB,GACpB,SAAS,GACT,YAAY,GACZ,UAAU,GACV,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,YAAY,CAAC;AAEjB,MAAM,MAAM,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IAClH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,0BAA0B,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,SAAS,sBAAsB,EAAE,CAAC;AAExE,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,IAAI,CAAC;IAC1D,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,8BAA8B,CAAC,KAAK,IAAI;IAClD,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,WAAW,CAAC;CACjB,CAAC;AAEF,KAAK,2BAA2B,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,MAAM,MAAM,gCAAgC,CAAC,KAAK,IAAI;IACpD,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACxC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,KAAK,CAAC,EAAE,2BAA2B,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AA2CF,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,sBAAsB,gCAE1E;AAwED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,EACtD,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;IACpD,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG,gCAAgC,CAAC,KAAK,CAAC,EAAE,CAgE5C;AAkGD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,EACjD,OAAO,EACP,KAAK,EACL,IAAI,GACL,EAAE;IACD,OAAO,EAAE,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;IACpD,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,SAAS,8BAA8B,CAAC,KAAK,CAAC,EAAE,CAAC;CACxD,YAQA"}
1
+ {"version":3,"file":"filtering.d.ts","sourceRoot":"","sources":["../../../src/core/rows/filtering.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EACV,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,wBAAwB,IAAI,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAErG,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,MAAM,mCAAmC,GAC3C,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,aAAa,GACb,oBAAoB,GACpB,SAAS,GACT,YAAY,GACZ,UAAU,GACV,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,YAAY,CAAC;AAEjB,MAAM,MAAM,0BAA0B,GAAG,mCAAmC,GAAG,IAAI,CAAC;AACpF,MAAM,MAAM,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IAClH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,mCAAmC,CAAC;IAChE,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAAC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACnF,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAC;CAC9G,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,+BAA+B,GAAG,2BAA2B,CAAC;AAEnG,MAAM,MAAM,uBAAuB,GAAG,SAAS,sBAAsB,EAAE,CAAC;AAExE,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,IAAI,CAAC;IAC1D,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,8BAA8B,CAAC,KAAK,IAAI;IAClD,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,WAAW,CAAC;CACjB,CAAC;AAEF,KAAK,2BAA2B,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,MAAM,MAAM,gCAAgC,CAAC,KAAK,IAAI;IACpD,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAAC,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;CAClF,GAAG,CAAC;IAAE,QAAQ,EAAE,mCAAmC,CAAC;IAAC,KAAK,CAAC,EAAE,2BAA2B,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GACvI;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AA2C/H,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,sBAAsB,yCAE1E;AA4CD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,EACtD,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;IACpD,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG,gCAAgC,CAAC,KAAK,CAAC,EAAE,CAiF5C;AAuGD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,EACjD,OAAO,EACP,KAAK,EACL,IAAI,GACL,EAAE;IACD,OAAO,EAAE,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;IACpD,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,SAAS,8BAA8B,CAAC,KAAK,CAAC,EAAE,CAAC;CACxD,YAQA"}
@@ -0,0 +1,46 @@
1
+ import type { CominsColumnFilterValue, CominsTableRuntimeColumn } from "../model";
2
+ import { type CominsColumnFilterModel, type CominsColumnFilteringSourceRow } from "./filtering";
3
+ export type CominsColumnFilterOption = {
4
+ id: string;
5
+ value: CominsColumnFilterValue;
6
+ label: string;
7
+ count: number;
8
+ selected: boolean;
9
+ present: boolean;
10
+ };
11
+ export type CominsColumnFilterOptionsResult = {
12
+ options: readonly CominsColumnFilterOption[];
13
+ visibleOptions: readonly CominsColumnFilterOption[];
14
+ selectionMode: "all" | "include";
15
+ totalOptionCount: number;
16
+ selectedOptionCount: number;
17
+ visibleOptionCount: number;
18
+ selectedVisibleOptionCount: number;
19
+ visibleSelection: boolean | "mixed";
20
+ };
21
+ export type CominsColumnFilterValuesAction = {
22
+ type: "setOption";
23
+ id: string;
24
+ checked: boolean;
25
+ } | {
26
+ type: "setVisible";
27
+ checked: boolean;
28
+ } | {
29
+ type: "clear";
30
+ };
31
+ export type CominsColumnFilterOptionsInput<TData> = {
32
+ columns: readonly CominsTableRuntimeColumn<TData>[];
33
+ columnId: string;
34
+ rows: readonly CominsColumnFilteringSourceRow<TData>[];
35
+ model: CominsColumnFilterModel;
36
+ query?: string;
37
+ };
38
+ /** Internal projection for adapters: search does not re-read rows or recompute facet counts. */
39
+ export declare function searchFilterOptions(base: CominsColumnFilterOptionsResult, query: string): CominsColumnFilterOptionsResult;
40
+ /** Collect all supplied leaf values; count matches of other columns, ignoring this column's rule. */
41
+ export declare function getCominsColumnFilterOptions<TData>(input: CominsColumnFilterOptionsInput<TData>): CominsColumnFilterOptionsResult | null;
42
+ /** Immutable proposal: the application owns and acknowledges the returned model. */
43
+ export declare function setCominsColumnFilterValues<TData>(input: CominsColumnFilterOptionsInput<TData> & {
44
+ action: CominsColumnFilterValuesAction;
45
+ }): CominsColumnFilterModel;
46
+ //# sourceMappingURL=values-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values-filter.d.ts","sourceRoot":"","sources":["../../../src/core/rows/values-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAElF,OAAO,EAAiE,KAAK,uBAAuB,EAAE,KAAK,8BAA8B,EAA+B,MAAM,aAAa,CAAC;AAE5L,MAAM,MAAM,wBAAwB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AACzJ,MAAM,MAAM,+BAA+B,GAAG;IAC5C,OAAO,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAAC,cAAc,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAClG,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IACxF,kBAAkB,EAAE,MAAM,CAAC;IAAC,0BAA0B,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC;CACrG,CAAC;AACF,MAAM,MAAM,8BAA8B,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAChK,MAAM,MAAM,8BAA8B,CAAC,KAAK,IAAI;IAClD,OAAO,EAAE,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IACtE,IAAI,EAAE,SAAS,8BAA8B,CAAC,KAAK,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACxG,CAAC;AAEF,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,MAAM,GAAG,+BAA+B,CAMzH;AAED,qGAAqG;AACrG,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,8BAA8B,CAAC,KAAK,CAAC,GAAG,+BAA+B,GAAG,IAAI,CA4BxI;AAED,oFAAoF;AACpF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,KAAK,EAAE,8BAA8B,CAAC,KAAK,CAAC,GAAG;IAAE,MAAM,EAAE,8BAA8B,CAAA;CAAE,GAAG,uBAAuB,CA2BrK"}
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/core/viewport/data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/core/viewport/data.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { A as e, B as t, C as n, D as r, E as i, F as a, G as o, H as s, I as c, J as l, K as u, L as d, M as f, N as p, O as m, P as ee, R as te, S as ne, T as re, U as h, V as g, W as _, X as v, Y as y, _ as b, a as x, b as S, d as C, f as w, g as T, h as E, i as D, j as O, k, l as A, m as j, n as M, o as N, p as P, q as F, r as I, s as L, t as R, v as z, w as B, x as V, y as H, z as U } from "./clipboard-CNrbmDue.js";
1
+ import { A as e, B as t, C as n, D as r, E as i, F as a, G as o, H as s, I as c, J as l, K as u, L as d, M as f, N as p, O as m, P as ee, R as te, S as ne, T as re, U as h, V as g, W as _, X as v, Y as y, _ as b, a as x, b as S, d as C, f as w, g as T, h as E, i as D, j as O, k, l as A, m as j, n as M, o as N, p as P, q as F, r as I, s as L, t as R, v as z, w as B, x as V, y as H, z as U } from "./clipboard-DZmm2iRM.js";
2
2
  //#region src/react/edit-policy.ts
3
3
  function W(e, t, n, r, i = e.rowIds.indexOf(n)) {
4
4
  return {
@@ -77,7 +77,9 @@ function J(e) {
77
77
  pinned: e.pinned,
78
78
  sort: typeof t == "function" ? (n, r, i, a) => t.call(e, n, r, i, a) : t,
79
79
  filter: n && {
80
- ...n,
80
+ kind: n.kind,
81
+ caseSensitive: n.caseSensitive,
82
+ getOptionLabel: n.getOptionLabel,
81
83
  getValue: n.getValue ? (t) => n.getValue({
82
84
  ...t,
83
85
  column: e
@@ -214,10 +216,12 @@ function ye(e, t) {
214
216
  return p(e, t);
215
217
  }
216
218
  function be(e, t = e.selection.range, n = e.rowIds) {
219
+ if (!t) return [];
217
220
  let r = X(e);
218
221
  return O(r.core, t, n);
219
222
  }
220
223
  function xe(e, t, n = e.rowIds) {
224
+ if (!e.selection.range) return !1;
221
225
  let r = X(e);
222
226
  return f(r.core, t, n);
223
227
  }
@@ -261,6 +265,7 @@ function je(e) {
261
265
  return Z(t, w(t.core));
262
266
  }
263
267
  function Me(e, t = e.rows.map((e, t) => t)) {
268
+ if (e.sortModel.length === 0) return [...t];
264
269
  let n = X(e);
265
270
  return b(n.core, t);
266
271
  }
@@ -388,4 +393,4 @@ function Qe(e, { source: t, target: n }, r = e.rowIds) {
388
393
  //#endregion
389
394
  export { Y as $, Je as A, ue as B, xe as C, le as D, ce as E, Ce as F, De as G, se as H, me as I, ke as J, Oe as K, he as L, Ke as M, Ze as N, Ie as O, Se as P, J as Q, fe as R, He as S, ve as T, ae as U, oe as V, ie as W, Ne as X, Ve as Y, Te as Z, Pe as _, je as a, Fe as b, Ge as c, Qe as d, X as et, $ as f, Be as g, Q as h, _e as i, Xe as j, Le as k, Re as l, We as m, de as n, qe as o, Ue as p, Ae as q, ge as r, Ye as s, we as t, Ee as u, be as v, ye as w, ze as x, Me as y, pe as z };
390
395
 
391
- //# sourceMappingURL=core-compat-B4I2OHGY.js.map
396
+ //# sourceMappingURL=core-compat-CQ_YgTHr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-compat-CQ_YgTHr.js","names":["getCominsCellValue","columns.setCominsColumnWidth","columns.setCominsColumnHidden","columns.setCominsColumnGroupHidden","columns.setCominsColumnGroupWidth","columns.moveCominsColumn","columns.moveCominsColumnGroup","columns.serializeCominsColumnLayout","columns.applyCominsColumnLayout","selection.selectRow","selection.selectRows","selection.selectCell","selection.selectCellRange","selection.clearCominsCellRange","selection.clearCominsSelection","selection.isCominsRowSelected","selection.isCominsCellSelected","selection.getCominsSelectedCellRange","selection.isCominsCellInSelectedRange","table.queryCominsRows","table.replaceCominsRows","table.addCominsRows","table.updateCominsRows","table.deleteCominsRows","table.setCominsHeaderVisible","table.setCominsPagination","table.setCominsSortState","table.setCominsSortModel","table.clearCominsSortState","table.getCominsSortedRowIndexes","table.sortCominsRows","table.getCominsPageRows","table.getCominsVirtualRows","table.moveCominsRow","table.moveCominsRowToGroup","table.getCominsCellValue","columns.normalizeColumns","columns.normalizeColumnGroups","table.createCominsTableState","columns.getCominsVisibleColumns","columns.getCominsHeaderRows","clipboard.copyCominsRow","clipboard.pasteCominsRow","cells.copyCominsCell","cells.pasteCominsCell","clipboard.copyCominsCellRange","clipboard.pasteCominsCellRange","clipboard.pasteCominsText","clipboard.fillCominsCellRange","clearCominsSelection$1","getCominsHeaderRows$1","setCominsHeaderVisible$1","sortCominsRows$1","setCominsSortState$1","selectCell$1","normalizeColumns","moveCominsColumn$1","selectCellRange$1","setCominsColumnGroupWidth$1","serializeCominsColumnLayout$1","selectRow$1","isCominsCellInSelectedRange$1","isCominsCellSelected$1","updateCominsRows$1","isCominsRowSelected$1","selectRows$1","replaceCominsRows$1","setCominsSortModel$1","moveCominsColumnGroup$1","getCominsVisibleColumns$1","normalizeColumnGroups","setCominsColumnWidth$1","setCominsColumnHidden$1","getCominsSortedRowIndexes$1","pasteCominsRow$1","moveCominsRowToGroup$1","addCominsRows$1","clearCominsSortState$1","getCominsPageRows$1","getCominsCellValue$1","pasteCominsCellRange$1","getCominsSelectedCellRange$1","pasteCominsCell$1","deleteCominsRows$1","copyCominsRow$1","pasteCominsText$1","createCominsTableState$1","setCominsColumnGroupHidden$1","fillCominsCellRange$1","copyCominsCell$1","copyCominsCellRange$1","getCominsVirtualRows$1","setCominsPagination$1","queryCominsRows$1","moveCominsRow$1","applyCominsColumnLayout$1","createCellComponentParams","state","rowId","column","current","row","rowIndex","resolveGuard","guard","params","resolveCellProps","props","createReactEditPolicy","evaluations","evaluate","cached","payload","definition","result","projectReactColumn","sort","filter","left","right","leftRow","rightRow","projectReactGroup","group","projectReactState","columnSources","groupSources","source","projected","original","restoreReactState","next","bridge","setCominsColumnWidth","columnId","width","setCominsColumnHidden","hidden","setCominsColumnGroupHidden","groupId","setCominsColumnGroupWidth","moveCominsColumn","targetIndex","moveCominsColumnGroup","serializeCominsColumnLayout","applyCominsColumnLayout","layout","selectRow","options","selectRows","rowIds","selectCell","cell","selectCellRange","range","clearCominsCellRange","clearCominsCellRange$1","clearCominsSelection","isCominsRowSelected","isCominsCellSelected","getCominsSelectedCellRange","isCominsCellInSelectedRange","queryCominsRows","predicate","replaceCominsRows","rows","addCominsRows","updateCominsRows","updates","deleteCominsRows","setCominsHeaderVisible","showHeader","setCominsPagination","pagination","setCominsSortState","setCominsSortModel","sortModel","clearCominsSortState","getCominsSortedRowIndexes","index","sourceIndexes","sortCominsRows","getCominsPageRows","getCominsVirtualRows","moveCominsRow","moveCominsRowToGroup","getCominsCellValue","createCominsTableState","runtimeColumns","input","runtimeGroups","getCominsVisibleColumns","getCominsHeaderRows","setCominsTableTheme","theme","formatCominsCellValue","value","isCominsCellDisabled","getCominsCellClassName","className","getCominsCellStyle","style","copyCominsRow","pasteCominsRow","copied","copyCominsCell","pasteCominsCell","copyCominsCellRange","pasteCominsCellRange","target","pasteCominsText","text","fillCominsCellRange"],"sources":["../src/react/edit-policy.ts","../src/react/model.ts","../src/react/core-compat.ts"],"sourcesContent":["import type { CoreCellDataConfig, CominsCellComponentPayload as CorePayload } from \"../core/model\";\nimport type {\n CominsTableState, CominsTableRuntimeColumn, CominsCellComponentPayload, CominsClipboardGuard,\n} from \"../react-types\";\nimport type { CominsRowId } from \"../model\";\nimport { getCominsCellValue } from \"../core/state/table\";\n\nexport function createCellComponentParams<TData>(\n state: CominsTableState<TData>,\n row: TData,\n rowId: CominsRowId,\n column: CominsTableRuntimeColumn<TData>,\n rowIndex = state.rowIds.indexOf(rowId),\n): CominsCellComponentPayload<TData> {\n return {\n column: {\n definition: column,\n field: column.field,\n id: column.id,\n index: state.columns.findIndex((current) => current.id === column.id),\n label: column.label,\n },\n row: {\n data: row,\n dataIndex: rowIndex,\n disabled: false,\n id: rowId,\n index: rowIndex,\n selected: state.selection.rowIds.includes(rowId),\n },\n selection: {\n selectedRowCount: state.selection.rowIds.length,\n },\n value: getCominsCellValue(state, row, column.id),\n };\n}\n\nexport function resolveGuard<TData>(\n guard: CominsClipboardGuard<TData> | undefined,\n params: CominsCellComponentPayload<TData>,\n) {\n if (guard === undefined) {\n return true;\n }\n\n return typeof guard === \"boolean\" ? guard : guard(params);\n}\n\nexport function resolveCellProps<TData>(\n state: CominsTableState<TData>,\n row: TData,\n rowId: CominsRowId,\n column: CominsTableRuntimeColumn<TData>,\n) {\n const params = createCellComponentParams(state, row, rowId, column);\n const props = column.cell?.props;\n\n return typeof props === \"function\" ? props(params) : props;\n}\n\n/** Interpret React props once per guard evaluation, retaining the original payload and receiver. */\nexport function createReactEditPolicy<TData>(\n state: CominsTableState<TData>,\n column: CominsTableRuntimeColumn<TData>,\n): CoreCellDataConfig<TData> {\n const evaluations = new WeakMap<CorePayload<TData>, {\n params: CominsCellComponentPayload<TData>;\n props: ReturnType<typeof resolveCellProps<TData>>;\n }>();\n const evaluate = (payload: CorePayload<TData>) => {\n const cached = evaluations.get(payload);\n if (cached) return cached;\n const params = createCellComponentParams(state, payload.row.data, payload.row.id, column, payload.row.dataIndex);\n const definition = column.cell?.props;\n const result = { params, props: typeof definition === \"function\" ? definition(params) : definition };\n evaluations.set(payload, result);\n return result;\n };\n return {\n disabled: payload => {\n const { params, props } = evaluate(payload);\n return props?.disabled !== undefined && resolveGuard(props.disabled, params) === true;\n },\n copyable: payload => {\n const { params, props } = evaluate(payload);\n return resolveGuard(props?.copyable, params);\n },\n pasteable: payload => {\n const { params, props } = evaluate(payload);\n return resolveGuard(props?.pasteable, params);\n },\n parseClipboard: column.cell?.parseClipboard ? payload => column.cell!.parseClipboard!({\n ...createCellComponentParams(state, payload.row.data, payload.row.id, column, payload.row.dataIndex),\n text: payload.text,\n }) : undefined,\n validateFill: column.cell?.validateFill ? payload => column.cell!.validateFill!({\n ...createCellComponentParams(state, payload.row.data, payload.row.id, column, payload.row.dataIndex),\n value: payload.value,\n }) : undefined,\n };\n}\n","import type * as Core from \"../core/model\";\nimport type * as React from \"../react-types\";\nimport { createReactEditPolicy } from \"./edit-policy\";\n\n/** Only data options cross the boundary; state-dependent cell policies are attached by the bridge. */\nexport function projectReactColumn<TData>(column: React.CominsTableRuntimeColumn<TData>): Core.CominsTableRuntimeColumn<TData> {\n const sort = column.sort;\n const filter = column.filter;\n return {\n id: column.id, field: column.field,\n label: typeof column.label === \"string\" ? column.label : column.id,\n hidden: column.hidden, lockPosition: column.lockPosition,\n minWidth: column.minWidth, maxWidth: column.maxWidth, width: column.width, pinned: column.pinned,\n sort: typeof sort === \"function\" ? (left, right, leftRow, rightRow) => sort.call(column, left, right, leftRow, rightRow) : sort,\n filter: filter && { kind: filter.kind, caseSensitive: filter.caseSensitive, getOptionLabel: filter.getOptionLabel, getValue: filter.getValue\n ? params => filter.getValue!({ ...params, column }) : undefined },\n };\n}\n\nexport function projectReactGroup(group: React.CominsTableRuntimeColumnGroup): Core.CominsTableRuntimeColumnGroup {\n return { id: group.id, children: group.children, hidden: group.hidden, lockPosition: group.lockPosition,\n pinned: group.pinned, label: typeof group.label === \"string\" ? group.label : group.id };\n}\n\nexport type ReactStateBridge<TData> = {\n source: React.CominsTableState<TData>;\n core: Core.CominsTableState<TData>;\n restoreColumn: (column: Core.CominsTableRuntimeColumn<TData>) => React.CominsTableRuntimeColumn<TData>;\n restoreGroup: (group: Core.CominsTableRuntimeColumnGroup) => React.CominsTableRuntimeColumnGroup;\n};\n\nexport function projectReactState<TData>(source: React.CominsTableState<TData>): ReactStateBridge<TData> {\n const columnSources = new Map<Core.CominsTableRuntimeColumn<TData>, React.CominsTableRuntimeColumn<TData>>();\n const groupSources = new Map<Core.CominsTableRuntimeColumnGroup, React.CominsTableRuntimeColumnGroup>();\n const columns = source.columns.map(column => {\n const projected = projectReactColumn(column);\n if (column.cell) projected.cell = createReactEditPolicy(source, column);\n columnSources.set(projected, column);\n return projected;\n });\n const columnGroups = source.columnGroups.map(group => {\n const projected = projectReactGroup(group);\n groupSources.set(projected, group);\n return projected;\n });\n return {\n source,\n core: {\n columns, columnGroups, columnOrder: source.columnOrder,\n columnState: source.columnState, columnGroupState: source.columnGroupState,\n rows: source.rows, rowIds: source.rowIds, getRowId: source.getRowId,\n pagination: source.pagination, selection: source.selection, showHeader: source.showHeader,\n sort: source.sort, sortModel: source.sortModel,\n },\n restoreColumn(column) {\n const original = columnSources.get(column);\n if (!original) throw new Error(\"Cannot restore a column from a different React state bridge.\");\n return original;\n },\n restoreGroup(group) {\n const original = groupSources.get(group);\n if (!original) throw new Error(\"Cannot restore a group from a different React state bridge.\");\n return original;\n },\n };\n}\n\nexport function restoreReactState<TData>(bridge: ReactStateBridge<TData>, next: Core.CominsTableState<TData>): React.CominsTableState<TData> {\n if (next === bridge.core) return bridge.source;\n return {\n ...bridge.source, ...next,\n columns: next.columns === bridge.core.columns ? bridge.source.columns : next.columns.map(bridge.restoreColumn),\n columnGroups: next.columnGroups === bridge.core.columnGroups ? bridge.source.columnGroups : next.columnGroups.map(bridge.restoreGroup),\n };\n}\n","import type { CominsTableTheme, CominsTableRuntimeColumn } from \"../react-types\";\nexport type { CominsColumnPinned } from \"../column-pinning\";\n\nexport type {\n CominsRowId,\n CominsTableDensity,\n CominsSortDirection,\n CominsSortState,\n CominsSortModel,\n CominsComponentPrimitiveValue,\n CominsComponentAlign,\n CominsComponentDirection,\n CominsComponentPlacement,\n CominsComponentRowPayload,\n CominsColumnRuntimeState,\n CominsColumnGroupRuntimeState,\n CominsColumnLayout,\n CominsPaginationState,\n CominsSelectionState,\n CominsRowUpdate,\n CominsVirtualRowsOptions,\n CominsVirtualRows,\n CominsCopiedRow,\n CominsCopiedCell,\n CominsCopiedCellRangeCell,\n CominsCopiedCellRange,\n CominsExportFormat,\n CominsExportValueSource,\n CominsExportColumn,\n CominsExportRowsOptions,\n CominsCellAddress,\n CominsCellRange,\n CominsPasteRowOptions,\n CominsRowSelectionOptions,\n CominsCellSelectionOptions,\n CominsFillCellRangeOptions,\n} from \"../model\";\n\nexport type {\n CominsTableTheme,\n CominsCellFormatParams,\n CominsColumnValueResolver,\n CominsTableComponentOption,\n CominsVirtualListItem,\n CominsTableMenuItem,\n CominsComponentColumnPayload,\n CominsCellComponentPayload,\n CominsHeaderComponentPayload,\n CominsClipboardGuard,\n CominsColumnProps,\n CominsTableComponentProps,\n CominsTableOptions,\n CominsTableMenuItems,\n CominsVirtualListItems,\n CominsButtonComponentConfig,\n CominsInputCommitEvent,\n CominsInputComponentConfig,\n CominsCheckboxComponentConfig,\n CominsRadioComponentConfig,\n CominsSelectComponentConfig,\n CominsToggleComponentConfig,\n CominsProgressComponentConfig,\n CominsMenuComponentConfig,\n CominsVirtualListSearchFilterPayload,\n CominsVirtualListComponentConfig,\n CominsHeaderComponentConfig,\n CominsCellComponentConfig,\n CominsHeaderComponent,\n CominsCellComponent,\n CominsTableCellConfig,\n CominsTableHeaderConfig,\n CominsTableColumn,\n CominsTableColumnGroup,\n CominsTableRuntimeColumn,\n CominsTableRuntimeColumnGroup,\n CominsEventColumn,\n CominsTableState,\n CominsTableStateInput,\n CominsHeaderColumnCell,\n CominsHeaderGroupCell,\n CominsHeaderCell,\n} from \"../react-types\";\nexport { parseCominsClipboardText } from \"../clipboard-text\";\nimport type {\n CominsCopiedRow, CominsCopiedCell, CominsCopiedCellRange, CominsPasteRowOptions, CominsFillCellRangeOptions,\n} from \"../model\";\nimport * as cells from \"../core/editing/cells\";\nimport * as clipboard from \"../core/editing/clipboard\";\nimport { createCellComponentParams, resolveCellProps, resolveGuard } from \"./edit-policy\";\nimport type {\n CominsTableState,\n CominsTableStateInput,\n CominsHeaderCell,\n} from \"../react-types\";\nimport type {\n CominsRowId,\n CominsSortState,\n CominsSortModel,\n CominsColumnLayout,\n CominsPaginationState,\n CominsRowUpdate,\n CominsVirtualRowsOptions,\n CominsVirtualRows,\n CominsCellAddress,\n CominsCellRange,\n CominsRowSelectionOptions,\n CominsCellSelectionOptions,\n} from \"../core/model\";\nimport * as table from \"../core/state/table\";\nimport * as columns from \"../core/layout/columns\";\nimport * as selection from \"../core/selection/state\";\nimport {\n projectReactState,\n restoreReactState,\n projectReactColumn,\n projectReactGroup,\n} from \"./model\";\nexport type { CominsRowGroupMoveOptions } from \"../core/state/table\";\nimport type {\n CominsRowGroupMoveOptions,\n} from \"../core/state/table\";\n\nexport function setCominsColumnWidth<TData>(\n state: CominsTableState<TData>,\n columnId: string,\n width: number,\n) {\n const bridge = projectReactState(state);\n const next = columns.setCominsColumnWidth(bridge.core, columnId, width);\n return restoreReactState(bridge, next);\n}\n\nexport function setCominsColumnHidden<TData>(\n state: CominsTableState<TData>,\n columnId: string,\n hidden: boolean,\n) {\n const bridge = projectReactState(state);\n const next = columns.setCominsColumnHidden(bridge.core, columnId, hidden);\n return restoreReactState(bridge, next);\n}\n\nexport function setCominsColumnGroupHidden<TData>(\n state: CominsTableState<TData>,\n groupId: string,\n hidden: boolean,\n) {\n const bridge = projectReactState(state);\n const next = columns.setCominsColumnGroupHidden(bridge.core, groupId, hidden);\n return restoreReactState(bridge, next);\n}\n\nexport function setCominsColumnGroupWidth<TData>(\n state: CominsTableState<TData>,\n groupId: string,\n width: number,\n) {\n const bridge = projectReactState(state);\n const next = columns.setCominsColumnGroupWidth(bridge.core, groupId, width);\n return restoreReactState(bridge, next);\n}\n\nexport function moveCominsColumn<TData>(\n state: CominsTableState<TData>,\n columnId: string,\n targetIndex: number,\n) {\n const bridge = projectReactState(state);\n const next = columns.moveCominsColumn(bridge.core, columnId, targetIndex);\n return restoreReactState(bridge, next);\n}\n\nexport function moveCominsColumnGroup<TData>(\n state: CominsTableState<TData>,\n groupId: string,\n targetIndex: number,\n) {\n const bridge = projectReactState(state);\n const next = columns.moveCominsColumnGroup(bridge.core, groupId, targetIndex);\n return restoreReactState(bridge, next);\n}\n\nexport function serializeCominsColumnLayout<TData>(state: CominsTableState<TData>): CominsColumnLayout {\n const bridge = projectReactState(state);\n const next = columns.serializeCominsColumnLayout(bridge.core);\n return next;\n}\n\nexport function applyCominsColumnLayout<TData>(state: CominsTableState<TData>, layout: CominsColumnLayout) {\n const bridge = projectReactState(state);\n const next = columns.applyCominsColumnLayout(bridge.core, layout);\n return restoreReactState(bridge, next);\n}\n\nexport function selectRow<TData>(\n state: CominsTableState<TData>,\n rowId: CominsRowId,\n options: CominsRowSelectionOptions = {},\n) {\n const bridge = projectReactState(state);\n const next = selection.selectRow(bridge.core, rowId, options);\n return restoreReactState(bridge, next);\n}\n\nexport function selectRows<TData>(state: CominsTableState<TData>, rowIds: readonly CominsRowId[]) {\n const bridge = projectReactState(state);\n const next = selection.selectRows(bridge.core, rowIds);\n return restoreReactState(bridge, next);\n}\n\nexport function selectCell<TData>(\n state: CominsTableState<TData>,\n cell: CominsCellAddress,\n options: CominsCellSelectionOptions = {},\n) {\n const bridge = projectReactState(state);\n const next = selection.selectCell(bridge.core, cell, options);\n return { ...restoreReactState(bridge, next), selection: next.selection };\n}\n\nexport function selectCellRange<TData>(state: CominsTableState<TData>, range: CominsCellRange) {\n const bridge = projectReactState(state);\n const next = selection.selectCellRange(bridge.core, range);\n return { ...restoreReactState(bridge, next), selection: next.selection };\n}\n\nexport function clearCominsCellRange<TData>(state: CominsTableState<TData>) {\n const bridge = projectReactState(state);\n const next = selection.clearCominsCellRange(bridge.core);\n return { ...restoreReactState(bridge, next), selection: next.selection };\n}\n\nexport function clearCominsSelection<TData>(state: CominsTableState<TData>) {\n const bridge = projectReactState(state);\n const next = selection.clearCominsSelection(bridge.core);\n return restoreReactState(bridge, next);\n}\n\nexport function isCominsRowSelected<TData>(state: CominsTableState<TData>, rowId: CominsRowId) {\n return selection.isCominsRowSelected(state, rowId);\n}\n\nexport function isCominsCellSelected<TData>(state: CominsTableState<TData>, cell: CominsCellAddress) {\n return selection.isCominsCellSelected(state, cell);\n}\n\nexport function getCominsSelectedCellRange<TData>(\n state: CominsTableState<TData>,\n range: CominsCellRange | null = state.selection.range,\n rowIds: readonly CominsRowId[] = state.rowIds,\n) {\n if (!range) return [];\n const bridge = projectReactState(state);\n const next = selection.getCominsSelectedCellRange(bridge.core, range, rowIds);\n return next;\n}\n\nexport function isCominsCellInSelectedRange<TData>(\n state: CominsTableState<TData>,\n cell: CominsCellAddress,\n rowIds: readonly CominsRowId[] = state.rowIds,\n) {\n if (!state.selection.range) return false;\n const bridge = projectReactState(state);\n const next = selection.isCominsCellInSelectedRange(bridge.core, cell, rowIds);\n return next;\n}\n\nexport function queryCominsRows<TData>(\n state: CominsTableState<TData>,\n predicate?: (row: TData, index: number) => boolean,\n) {\n return table.queryCominsRows(state, predicate);\n}\n\nexport function replaceCominsRows<TData>(state: CominsTableState<TData>, rows: readonly TData[]) {\n const bridge = projectReactState(state);\n const next = table.replaceCominsRows(bridge.core, rows);\n return restoreReactState(bridge, next);\n}\n\nexport function addCominsRows<TData>(state: CominsTableState<TData>, rows: readonly TData[]) {\n const bridge = projectReactState(state);\n const next = table.addCominsRows(bridge.core, rows);\n return restoreReactState(bridge, next);\n}\n\nexport function updateCominsRows<TData>(\n state: CominsTableState<TData>,\n updates: ReadonlyArray<CominsRowUpdate<TData>>,\n) {\n const bridge = projectReactState(state);\n const next = table.updateCominsRows(bridge.core, updates);\n return restoreReactState(bridge, next);\n}\n\nexport function deleteCominsRows<TData>(state: CominsTableState<TData>, rowIds: readonly CominsRowId[]) {\n const bridge = projectReactState(state);\n const next = table.deleteCominsRows(bridge.core, rowIds);\n return restoreReactState(bridge, next);\n}\n\nexport function setCominsHeaderVisible<TData>(state: CominsTableState<TData>, showHeader: boolean) {\n const bridge = projectReactState(state);\n const next = table.setCominsHeaderVisible(bridge.core, showHeader);\n return restoreReactState(bridge, next);\n}\n\nexport function setCominsPagination<TData>(\n state: CominsTableState<TData>,\n pagination: Partial<CominsPaginationState>,\n) {\n const bridge = projectReactState(state);\n const next = table.setCominsPagination(bridge.core, pagination);\n return restoreReactState(bridge, next);\n}\n\nexport function setCominsSortState<TData>(\n state: CominsTableState<TData>,\n sort: CominsSortState | null,\n) {\n const bridge = projectReactState(state);\n const next = table.setCominsSortState(bridge.core, sort);\n return restoreReactState(bridge, next);\n}\n\nexport function setCominsSortModel<TData>(\n state: CominsTableState<TData>,\n sortModel: CominsSortModel,\n) {\n const bridge = projectReactState(state);\n const next = table.setCominsSortModel(bridge.core, sortModel);\n return restoreReactState(bridge, next);\n}\n\nexport function clearCominsSortState<TData>(state: CominsTableState<TData>) {\n const bridge = projectReactState(state);\n const next = table.clearCominsSortState(bridge.core);\n return restoreReactState(bridge, next);\n}\n\nexport function getCominsSortedRowIndexes<TData>(\n state: CominsTableState<TData>,\n sourceIndexes: readonly number[] = state.rows.map((_row, index) => index),\n) {\n // 정렬이 없으면 컬럼·그룹 투영 없이 기존 순서의 새 배열만 반환한다.\n if (state.sortModel.length === 0) {\n return [...sourceIndexes];\n }\n const bridge = projectReactState(state);\n const next = table.getCominsSortedRowIndexes(bridge.core, sourceIndexes);\n return next;\n}\n\nexport function sortCominsRows<TData>(\n state: CominsTableState<TData>,\n sort: CominsSortState | null,\n) {\n const bridge = projectReactState(state);\n const next = table.sortCominsRows(bridge.core, sort);\n return restoreReactState(bridge, next);\n}\n\nexport function getCominsPageRows<TData>(\n state: CominsTableState<TData>,\n pagination: Partial<CominsPaginationState> = {},\n) {\n const bridge = projectReactState(state);\n const next = table.getCominsPageRows(bridge.core, pagination);\n return next;\n}\n\nexport function getCominsVirtualRows<TData>(\n state: CominsTableState<TData>,\n { overscan = 2, rowHeight, scrollTop, viewportHeight }: CominsVirtualRowsOptions,\n): CominsVirtualRows<TData> {\n const bridge = projectReactState(state);\n const next = table.getCominsVirtualRows(bridge.core, { overscan, rowHeight, scrollTop, viewportHeight });\n return next;\n}\n\nexport function moveCominsRow<TData>(\n state: CominsTableState<TData>,\n rowId: CominsRowId,\n targetIndex: number,\n) {\n const bridge = projectReactState(state);\n const next = table.moveCominsRow(bridge.core, rowId, targetIndex);\n return restoreReactState(bridge, next);\n}\n\nexport function moveCominsRowToGroup<TData>(\n state: CominsTableState<TData>,\n options: CominsRowGroupMoveOptions<TData>,\n) {\n const bridge = projectReactState(state);\n const next = table.moveCominsRowToGroup(bridge.core, options);\n return restoreReactState(bridge, next);\n}\n\nexport function getCominsCellValue<TData>(\n state: CominsTableState<TData>,\n row: TData,\n columnId: string,\n) {\n return table.getCominsCellValue(state, row, columnId);\n}\n\nexport function createCominsTableState<TData>(input: CominsTableStateInput<TData>): CominsTableState<TData> {\n const runtimeColumns = columns.normalizeColumns(input.columns);\n const runtimeGroups = columns.normalizeColumnGroups(runtimeColumns, input.columnGroups);\n const state = table.createCominsTableState({ ...input, columns: runtimeColumns.map(projectReactColumn), columnGroups: runtimeGroups.map(projectReactGroup) });\n return { ...state, columns: runtimeColumns, columnGroups: runtimeGroups, theme: input.theme ?? {} };\n}\n\nexport function getCominsVisibleColumns<TData>(state: CominsTableState<TData>) {\n const bridge = projectReactState(state);\n return columns.getCominsVisibleColumns(bridge.core).map(bridge.restoreColumn);\n}\n\nexport function getCominsHeaderRows<TData>(state: CominsTableState<TData>): Array<Array<CominsHeaderCell<TData>>> {\n const bridge = projectReactState(state);\n return columns.getCominsHeaderRows(bridge.core).map(row => row.map(cell => cell.kind === \"column\"\n ? { ...cell, column: bridge.restoreColumn(cell.column) }\n : { ...cell, group: bridge.restoreGroup(cell.group) }));\n}\n\nexport function setCominsTableTheme<TData>(state: CominsTableState<TData>, theme: CominsTableTheme) {\n return {\n ...state,\n theme: { ...state.theme, ...theme },\n };\n}\n\nexport function formatCominsCellValue<TData>(\n state: CominsTableState<TData>,\n row: TData,\n rowId: CominsRowId,\n column: CominsTableRuntimeColumn<TData>,\n) {\n const value = getCominsCellValue(state, row, column.id);\n\n if (column.cell?.format) {\n return column.cell.format(createCellComponentParams(state, row, rowId, column));\n }\n\n return value == null ? \"\" : String(value);\n}\n\nexport function isCominsCellDisabled<TData>(\n state: CominsTableState<TData>,\n row: TData,\n rowId: CominsRowId,\n column: CominsTableRuntimeColumn<TData>,\n) {\n const props = resolveCellProps(state, row, rowId, column);\n\n return props?.disabled !== undefined && resolveGuard(props.disabled, createCellComponentParams(state, row, rowId, column)) === true;\n}\n\nexport function getCominsCellClassName<TData>(\n state: CominsTableState<TData>,\n row: TData,\n rowId: CominsRowId,\n column: CominsTableRuntimeColumn<TData>,\n) {\n const params = createCellComponentParams(state, row, rowId, column);\n const className = resolveCellProps(state, row, rowId, column)?.className;\n\n return typeof className === \"function\" ? className(params) : className;\n}\n\nexport function getCominsCellStyle<TData>(\n state: CominsTableState<TData>,\n row: TData,\n rowId: CominsRowId,\n column: CominsTableRuntimeColumn<TData>,\n) {\n const params = createCellComponentParams(state, row, rowId, column);\n const style = resolveCellProps(state, row, rowId, column)?.style;\n\n return typeof style === \"function\" ? style(params) : style;\n}\n\nexport function copyCominsRow<TData>(state: CominsTableState<TData>, rowId: CominsRowId): CominsCopiedRow<TData> {\n const bridge = projectReactState(state);\n return clipboard.copyCominsRow(bridge.core, rowId);\n}\n\nexport function pasteCominsRow<TData>(\n state: CominsTableState<TData>,\n copied: CominsCopiedRow<TData>,\n options: CominsPasteRowOptions<TData>,\n) {\n const bridge = projectReactState(state);\n const next = clipboard.pasteCominsRow(bridge.core, copied, options);\n return restoreReactState(bridge, next);\n}\n\nexport function copyCominsCell<TData>(\n state: CominsTableState<TData>,\n { columnId, rowId }: CominsCellAddress,\n): CominsCopiedCell | null {\n const bridge = projectReactState(state);\n return cells.copyCominsCell(bridge.core, { columnId, rowId });\n}\n\nexport function pasteCominsCell<TData>(\n state: CominsTableState<TData>,\n { columnId, rowId }: CominsCellAddress,\n copied: CominsCopiedCell | null,\n) {\n const bridge = projectReactState(state);\n const next = cells.pasteCominsCell(bridge.core, { columnId, rowId }, copied);\n return restoreReactState(bridge, next);\n}\n\nexport function copyCominsCellRange<TData>(\n state: CominsTableState<TData>,\n range: CominsCellRange | null = state.selection.range,\n rowIds: readonly CominsRowId[] = state.rowIds,\n): CominsCopiedCellRange | null {\n const bridge = projectReactState(state);\n return clipboard.copyCominsCellRange(bridge.core, range, rowIds);\n}\n\nexport function pasteCominsCellRange<TData>(\n state: CominsTableState<TData>,\n target: CominsCellAddress,\n copied: CominsCopiedCellRange | null,\n rowIds: readonly CominsRowId[] = state.rowIds,\n) {\n const bridge = projectReactState(state);\n const next = clipboard.pasteCominsCellRange(bridge.core, target, copied, rowIds);\n return restoreReactState(bridge, next);\n}\n\nexport function pasteCominsText<TData>(\n state: CominsTableState<TData>,\n target: CominsCellAddress,\n text: string,\n rowIds: readonly CominsRowId[] = state.rowIds,\n) {\n const bridge = projectReactState(state);\n const next = clipboard.pasteCominsText(bridge.core, target, text, rowIds);\n return restoreReactState(bridge, next);\n}\n\nexport function fillCominsCellRange<TData>(\n state: CominsTableState<TData>,\n { source, target }: CominsFillCellRangeOptions,\n rowIds: readonly CominsRowId[] = state.rowIds,\n) {\n const bridge = projectReactState(state);\n const next = clipboard.fillCominsCellRange(bridge.core, { source, target }, rowIds);\n return restoreReactState(bridge, next);\n}\n"],"mappings":"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"}
package/dist/core.d.ts CHANGED
@@ -9,4 +9,9 @@ export { createCominsTreeExportOptions, createCominsGroupedExportOptions } from
9
9
  export { parseCominsClipboardText, } from "./clipboard-text";
10
10
  export type { CominsCellAddress, CominsCellComponentPayload, CominsCellFormatParams, CominsCellRange, CominsCellSelectionOptions, CominsClipboardGuard, CominsCsvImportOptions, CominsCsvImportRow, CominsColumnGroupRuntimeState, CominsColumnLayout, CominsColumnPinned, CominsColumnRuntimeState, CominsColumnValueResolver, CominsComponentAlign, CominsComponentColumnPayload, CominsComponentDirection, CominsComponentPlacement, CominsComponentPrimitiveValue, CominsComponentRowPayload, CominsCopiedCell, CominsCopiedCellRange, CominsCopiedCellRangeCell, CominsCopiedRow, CominsEventColumn, CominsExportColumn, CominsExportFormat, CominsExportRowsOptions, CominsExportMetadata, CominsExportTreeOptions, CominsExportGroupedOptions, CominsExportValueSource, CominsFillCellRangeOptions, CominsHeaderCell, CominsHeaderColumnCell, CominsHeaderComponentPayload, CominsHeaderGroupCell, CominsPaginationState, CominsPasteRowOptions, CominsRowId, CominsRowSelectionOptions, CominsRowUpdate, CominsSelectionState, CominsSortDirection, CominsSortModel, CominsSortState, CominsTableColumn, CominsTableColumnGroup, CominsTableDensity, CominsTableRuntimeColumn, CominsTableRuntimeColumnGroup, CominsTableState, CominsTableStateInput, CominsVirtualRows, CominsVirtualRowsOptions, } from "./core/model";
11
11
  export type { CominsRowGroupMoveOptions } from "./core/state/table";
12
+ export { normalizeCominsColumnFilterModel, getCominsFilteredRowIndexes, getCominsColumnFilterOperators } from "./core/rows/filtering";
13
+ export type { CominsColumnConditionFilterOperator, CominsColumnFilterOperator, CominsColumnConditionFilterRule, CominsColumnValueFilterRule, CominsColumnFilterRule, CominsColumnFilterModel, CominsColumnFilteringConfig, CominsColumnFilteringSourceRow, CominsNormalizedColumnFilterRule } from "./core/rows/filtering";
14
+ export type { CominsColumnFilterValue, CominsColumnFilterKind, CominsColumnFilterConfig } from "./core/model";
15
+ export { getCominsColumnFilterOptions, setCominsColumnFilterValues } from "./core/rows/values-filter";
16
+ export type { CominsColumnFilterOption, CominsColumnFilterOptionsResult, CominsColumnFilterValuesAction, CominsColumnFilterOptionsInput } from "./core/rows/values-filter";
12
17
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,SAAS,EACT,UAAU,GACX,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAElH,OAAO,EACL,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EACX,yBAAyB,EACzB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,6BAA6B,EAC7B,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/core.js CHANGED
@@ -1,3 +1,3 @@
1
- import { A as e, B as t, C as n, D as r, E as i, F as a, H as o, I as s, J as c, K as l, L as u, M as d, N as f, O as p, P as m, R as h, S as g, T as _, U as v, V as y, X as b, Y as x, _ as S, a as C, b as w, c as T, d as E, f as D, g as O, h as k, i as A, it as j, j as M, k as N, l as P, m as F, n as I, o as L, p as R, q as z, r as B, s as V, t as H, v as U, w as W, x as G, y as K, z as q } from "./clipboard-CNrbmDue.js";
2
- import { a as J, i as Y, n as X, r as Z, t as Q } from "./export-structure-Dy2zOqbj.js";
3
- export { E as addCominsRows, q as applyCominsColumnLayout, N as clearCominsCellRange, e as clearCominsSelection, D as clearCominsSortState, V as copyCominsCell, H as copyCominsCellRange, I as copyCominsRow, Q as createCominsGroupedExportOptions, R as createCominsTableState, X as createCominsTreeExportOptions, F as deleteCominsRows, Y as exportCominsRowsToCsv, J as exportCominsRowsToJson, B as fillCominsCellRange, k as getCominsCellValue, t as getCominsHeaderRows, O as getCominsPageRows, M as getCominsSelectedCellRange, S as getCominsSortedRowIndexes, U as getCominsVirtualRows, y as getCominsVisibleColumns, Z as importCominsRowsFromCsv, T as isCominsCellDisabled, d as isCominsCellInSelectedRange, f as isCominsCellSelected, m as isCominsRowSelected, o as moveCominsColumn, v as moveCominsColumnGroup, K as moveCominsRow, w as moveCominsRowToGroup, j as parseCominsClipboardText, P as pasteCominsCell, A as pasteCominsCellRange, C as pasteCominsRow, L as pasteCominsText, G as queryCominsRows, g as replaceCominsRows, a as selectCell, s as selectCellRange, u as selectRow, h as selectRows, l as serializeCominsColumnLayout, z as setCominsColumnGroupHidden, c as setCominsColumnGroupWidth, x as setCominsColumnHidden, b as setCominsColumnWidth, n as setCominsHeaderVisible, W as setCominsPagination, _ as setCominsSortModel, i as setCominsSortState, r as sortCominsRows, p as updateCominsRows };
1
+ import { A as e, B as t, C as n, D as r, E as i, F as a, H as o, I as s, J as c, K as l, L as u, M as d, N as f, O as p, P as m, R as h, S as g, T as _, U as v, V as y, X as b, Y as x, _ as S, a as C, b as w, c as T, d as E, f as D, g as O, h as k, i as A, it as j, j as M, k as N, l as P, m as F, n as I, o as L, p as R, q as z, r as B, s as V, t as H, v as U, w as W, x as G, y as K, z as q } from "./clipboard-DZmm2iRM.js";
2
+ import { a as J, c as Y, d as X, i as Z, l as Q, o as $, r as ee, s as te, t as ne, u as re } from "./values-filter-pFAPWz1Q.js";
3
+ export { E as addCominsRows, q as applyCominsColumnLayout, N as clearCominsCellRange, e as clearCominsSelection, D as clearCominsSortState, V as copyCominsCell, H as copyCominsCellRange, I as copyCominsRow, te as createCominsGroupedExportOptions, R as createCominsTableState, Y as createCominsTreeExportOptions, F as deleteCominsRows, re as exportCominsRowsToCsv, X as exportCominsRowsToJson, B as fillCominsCellRange, k as getCominsCellValue, Z as getCominsColumnFilterOperators, ne as getCominsColumnFilterOptions, J as getCominsFilteredRowIndexes, t as getCominsHeaderRows, O as getCominsPageRows, M as getCominsSelectedCellRange, S as getCominsSortedRowIndexes, U as getCominsVirtualRows, y as getCominsVisibleColumns, Q as importCominsRowsFromCsv, T as isCominsCellDisabled, d as isCominsCellInSelectedRange, f as isCominsCellSelected, m as isCominsRowSelected, o as moveCominsColumn, v as moveCominsColumnGroup, K as moveCominsRow, w as moveCominsRowToGroup, $ as normalizeCominsColumnFilterModel, j as parseCominsClipboardText, P as pasteCominsCell, A as pasteCominsCellRange, C as pasteCominsRow, L as pasteCominsText, G as queryCominsRows, g as replaceCominsRows, a as selectCell, s as selectCellRange, u as selectRow, h as selectRows, l as serializeCominsColumnLayout, ee as setCominsColumnFilterValues, z as setCominsColumnGroupHidden, c as setCominsColumnGroupWidth, x as setCominsColumnHidden, b as setCominsColumnWidth, n as setCominsHeaderVisible, W as setCominsPagination, _ as setCominsSortModel, i as setCominsSortState, r as sortCominsRows, p as updateCominsRows };
@@ -0,0 +1,146 @@
1
+ import { a as e, c as t, o as n, t as r } from "./workbook-C7MXhUjt.js";
2
+ import { t as i } from "./zip-Oz81THHH.js";
3
+ import * as a from "xlsx";
4
+ //#region src/xlsx/engine.ts
5
+ var o = 864e5;
6
+ function s(t, n, r, i, s, c) {
7
+ let l = {
8
+ formula: t?.formula ?? !1,
9
+ cachePresent: t?.cachePresent ?? !1,
10
+ sheetName: r.name,
11
+ cellAddress: s,
12
+ rowNumber: c
13
+ };
14
+ if (t?.type === "e" || n?.t === "e") return {
15
+ ...l,
16
+ kind: "error"
17
+ };
18
+ if (t && !l.formula && !t.cachePresent && !t.inlinePresent || l.formula && !l.cachePresent) return {
19
+ ...l,
20
+ kind: "blank"
21
+ };
22
+ if (t?.type === "str" && t.cachePresent && t.value === "") return {
23
+ ...l,
24
+ kind: "text",
25
+ value: ""
26
+ };
27
+ if (!n || n.t === "z") {
28
+ if (t?.cachePresent) throw new e("INVALID_WORKBOOK", l);
29
+ return {
30
+ ...l,
31
+ kind: "blank"
32
+ };
33
+ }
34
+ if (n.t === "b") {
35
+ if (t?.value !== void 0 && ![
36
+ "0",
37
+ "1",
38
+ "true",
39
+ "false"
40
+ ].includes(t.value.trim())) throw new e("INVALID_WORKBOOK", l);
41
+ return {
42
+ ...l,
43
+ kind: "boolean",
44
+ value: t?.value === void 0 ? n.v === !0 : ["1", "true"].includes(t.value.trim())
45
+ };
46
+ }
47
+ if (n.t === "s") return {
48
+ ...l,
49
+ kind: "text",
50
+ value: String(n.v ?? "")
51
+ };
52
+ if (n.t !== "n" || typeof n.v != "number") throw new e("UNSUPPORTED_VALUE", l);
53
+ let u = n.v, d = "General";
54
+ if (t?.type === "d") {
55
+ let n = /^(\d{4})-(\d{2})-(\d{2})(?:T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,3}))?(?:Z|[+-]\d{2}:\d{2})?)?$/.exec(t.value ?? "");
56
+ if (!n) throw new e("INVALID_WORKBOOK", l);
57
+ let i = [
58
+ Number(n[1]),
59
+ Number(n[2]),
60
+ Number(n[3]),
61
+ Number(n[4] ?? 0),
62
+ Number(n[5] ?? 0),
63
+ Number(n[6] ?? 0),
64
+ Number((n[7] ?? "").padEnd(3, "0"))
65
+ ], a = Date.UTC(i[0], i[1] - 1, i[2], i[3], i[4], i[5], i[6]), s = new Date(a);
66
+ if (i[0] < 1900 || i[0] > 9999 || s.getUTCFullYear() !== i[0] || s.getUTCMonth() + 1 !== i[1] || s.getUTCDate() !== i[2] || i[3] > 23 || i[4] > 59 || i[5] > 59) throw new e("INVALID_WORKBOOK", l);
67
+ u = (a - (r.date1904 ? Date.UTC(1904, 0, 1) : Date.UTC(1899, 11, 30))) / o, !r.date1904 && a < Date.UTC(1900, 2, 1) && u--, d = n[4] ? `yyyy-mm-dd hh:mm:ss${n[7] ? ".000" : ""}` : "yyyy-mm-dd";
68
+ }
69
+ let f = t?.style !== void 0 && i[t.style] === 14 ? "yyyy-mm-dd" : !n.z || n.z === "General" ? d : n.z;
70
+ try {
71
+ if (a.SSF.is_date(f)) {
72
+ if (!Number.isFinite(u) || u < 0) throw new e("UNSUPPORTED_VALUE", l);
73
+ if (f === "yyyy-mm-dd hh:mm:ss.000") {
74
+ let t = Math.floor(u), n = Math.round((u - t) * o), i = a.SSF.parse_date_code(t + +(n === o), { date1904: r.date1904 });
75
+ if (!i || i.y > 9999) throw new e("UNSUPPORTED_VALUE", l);
76
+ let s = n % o, c = (e, t = 2) => String(e).padStart(t, "0"), d = `${c(i.y, 4)}-${c(i.m)}-${c(i.d)} ${c(Math.floor(s / 36e5))}:${c(Math.floor(s / 6e4) % 60)}:${c(Math.floor(s / 1e3) % 60)}.${c(s % 1e3, 3)}`;
77
+ return {
78
+ ...l,
79
+ kind: "date",
80
+ dateText: d
81
+ };
82
+ }
83
+ let t = u, n = r.date1904;
84
+ if (!n && u > 2958465 && u < 2958466) {
85
+ if (/\[(?:[<>=]|[hms]+\])/i.test(String(f))) throw new e("UNSUPPORTED_VALUE", l);
86
+ t -= 1462, n = !0;
87
+ }
88
+ let i = a.SSF.parse_date_code(t, { date1904: n });
89
+ if (!i || i.y > 9999) throw new e("UNSUPPORTED_VALUE", l);
90
+ let s = a.SSF.format(f, t, { date1904: n });
91
+ if (typeof s != "string" || !s) throw new e("UNSUPPORTED_VALUE", l);
92
+ return {
93
+ ...l,
94
+ kind: "date",
95
+ dateText: s
96
+ };
97
+ }
98
+ } catch {
99
+ throw new e("UNSUPPORTED_VALUE", l);
100
+ }
101
+ return {
102
+ ...l,
103
+ kind: "number",
104
+ value: n.v
105
+ };
106
+ }
107
+ async function c(o, c, l) {
108
+ let u;
109
+ try {
110
+ if (u = a.read(await i(o), {
111
+ type: "array",
112
+ sheets: [c.name],
113
+ cellNF: !0,
114
+ cellDates: !1,
115
+ cellHTML: !1,
116
+ cellFormula: !1,
117
+ sheetStubs: !0
118
+ }).Sheets[c.name], !u) throw Error();
119
+ } catch {
120
+ throw new e("INVALID_WORKBOOK", { sheetName: c.name });
121
+ }
122
+ let d = c.formatIds, f = [];
123
+ try {
124
+ for (let e = 1; e <= c.rows; e++) {
125
+ let n = [];
126
+ for (let i = 1; i <= c.cols; i++) {
127
+ let a = r(e, i);
128
+ n.push(t(s(c.cells.get(a), u[a], c, d, a, e)));
129
+ }
130
+ f.push(n);
131
+ }
132
+ } catch (e) {
133
+ n(e);
134
+ }
135
+ let p = l && f.length ? f.shift().map((e) => e === null ? "" : String(e)) : null;
136
+ return f.map((e, t) => ({
137
+ cells: e,
138
+ headers: p,
139
+ rowIndex: t,
140
+ sheetRowNumber: t + (l ? 2 : 1)
141
+ }));
142
+ }
143
+ //#endregion
144
+ export { c as decodeCominsXlsxRows };
145
+
146
+ //# sourceMappingURL=engine-iWefk5Rv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-iWefk5Rv.js","names":["CominsXlsxError","normalizeCominsXlsxCell","rethrowXlsxDataError","cellAddress","encodeVerifiedXlsxContainer","XLSX","DAY","descriptor","base","meta","sheet","address","row","cell","number","fallback","match","fields","timestamp","date","format","formats","day","millis","parsed","time","pad","value","width","dateText","dateNumber","date1904","decodeCominsXlsxRows","container","metadata","values","cells","col","error","headers","hasHeader","v","rowIndex"],"sources":["../src/xlsx/engine.ts"],"sourcesContent":["import * as XLSX from \"xlsx\";\nimport type { CominsXlsxCellValue, CominsXlsxImportRow, XlsxCellDescriptor } from \"../core/editing/xlsx-model\";\nimport { normalizeCominsXlsxCell } from \"../core/editing/xlsx-data\";\nimport { CominsXlsxError, rethrowXlsxDataError } from \"./errors\";\nimport { cellAddress, type XlsxCellMetadata, type XlsxSheetMetadata } from \"./workbook\";\nimport { encodeVerifiedXlsxContainer, type VerifiedXlsxContainer } from \"./zip\";\nconst DAY = 86_400_000;\nfunction descriptor(meta: XlsxCellMetadata | undefined, cell: XLSX.CellObject | undefined, sheet: XlsxSheetMetadata, formats: readonly number[], address: string, row: number): XlsxCellDescriptor {\n const base = { formula: meta?.formula ?? false, cachePresent: meta?.cachePresent ?? false, sheetName: sheet.name, cellAddress: address, rowNumber: row };\n if (meta?.type === \"e\" || cell?.t === \"e\") return { ...base, kind: \"error\" };\n if (meta && !base.formula && !meta.cachePresent && !meta.inlinePresent) return { ...base, kind: \"blank\" };\n if (base.formula && !base.cachePresent) return { ...base, kind: \"blank\" };\n if (meta?.type === \"str\" && meta.cachePresent && meta.value === \"\") return { ...base, kind: \"text\", value: \"\" };\n if (!cell || cell.t === \"z\") {\n if (meta?.cachePresent) throw new CominsXlsxError(\"INVALID_WORKBOOK\", base);\n return { ...base, kind: \"blank\" };\n }\n if (cell.t === \"b\") {\n if (meta?.value !== undefined && ![\"0\", \"1\", \"true\", \"false\"].includes(meta.value.trim())) throw new CominsXlsxError(\"INVALID_WORKBOOK\", base);\n return { ...base, kind: \"boolean\", value: meta?.value !== undefined ? [\"1\", \"true\"].includes(meta.value.trim()) : cell.v === true };\n }\n if (cell.t === \"s\") return { ...base, kind: \"text\", value: String(cell.v ?? \"\") };\n if (cell.t !== \"n\" || typeof cell.v !== \"number\") throw new CominsXlsxError(\"UNSUPPORTED_VALUE\", base);\n let number = cell.v;\n let fallback = \"General\";\n if (meta?.type === \"d\") {\n const match = /^(\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{1,3}))?(?:Z|[+-]\\d{2}:\\d{2})?)?$/.exec(meta.value ?? \"\");\n if (!match) throw new CominsXlsxError(\"INVALID_WORKBOOK\", base);\n const fields = [Number(match[1]), Number(match[2]), Number(match[3]), Number(match[4] ?? 0), Number(match[5] ?? 0), Number(match[6] ?? 0), Number((match[7] ?? \"\").padEnd(3,\"0\"))] as const;\n const timestamp = Date.UTC(fields[0], fields[1]-1, fields[2], fields[3], fields[4], fields[5], fields[6]);\n const date = new Date(timestamp);\n if (fields[0] < 1900 || fields[0] > 9999 || date.getUTCFullYear() !== fields[0] || date.getUTCMonth()+1 !== fields[1] || date.getUTCDate() !== fields[2] || fields[3] > 23 || fields[4] > 59 || fields[5] > 59) throw new CominsXlsxError(\"INVALID_WORKBOOK\", base);\n number = (timestamp - (sheet.date1904 ? Date.UTC(1904,0,1) : Date.UTC(1899,11,30))) / DAY;\n if (!sheet.date1904 && timestamp < Date.UTC(1900,2,1)) number--;\n fallback = match[4] ? `yyyy-mm-dd hh:mm:ss${match[7] ? \".000\" : \"\"}` : \"yyyy-mm-dd\";\n }\n const format = meta?.style !== undefined && formats[meta.style] === 14 ? \"yyyy-mm-dd\" : !cell.z || cell.z === \"General\" ? fallback : cell.z;\n try {\n if (XLSX.SSF.is_date(format)) {\n if (!Number.isFinite(number) || number < 0) throw new CominsXlsxError(\"UNSUPPORTED_VALUE\", base);\n if (format === \"yyyy-mm-dd hh:mm:ss.000\") {\n const day = Math.floor(number); const millis = Math.round((number-day) * DAY);\n const parsed = XLSX.SSF.parse_date_code(day + (millis === DAY ? 1 : 0), { date1904: sheet.date1904 });\n if (!parsed || parsed.y > 9999) throw new CominsXlsxError(\"UNSUPPORTED_VALUE\", base);\n const time = millis % DAY; const pad = (value: number, width = 2) => String(value).padStart(width,\"0\");\n // Preserve millisecond Date precision instead of SSF's 15-digit serial truncation.\n const dateText = `${pad(parsed.y,4)}-${pad(parsed.m)}-${pad(parsed.d)} ${pad(Math.floor(time/3600000))}:${pad(Math.floor(time/60000)%60)}:${pad(Math.floor(time/1000)%60)}.${pad(time%1000,3)}`;\n return { ...base, kind: \"date\", dateText };\n }\n let dateNumber = number; let date1904 = sheet.date1904;\n // SSF excludes time fractions on 9999-12-31 in the 1900 system.\n // Equivalent 1904 serials preserve calendar fields; conditions/elapsed values cannot be shifted.\n if (!date1904 && number > 2958465 && number < 2958466) {\n if (/\\[(?:[<>=]|[hms]+\\])/i.test(String(format))) throw new CominsXlsxError(\"UNSUPPORTED_VALUE\", base);\n dateNumber -= 1462; date1904 = true;\n }\n const parsed = XLSX.SSF.parse_date_code(dateNumber, { date1904 });\n if (!parsed || parsed.y > 9999) throw new CominsXlsxError(\"UNSUPPORTED_VALUE\", base);\n const dateText: unknown = XLSX.SSF.format(format, dateNumber, { date1904 });\n if (typeof dateText !== \"string\" || !dateText) throw new CominsXlsxError(\"UNSUPPORTED_VALUE\", base);\n return { ...base, kind: \"date\", dateText };\n }\n } catch { throw new CominsXlsxError(\"UNSUPPORTED_VALUE\", base); }\n return { ...base, kind: \"number\", value: cell.v };\n}\nexport async function decodeCominsXlsxRows(container: VerifiedXlsxContainer, metadata: XlsxSheetMetadata, hasHeader: boolean): Promise<CominsXlsxImportRow[]> {\n let sheet: XLSX.WorkSheet;\n try {\n const book = XLSX.read(await encodeVerifiedXlsxContainer(container), { type: \"array\", sheets: [metadata.name], cellNF: true, cellDates: false, cellHTML: false, cellFormula: false, sheetStubs: true });\n sheet = book.Sheets[metadata.name]!; if (!sheet) throw new Error();\n } catch { throw new CominsXlsxError(\"INVALID_WORKBOOK\", { sheetName: metadata.name }); }\n const formats = metadata.formatIds; const values: CominsXlsxCellValue[][] = [];\n try {\n for (let row = 1; row <= metadata.rows; row++) {\n const cells: CominsXlsxCellValue[] = [];\n for (let col = 1; col <= metadata.cols; col++) {\n const address = cellAddress(row, col);\n cells.push(normalizeCominsXlsxCell(descriptor(metadata.cells.get(address), sheet[address] as XLSX.CellObject | undefined, metadata, formats, address, row)));\n }\n values.push(cells);\n }\n } catch (error) { rethrowXlsxDataError(error); }\n const headers = hasHeader && values.length ? values.shift()!.map(v => v === null ? \"\" : String(v)) : null;\n return values.map((cells, rowIndex) => ({ cells, headers, rowIndex, sheetRowNumber: rowIndex + (hasHeader ? 2 : 1) }));\n}\n"],"mappings":"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"}