xiaodao-spreader 0.1.43 → 0.1.45

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 (22) hide show
  1. package/README.ZH.md +60 -7
  2. package/README.md +60 -7
  3. package/dist/style.css +1 -1
  4. package/dist/types/components/spreader/components/dropdown.vue.d.ts +3 -0
  5. package/dist/types/components/spreader/components/find-replace-bar.vue.d.ts +1 -0
  6. package/dist/types/components/spreader/components/pickers/conditional-format-manager.vue.d.ts +2 -0
  7. package/dist/types/components/spreader/components/pickers/conditional-format-rule-editor.vue.d.ts +2 -0
  8. package/dist/types/components/spreader/components/pickers/data-validation-dialog.vue.d.ts +2 -0
  9. package/dist/types/components/spreader/components/pickers/data-validation-input-message.vue.d.ts +0 -5
  10. package/dist/types/components/spreader/components/pickers/insert-function-dialog.vue.d.ts +2 -0
  11. package/dist/types/components/spreader/components/pickers/number-format-dialog.vue.d.ts +2 -0
  12. package/dist/types/components/spreader/components/pickers/sort-confirm-dialog.vue.d.ts +2 -0
  13. package/dist/types/components/spreader/components/spreader.vue.d.ts +5 -0
  14. package/dist/types/components/spreader/components/tabbar.vue.d.ts +2 -0
  15. package/dist/types/components/spreader/components/toolbar.vue.d.ts +2 -0
  16. package/dist/types/components/spreader/composables/core-state.d.ts +5 -0
  17. package/dist/types/components/spreader/composables/sheets-ops.d.ts +0 -1
  18. package/dist/types/components/spreader/core/theme.d.ts +6 -4
  19. package/dist/types/components/spreader/index.d.ts +1 -0
  20. package/dist/xiaodao-spreader.es.js +8575 -8356
  21. package/dist/xiaodao-spreader.umd.js +9 -9
  22. package/package.json +1 -1
@@ -46,8 +46,12 @@ export interface CoreState {
46
46
  height?: number | string;
47
47
  theme?: 'light' | 'dark';
48
48
  locale?: string;
49
+ /** 只读模式:false 时禁止一切数据/格式修改,保留选中、滚动、复制、冻结等查看能力 */
50
+ editable?: boolean;
49
51
  };
50
52
  locale: ComputedRef<string>;
53
+ /** 只读模式标志:false 时所有数据/格式变异入口(setCellValue、样式、边框、合并、行列增删、排序、筛选、CF、DV、批注、编辑等)一律早退,不影响选中/滚动/复制/冻结等查看能力。 */
54
+ editable: Ref<boolean>;
51
55
  /** 当前工作表逻辑有效列数(0-based exclusive),响应式,可在运行期动态增长 */
52
56
  colCount: number;
53
57
  /** 当前工作表逻辑有效行数(0-based exclusive),响应式,可在运行期动态增长 */
@@ -360,6 +364,7 @@ export declare function createCoreState(rawProps: {
360
364
  height?: number | string;
361
365
  theme?: 'light' | 'dark';
362
366
  locale?: string;
367
+ editable?: boolean;
363
368
  }, defaults: {
364
369
  rowCount: number;
365
370
  colCount: number;
@@ -44,7 +44,6 @@ export interface SheetsOpsState {
44
44
  scheduleOptEmit: () => void;
45
45
  themeColors: ComputedRef<ThemeColors>;
46
46
  outerStyle: ComputedRef<Record<string, string>>;
47
- toolbarThemeVars: ComputedRef<Record<string, string>>;
48
47
  wrapperRef: Ref<HTMLDivElement | null>;
49
48
  canvasRef: Ref<HTMLCanvasElement | null>;
50
49
  freezeCanvasRef: Ref<HTMLCanvasElement | null>;
@@ -1,9 +1,11 @@
1
1
  /**
2
- * 主题 CSS 变量组装:把 light / dark 的 ThemeColors 平铺成 --sp-* 自定义属性,
3
- * 由外层容器注入;Teleport 到 body 的浮层通过 documentElement 级变量继承主题
4
- * (见 spreader.vue 的 applyGlobalThemeVars)。
2
+ * 主题:CSS 变量统一放在 theme.css(.spreadsheet-outer / .sp-spreader-overlay 写 light,
3
+ * 二者加 .dark 即切换为 dark 变量),dark 状态仅作用于组件子树,不挂 <html> 全局类,
4
+ * 以免污染调用方项目。本文件只保留两件事:
5
+ * - useTheme:JS 侧(canvas 绘制)用的主题色对象,仍按 props.theme 取 light / dark。
6
+ * - buildOuterStyle:仅计算组件根尺寸(width / height),主题变量交给 theme.css。
5
7
  */
6
8
  import { type ComputedRef } from 'vue';
7
9
  import type { ThemeColors } from './types';
8
10
  export declare function useTheme(theme: ComputedRef<'light' | 'dark'>): ComputedRef<ThemeColors>;
9
- export declare function buildOuterStyle(colors: ThemeColors, width: number | string | undefined, height: number | string | undefined, resolveSize: (val: number | string | undefined) => number | null): Record<string, string>;
11
+ export declare function buildOuterStyle(width: number | string | undefined, height: number | string | undefined, resolveSize: (val: number | string | undefined) => number | null): Record<string, string>;
@@ -1,3 +1,4 @@
1
+ import './theme.css';
1
2
  import Spreader from './components/spreader.vue';
2
3
  export default Spreader;
3
4
  export { Spreader };