@iris-ui-kit/vue 0.2.29 → 0.2.30

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 (53) hide show
  1. package/dist/admin.cjs +29 -3
  2. package/dist/admin.cjs.map +1 -1
  3. package/dist/admin.js +3 -3
  4. package/dist/{chunk-X7Y35UUL.js → chunk-3547J6IN.js} +3 -3
  5. package/dist/{chunk-X7Y35UUL.js.map → chunk-3547J6IN.js.map} +1 -1
  6. package/dist/{chunk-BVKOOTXG.js → chunk-IAG64CHL.js} +3 -3
  7. package/dist/chunk-IAG64CHL.js.map +1 -0
  8. package/dist/{chunk-KSJZLFAT.js → chunk-MO7AAXA6.js} +6 -6
  9. package/dist/chunk-MO7AAXA6.js.map +1 -0
  10. package/dist/{chunk-EZUDM4TM.js → chunk-PT6X4543.js} +31 -5
  11. package/dist/chunk-PT6X4543.js.map +1 -0
  12. package/dist/{chunk-W3JMJVEK.js → chunk-TCAXRWT6.js} +3 -3
  13. package/dist/chunk-TCAXRWT6.js.map +1 -0
  14. package/dist/{chunk-KAOPZNZF.js → chunk-UPC4GN3F.js} +3 -3
  15. package/dist/chunk-UPC4GN3F.js.map +1 -0
  16. package/dist/{chunk-X5UOY4IV.js → chunk-W64OMUBD.js} +3 -3
  17. package/dist/{chunk-X5UOY4IV.js.map → chunk-W64OMUBD.js.map} +1 -1
  18. package/dist/{chunk-OH4YSGFK.js → chunk-ZTPIXL7Q.js} +3 -3
  19. package/dist/chunk-ZTPIXL7Q.js.map +1 -0
  20. package/dist/error-boundary.cjs +1 -1
  21. package/dist/error-boundary.cjs.map +1 -1
  22. package/dist/error-boundary.js +2 -2
  23. package/dist/form.cjs +1 -1
  24. package/dist/form.cjs.map +1 -1
  25. package/dist/form.js +1 -1
  26. package/dist/i18n.cjs +1 -1
  27. package/dist/i18n.cjs.map +1 -1
  28. package/dist/i18n.js +1 -1
  29. package/dist/index.cjs +437 -42
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.d.cts +28 -3
  32. package/dist/index.d.ts +28 -3
  33. package/dist/index.js +416 -47
  34. package/dist/index.js.map +1 -1
  35. package/dist/provider.cjs +4 -4
  36. package/dist/provider.cjs.map +1 -1
  37. package/dist/provider.js +4 -4
  38. package/dist/skeletons.cjs +1 -1
  39. package/dist/skeletons.cjs.map +1 -1
  40. package/dist/skeletons.js +2 -2
  41. package/dist/skins.cjs +1 -1
  42. package/dist/skins.cjs.map +1 -1
  43. package/dist/skins.js +1 -1
  44. package/dist/theme.cjs +1 -1
  45. package/dist/theme.cjs.map +1 -1
  46. package/dist/theme.js +1 -1
  47. package/package.json +15 -15
  48. package/dist/chunk-BVKOOTXG.js.map +0 -1
  49. package/dist/chunk-EZUDM4TM.js.map +0 -1
  50. package/dist/chunk-KAOPZNZF.js.map +0 -1
  51. package/dist/chunk-KSJZLFAT.js.map +0 -1
  52. package/dist/chunk-OH4YSGFK.js.map +0 -1
  53. package/dist/chunk-W3JMJVEK.js.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as vue from 'vue';
2
2
  import { ShallowRef, Ref, VNode, PropType, ComputedRef, InjectionKey } from 'vue';
3
3
  import * as _iris_ui_kit_core from '@iris-ui-kit/core';
4
- import { ReadonlyStore, Store, RealtimeHandlers, RealtimeOptions, RealtimeStatus, ResilientFetcherOptions, ResilientFetcher, DisposableScope, Variant, Size, Placement, FloatingMachine, TableViewConfig, TableTab, TableNamedView, TableViewSnapshot, SpreadsheetXmlOptions } from '@iris-ui-kit/core';
4
+ import { ReadonlyStore, Store, RealtimeHandlers, RealtimeOptions, RealtimeStatus, ResilientFetcherOptions, ResilientFetcher, DisposableScope, Variant, Size, Placement, FloatingMachine, TableViewConfig, TableTab, AuditLogEntry, TableNamedView, TableViewSnapshot, SpreadsheetXmlOptions } from '@iris-ui-kit/core';
5
5
  export { AdminPreferences, AdminPreferencesState, Align, DataSourceConfig, DataSourceController, DataSourceMode, DataSourceMutateOptions, DataSourceQuery, DataSourceState, DataViewColumn, FloatingEvent, FloatingMachine, FloatingState, GroupedViewConfig, GroupedViewState, GroupedViewStore, IrisHsva, PageItem as IrisPageItem, IrisRgba, Machine, MachineConfig, MachineEvent, MachineState, MutateOptions, NavNode, Placement, ResourceController, ResourceControllerConfig, ResourceQuery, ResourceState, RowMutateOptions, Side, Size, StateNode, Store, TabItem, TabsNav, TabsNavConfig, TabsNavState, Transition, Variant, addDays, addMonths, buildMonthMatrix, clamp01, clampDate, composeEventHandlers, createAdminPreferences, createClientDataSource, createClientFetcher, createDataSource, createFloatingMachine, createGroupedView, createMachine, createResourceController, createStore, createTabsNav, endOfMonth, filterNavByAccess, findNavNode, findNavPath, firstLeaf, flattenNav, formatLocalISO, formatMonthYear, generateId, getPageRange, getWeekdayNames, hexToRgba, hsvToRgb, hsvaToRgba, isBranch, isClosable, isOutOfRange, isSameDay, isSameMonth, localStorageAdminPreferencesStorage, mergeProps, nodeAllowsRoles, parseCsv, rgbToHex, rgbToHsv, rgbaToHsva, startOfDay, startOfMonth, visibleNav } from '@iris-ui-kit/core';
6
6
  export { IrisThemeContext, IrisThemeKey, ThemeProvider, UseThemeReturn, useColorScheme, useDirection, useTheme, useThemeContext } from './theme.cjs';
7
7
  export { ApplySkinResult, LoadSkinOptions, ResolvedSkin, Skin, SkinBootScriptConfig, SkinCatalog, SkinCatalogConfig, SkinEngine, SkinEngineConfig, SkinError, SkinErrorCode, SkinLookup, SkinManifest, SkinManifestEntry, SkinMode, SkinPatch, SkinRegistry, SkinResolutionError, SkinStorage, SkinTokenOverrides, applySkin, builtinSkins, createSkinCatalog, createSkinEngine, createSkinRegistry, darkSkin, lightSkin, loadSkin, localStorageSkinStorage, memorySkinStorage, renderSkinStyle, resolveSkin, skinBootScript, skinError, skinToCssEntries, validateSkin } from '@iris-ui-kit/skins';
@@ -4389,6 +4389,18 @@ interface IrisTableColumn<Row = Record<string, unknown>> {
4389
4389
  title: string;
4390
4390
  /** Path inside the row to read the default cell value from. Defaults to `key`. */
4391
4391
  dataIndex?: keyof Row | string;
4392
+ /**
4393
+ * Single-line cell formula (batch EK, iris 独有 — vxe has no computed
4394
+ * columns; the closest is a display-only formatter). Evaluated by the core
4395
+ * `evaluateFormula` parser against each row: field refs + `+ - * / %` +
4396
+ * whitelist functions SUM/AVG/MIN/MAX/COUNT (case-insensitive), optional
4397
+ * leading `=`. The COMPUTED value feeds every data consumer — cell render,
4398
+ * sorting, filtering, summary, range copy and CSV export (all via the
4399
+ * `getCellValue` choke point). Errors / unknown fields → null (empty
4400
+ * cell). An `editable` formula column is DISPLAY-ONLY: inline editing and
4401
+ * row mode ignore it. Overrides `dataIndex`.
4402
+ */
4403
+ formula?: string;
4392
4404
  /** Format the masked display value; copyWithFormat uses this string. */
4393
4405
  formatter?: (value: unknown, row: Row) => unknown;
4394
4406
  /** Mask the display/copy value before the formatter. */
@@ -4524,6 +4536,10 @@ interface IrisTableExpose<Row = Record<string, unknown>> {
4524
4536
  scrollToRow: (key: string | number) => void;
4525
4537
  /** Scroll and transiently highlight the rendered row with `key`; the target clears after 2s. */
4526
4538
  goToRow: (key: string | number) => void;
4539
+ /** Audit trail snapshot (batch EN, iris 独有 — mirror react batch AT): newest-first entries (seq/at/type/rowKey/column/old→new) — an empty array when `auditLog` is off or nothing was committed yet. */
4540
+ getAuditLog: () => ReadonlyArray<AuditLogEntry>;
4541
+ /** Wipe every audit entry (batch EN, iris 独有): the seq counter never resets — audit integrity. No-op without `auditLog` (the ring is already empty). */
4542
+ clearAuditLog: () => void;
4527
4543
  }
4528
4544
 
4529
4545
  /** Data-driven CSS-grid table with explicit ARIA roles, sorting, selection,
@@ -4697,6 +4713,10 @@ declare const IrisTable: vue.DefineComponent<vue.ExtractPropTypes<{
4697
4713
  readonly type: vue.PropType<IrisTableToolbarConfig>;
4698
4714
  readonly default: undefined;
4699
4715
  };
4716
+ readonly auditLog: {
4717
+ readonly type: BooleanConstructor;
4718
+ readonly default: false;
4719
+ };
4700
4720
  readonly columnVisibility: {
4701
4721
  readonly type: vue.PropType<IrisTableColumnVisibility>;
4702
4722
  readonly default: undefined;
@@ -4963,6 +4983,10 @@ declare const IrisTable: vue.DefineComponent<vue.ExtractPropTypes<{
4963
4983
  readonly type: vue.PropType<IrisTableToolbarConfig>;
4964
4984
  readonly default: undefined;
4965
4985
  };
4986
+ readonly auditLog: {
4987
+ readonly type: BooleanConstructor;
4988
+ readonly default: false;
4989
+ };
4966
4990
  readonly columnVisibility: {
4967
4991
  readonly type: vue.PropType<IrisTableColumnVisibility>;
4968
4992
  readonly default: undefined;
@@ -5067,6 +5091,8 @@ declare const IrisTable: vue.DefineComponent<vue.ExtractPropTypes<{
5067
5091
  readonly formConfig: IrisTableFormConfig;
5068
5092
  readonly selectable: "none" | "single" | "multi";
5069
5093
  readonly proxyConfig: IrisTableProxyConfig<Record<string, unknown>>;
5094
+ readonly rowKey: string;
5095
+ readonly seq: boolean;
5070
5096
  readonly multiSort: boolean;
5071
5097
  readonly multiSortState: IrisTableSortState[];
5072
5098
  readonly defaultMultiSort: IrisTableSortState[];
@@ -5108,12 +5134,12 @@ declare const IrisTable: vue.DefineComponent<vue.ExtractPropTypes<{
5108
5134
  readonly defaultExpandedRowKeys: (string | number)[];
5109
5135
  readonly getSubRows: (row: Record<string, unknown>) => Array<Record<string, unknown>> | undefined;
5110
5136
  readonly treeSelectionCascade: boolean;
5137
+ readonly auditLog: boolean;
5111
5138
  readonly columnVisibility: IrisTableColumnVisibility;
5112
5139
  readonly filterValues: IrisTableFilterValues;
5113
5140
  readonly onFilterValuesChange: (next: IrisTableFilterValues) => void;
5114
5141
  readonly contextMenu: IrisTableContextMenuConfig<Record<string, unknown>>;
5115
5142
  readonly lazyLoad: (row: Record<string, unknown>, load: (children: Array<Record<string, unknown>>) => void) => void;
5116
- readonly seq: boolean;
5117
5143
  readonly seqStartIndex: number;
5118
5144
  readonly spanMethod: (params: IrisTableSpanMethodParams) => IrisTableSpan | null;
5119
5145
  readonly columnDrag: IrisTableColumnDrag<Record<string, unknown>>;
@@ -5122,7 +5148,6 @@ declare const IrisTable: vue.DefineComponent<vue.ExtractPropTypes<{
5122
5148
  readonly selection: (string | number)[];
5123
5149
  readonly defaultSelection: (string | number)[];
5124
5150
  readonly defaultSort: IrisTableSortState | null;
5125
- readonly rowKey: string;
5126
5151
  }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
5127
5152
  /** Public input/event surface inferred from the runtime Vue component. */
5128
5153
  type IrisTableProps = InstanceType<typeof IrisTable>['$props'];
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as vue from 'vue';
2
2
  import { ShallowRef, Ref, VNode, PropType, ComputedRef, InjectionKey } from 'vue';
3
3
  import * as _iris_ui_kit_core from '@iris-ui-kit/core';
4
- import { ReadonlyStore, Store, RealtimeHandlers, RealtimeOptions, RealtimeStatus, ResilientFetcherOptions, ResilientFetcher, DisposableScope, Variant, Size, Placement, FloatingMachine, TableViewConfig, TableTab, TableNamedView, TableViewSnapshot, SpreadsheetXmlOptions } from '@iris-ui-kit/core';
4
+ import { ReadonlyStore, Store, RealtimeHandlers, RealtimeOptions, RealtimeStatus, ResilientFetcherOptions, ResilientFetcher, DisposableScope, Variant, Size, Placement, FloatingMachine, TableViewConfig, TableTab, AuditLogEntry, TableNamedView, TableViewSnapshot, SpreadsheetXmlOptions } from '@iris-ui-kit/core';
5
5
  export { AdminPreferences, AdminPreferencesState, Align, DataSourceConfig, DataSourceController, DataSourceMode, DataSourceMutateOptions, DataSourceQuery, DataSourceState, DataViewColumn, FloatingEvent, FloatingMachine, FloatingState, GroupedViewConfig, GroupedViewState, GroupedViewStore, IrisHsva, PageItem as IrisPageItem, IrisRgba, Machine, MachineConfig, MachineEvent, MachineState, MutateOptions, NavNode, Placement, ResourceController, ResourceControllerConfig, ResourceQuery, ResourceState, RowMutateOptions, Side, Size, StateNode, Store, TabItem, TabsNav, TabsNavConfig, TabsNavState, Transition, Variant, addDays, addMonths, buildMonthMatrix, clamp01, clampDate, composeEventHandlers, createAdminPreferences, createClientDataSource, createClientFetcher, createDataSource, createFloatingMachine, createGroupedView, createMachine, createResourceController, createStore, createTabsNav, endOfMonth, filterNavByAccess, findNavNode, findNavPath, firstLeaf, flattenNav, formatLocalISO, formatMonthYear, generateId, getPageRange, getWeekdayNames, hexToRgba, hsvToRgb, hsvaToRgba, isBranch, isClosable, isOutOfRange, isSameDay, isSameMonth, localStorageAdminPreferencesStorage, mergeProps, nodeAllowsRoles, parseCsv, rgbToHex, rgbToHsv, rgbaToHsva, startOfDay, startOfMonth, visibleNav } from '@iris-ui-kit/core';
6
6
  export { IrisThemeContext, IrisThemeKey, ThemeProvider, UseThemeReturn, useColorScheme, useDirection, useTheme, useThemeContext } from './theme.js';
7
7
  export { ApplySkinResult, LoadSkinOptions, ResolvedSkin, Skin, SkinBootScriptConfig, SkinCatalog, SkinCatalogConfig, SkinEngine, SkinEngineConfig, SkinError, SkinErrorCode, SkinLookup, SkinManifest, SkinManifestEntry, SkinMode, SkinPatch, SkinRegistry, SkinResolutionError, SkinStorage, SkinTokenOverrides, applySkin, builtinSkins, createSkinCatalog, createSkinEngine, createSkinRegistry, darkSkin, lightSkin, loadSkin, localStorageSkinStorage, memorySkinStorage, renderSkinStyle, resolveSkin, skinBootScript, skinError, skinToCssEntries, validateSkin } from '@iris-ui-kit/skins';
@@ -4389,6 +4389,18 @@ interface IrisTableColumn<Row = Record<string, unknown>> {
4389
4389
  title: string;
4390
4390
  /** Path inside the row to read the default cell value from. Defaults to `key`. */
4391
4391
  dataIndex?: keyof Row | string;
4392
+ /**
4393
+ * Single-line cell formula (batch EK, iris 独有 — vxe has no computed
4394
+ * columns; the closest is a display-only formatter). Evaluated by the core
4395
+ * `evaluateFormula` parser against each row: field refs + `+ - * / %` +
4396
+ * whitelist functions SUM/AVG/MIN/MAX/COUNT (case-insensitive), optional
4397
+ * leading `=`. The COMPUTED value feeds every data consumer — cell render,
4398
+ * sorting, filtering, summary, range copy and CSV export (all via the
4399
+ * `getCellValue` choke point). Errors / unknown fields → null (empty
4400
+ * cell). An `editable` formula column is DISPLAY-ONLY: inline editing and
4401
+ * row mode ignore it. Overrides `dataIndex`.
4402
+ */
4403
+ formula?: string;
4392
4404
  /** Format the masked display value; copyWithFormat uses this string. */
4393
4405
  formatter?: (value: unknown, row: Row) => unknown;
4394
4406
  /** Mask the display/copy value before the formatter. */
@@ -4524,6 +4536,10 @@ interface IrisTableExpose<Row = Record<string, unknown>> {
4524
4536
  scrollToRow: (key: string | number) => void;
4525
4537
  /** Scroll and transiently highlight the rendered row with `key`; the target clears after 2s. */
4526
4538
  goToRow: (key: string | number) => void;
4539
+ /** Audit trail snapshot (batch EN, iris 独有 — mirror react batch AT): newest-first entries (seq/at/type/rowKey/column/old→new) — an empty array when `auditLog` is off or nothing was committed yet. */
4540
+ getAuditLog: () => ReadonlyArray<AuditLogEntry>;
4541
+ /** Wipe every audit entry (batch EN, iris 独有): the seq counter never resets — audit integrity. No-op without `auditLog` (the ring is already empty). */
4542
+ clearAuditLog: () => void;
4527
4543
  }
4528
4544
 
4529
4545
  /** Data-driven CSS-grid table with explicit ARIA roles, sorting, selection,
@@ -4697,6 +4713,10 @@ declare const IrisTable: vue.DefineComponent<vue.ExtractPropTypes<{
4697
4713
  readonly type: vue.PropType<IrisTableToolbarConfig>;
4698
4714
  readonly default: undefined;
4699
4715
  };
4716
+ readonly auditLog: {
4717
+ readonly type: BooleanConstructor;
4718
+ readonly default: false;
4719
+ };
4700
4720
  readonly columnVisibility: {
4701
4721
  readonly type: vue.PropType<IrisTableColumnVisibility>;
4702
4722
  readonly default: undefined;
@@ -4963,6 +4983,10 @@ declare const IrisTable: vue.DefineComponent<vue.ExtractPropTypes<{
4963
4983
  readonly type: vue.PropType<IrisTableToolbarConfig>;
4964
4984
  readonly default: undefined;
4965
4985
  };
4986
+ readonly auditLog: {
4987
+ readonly type: BooleanConstructor;
4988
+ readonly default: false;
4989
+ };
4966
4990
  readonly columnVisibility: {
4967
4991
  readonly type: vue.PropType<IrisTableColumnVisibility>;
4968
4992
  readonly default: undefined;
@@ -5067,6 +5091,8 @@ declare const IrisTable: vue.DefineComponent<vue.ExtractPropTypes<{
5067
5091
  readonly formConfig: IrisTableFormConfig;
5068
5092
  readonly selectable: "none" | "single" | "multi";
5069
5093
  readonly proxyConfig: IrisTableProxyConfig<Record<string, unknown>>;
5094
+ readonly rowKey: string;
5095
+ readonly seq: boolean;
5070
5096
  readonly multiSort: boolean;
5071
5097
  readonly multiSortState: IrisTableSortState[];
5072
5098
  readonly defaultMultiSort: IrisTableSortState[];
@@ -5108,12 +5134,12 @@ declare const IrisTable: vue.DefineComponent<vue.ExtractPropTypes<{
5108
5134
  readonly defaultExpandedRowKeys: (string | number)[];
5109
5135
  readonly getSubRows: (row: Record<string, unknown>) => Array<Record<string, unknown>> | undefined;
5110
5136
  readonly treeSelectionCascade: boolean;
5137
+ readonly auditLog: boolean;
5111
5138
  readonly columnVisibility: IrisTableColumnVisibility;
5112
5139
  readonly filterValues: IrisTableFilterValues;
5113
5140
  readonly onFilterValuesChange: (next: IrisTableFilterValues) => void;
5114
5141
  readonly contextMenu: IrisTableContextMenuConfig<Record<string, unknown>>;
5115
5142
  readonly lazyLoad: (row: Record<string, unknown>, load: (children: Array<Record<string, unknown>>) => void) => void;
5116
- readonly seq: boolean;
5117
5143
  readonly seqStartIndex: number;
5118
5144
  readonly spanMethod: (params: IrisTableSpanMethodParams) => IrisTableSpan | null;
5119
5145
  readonly columnDrag: IrisTableColumnDrag<Record<string, unknown>>;
@@ -5122,7 +5148,6 @@ declare const IrisTable: vue.DefineComponent<vue.ExtractPropTypes<{
5122
5148
  readonly selection: (string | number)[];
5123
5149
  readonly defaultSelection: (string | number)[];
5124
5150
  readonly defaultSort: IrisTableSortState | null;
5125
- readonly rowKey: string;
5126
5151
  }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
5127
5152
  /** Public input/event surface inferred from the runtime Vue component. */
5128
5153
  type IrisTableProps = InstanceType<typeof IrisTable>['$props'];