@css-hooks/core 4.0.0-next.3 → 4.0.0-next.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.
package/README.md CHANGED
@@ -1,16 +1,16 @@
1
1
  <div align="center">
2
- <a id="logomark" href="https://next.css-hooks.com"><img alt="CSS Hooks" src="https://github.com/css-hooks/css-hooks/raw/v4.0.0-next.3/.github/logomark.svg" height="128" /></a><br/><br/>
2
+ <a id="logomark" href="https://next.css-hooks.com"><img alt="CSS Hooks" src="https://github.com/css-hooks/css-hooks/raw/v4.0.0-next.5/.github/logomark.svg" height="128" /></a><br/><br/>
3
3
  <div id="wordmark">
4
- <a href="https://next.css-hooks.com"><img alt="CSS Hooks" src="https://github.com/css-hooks/css-hooks/raw/v4.0.0-next.3/.github/wordmark-dark.svg" width="256"></a>
4
+ <a href="https://next.css-hooks.com"><img alt="CSS Hooks" src="https://github.com/css-hooks/css-hooks/raw/v4.0.0-next.5/.github/wordmark-dark.svg" width="256"></a>
5
5
  </div>
6
6
  </div>
7
7
 
8
8
  <br/>
9
9
 
10
10
  <div align="center" id="badges">
11
- <a href="https://github.com/css-hooks/css-hooks/tree/v4.0.0-next.3"><img src="https://img.shields.io/badge/tag-v4.0.0--next.3-ffd700" alt="tag v4.0.0-next.3"></a>
12
- <a href="https://www.npmjs.com/package/@css-hooks/core/v/4.0.0-next.3"><img src="https://img.shields.io/badge/npm-v4.0.0--next.3-ffd700" alt="npm version"></a>
13
- <a href="https://github.com/css-hooks/css-hooks/blob/v4.0.0-next.3/LICENSE"><img src="https://img.shields.io/badge/license-MIT-ffd700" alt="license"></a>
11
+ <a href="https://github.com/css-hooks/css-hooks/tree/v4.0.0-next.5"><img src="https://img.shields.io/badge/tag-v4.0.0--next.5-ffd700" alt="tag v4.0.0-next.5"></a>
12
+ <a href="https://www.npmjs.com/package/@css-hooks/core/v/4.0.0-next.5"><img src="https://img.shields.io/badge/npm-v4.0.0--next.5-ffd700" alt="npm version"></a>
13
+ <a href="https://github.com/css-hooks/css-hooks/blob/v4.0.0-next.5/LICENSE"><img src="https://img.shields.io/badge/license-MIT-ffd700" alt="license"></a>
14
14
  </div>
15
15
 
16
16
  ---
package/cjs/index.js CHANGED
@@ -135,7 +135,8 @@ function buildHooksSystem(stringify = String) {
135
135
  };
136
136
  };
137
137
  }
138
- const hashAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
138
+ const hashAlphabet = "abcdefghijklmnopqrstuvwxyz0123456789-_";
139
+ const hashAlphabetLength = hashAlphabet.length;
139
140
  function createHash(value) {
140
141
  let h1 = 0xdeadbeef;
141
142
  let h2 = 0x41c6ce57;
@@ -152,9 +153,9 @@ function createHash(value) {
152
153
  Math.imul(h1 ^ (h1 >>> 13), 0xc2b2ae35);
153
154
  let hash = (h1 >>> 0) + 0x100000000 * (h2 & 0xf);
154
155
  let encoded = "";
155
- for (let i = 0; i < 6; i++) {
156
- encoded = hashAlphabet.charAt(hash % 64) + encoded;
157
- hash = Math.floor(hash / 64);
156
+ for (let i = 0; i < 7; i++) {
157
+ encoded = hashAlphabet.charAt(hash % hashAlphabetLength) + encoded;
158
+ hash = Math.floor(hash / hashAlphabetLength);
158
159
  }
159
160
  return encoded;
160
161
  }
package/esm/index.js CHANGED
@@ -132,7 +132,8 @@ export function buildHooksSystem(stringify = String) {
132
132
  };
133
133
  };
134
134
  }
135
- const hashAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
135
+ const hashAlphabet = "abcdefghijklmnopqrstuvwxyz0123456789-_";
136
+ const hashAlphabetLength = hashAlphabet.length;
136
137
  function createHash(value) {
137
138
  let h1 = 0xdeadbeef;
138
139
  let h2 = 0x41c6ce57;
@@ -149,9 +150,9 @@ function createHash(value) {
149
150
  Math.imul(h1 ^ (h1 >>> 13), 0xc2b2ae35);
150
151
  let hash = (h1 >>> 0) + 0x100000000 * (h2 & 0xf);
151
152
  let encoded = "";
152
- for (let i = 0; i < 6; i++) {
153
- encoded = hashAlphabet.charAt(hash % 64) + encoded;
154
- hash = Math.floor(hash / 64);
153
+ for (let i = 0; i < 7; i++) {
154
+ encoded = hashAlphabet.charAt(hash % hashAlphabetLength) + encoded;
155
+ hash = Math.floor(hash / hashAlphabetLength);
155
156
  }
156
157
  return encoded;
157
158
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@css-hooks/core",
3
3
  "description": "CSS Hooks core library",
4
- "version": "4.0.0-next.3",
4
+ "version": "4.0.0-next.5",
5
5
  "author": "Nick Saunders",
6
6
  "devDependencies": {
7
7
  "color": "^5.0.3",
package/types/index.d.ts CHANGED
@@ -68,6 +68,10 @@ type CSSPropertyConflictKeys<CSSPropertyConflicts extends object, OverrideCSSPro
68
68
  type ForbidCSSPropertyConflicts<CSSPropertyConflicts extends object, OverrideCSSProperties> = {
69
69
  [P in CSSPropertyConflictKeys<CSSPropertyConflicts, OverrideCSSProperties>]?: never;
70
70
  };
71
+ /** Preserves a style's shape while replacing conflicting property values. */
72
+ type CSSPropertiesWithoutConflicts<CSSProperties, CSSPropertyConflicts extends object, OverrideCSSProperties> = {
73
+ [P in keyof CSSProperties]: P extends CSSPropertyConflictKeys<CSSPropertyConflicts, OverrideCSSProperties> ? never : CSSProperties[P];
74
+ } & ForbidCSSPropertyConflicts<CSSPropertyConflicts, OverrideCSSProperties>;
71
75
  /**
72
76
  * An object containing the functions needed to support and use the configured
73
77
  * hooks
@@ -85,7 +89,7 @@ export interface CreateHooksResult<S, CSSProperties, CSSPropertyConflicts extend
85
89
  * Creates a function that enhances a style object with conditional override
86
90
  * styles.
87
91
  */
88
- on: <OverrideCSSProperties extends CSSProperties, BaseCSSProperties extends Omit<CSSProperties, CSSPropertyConflictKeys<CSSPropertyConflicts, OverrideCSSProperties>>>(condition: Condition<S>, overrideStyle: OverrideCSSProperties) => (style: CSSProperties & BaseCSSProperties & ForbidCSSPropertyConflicts<CSSPropertyConflicts, OverrideCSSProperties>) => BaseCSSProperties & OverrideCSSProperties;
92
+ on: <OverrideCSSProperties extends CSSProperties, BaseCSSProperties extends Omit<CSSProperties, CSSPropertyConflictKeys<CSSPropertyConflicts, OverrideCSSProperties>>>(condition: Condition<S>, overrideStyle: OverrideCSSProperties) => (style: CSSPropertiesWithoutConflicts<CSSProperties & BaseCSSProperties, CSSPropertyConflicts, OverrideCSSProperties>) => BaseCSSProperties & OverrideCSSProperties;
89
93
  /**
90
94
  * Combines a list of conditions into a single condition which is true when
91
95
  * all of the specified conditions are true.