Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@office-open/core

Package Overview
Dependencies
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@office-open/core

Shared OOXML infrastructure — XML components, validators, converters, charts, and SmartArt

edge
latest
Source
npmnpm
Version
0.9.0
Version published
Weekly downloads
731
-61.47%
Maintainers
1
Weekly downloads
 
Created
Source

@office-open/core

npm version npm downloads npm license

Shared OOXML infrastructure — descriptors, DrawingML, charts, SmartArt, OPC, validators, and converters.

Features

  • Descriptor RuntimeCustomDescriptor<T> and ElementDescriptor<T> for bidirectional XML stringify/parse
  • DrawingML — Fills, outlines, effects, geometry, text body, scene 3D, and more
  • Chart Components — Shared chart types (bar, line, pie, area, scatter) and chart collection
  • SmartArt Components — Data model, tree-to-model converter, layout/style/color definitions
  • OPC (Open Packaging) — Content types, relationships, and ZIP packaging
  • Value Validators — Runtime validation for OOXML spec types (ST_HexColor, ST_OnOff, ST_DecimalNumber, etc.)
  • Unit Converters — TWIP and EMU conversions (mm/in/pt/px)
  • ID Generators — Sequential numeric IDs, nanoid, SHA-1 hash, UUID v4
  • Template Patching — Placeholder replacement, XML traverser, and token replacer
  • OOXML Compliance — All types verified against ISO/IEC 29500-4 XSD schemas

Installation

# pnpm
pnpm add @office-open/core

# npm
npm install @office-open/core

# yarn
yarn add @office-open/core

# bun
bun add @office-open/core

Quick Start

import {
  hexColorValue,
  decimalNumber,
  convertMillimetersToTwip,
  convertPixelsToEmu,
  convertInchesToEmu,
  convertPointsToEmu,
  uniqueNumericIdCreator,
} from "@office-open/core";

// Value validators
hexColorValue("#FF0000"); // → "FF0000"
hexColorValue("auto"); // → "auto"
decimalNumber(10.7); // → 10

// Unit converters
convertMillimetersToTwip(25.4); // → 1440 (1 inch)
convertPixelsToEmu(100); // → 952500
convertInchesToEmu(1); // → 914400
convertPointsToEmu(12); // → 152400

// ID generators
const gen = uniqueNumericIdCreator();
gen(); // → 1, 2, 3, ...

OOXML Schema Compliance

TypeXSD Reference
ThemeColorST_ThemeColor (17 values)
ThemeFontST_Theme (8 values)
UniversalMeasureST_UniversalMeasure (mm, cm, in, pt, pc, pi)
PercentageST_Percentage
hexColorValueST_HexColor (auto + 3-byte hexBinary)
decimalNumberST_DecimalNumber

Exports

PathContents
@office-open/coreDescriptors, validators, converters, ID generators, OPC, password hashing
@office-open/core/valuesValidators + ThemeColor/ThemeFont only
@office-open/core/chartChart types, series data, chart collection, title
@office-open/core/smartartSmartArt data model, tree-to-model, definitions
@office-open/core/drawingmlDrawingML fills, outlines, effects, geometry, text body
@office-open/core/patchTemplate patching utilities (replacer, traverser, token replacer)
@office-open/core/themeTheme definitions and color schemes

License

  • MIT © Demo Macro

Keywords

core

FAQs

Package last updated on 12 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts