@xivdyetools/types 1.1.1 → 1.3.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.
package/README.md CHANGED
@@ -94,6 +94,7 @@ import { Dye, LocalizedDye, DyeWithDistance, DyeDatabase } from '@xivdyetools/ty
94
94
  // Full dye object
95
95
  const dye: Dye = {
96
96
  itemID: 5729,
97
+ stainID: 1, // Game's internal stain table ID (null for Facewear dyes)
97
98
  id: 1,
98
99
  name: 'Snow White',
99
100
  hex: '#FFFFFF',
@@ -267,6 +268,20 @@ import { CommunityPreset, PresetFilters, ModerationResult } from '@xivdyetools/t
267
268
  | `isOk(result)` | Type guard for successful Result |
268
269
  | `isErr(result)` | Type guard for error Result |
269
270
 
271
+ ## Connect With Me
272
+
273
+ **Flash Galatine** | Balmung (Crystal)
274
+
275
+ 🎮 **FFXIV**: [Lodestone Character](https://na.finalfantasyxiv.com/lodestone/character/7677106/)
276
+ 📝 **Blog**: [Project Galatine](https://blog.projectgalatine.com/)
277
+ 💻 **GitHub**: [@FlashGalatine](https://github.com/FlashGalatine)
278
+ 🐦 **X / Twitter**: [@AsheJunius](https://x.com/AsheJunius)
279
+ 📺 **Twitch**: [flashgalatine](https://www.twitch.tv/flashgalatine)
280
+ 🌐 **BlueSky**: [projectgalatine.com](https://bsky.app/profile/projectgalatine.com)
281
+ ❤️ **Patreon**: [ProjectGalatine](https://patreon.com/ProjectGalatine)
282
+ ☕ **Ko-Fi**: [flashgalatine](https://ko-fi.com/flashgalatine)
283
+ 💬 **Discord**: [Join Server](https://discord.gg/5VUSKTZCe5)
284
+
270
285
  ## License
271
286
 
272
- MIT
287
+ MIT © 2025 Flash Galatine
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @xivdyetools/types - Character Module
3
+ *
4
+ * FFXIV character customization color type definitions.
5
+ * Used for matching character hair, eye, skin, and other colors to dyes.
6
+ *
7
+ * @module character
8
+ */
9
+ import type { RGB, HSV } from '../color/rgb.js';
10
+ import type { Dye } from '../dye/dye.js';
11
+ /**
12
+ * A single character customization color entry
13
+ *
14
+ * Represents one color option available in the character creator,
15
+ * such as a specific hair color or eye color.
16
+ */
17
+ export interface CharacterColor {
18
+ /** Index in the color palette (0-191 for most categories, 0-95 for lips) */
19
+ index: number;
20
+ /** Hex color value (#RRGGBB format) */
21
+ hex: string;
22
+ /** RGB color representation */
23
+ rgb: RGB;
24
+ /** HSV color representation (optional for compatibility) */
25
+ hsv?: HSV;
26
+ }
27
+ /**
28
+ * Result from matching a character color to dyes
29
+ */
30
+ export interface CharacterColorMatch {
31
+ /** The character color that was matched */
32
+ characterColor: CharacterColor;
33
+ /** The matching dye */
34
+ dye: Dye;
35
+ /** Color distance (lower = closer match) */
36
+ distance: number;
37
+ }
38
+ /**
39
+ * Category of shared (race-agnostic) character colors
40
+ */
41
+ export type SharedColorCategory = 'eyeColors' | 'highlightColors' | 'lipColorsDark' | 'lipColorsLight' | 'tattooColors' | 'facePaintColorsDark' | 'facePaintColorsLight';
42
+ /**
43
+ * Category of race-specific character colors
44
+ */
45
+ export type RaceSpecificColorCategory = 'hairColors' | 'skinColors';
46
+ /**
47
+ * All character color categories
48
+ */
49
+ export type CharacterColorCategory = SharedColorCategory | RaceSpecificColorCategory;
50
+ /**
51
+ * FFXIV playable subraces
52
+ *
53
+ * Each race has two subraces (clans) with potentially different
54
+ * hair and skin color palettes.
55
+ */
56
+ export type SubRace = 'Midlander' | 'Highlander' | 'Wildwood' | 'Duskwight' | 'Plainsfolk' | 'Dunesfolk' | 'SeekerOfTheSun' | 'KeeperOfTheMoon' | 'SeaWolf' | 'Hellsguard' | 'Raen' | 'Xaela' | 'Helion' | 'TheLost' | 'Rava' | 'Veena';
57
+ /**
58
+ * Character gender options
59
+ */
60
+ export type Gender = 'Male' | 'Female';
61
+ /**
62
+ * FFXIV playable races (parent of subraces)
63
+ */
64
+ export type Race = 'Hyur' | 'Elezen' | 'Lalafell' | "Miqo'te" | 'Roegadyn' | 'AuRa' | 'Hrothgar' | 'Viera';
65
+ /**
66
+ * Mapping of races to their subraces
67
+ */
68
+ export declare const RACE_SUBRACES: Record<Race, [SubRace, SubRace]>;
69
+ /**
70
+ * Mapping of subraces to their parent race
71
+ */
72
+ export declare const SUBRACE_TO_RACE: Record<SubRace, Race>;
73
+ /**
74
+ * Grid dimensions for different color categories
75
+ */
76
+ export declare const COLOR_GRID_DIMENSIONS: Record<CharacterColorCategory, {
77
+ columns: 8;
78
+ rows: 12 | 24;
79
+ }>;
80
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/character/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IAEZ,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET,4DAA4D;IAC5D,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,cAAc,EAAE,cAAc,CAAC;IAE/B,uBAAuB;IACvB,GAAG,EAAE,GAAG,CAAC;IAET,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,qBAAqB,GACrB,sBAAsB,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG,YAAY,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,yBAAyB,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAEf,WAAW,GACX,YAAY,GAEZ,UAAU,GACV,WAAW,GAEX,YAAY,GACZ,WAAW,GAEX,gBAAgB,GAChB,iBAAiB,GAEjB,SAAS,GACT,YAAY,GAEZ,MAAM,GACN,OAAO,GAEP,QAAQ,GACR,SAAS,GAET,MAAM,GACN,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,IAAI,GACZ,MAAM,GACN,QAAQ,GACR,UAAU,GACV,SAAS,GACT,UAAU,GACV,MAAM,GACN,UAAU,GACV,OAAO,CAAC;AAEZ;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAS1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAiBjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,sBAAsB,EACtB;IAAE,OAAO,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAA;CAAE,CAW9B,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @xivdyetools/types - Character Module
3
+ *
4
+ * FFXIV character customization color type definitions.
5
+ * Used for matching character hair, eye, skin, and other colors to dyes.
6
+ *
7
+ * @module character
8
+ */
9
+ /**
10
+ * Mapping of races to their subraces
11
+ */
12
+ export const RACE_SUBRACES = {
13
+ Hyur: ['Midlander', 'Highlander'],
14
+ Elezen: ['Wildwood', 'Duskwight'],
15
+ Lalafell: ['Plainsfolk', 'Dunesfolk'],
16
+ "Miqo'te": ['SeekerOfTheSun', 'KeeperOfTheMoon'],
17
+ Roegadyn: ['SeaWolf', 'Hellsguard'],
18
+ AuRa: ['Raen', 'Xaela'],
19
+ Hrothgar: ['Helion', 'TheLost'],
20
+ Viera: ['Rava', 'Veena'],
21
+ };
22
+ /**
23
+ * Mapping of subraces to their parent race
24
+ */
25
+ export const SUBRACE_TO_RACE = {
26
+ Midlander: 'Hyur',
27
+ Highlander: 'Hyur',
28
+ Wildwood: 'Elezen',
29
+ Duskwight: 'Elezen',
30
+ Plainsfolk: 'Lalafell',
31
+ Dunesfolk: 'Lalafell',
32
+ SeekerOfTheSun: "Miqo'te",
33
+ KeeperOfTheMoon: "Miqo'te",
34
+ SeaWolf: 'Roegadyn',
35
+ Hellsguard: 'Roegadyn',
36
+ Raen: 'AuRa',
37
+ Xaela: 'AuRa',
38
+ Helion: 'Hrothgar',
39
+ TheLost: 'Hrothgar',
40
+ Rava: 'Viera',
41
+ Veena: 'Viera',
42
+ };
43
+ /**
44
+ * Grid dimensions for different color categories
45
+ */
46
+ export const COLOR_GRID_DIMENSIONS = {
47
+ eyeColors: { columns: 8, rows: 24 },
48
+ highlightColors: { columns: 8, rows: 24 },
49
+ lipColorsDark: { columns: 8, rows: 12 },
50
+ lipColorsLight: { columns: 8, rows: 12 },
51
+ tattooColors: { columns: 8, rows: 24 },
52
+ facePaintColorsDark: { columns: 8, rows: 24 },
53
+ facePaintColorsLight: { columns: 8, rows: 24 },
54
+ hairColors: { columns: 8, rows: 24 },
55
+ skinColors: { columns: 8, rows: 24 },
56
+ };
57
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/character/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiHH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqC;IAC7D,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;IACjC,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;IACrC,SAAS,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAChD,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;IACnC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC/B,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,UAAU;IACrB,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,SAAS;IAC1B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAG9B;IACF,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACnC,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACzC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACvC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACxC,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACtC,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7C,oBAAoB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC9C,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACpC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;CACrC,CAAC"}
package/dist/dye/dye.d.ts CHANGED
@@ -24,6 +24,21 @@ import type { RGB, HSV } from '../color/rgb.js';
24
24
  export interface Dye {
25
25
  /** FFXIV item ID */
26
26
  itemID: number;
27
+ /**
28
+ * Game's internal stain table ID (1-125).
29
+ *
30
+ * This is the ID used in the game's Stain Excel table and by plugins
31
+ * like Glamourer and Mare Synchronos. Unlike itemID, stainID may shift
32
+ * when new dyes are added to the game.
33
+ *
34
+ * **Note:** Facewear dyes do not have stainIDs (null).
35
+ *
36
+ * **Recommendation:** Use `itemID` for stable references. Use `stainID`
37
+ * only when interfacing with plugins or datamined content.
38
+ *
39
+ * @since 2.1.0
40
+ */
41
+ stainID: number | null;
27
42
  /** Unique dye ID (1-200) */
28
43
  id: number;
29
44
  /** English dye name */
@@ -1 +1 @@
1
- {"version":3,"file":"dye.d.ts","sourceRoot":"","sources":["../../src/dye/dye.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,WAAW,GAAG;IAClB,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IAEf,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IAEX,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IAEZ,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IAEjB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IAEH,qCAAqC;IACrC,UAAU,EAAE,OAAO,CAAC;IAEpB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAElB,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAEhB,wDAAwD;IACxD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,GAAG;IACvC,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,GAAG;IAC1C,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"dye.d.ts","sourceRoot":"","sources":["../../src/dye/dye.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,WAAW,GAAG;IAClB,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;OAaG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IAEX,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IAEZ,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IAEjB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IAEH,qCAAqC;IACrC,UAAU,EAAE,OAAO,CAAC;IAEpB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAElB,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAEhB,wDAAwD;IACxD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,GAAG;IACvC,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,GAAG;IAC1C,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB"}
package/dist/index.d.ts CHANGED
@@ -17,6 +17,8 @@ export type { HexColor, DyeId, Hue, Saturation } from './color/index.js';
17
17
  export { createHexColor, createDyeId, createHue, createSaturation } from './color/index.js';
18
18
  export type { VisionType, Matrix3x3, ColorblindMatrices } from './color/index.js';
19
19
  export type { Dye, LocalizedDye, DyeWithDistance, DyeDatabase } from './dye/index.js';
20
+ export type { CharacterColor, CharacterColorMatch, SharedColorCategory, RaceSpecificColorCategory, CharacterColorCategory, SubRace, Gender, Race, } from './character/index.js';
21
+ export { RACE_SUBRACES, SUBRACE_TO_RACE, COLOR_GRID_DIMENSIONS, } from './character/index.js';
20
22
  export type { PresetCategory, PresetStatus, PresetSortOption, CategoryMeta, PresetPalette, ResolvedPreset, PresetData, PresetPreviousValues, CommunityPreset, PresetSubmission, AuthenticatedPresetSubmission, PresetFilters, PresetEditRequest, PresetListResponse, PresetSubmitResponse, PresetEditResponse, VoteResponse, ModerationResponse, CategoryListResponse, } from './preset/index.js';
21
23
  export type { AuthProvider, AuthSource, AuthContext, PrimaryCharacter, JWTPayload, OAuthState, DiscordTokenResponse, DiscordUser, XIVAuthTokenResponse, XIVAuthCharacter, XIVAuthCharacterRegistration, XIVAuthSocialIdentity, XIVAuthUser, AuthUser, AuthResponse, RefreshResponse, UserInfoResponse, } from './auth/index.js';
22
24
  export type { APIResponse, CachedData, ModerationResult, ModerationLogEntry, ModerationStats, PriceData, RateLimitResult, } from './api/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAKlF,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKtF,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,6BAA6B,EAC7B,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAK3B,YAAY,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,4BAA4B,EAC5B,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAKzB,YAAY,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAKxB,YAAY,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,MAAM,EACN,eAAe,EACf,UAAU,EACV,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKtD,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAKlF,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKtF,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAK9B,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,6BAA6B,EAC7B,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAK3B,YAAY,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,4BAA4B,EAC5B,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAKzB,YAAY,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAKxB,YAAY,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,MAAM,EACN,eAAe,EACf,UAAU,EACV,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKtD,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@
13
13
  * @packageDocumentation
14
14
  */
15
15
  export { createHexColor, createDyeId, createHue, createSaturation } from './color/index.js';
16
+ export { RACE_SUBRACES, SUBRACE_TO_RACE, COLOR_GRID_DIMENSIONS, } from './character/index.js';
16
17
  // ============================================================================
17
18
  // Error Types
18
19
  // ============================================================================
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAkF5F,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAqB5F,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AA4E9B,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xivdyetools/types",
3
- "version": "1.1.1",
3
+ "version": "1.3.0",
4
4
  "description": "Shared TypeScript type definitions for the xivdyetools ecosystem",
5
5
  "author": "XIV Dye Tools",
6
6
  "license": "MIT",
@@ -20,6 +20,10 @@
20
20
  "types": "./dist/dye/index.d.ts",
21
21
  "import": "./dist/dye/index.js"
22
22
  },
23
+ "./character": {
24
+ "types": "./dist/character/index.d.ts",
25
+ "import": "./dist/character/index.js"
26
+ },
23
27
  "./preset": {
24
28
  "types": "./dist/preset/index.d.ts",
25
29
  "import": "./dist/preset/index.js"