@w100n/documents 0.19.1 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/sheets/grid.ts","../src/sheets/calm.ts"],"sourcesContent":["import '@univerjs/preset-sheets-core/lib/index.css';\nimport '@univerjs/preset-sheets-sort/lib/index.css';\nimport '@univerjs/preset-sheets-filter/lib/index.css';\nimport '@univerjs/preset-sheets-find-replace/lib/index.css';\nimport '@univerjs/preset-sheets-data-validation/lib/index.css';\nimport '@univerjs/preset-sheets-note/lib/index.css';\nimport { createUniver, LocaleType, mergeLocales, purpleTheme } from '@univerjs/presets';\nimport { ICommandService, IUniverInstanceService, WrapStrategy, type Injector, type Workbook } from '@univerjs/core';\nimport { CalculationMode, IMarkSelectionService, IRenderManagerService, SelectionControl, SetWorksheetRowAutoHeightMutation, SetWorksheetRowIsAutoHeightMutation, SheetSkeletonManagerService, UniverSheetsCorePreset } from '@univerjs/preset-sheets-core';\nimport { UniverSheetsDataValidationPreset } from '@univerjs/preset-sheets-data-validation';\nimport { UniverSheetsFilterPreset } from '@univerjs/preset-sheets-filter';\nimport { UniverSheetsFindReplacePreset } from '@univerjs/preset-sheets-find-replace';\nimport { UniverSheetsNotePreset } from '@univerjs/preset-sheets-note';\nimport { UniverSheetsSortPreset } from '@univerjs/preset-sheets-sort';\nimport coreEn from '@univerjs/preset-sheets-core/locales/en-US';\nimport corePl from '@univerjs/preset-sheets-core/locales/pl-PL';\nimport checkEn from '@univerjs/preset-sheets-data-validation/locales/en-US';\nimport checkPl from '@univerjs/preset-sheets-data-validation/locales/pl-PL';\nimport filterEn from '@univerjs/preset-sheets-filter/locales/en-US';\nimport filterPl from '@univerjs/preset-sheets-filter/locales/pl-PL';\nimport findEn from '@univerjs/preset-sheets-find-replace/locales/en-US';\nimport findPl from '@univerjs/preset-sheets-find-replace/locales/pl-PL';\nimport noteEn from '@univerjs/preset-sheets-note/locales/en-US';\nimport notePl from '@univerjs/preset-sheets-note/locales/pl-PL';\nimport sortEn from '@univerjs/preset-sheets-sort/locales/en-US';\nimport sortPl from '@univerjs/preset-sheets-sort/locales/pl-PL';\nimport type { Language } from '../types';\nimport { bolder, calm } from './calm';\nimport { box } from './refs';\n\nexport type Mark = { sheet: string; range: string; color: string };\n\nconst draw = SelectionControl.prototype.updateRangeBySelectionWithCoord;\n// Univer draws eight resize handles on every formula reference and offers no option to turn them off.\nSelectionControl.prototype.updateRangeBySelectionWithCoord = function (selection, ...rest) { draw.call(this, calm(selection), ...rest); };\n\nexport function grid(container: HTMLElement, language: Language, edit: boolean) {\n return createUniver({\n locale: language === 'pl' ? LocaleType.PL_PL : LocaleType.EN_US,\n locales: {\n [LocaleType.EN_US]: mergeLocales(coreEn, checkEn, filterEn, findEn, noteEn, sortEn),\n [LocaleType.PL_PL]: mergeLocales(corePl, checkPl, filterPl, findPl, notePl, sortPl),\n },\n theme: { ...purpleTheme, 'loop-color': { 1: 'blue.500', 2: 'red.500', 3: 'green.600', 4: 'orange.500', 5: 'purple.500', 6: 'jiqing.600', 7: 'pink.500', 8: 'yellow.700', 9: 'indigo.600', 10: 'red.700', 11: 'green.800', 12: 'blue.800' } },\n darkMode: false,\n presets: [\n UniverSheetsCorePreset({\n container, toolbar: false, formulaBar: true, contextMenu: true, disableAutoFocus: true,\n footer: { sheetBar: true, statisticBar: true, menus: edit, zoomSlider: true, addSheetButtonConfig: { show: edit } },\n formula: { initialFormulaComputing: CalculationMode.WHEN_EMPTY },\n }),\n UniverSheetsSortPreset(),\n UniverSheetsFilterPreset(),\n UniverSheetsFindReplacePreset(),\n UniverSheetsDataValidationPreset(),\n UniverSheetsNotePreset(),\n ],\n });\n}\n\nexport function fit(injector: Injector, unitId: string) {\n const book = injector.get(IUniverInstanceService).getUnit<Workbook>(unitId);\n const skeletons = injector.get(IRenderManagerService).getRenderUnitById(unitId)?.with(SheetSkeletonManagerService);\n if (!book || !skeletons) return;\n const commands = injector.get(ICommandService);\n for (const sheet of book.getSheets()) {\n const rows = new Set<number>();\n sheet.getCellMatrix().forValue((r, _, cell) => { if (book.getStyles().getStyleByCell(cell)?.tb === WrapStrategy.WRAP) rows.add(r); });\n if (!rows.size) continue;\n const subUnitId = sheet.getSheetId(), last = sheet.getMaxColumns() - 1, all = [...rows];\n const line = (r: number) => ({ startRow: r, endRow: r, startColumn: 0, endColumn: last });\n const was = Object.fromEntries(all.map(r => [r, sheet.getConfig().rowData[r]?.ia ?? null]));\n const stored = Object.fromEntries(all.map(r => [r, sheet.getRowHeight(r)]));\n const auto = (list: number[], info: number | Record<number, number | null>) => commands.syncExecuteCommand(SetWorksheetRowIsAutoHeightMutation.id, { unitId, subUnitId, ranges: list.map(line), autoHeightInfo: info }, { onlyLocal: true });\n auto(all, 1);\n const grow = (skeletons.ensureSkeleton(subUnitId)?.calculateAutoHeightInRange(all.map(line)) ?? []).filter(x => (x.autoHeight ?? 0) > stored[x.row]);\n const keep = all.filter(r => !grow.some(x => x.row === r));\n if (keep.length) auto(keep, was);\n if (grow.length) commands.syncExecuteCommand(SetWorksheetRowAutoHeightMutation.id, { unitId, subUnitId, rowsAutoHeightInfo: grow }, { onlyLocal: true });\n }\n}\n\nexport { bolder };\n\nexport function marks({ univer, univerAPI: api }: ReturnType<typeof grid>) {\n const service = univer.__getInjector().get(IMarkSelectionService);\n let list: Mark[] = [];\n let ids: string[] = [];\n const draw = () => {\n ids.forEach(id => service.removeShape(id));\n const sid = api.getActiveWorkbook()?.getActiveSheet().getSheetId();\n ids = list.filter(m => m.sheet === sid).flatMap(m => {\n const b = box(m.range);\n const id = b && service.addShape({ range: b, primary: null, style: { stroke: m.color, fill: `${m.color}1f`, strokeWidth: 2, widgets: {} } }, [], 1000);\n return id ? [id] : [];\n });\n };\n const turn = api.addEvent(api.Event.ActiveSheetChanged, draw);\n return {\n show: (next: Mark[]) => { list = next; draw(); },\n dispose: () => { turn.dispose(); ids.forEach(id => service.removeShape(id)); },\n };\n}\n","import { ICommandService, ThemeService, type Injector } from '@univerjs/core';\n\ntype Style = { widgets?: object; strokeWidth?: number; stroke?: string; fill?: string };\ntype Run = { ts?: { cl?: { rgb?: string | null } | null; bl?: number } };\n\nconst pale = (color: string) => /^#[0-9a-f]{6}$/i.test(color) ? `${color}24` : color.replace(/^rgb\\(([^)]+)\\)$/i, 'rgba($1, 0.14)');\n\nexport const calm = <T extends { style?: Style | null | void }>(selection: T): T => {\n const style = selection.style;\n if (!style?.widgets || !Object.values(style.widgets).some(Boolean)) return selection;\n return { ...selection, style: { ...style, widgets: {}, strokeWidth: 3, fill: style.stroke ? pale(style.stroke) : style.fill } };\n};\n\nexport function bolder(injector: Injector) {\n const theme = injector.get(ThemeService);\n const tone = (color: string) => theme.isValidThemeColor(color) ? theme.getColorFromTheme(color) : color;\n const refs = new Set(Array.from({ length: 12 }, (_, i) => tone(theme.getColorFromTheme(`loop-color.${i + 1}`))));\n return injector.get(ICommandService).beforeCommandExecuted(({ id, params }) => {\n if (id !== 'doc.command.replace-text-runs') return;\n (params as { body?: { textRuns?: Run[] } } | undefined)?.body?.textRuns?.forEach(run => {\n if (run.ts?.cl?.rgb && refs.has(run.ts.cl.rgb)) run.ts.bl = 1;\n });\n });\n}\n"],"mappings":"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","names":["ICommandService","ICommandService","draw"]}