@hanzogui/theme-builder 2.0.0-rc.41-hanzoai.5

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 (124) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/ThemeBuilder.cjs +248 -0
  3. package/dist/cjs/ThemeBuilder.native.js +338 -0
  4. package/dist/cjs/ThemeBuilder.native.js.map +1 -0
  5. package/dist/cjs/createStudioThemes.cjs +42 -0
  6. package/dist/cjs/createStudioThemes.native.js +45 -0
  7. package/dist/cjs/createStudioThemes.native.js.map +1 -0
  8. package/dist/cjs/createThemes.cjs +395 -0
  9. package/dist/cjs/createThemes.native.js +405 -0
  10. package/dist/cjs/createThemes.native.js.map +1 -0
  11. package/dist/cjs/defaultComponentThemes.cjs +86 -0
  12. package/dist/cjs/defaultComponentThemes.native.js +89 -0
  13. package/dist/cjs/defaultComponentThemes.native.js.map +1 -0
  14. package/dist/cjs/defaultTemplates.cjs +154 -0
  15. package/dist/cjs/defaultTemplates.native.js +162 -0
  16. package/dist/cjs/defaultTemplates.native.js.map +1 -0
  17. package/dist/cjs/defaultTemplatesStronger.cjs +152 -0
  18. package/dist/cjs/defaultTemplatesStronger.native.js +160 -0
  19. package/dist/cjs/defaultTemplatesStronger.native.js.map +1 -0
  20. package/dist/cjs/defaultTemplatesStrongest.cjs +152 -0
  21. package/dist/cjs/defaultTemplatesStrongest.native.js +160 -0
  22. package/dist/cjs/defaultTemplatesStrongest.native.js.map +1 -0
  23. package/dist/cjs/getThemeSuitePalettes.cjs +92 -0
  24. package/dist/cjs/getThemeSuitePalettes.native.js +117 -0
  25. package/dist/cjs/getThemeSuitePalettes.native.js.map +1 -0
  26. package/dist/cjs/helpers.cjs +36 -0
  27. package/dist/cjs/helpers.native.js +41 -0
  28. package/dist/cjs/helpers.native.js.map +1 -0
  29. package/dist/cjs/index.cjs +45 -0
  30. package/dist/cjs/index.native.js +48 -0
  31. package/dist/cjs/index.native.js.map +1 -0
  32. package/dist/cjs/masks.cjs +117 -0
  33. package/dist/cjs/masks.native.js +120 -0
  34. package/dist/cjs/masks.native.js.map +1 -0
  35. package/dist/cjs/types.cjs +18 -0
  36. package/dist/cjs/types.native.js +21 -0
  37. package/dist/cjs/types.native.js.map +1 -0
  38. package/dist/esm/ThemeBuilder.mjs +222 -0
  39. package/dist/esm/ThemeBuilder.mjs.map +1 -0
  40. package/dist/esm/ThemeBuilder.native.js +309 -0
  41. package/dist/esm/ThemeBuilder.native.js.map +1 -0
  42. package/dist/esm/createStudioThemes.mjs +17 -0
  43. package/dist/esm/createStudioThemes.mjs.map +1 -0
  44. package/dist/esm/createStudioThemes.native.js +17 -0
  45. package/dist/esm/createStudioThemes.native.js.map +1 -0
  46. package/dist/esm/createThemes.mjs +364 -0
  47. package/dist/esm/createThemes.mjs.map +1 -0
  48. package/dist/esm/createThemes.native.js +371 -0
  49. package/dist/esm/createThemes.native.js.map +1 -0
  50. package/dist/esm/defaultComponentThemes.mjs +61 -0
  51. package/dist/esm/defaultComponentThemes.mjs.map +1 -0
  52. package/dist/esm/defaultComponentThemes.native.js +61 -0
  53. package/dist/esm/defaultComponentThemes.native.js.map +1 -0
  54. package/dist/esm/defaultTemplates.mjs +129 -0
  55. package/dist/esm/defaultTemplates.mjs.map +1 -0
  56. package/dist/esm/defaultTemplates.native.js +134 -0
  57. package/dist/esm/defaultTemplates.native.js.map +1 -0
  58. package/dist/esm/defaultTemplatesStronger.mjs +127 -0
  59. package/dist/esm/defaultTemplatesStronger.mjs.map +1 -0
  60. package/dist/esm/defaultTemplatesStronger.native.js +132 -0
  61. package/dist/esm/defaultTemplatesStronger.native.js.map +1 -0
  62. package/dist/esm/defaultTemplatesStrongest.mjs +127 -0
  63. package/dist/esm/defaultTemplatesStrongest.mjs.map +1 -0
  64. package/dist/esm/defaultTemplatesStrongest.native.js +132 -0
  65. package/dist/esm/defaultTemplatesStrongest.native.js.map +1 -0
  66. package/dist/esm/getThemeSuitePalettes.mjs +66 -0
  67. package/dist/esm/getThemeSuitePalettes.mjs.map +1 -0
  68. package/dist/esm/getThemeSuitePalettes.native.js +88 -0
  69. package/dist/esm/getThemeSuitePalettes.native.js.map +1 -0
  70. package/dist/esm/helpers.mjs +9 -0
  71. package/dist/esm/helpers.mjs.map +1 -0
  72. package/dist/esm/helpers.native.js +11 -0
  73. package/dist/esm/helpers.native.js.map +1 -0
  74. package/dist/esm/index.js +10 -0
  75. package/dist/esm/index.js.map +1 -0
  76. package/dist/esm/index.mjs +10 -0
  77. package/dist/esm/index.mjs.map +1 -0
  78. package/dist/esm/index.native.js +10 -0
  79. package/dist/esm/index.native.js.map +1 -0
  80. package/dist/esm/masks.mjs +92 -0
  81. package/dist/esm/masks.mjs.map +1 -0
  82. package/dist/esm/masks.native.js +92 -0
  83. package/dist/esm/masks.native.js.map +1 -0
  84. package/dist/esm/types.mjs +2 -0
  85. package/dist/esm/types.mjs.map +1 -0
  86. package/dist/esm/types.native.js +2 -0
  87. package/dist/esm/types.native.js.map +1 -0
  88. package/package.json +48 -0
  89. package/src/ThemeBuilder.ts +514 -0
  90. package/src/createStudioThemes.ts +28 -0
  91. package/src/createThemes.ts +794 -0
  92. package/src/defaultComponentThemes.ts +26 -0
  93. package/src/defaultTemplates.ts +157 -0
  94. package/src/defaultTemplatesStronger.ts +152 -0
  95. package/src/defaultTemplatesStrongest.ts +152 -0
  96. package/src/getThemeSuitePalettes.ts +101 -0
  97. package/src/helpers.ts +44 -0
  98. package/src/index.ts +22 -0
  99. package/src/masks.tsx +83 -0
  100. package/src/types.ts +97 -0
  101. package/types/ThemeBuilder.d.ts +80 -0
  102. package/types/ThemeBuilder.d.ts.map +1 -0
  103. package/types/createStudioThemes.d.ts +8 -0
  104. package/types/createStudioThemes.d.ts.map +1 -0
  105. package/types/createThemes.d.ts +141 -0
  106. package/types/createThemes.d.ts.map +1 -0
  107. package/types/defaultComponentThemes.d.ts +63 -0
  108. package/types/defaultComponentThemes.d.ts.map +1 -0
  109. package/types/defaultTemplates.d.ts +42 -0
  110. package/types/defaultTemplates.d.ts.map +1 -0
  111. package/types/defaultTemplatesStronger.d.ts +42 -0
  112. package/types/defaultTemplatesStronger.d.ts.map +1 -0
  113. package/types/defaultTemplatesStrongest.d.ts +42 -0
  114. package/types/defaultTemplatesStrongest.d.ts.map +1 -0
  115. package/types/getThemeSuitePalettes.d.ts +7 -0
  116. package/types/getThemeSuitePalettes.d.ts.map +1 -0
  117. package/types/helpers.d.ts +24 -0
  118. package/types/helpers.d.ts.map +1 -0
  119. package/types/index.d.ts +11 -0
  120. package/types/index.d.ts.map +1 -0
  121. package/types/masks.d.ts +18 -0
  122. package/types/masks.d.ts.map +1 -0
  123. package/types/types.d.ts +76 -0
  124. package/types/types.d.ts.map +1 -0
@@ -0,0 +1,7 @@
1
+ import type { BuildPalette } from './types';
2
+ export declare const PALETTE_BACKGROUND_OFFSET = 6;
3
+ export declare function getThemeSuitePalettes(palette: BuildPalette): {
4
+ light: string[];
5
+ dark: string[];
6
+ };
7
+ //# sourceMappingURL=getThemeSuitePalettes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getThemeSuitePalettes.d.ts","sourceRoot":"","sources":["../src/getThemeSuitePalettes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAY3C,eAAO,MAAM,yBAAyB,IAAI,CAAA;AAkF1C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY;;;EAK1D"}
@@ -0,0 +1,24 @@
1
+ type ObjectType = Record<PropertyKey, unknown>;
2
+ type PickByValue<OBJ_T, VALUE_T> = Pick<OBJ_T, {
3
+ [K in keyof OBJ_T]: OBJ_T[K] extends VALUE_T ? K : never;
4
+ }[keyof OBJ_T]>;
5
+ type ObjectEntries<OBJ_T> = {
6
+ [K in keyof OBJ_T]: [keyof PickByValue<OBJ_T, OBJ_T[K]>, OBJ_T[K]];
7
+ }[keyof OBJ_T][];
8
+ export declare const objectKeys: <O extends object>(obj: O) => Array<keyof O>;
9
+ export declare function objectEntries<OBJ_T extends ObjectType>(obj: OBJ_T): ObjectEntries<OBJ_T>;
10
+ type EntriesType = [PropertyKey, unknown][] | ReadonlyArray<readonly [PropertyKey, unknown]>;
11
+ type DeepWritable<OBJ_T> = {
12
+ -readonly [P in keyof OBJ_T]: DeepWritable<OBJ_T[P]>;
13
+ };
14
+ type UnionToIntersection<UNION_T> = (UNION_T extends any ? (k: UNION_T) => void : never) extends (k: infer I) => void ? I : never;
15
+ type UnionObjectFromArrayOfPairs<ARR_T extends EntriesType> = DeepWritable<ARR_T> extends (infer R)[] ? R extends [infer key, infer val] ? {
16
+ [prop in key & PropertyKey]: val;
17
+ } : never : never;
18
+ type MergeIntersectingObjects<ObjT> = {
19
+ [key in keyof ObjT]: ObjT[key];
20
+ };
21
+ type EntriesToObject<ARR_T extends EntriesType> = MergeIntersectingObjects<UnionToIntersection<UnionObjectFromArrayOfPairs<ARR_T>>>;
22
+ export declare function objectFromEntries<ARR_T extends EntriesType>(arr: ARR_T): EntriesToObject<ARR_T>;
23
+ export {};
24
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;AAE9C,KAAK,WAAW,CAAC,KAAK,EAAE,OAAO,IAC7B,IAAI,CAAC,KAAK,EAAE;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,KAAK;CAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;AAExF,KAAK,aAAa,CAAC,KAAK,IACtB;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,MAAM,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAA;AAEvF,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,KAAyB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;AAE1F,wBAAgB,aAAa,CAAC,KAAK,SAAS,UAAU,EACpD,GAAG,EAAE,KAAK,GACT,aAAa,CAAC,KAAK,CAAC,CAEtB;AAED,KAAK,WAAW,GACZ,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,GACxB,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;AAGlD,KAAK,YAAY,CAAC,KAAK,IAAI;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AACnF,KAAK,mBAAmB,CAAC,OAAO,IAC9B,CAAC,OAAO,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAC7E,CAAC,GACD,KAAK,CAAA;AAGX,KAAK,2BAA2B,CAAC,KAAK,SAAS,WAAW,IACxD,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACnC,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,MAAM,GAAG,CAAC,GAC9B;KAAG,IAAI,IAAI,GAAG,GAAG,WAAW,GAAG,GAAG;CAAE,GACpC,KAAK,GACP,KAAK,CAAA;AACX,KAAK,wBAAwB,CAAC,IAAI,IAAI;KAAG,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;CAAE,CAAA;AACxE,KAAK,eAAe,CAAC,KAAK,SAAS,WAAW,IAAI,wBAAwB,CACxE,mBAAmB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CACxD,CAAA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,WAAW,EACzD,GAAG,EAAE,KAAK,GACT,eAAe,CAAC,KAAK,CAAC,CAExB"}
@@ -0,0 +1,11 @@
1
+ export * from './ThemeBuilder';
2
+ export * from '@hanzogui/create-theme';
3
+ export { createStudioThemes } from './createStudioThemes';
4
+ export { createThemes, createV4Themes, createPalettes, createV4ThemeBuilder, type CreateThemesProps, } from './createThemes';
5
+ export { defaultTemplates } from './defaultTemplates';
6
+ /** @deprecated component themes are no longer recommended */
7
+ export { defaultComponentThemes } from './defaultComponentThemes';
8
+ export { PALETTE_BACKGROUND_OFFSET, getThemeSuitePalettes } from './getThemeSuitePalettes';
9
+ export { masks } from './masks';
10
+ export type * from './types';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,6DAA6D;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAG1F,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,mBAAmB,SAAS,CAAA"}
@@ -0,0 +1,18 @@
1
+ export declare const masks: {
2
+ identity: import("@hanzogui/create-theme").CreateMask;
3
+ soften: import("@hanzogui/create-theme").CreateMask;
4
+ soften2: import("@hanzogui/create-theme").CreateMask;
5
+ soften3: import("@hanzogui/create-theme").CreateMask;
6
+ strengthen: import("@hanzogui/create-theme").CreateMask;
7
+ inverse: import("@hanzogui/create-theme").CreateMask;
8
+ inverseSoften: import("@hanzogui/create-theme").CreateMask;
9
+ inverseSoften2: import("@hanzogui/create-theme").CreateMask;
10
+ inverseSoften3: import("@hanzogui/create-theme").CreateMask;
11
+ inverseStrengthen2: import("@hanzogui/create-theme").CreateMask;
12
+ strengthenButSoftenBorder: import("@hanzogui/create-theme").CreateMask;
13
+ soften2Border1: import("@hanzogui/create-theme").CreateMask;
14
+ soften3FlatBorder: import("@hanzogui/create-theme").CreateMask;
15
+ softenBorder: import("@hanzogui/create-theme").CreateMask;
16
+ softenBorder2: import("@hanzogui/create-theme").CreateMask;
17
+ };
18
+ //# sourceMappingURL=masks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"masks.d.ts","sourceRoot":"","sources":["../src/masks.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;CAqES,CAAA"}
@@ -0,0 +1,76 @@
1
+ import type { Template } from '@hanzogui/create-theme';
2
+ export type GetThemeFn<ThemeType extends Record<string, string | number>> = (props: {
3
+ name: string;
4
+ theme: Record<string, string>;
5
+ scheme?: 'light' | 'dark';
6
+ parentName: string;
7
+ parentNames: string[];
8
+ level: number;
9
+ palette?: string[];
10
+ template?: Template;
11
+ }) => ThemeType;
12
+ export type TemplateStrategy = 'base' | 'stronger' | 'strongest';
13
+ export type ThemeSuiteItem = {
14
+ id: string;
15
+ name: string;
16
+ createdAt: number;
17
+ updatedAt: number;
18
+ schemes: {
19
+ light: boolean;
20
+ dark: boolean;
21
+ };
22
+ palettes: Record<string, BuildPalette>;
23
+ templateStrategy?: TemplateStrategy;
24
+ };
25
+ export type ThemeSuiteItemData = Omit<ThemeSuiteItem, 'id' | 'createdAt' | 'updatedAt'>;
26
+ export type BuildTemplates = Record<string, Template>;
27
+ export type BuildSubTheme = BuildTheme;
28
+ export type BuildPalettes = Record<string, BuildPalette>;
29
+ export type BuildPalette = {
30
+ name: string;
31
+ scale?: ScaleTypeName;
32
+ anchors: BuildThemeAnchor[];
33
+ };
34
+ export type BuildThemeSuiteProps = Omit<ThemeSuiteItemData, 'name'>;
35
+ export type BuildThemeSuitePalettes = {
36
+ light: string[];
37
+ dark: string[];
38
+ lightAccent?: string[];
39
+ darkAccent?: string[];
40
+ };
41
+ export type ScaleTypeName = 'custom' | 'radix' | 'radix-b' | 'radius-bold' | 'radius-bright' | 'linear' | 'pastel' | 'pastel-desaturating' | 'neon' | 'neon-bright' | 'neon-c';
42
+ export type BuildThemeBase = {
43
+ id: string;
44
+ name: string;
45
+ errors?: string[];
46
+ };
47
+ export type BuildThemeAnchor = {
48
+ index: number;
49
+ hue: {
50
+ light: number;
51
+ dark: number;
52
+ sync?: boolean;
53
+ syncLeft?: boolean;
54
+ };
55
+ sat: {
56
+ light: number;
57
+ dark: number;
58
+ sync?: boolean;
59
+ syncLeft?: boolean;
60
+ };
61
+ lum: {
62
+ light: number;
63
+ dark: number;
64
+ };
65
+ alpha: {
66
+ light: number;
67
+ dark: number;
68
+ };
69
+ };
70
+ export type BuildTheme = BuildThemeBase & {
71
+ type: 'theme';
72
+ template: string;
73
+ palette: string;
74
+ accent?: BuildTheme;
75
+ };
76
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}