@tamagui/create-theme 2.0.0-1769410422406 → 2.0.0-1769435599888

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.
@@ -29,7 +29,7 @@ var import_isMinusZero = require("./isMinusZero.cjs"),
29
29
  import_themeInfo = require("./themeInfo.cjs");
30
30
  const identityCache = /* @__PURE__ */new Map();
31
31
  function createThemeWithPalettes(palettes, defaultPalette, definition, options, name, skipCache = !1) {
32
- if (!palettes[defaultPalette]) throw new Error(`No pallete: ${defaultPalette}`);
32
+ if (!palettes[defaultPalette]) throw new Error(`No palette: ${defaultPalette}`);
33
33
  const newDef = {
34
34
  ...definition
35
35
  };
@@ -23,7 +23,7 @@ var import_isMinusZero = require("./isMinusZero"), import_themeInfo = require(".
23
23
  const identityCache = /* @__PURE__ */ new Map();
24
24
  function createThemeWithPalettes(palettes, defaultPalette, definition, options, name, skipCache = !1) {
25
25
  if (!palettes[defaultPalette])
26
- throw new Error(`No pallete: ${defaultPalette}`);
26
+ throw new Error(`No palette: ${defaultPalette}`);
27
27
  const newDef = { ...definition };
28
28
  for (const key in definition) {
29
29
  let val = definition[key];
@@ -32,7 +32,7 @@ var import_isMinusZero = require("./isMinusZero.native.js"),
32
32
  identityCache = /* @__PURE__ */new Map();
33
33
  function createThemeWithPalettes(palettes, defaultPalette, definition, options, name) {
34
34
  var skipCache = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !1;
35
- if (!palettes[defaultPalette]) throw new Error(`No pallete: ${defaultPalette}`);
35
+ if (!palettes[defaultPalette]) throw new Error(`No palette: ${defaultPalette}`);
36
36
  var newDef = {
37
37
  ...definition
38
38
  };
@@ -3,7 +3,7 @@ import { setThemeInfo } from "./themeInfo";
3
3
  const identityCache = /* @__PURE__ */ new Map();
4
4
  function createThemeWithPalettes(palettes, defaultPalette, definition, options, name, skipCache = !1) {
5
5
  if (!palettes[defaultPalette])
6
- throw new Error(`No pallete: ${defaultPalette}`);
6
+ throw new Error(`No palette: ${defaultPalette}`);
7
7
  const newDef = { ...definition };
8
8
  for (const key in definition) {
9
9
  let val = definition[key];
@@ -2,7 +2,7 @@ import { isMinusZero } from "./isMinusZero.mjs";
2
2
  import { setThemeInfo } from "./themeInfo.mjs";
3
3
  const identityCache = /* @__PURE__ */new Map();
4
4
  function createThemeWithPalettes(palettes, defaultPalette, definition, options, name, skipCache = !1) {
5
- if (!palettes[defaultPalette]) throw new Error(`No pallete: ${defaultPalette}`);
5
+ if (!palettes[defaultPalette]) throw new Error(`No palette: ${defaultPalette}`);
6
6
  const newDef = {
7
7
  ...definition
8
8
  };
@@ -3,7 +3,7 @@ import { setThemeInfo } from "./themeInfo.native.js";
3
3
  var identityCache = /* @__PURE__ */new Map();
4
4
  function createThemeWithPalettes(palettes, defaultPalette, definition, options, name) {
5
5
  var skipCache = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !1;
6
- if (!palettes[defaultPalette]) throw new Error(`No pallete: ${defaultPalette}`);
6
+ if (!palettes[defaultPalette]) throw new Error(`No palette: ${defaultPalette}`);
7
7
  var newDef = {
8
8
  ...definition
9
9
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/create-theme",
3
- "version": "2.0.0-1769410422406",
3
+ "version": "2.0.0-1769435599888",
4
4
  "type": "module",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs",
@@ -36,10 +36,10 @@
36
36
  }
37
37
  },
38
38
  "dependencies": {
39
- "@tamagui/web": "2.0.0-1769410422406"
39
+ "@tamagui/web": "2.0.0-1769435599888"
40
40
  },
41
41
  "devDependencies": {
42
- "@tamagui/build": "2.0.0-1769410422406"
42
+ "@tamagui/build": "2.0.0-1769435599888"
43
43
  },
44
44
  "publishConfig": {
45
45
  "access": "public"
@@ -23,7 +23,7 @@ export function createThemeWithPalettes<
23
23
  [key in keyof Definition | keyof Extras]: string
24
24
  } {
25
25
  if (!palettes[defaultPalette]) {
26
- throw new Error(`No pallete: ${defaultPalette}`)
26
+ throw new Error(`No palette: ${defaultPalette}`)
27
27
  }
28
28
  const newDef = { ...definition }
29
29
  for (const key in definition) {
@@ -5,7 +5,7 @@
5
5
  "src/createTheme.tsx"
6
6
  ],
7
7
  "sourcesContent": [
8
- "import type {\n CreateThemeOptions,\n CreateThemePalette,\n GenericTheme,\n ThemeMask,\n} from './createThemeTypes'\nimport { isMinusZero } from './isMinusZero'\nimport { setThemeInfo } from './themeInfo'\n\nconst identityCache = new Map()\n\nexport function createThemeWithPalettes<\n Definition extends ThemeMask,\n Extras extends GenericTheme = {},\n>(\n palettes: Record<string, CreateThemePalette>,\n defaultPalette: string,\n definition: Definition,\n options?: CreateThemeOptions,\n name?: string,\n skipCache = false\n): {\n [key in keyof Definition | keyof Extras]: string\n} {\n if (!palettes[defaultPalette]) {\n throw new Error(`No pallete: ${defaultPalette}`)\n }\n const newDef = { ...definition }\n for (const key in definition) {\n let val = definition[key]\n if (typeof val === 'string' && val[0] === '$') {\n const [altPaletteName$, altPaletteIndex] = val.split('.')\n const altPaletteName = altPaletteName$.slice(1)\n const parentName = defaultPalette.split('_')[0]\n const altPalette =\n palettes[altPaletteName] || palettes[`${parentName}_${altPaletteName}`]\n\n if (altPalette) {\n const next = getValue(altPalette, +altPaletteIndex)\n if (typeof next !== 'undefined') {\n newDef[key] = next as any\n }\n }\n }\n }\n\n return createTheme(palettes[defaultPalette], newDef, options, name, skipCache)\n}\n\nexport function createTheme<\n Definition extends ThemeMask,\n Extras extends GenericTheme = {},\n>(\n palette: CreateThemePalette,\n definition: Definition,\n options?: CreateThemeOptions,\n name?: string,\n skipCache = false\n): {\n [key in keyof Definition | keyof Extras]: string\n} {\n const cacheKey = skipCache ? '' : JSON.stringify([name, palette, definition, options])\n if (!skipCache) {\n if (identityCache.has(cacheKey)) {\n return identityCache.get(cacheKey)\n }\n }\n\n const theme = {\n ...(Object.fromEntries(\n Object.entries(definition).map(([key, offset]) => {\n return [key, getValue(palette, offset)]\n })\n ) as any),\n ...options?.nonInheritedValues,\n }\n\n setThemeInfo(theme, { palette, definition, options, name })\n\n if (cacheKey) {\n identityCache.set(cacheKey, theme)\n }\n\n return theme\n}\n\nconst getValue = (palette: CreateThemePalette, value: string | number) => {\n if (!palette) {\n throw new Error(`No palette!`)\n }\n if (typeof value === 'string') {\n return value\n }\n const max = palette.length - 1\n const isPositive = value === 0 ? !isMinusZero(value) : value >= 0\n const next = isPositive ? value : max + value\n const index = Math.min(Math.max(0, next), max)\n return palette[index]\n}\n\ntype SubThemeKeys<ParentKeys, ChildKeys> = `${ParentKeys extends string\n ? ParentKeys\n : never}_${ChildKeys extends string ? ChildKeys : never}`\n\ntype ChildGetter<Name extends string | number | symbol, Theme extends GenericTheme> = (\n name: Name,\n theme: Theme\n) => { [key: string]: Theme }\n\nexport function addChildren<\n Themes extends { [key: string]: GenericTheme },\n GetChildren extends ChildGetter<keyof Themes, Themes[keyof Themes]>,\n>(\n themes: Themes,\n getChildren: GetChildren\n): Themes & {\n [key in SubThemeKeys<keyof Themes, keyof ReturnType<GetChildren>>]: Themes[keyof Themes]\n} {\n const out = { ...themes }\n for (const key in themes) {\n const subThemes = getChildren(key, themes[key])\n for (const sKey in subThemes) {\n out[`${key}_${sKey}`] = subThemes[sKey] as any\n }\n }\n return out as any\n}\n"
8
+ "import type {\n CreateThemeOptions,\n CreateThemePalette,\n GenericTheme,\n ThemeMask,\n} from './createThemeTypes'\nimport { isMinusZero } from './isMinusZero'\nimport { setThemeInfo } from './themeInfo'\n\nconst identityCache = new Map()\n\nexport function createThemeWithPalettes<\n Definition extends ThemeMask,\n Extras extends GenericTheme = {},\n>(\n palettes: Record<string, CreateThemePalette>,\n defaultPalette: string,\n definition: Definition,\n options?: CreateThemeOptions,\n name?: string,\n skipCache = false\n): {\n [key in keyof Definition | keyof Extras]: string\n} {\n if (!palettes[defaultPalette]) {\n throw new Error(`No palette: ${defaultPalette}`)\n }\n const newDef = { ...definition }\n for (const key in definition) {\n let val = definition[key]\n if (typeof val === 'string' && val[0] === '$') {\n const [altPaletteName$, altPaletteIndex] = val.split('.')\n const altPaletteName = altPaletteName$.slice(1)\n const parentName = defaultPalette.split('_')[0]\n const altPalette =\n palettes[altPaletteName] || palettes[`${parentName}_${altPaletteName}`]\n\n if (altPalette) {\n const next = getValue(altPalette, +altPaletteIndex)\n if (typeof next !== 'undefined') {\n newDef[key] = next as any\n }\n }\n }\n }\n\n return createTheme(palettes[defaultPalette], newDef, options, name, skipCache)\n}\n\nexport function createTheme<\n Definition extends ThemeMask,\n Extras extends GenericTheme = {},\n>(\n palette: CreateThemePalette,\n definition: Definition,\n options?: CreateThemeOptions,\n name?: string,\n skipCache = false\n): {\n [key in keyof Definition | keyof Extras]: string\n} {\n const cacheKey = skipCache ? '' : JSON.stringify([name, palette, definition, options])\n if (!skipCache) {\n if (identityCache.has(cacheKey)) {\n return identityCache.get(cacheKey)\n }\n }\n\n const theme = {\n ...(Object.fromEntries(\n Object.entries(definition).map(([key, offset]) => {\n return [key, getValue(palette, offset)]\n })\n ) as any),\n ...options?.nonInheritedValues,\n }\n\n setThemeInfo(theme, { palette, definition, options, name })\n\n if (cacheKey) {\n identityCache.set(cacheKey, theme)\n }\n\n return theme\n}\n\nconst getValue = (palette: CreateThemePalette, value: string | number) => {\n if (!palette) {\n throw new Error(`No palette!`)\n }\n if (typeof value === 'string') {\n return value\n }\n const max = palette.length - 1\n const isPositive = value === 0 ? !isMinusZero(value) : value >= 0\n const next = isPositive ? value : max + value\n const index = Math.min(Math.max(0, next), max)\n return palette[index]\n}\n\ntype SubThemeKeys<ParentKeys, ChildKeys> = `${ParentKeys extends string\n ? ParentKeys\n : never}_${ChildKeys extends string ? ChildKeys : never}`\n\ntype ChildGetter<Name extends string | number | symbol, Theme extends GenericTheme> = (\n name: Name,\n theme: Theme\n) => { [key: string]: Theme }\n\nexport function addChildren<\n Themes extends { [key: string]: GenericTheme },\n GetChildren extends ChildGetter<keyof Themes, Themes[keyof Themes]>,\n>(\n themes: Themes,\n getChildren: GetChildren\n): Themes & {\n [key in SubThemeKeys<keyof Themes, keyof ReturnType<GetChildren>>]: Themes[keyof Themes]\n} {\n const out = { ...themes }\n for (const key in themes) {\n const subThemes = getChildren(key, themes[key])\n for (const sKey in subThemes) {\n out[`${key}_${sKey}`] = subThemes[sKey] as any\n }\n }\n return out as any\n}\n"
9
9
  ],
10
10
  "version": 3
11
11
  }