@cyclone-ui/helpers 0.3.5 → 0.3.6

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 (59) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/form-size.cjs +1 -1
  3. package/dist/form-size.d.cts +10 -11
  4. package/dist/form-size.d.cts.map +1 -1
  5. package/dist/form-size.d.mts +10 -11
  6. package/dist/form-size.mjs +1 -1
  7. package/dist/form-size.mjs.map +1 -1
  8. package/dist/get-button-sized.cjs +1 -1
  9. package/dist/get-button-sized.d.cts +5 -4
  10. package/dist/get-button-sized.d.cts.map +1 -1
  11. package/dist/get-button-sized.d.mts +5 -4
  12. package/dist/get-button-sized.mjs +1 -1
  13. package/dist/get-button-sized.mjs.map +1 -1
  14. package/dist/get-colors.mjs.map +1 -1
  15. package/dist/get-font-sized.cjs +1 -1
  16. package/dist/get-font-sized.d.cts +12 -6
  17. package/dist/get-font-sized.d.cts.map +1 -1
  18. package/dist/get-font-sized.d.mts +12 -6
  19. package/dist/get-font-sized.mjs +1 -1
  20. package/dist/get-font-sized.mjs.map +1 -1
  21. package/dist/get-nearest-token.cjs +1 -1
  22. package/dist/get-nearest-token.d.cts +1 -1
  23. package/dist/get-nearest-token.d.cts.map +1 -1
  24. package/dist/get-nearest-token.d.mts +1 -1
  25. package/dist/get-nearest-token.mjs +1 -1
  26. package/dist/get-nearest-token.mjs.map +1 -1
  27. package/dist/get-sized.cjs +1 -1
  28. package/dist/get-sized.d.cts +7 -7
  29. package/dist/get-sized.d.cts.map +1 -1
  30. package/dist/get-sized.d.mts +7 -7
  31. package/dist/get-sized.mjs +1 -1
  32. package/dist/get-sized.mjs.map +1 -1
  33. package/dist/get-token-relative.cjs +1 -0
  34. package/dist/get-token-relative.d.cts +25 -0
  35. package/dist/get-token-relative.d.cts.map +1 -0
  36. package/dist/get-token-relative.d.mts +25 -0
  37. package/dist/get-token-relative.d.mts.map +1 -0
  38. package/dist/get-token-relative.mjs +2 -0
  39. package/dist/get-token-relative.mjs.map +1 -0
  40. package/dist/index.cjs +1 -1
  41. package/dist/index.d.cts +5 -3
  42. package/dist/index.d.mts +5 -3
  43. package/dist/index.mjs +1 -1
  44. package/dist/{token-value-DV6eTPCJ.d.cts → token-value-sAa1meMz.d.cts} +11 -4
  45. package/dist/token-value-sAa1meMz.d.cts.map +1 -0
  46. package/dist/{token-value-DV6eTPCJ.d.mts → token-value-sAa1meMz.d.mts} +11 -4
  47. package/dist/token-value-sAa1meMz.d.mts.map +1 -0
  48. package/dist/token-value.cjs +1 -1
  49. package/dist/token-value.d.cts +2 -2
  50. package/dist/token-value.d.mts +2 -2
  51. package/dist/token-value.mjs +1 -1
  52. package/dist/token-value.mjs.map +1 -1
  53. package/dist/types.d.cts +15 -1
  54. package/dist/types.d.cts.map +1 -1
  55. package/dist/types.d.mts +15 -1
  56. package/dist/types.mjs.map +1 -1
  57. package/package.json +20 -7
  58. package/dist/token-value-DV6eTPCJ.d.cts.map +0 -1
  59. package/dist/token-value-DV6eTPCJ.d.mts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  # Changelog for Cyclone UI - Helpers
4
4
 
5
+ ## [0.3.5](https://github.com/storm-software/cyclone-ui/releases/tag/helpers%400.3.5) (09/21/2026)
6
+
7
+ ### Features
8
+
9
+ - **field:** Added `size` property to form field components ([380e416b](https://github.com/storm-software/cyclone-ui/commit/380e416b))
10
+
11
+ ### Updated Dependencies
12
+
13
+ - Updated **themes** to **v0.3.5**
14
+
5
15
  ## [0.3.4](https://github.com/storm-software/cyclone-ui/releases/tag/helpers%400.3.4) (09/13/2026)
6
16
 
7
17
  ### Updated Dependencies
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./get-font-sized.cjs");let t=require("@tamagui/core");const n={sm:`$8xl`,md:`$10xl`,lg:`$12xl`},r={sm:`$4xl`,md:`$6xl`,lg:`$7xl`},i=(e=`md`,t=`control`)=>(t===`compact`?r:n)[e],a=(e=`md`)=>({sm:32/42,md:1,lg:52/42})[e],o=(e=`md`)=>({sm:.875,md:1,lg:1.125})[e],s=(n,r,i=`$true`)=>{let a=e.getFontSized(i,r)??{};if(n===`md`)return a;let s=o(n);return{...a,...a.fontSize===void 0?{}:{fontSize:Number((0,t.getVariableValue)(a.fontSize))*s},...a.lineHeight===void 0?{}:{lineHeight:Number((0,t.getVariableValue)(a.lineHeight))*s}}},c=e=>({sm:(t,n)=>e(`sm`,n),md:(t,n)=>e(`md`,n),lg:(t,n)=>e(`lg`,n)});exports.formSizeVariants=c,exports.getFormFontScale=o,exports.getFormFontSize=s,exports.getFormSizeScale=a,exports.getFormSizeToken=i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./get-font-sized.cjs");let t=require("@tamagui/core");const n={sm:`8xl`,md:`10xl`,lg:`12xl`},r={sm:`4xl`,md:`6xl`,lg:`7xl`},i=(e=`md`,t=`control`)=>(t===`compact`?r:n)[e],a=(e=`md`)=>({sm:32/42,md:1,lg:52/42})[e],o=(e=`md`)=>({sm:.875,md:1,lg:1.125})[e],s=(n,r,i=`true`)=>{let a=e.getFontSized(i,r)??{};if(n===`md`)return a;let s=o(n);return{...a,...a.fontSize===void 0?{}:{fontSize:Number((0,t.getVariableValue)(a.fontSize))*s},...a.lineHeight===void 0?{}:{lineHeight:`${Number((0,t.getVariableValue)(a.lineHeight))*s}px`}}},c=e=>t.styled.dynamic((t,n)=>t===`sm`||t===`md`||t===`lg`?e(t,n):void 0);exports.formSizeVariants=c,exports.getFormFontScale=o,exports.getFormFontSize=s,exports.getFormSizeScale=a,exports.getFormSizeToken=i;
@@ -1,9 +1,10 @@
1
+ import { StyleEnv } from "./types.cjs";
1
2
  import { getFontSized } from "./get-font-sized.cjs";
2
- import { VariantSpreadExtras } from "@tamagui/core";
3
+ import { styled } from "@tamagui/core";
3
4
  //#region src/form-size.d.ts
4
5
  /** The public size contract shared by form controls and field state. */
5
6
  type FormControlSize = "sm" | "md" | "lg";
6
- declare const getFormSizeToken: (size?: FormControlSize, kind?: "control" | "compact") => "$8xl" | "$10xl" | "$12xl" | "$4xl" | "$6xl" | "$7xl";
7
+ declare const getFormSizeToken: (size?: FormControlSize, kind?: "control" | "compact") => "8xl" | "10xl" | "12xl" | "4xl" | "6xl" | "7xl";
7
8
  /** Scale supplementary geometry without changing the medium baseline. */
8
9
  declare const getFormSizeScale: (size?: FormControlSize) => number;
9
10
  /** Text scales more gently than control height to keep labels readable. */
@@ -12,17 +13,15 @@ declare const getFormFontScale: (size?: FormControlSize) => number;
12
13
  * Retain each typography role's medium font, weight and line height.
13
14
  *
14
15
  * @param size - The form control size.
15
- * @param extras - Additional variant spread extras.
16
+ * @param env - The `styled.dynamic` environment.
16
17
  * @param token - The font size token to use.
17
18
  * @returns The computed font size style object.
18
19
  */
19
- declare const getFormFontSize: (size: FormControlSize, extras: VariantSpreadExtras<any>, token?: string) => ReturnType<typeof getFontSized>;
20
- /** Explicit variants keep arbitrary Tamagui tokens out of the public API. */
21
- declare const formSizeVariants: <T>(style: (size: FormControlSize, extras: VariantSpreadExtras<any>) => T) => {
22
- sm: (_: "sm", extras: VariantSpreadExtras<any>) => T;
23
- md: (_: "md", extras: VariantSpreadExtras<any>) => T;
24
- lg: (_: "lg", extras: VariantSpreadExtras<any>) => T;
25
- };
20
+ declare const getFormFontSize: (size: FormControlSize, env: StyleEnv, token?: string) => ReturnType<typeof getFontSized>;
21
+ /** The `styled.dynamic` variant produced by {@link formSizeVariants}. */
22
+ type FormSizeVariant = ReturnType<typeof styled.dynamic<FormControlSize>>;
23
+ /** A typed dynamic variant keeps arbitrary Tamagui tokens out of the public API. */
24
+ declare const formSizeVariants: <T extends object>(style: (size: FormControlSize, env: StyleEnv) => T | null | undefined) => FormSizeVariant;
26
25
  //#endregion
27
- export { FormControlSize, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken };
26
+ export { FormControlSize, FormSizeVariant, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken };
28
27
  //# sourceMappingURL=form-size.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-size.d.cts","names":[],"sources":["../src/form-size.ts"],"mappings":";;;;KAuBY;cAKC,mBACX,OAAM,iBACN;;cAIW,mBAAoB,OAAM;;cAI1B,mBAAoB,OAAM;;;;;;;;;cAW1B,kBACX,MAAM,iBACN,QAAQ,0BACR,mBACC,kBAAkB;;cAiBR,mBAAoB,GAC/B,QAAQ,MAAM,iBAAiB,QAAQ,6BAA6B;EAE5D,KAAA,SAAI,QAAU,6BAAwB;EACtC,KAAA,SAAI,QAAU,6BAAwB;EACtC,KAAA,SAAI,QAAU,6BAAwB"}
1
+ {"version":3,"file":"form-size.d.cts","names":[],"sources":["../src/form-size.ts"],"mappings":";;;;;KAuBY;cAKC,mBACX,OAAM,iBACN;;cAIW,mBAAoB,OAAM;;cAI1B,mBAAoB,OAAM;;;;;;;;;cAW1B,kBACX,MAAM,iBACN,KAAK,UACL,mBACC,kBAAkB;;KAkBT,kBAAkB,kBACrB,OAAO,QAAQ;;cAIX,mBAAoB,kBAC/B,QAAQ,MAAM,iBAAiB,KAAK,aAAa,yBAChD"}
@@ -1,9 +1,10 @@
1
+ import { StyleEnv } from "./types.mjs";
1
2
  import { getFontSized } from "./get-font-sized.mjs";
2
- import { VariantSpreadExtras } from "@tamagui/core";
3
+ import { styled } from "@tamagui/core";
3
4
  //#region src/form-size.d.ts
4
5
  /** The public size contract shared by form controls and field state. */
5
6
  type FormControlSize = "sm" | "md" | "lg";
6
- declare const getFormSizeToken: (size?: FormControlSize, kind?: "control" | "compact") => "$8xl" | "$10xl" | "$12xl" | "$4xl" | "$6xl" | "$7xl";
7
+ declare const getFormSizeToken: (size?: FormControlSize, kind?: "control" | "compact") => "8xl" | "10xl" | "12xl" | "4xl" | "6xl" | "7xl";
7
8
  /** Scale supplementary geometry without changing the medium baseline. */
8
9
  declare const getFormSizeScale: (size?: FormControlSize) => number;
9
10
  /** Text scales more gently than control height to keep labels readable. */
@@ -12,17 +13,15 @@ declare const getFormFontScale: (size?: FormControlSize) => number;
12
13
  * Retain each typography role's medium font, weight and line height.
13
14
  *
14
15
  * @param size - The form control size.
15
- * @param extras - Additional variant spread extras.
16
+ * @param env - The `styled.dynamic` environment.
16
17
  * @param token - The font size token to use.
17
18
  * @returns The computed font size style object.
18
19
  */
19
- declare const getFormFontSize: (size: FormControlSize, extras: VariantSpreadExtras<any>, token?: string) => ReturnType<typeof getFontSized>;
20
- /** Explicit variants keep arbitrary Tamagui tokens out of the public API. */
21
- declare const formSizeVariants: <T>(style: (size: FormControlSize, extras: VariantSpreadExtras<any>) => T) => {
22
- sm: (_: "sm", extras: VariantSpreadExtras<any>) => T;
23
- md: (_: "md", extras: VariantSpreadExtras<any>) => T;
24
- lg: (_: "lg", extras: VariantSpreadExtras<any>) => T;
25
- };
20
+ declare const getFormFontSize: (size: FormControlSize, env: StyleEnv, token?: string) => ReturnType<typeof getFontSized>;
21
+ /** The `styled.dynamic` variant produced by {@link formSizeVariants}. */
22
+ type FormSizeVariant = ReturnType<typeof styled.dynamic<FormControlSize>>;
23
+ /** A typed dynamic variant keeps arbitrary Tamagui tokens out of the public API. */
24
+ declare const formSizeVariants: <T extends object>(style: (size: FormControlSize, env: StyleEnv) => T | null | undefined) => FormSizeVariant;
26
25
  //#endregion
27
- export { FormControlSize, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken };
26
+ export { FormControlSize, FormSizeVariant, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken };
28
27
  //# sourceMappingURL=form-size.d.mts.map
@@ -1,2 +1,2 @@
1
- import{getFontSized as e}from"./get-font-sized.mjs";import{getVariableValue as t}from"@tamagui/core";const n={sm:`$8xl`,md:`$10xl`,lg:`$12xl`},r={sm:`$4xl`,md:`$6xl`,lg:`$7xl`},i=(e=`md`,t=`control`)=>(t===`compact`?r:n)[e],a=(e=`md`)=>({sm:32/42,md:1,lg:52/42})[e],o=(e=`md`)=>({sm:.875,md:1,lg:1.125})[e],s=(n,r,i=`$true`)=>{let a=e(i,r)??{};if(n===`md`)return a;let s=o(n);return{...a,...a.fontSize===void 0?{}:{fontSize:Number(t(a.fontSize))*s},...a.lineHeight===void 0?{}:{lineHeight:Number(t(a.lineHeight))*s}}},c=e=>({sm:(t,n)=>e(`sm`,n),md:(t,n)=>e(`md`,n),lg:(t,n)=>e(`lg`,n)});export{c as formSizeVariants,o as getFormFontScale,s as getFormFontSize,a as getFormSizeScale,i as getFormSizeToken};
1
+ import{getFontSized as e}from"./get-font-sized.mjs";import{getVariableValue as t,styled as n}from"@tamagui/core";const r={sm:`8xl`,md:`10xl`,lg:`12xl`},i={sm:`4xl`,md:`6xl`,lg:`7xl`},a=(e=`md`,t=`control`)=>(t===`compact`?i:r)[e],o=(e=`md`)=>({sm:32/42,md:1,lg:52/42})[e],s=(e=`md`)=>({sm:.875,md:1,lg:1.125})[e],c=(n,r,i=`true`)=>{let a=e(i,r)??{};if(n===`md`)return a;let o=s(n);return{...a,...a.fontSize===void 0?{}:{fontSize:Number(t(a.fontSize))*o},...a.lineHeight===void 0?{}:{lineHeight:`${Number(t(a.lineHeight))*o}px`}}},l=e=>n.dynamic((t,n)=>t===`sm`||t===`md`||t===`lg`?e(t,n):void 0);export{l as formSizeVariants,s as getFormFontScale,c as getFormFontSize,o as getFormSizeScale,a as getFormSizeToken};
2
2
  //# sourceMappingURL=form-size.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-size.mjs","names":[],"sources":[],"mappings":""}
1
+ {"version":3,"file":"form-size.mjs","names":["controlTokens","compactTokens","getFormSizeToken","kind","size","getFormSizeScale","getFormFontScale","getFormFontSize","style","getFontSized","token","env","scale","getVariableValue","formSizeVariants","styled"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./token-value.cjs");let t=require("@stryke/type-checks/is-number"),n=require("@tamagui/get-token");const r=e=>{if(typeof e==`number`)return e;if(e&&typeof e==`object`&&`val`in e){let t=e.val;return typeof t==`number`?t:void 0}},i=(e,t)=>{if(!e||typeof e!=`object`)return;let n=e,r=t.replace(/^\$/,``);return n[t]??n[`$${r}`]??n[r]},a=t=>{let n=String(e.normalizeTokenValue(t));return n===`$true`||n===`true`?`$5xl`:n},o=(o,{props:s,tokens:c})=>{if(!o)return;let l=!!s.circular,u=l?1e5:`$button`,d=e.normalizeTokenValue(o);if((0,t.isNumber)(d))return{paddingHorizontal:l?0:d*.25,gap:l?0:d*.25,height:d,minHeight:d,...l?{width:d,minWidth:d}:{minWidth:`fit-content`},borderRadius:u};let f=a(d),p=r(i(c?.size,f))??r(i(c?.size,`5xl`))??r((0,n.getSize)(f))??44,m=r((0,n.getSpace)(f,{shift:-1}))??r(i(c?.space,`2xl`))??10;return{paddingHorizontal:l?0:m,gap:l?0:m,height:p,minHeight:p,...l?{width:p,minWidth:p}:{minWidth:`fit-content`},borderRadius:u}};exports.getButtonSized=o;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./token-value.cjs"),t=require("./get-token-relative.cjs");let n=require("@stryke/type-checks/is-number");const r=e=>{if(typeof e==`number`)return e;if(e&&typeof e==`object`&&`val`in e){let t=e.val;return typeof t==`number`?t:void 0}},i=(e,t)=>{if(!e||typeof e!=`object`)return;let n=e,r=t.replace(/^\$/,``);return n[t]??n[`$${r}`]??n[r]},a=t=>{let n=String(e.normalizeTokenValue(t));return n===`true`?`5xl`:n},o=(o,{tokens:s}={},c=!1)=>{if(!o)return;let l=c?1e5:`button`,u=e.normalizeTokenValue(o);if((0,n.isNumber)(u))return{paddingHorizontal:c?0:u*.25,gap:c?0:u*.25,height:u,minHeight:u,...c?{width:u,minWidth:u}:{minWidth:`fit-content`},borderRadius:l};let d=a(u),f=r(i(s?.size,d))??r(i(s?.size,`5xl`))??r(t.getTokenRelative(`size`,d))??44,p=r(t.getTokenRelative(`space`,d,{shift:-1}))??r(i(s?.space,`2xl`))??10;return{paddingHorizontal:c?0:p,gap:c?0:p,height:f,minHeight:f,...c?{width:f,minWidth:f}:{minWidth:`fit-content`},borderRadius:l}};exports.getButtonSized=o;
@@ -1,14 +1,15 @@
1
- import { t as TokenValue } from "./token-value-DV6eTPCJ.cjs";
2
- import { VariantSpreadExtras } from "@tamagui/core";
1
+ import { t as TokenInput } from "./token-value-sAa1meMz.cjs";
2
+ import { StyleEnv } from "./types.cjs";
3
3
  //#region src/get-button-sized.d.ts
4
4
  /**
5
5
  * Get the sizing related style values for a button component based on the size token or number
6
6
  *
7
7
  * @param val - The size token or number to use
8
- * @param param - The props to use
8
+ * @param env - The `styled.dynamic` environment
9
+ * @param circular - Whether the button is circular
9
10
  * @returns The style values for the button sizing
10
11
  */
11
- declare const getButtonSized: (val: TokenValue, { props, tokens }: VariantSpreadExtras<any>) => {
12
+ declare const getButtonSized: (val: TokenInput, { tokens }?: StyleEnv, circular?: boolean) => {
12
13
  borderRadius: string | number;
13
14
  width: number;
14
15
  minWidth: number;
@@ -1 +1 @@
1
- {"version":3,"file":"get-button-sized.d.cts","names":[],"sources":["../src/get-button-sized.ts"],"mappings":";;;;;;;;;;cAgEa,iBACX,KAAK,cACL,OAAA,UAAmB"}
1
+ {"version":3,"file":"get-button-sized.d.cts","names":[],"sources":["../src/get-button-sized.ts"],"mappings":";;;;;;;;;;;cAiEa,iBACX,KAAK,cACL,WAAY,UACZ"}
@@ -1,14 +1,15 @@
1
- import { t as TokenValue } from "./token-value-DV6eTPCJ.mjs";
2
- import { VariantSpreadExtras } from "@tamagui/core";
1
+ import { t as TokenInput } from "./token-value-sAa1meMz.mjs";
2
+ import { StyleEnv } from "./types.mjs";
3
3
  //#region src/get-button-sized.d.ts
4
4
  /**
5
5
  * Get the sizing related style values for a button component based on the size token or number
6
6
  *
7
7
  * @param val - The size token or number to use
8
- * @param param - The props to use
8
+ * @param env - The `styled.dynamic` environment
9
+ * @param circular - Whether the button is circular
9
10
  * @returns The style values for the button sizing
10
11
  */
11
- declare const getButtonSized: (val: TokenValue, { props, tokens }: VariantSpreadExtras<any>) => {
12
+ declare const getButtonSized: (val: TokenInput, { tokens }?: StyleEnv, circular?: boolean) => {
12
13
  borderRadius: string | number;
13
14
  width: number;
14
15
  minWidth: number;
@@ -1,2 +1,2 @@
1
- import{normalizeTokenValue as e}from"./token-value.mjs";import{isNumber as t}from"@stryke/type-checks/is-number";import{getSize as n,getSpace as r}from"@tamagui/get-token";const i=e=>{if(typeof e==`number`)return e;if(e&&typeof e==`object`&&`val`in e){let t=e.val;return typeof t==`number`?t:void 0}},a=(e,t)=>{if(!e||typeof e!=`object`)return;let n=e,r=t.replace(/^\$/,``);return n[t]??n[`$${r}`]??n[r]},o=t=>{let n=String(e(t));return n===`$true`||n===`true`?`$5xl`:n},s=(s,{props:c,tokens:l})=>{if(!s)return;let u=!!c.circular,d=u?1e5:`$button`,f=e(s);if(t(f))return{paddingHorizontal:u?0:f*.25,gap:u?0:f*.25,height:f,minHeight:f,...u?{width:f,minWidth:f}:{minWidth:`fit-content`},borderRadius:d};let p=o(f),m=i(a(l?.size,p))??i(a(l?.size,`5xl`))??i(n(p))??44,h=i(r(p,{shift:-1}))??i(a(l?.space,`2xl`))??10;return{paddingHorizontal:u?0:h,gap:u?0:h,height:m,minHeight:m,...u?{width:m,minWidth:m}:{minWidth:`fit-content`},borderRadius:d}};export{s as getButtonSized};
1
+ import{normalizeTokenValue as e}from"./token-value.mjs";import{getTokenRelative as t}from"./get-token-relative.mjs";import{isNumber as n}from"@stryke/type-checks/is-number";const r=e=>{if(typeof e==`number`)return e;if(e&&typeof e==`object`&&`val`in e){let t=e.val;return typeof t==`number`?t:void 0}},i=(e,t)=>{if(!e||typeof e!=`object`)return;let n=e,r=t.replace(/^\$/,``);return n[t]??n[`$${r}`]??n[r]},a=t=>{let n=String(e(t));return n===`true`?`5xl`:n},o=(o,{tokens:s}={},c=!1)=>{if(!o)return;let l=c?1e5:`button`,u=e(o);if(n(u))return{paddingHorizontal:c?0:u*.25,gap:c?0:u*.25,height:u,minHeight:u,...c?{width:u,minWidth:u}:{minWidth:`fit-content`},borderRadius:l};let d=a(u),f=r(i(s?.size,d))??r(i(s?.size,`5xl`))??r(t(`size`,d))??44,p=r(t(`space`,d,{shift:-1}))??r(i(s?.space,`2xl`))??10;return{paddingHorizontal:c?0:p,gap:c?0:p,height:f,minHeight:f,...c?{width:f,minWidth:f}:{minWidth:`fit-content`},borderRadius:l}};export{o as getButtonSized};
2
2
  //# sourceMappingURL=get-button-sized.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-button-sized.mjs","names":[],"sources":[],"mappings":""}
1
+ {"version":3,"file":"get-button-sized.mjs","names":["tokenNumber","token","value","lookupToken","group","tokens","normalized","key","resolveTokenKey","rawKey","normalizeTokenValue","val","getButtonSized","borderRadius","circular","tokenValue","isNumber","tokenKey","height","getTokenRelative","space"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"get-colors.mjs","names":[],"sources":[],"mappings":""}
1
+ {"version":3,"file":"get-colors.mjs","names":["chroma","COLOR_HUE_STEPS","ColorScientificPalette","cacheScientificPalettes","createScientificPalettes","color","baseHue","result","type","hue","step","ret","cacheStylePalettes","createStylePalettes","palette","scale","colorScale"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./token-value.cjs"),t=require("./get-nearest-token.cjs");let n=require("@tamagui/core"),r=require("@stryke/type-checks/is-number");const i=(t=`$true`,{font:n,fontFamily:i,props:a})=>{let o=e.normalizeTokenValue(t);if(!n)return{fontSize:o};if((0,r.isNumber)(o))return{fontFamily:i,fontSize:o};let c=(o===`$true`?s(n):o)??`$true`,l={},u=n.size[c],d=n.lineHeight?.[c],f=n.weight?.[c],p=n.letterSpacing?.[c],m=n.transform?.[c],h=a.fontStyle??n.style?.[c],g=a.color??n.color?.[c];return h&&(l.fontStyle=h),m&&(l.textTransform=m),i&&(l.fontFamily=i),f&&(l.fontWeight=f),p&&(l.letterSpacing=p),u&&(l.fontSize=u),d&&(l.lineHeight=d),g&&(l.color=g),l},a=(n=`$true`,a)=>{if(!a.font)return{fontSize:n};let o=e.normalizeTokenValue(n),s=(0,r.isNumber)(o)?t.getNearestToken(o,`size`):o;return i(s,a)},o=/* @__PURE__ */ new WeakMap;function s(e){if(typeof e==`object`&&o.has(e))return o.get(e);let t=`$true`in e.size?e.size:(0,n.getTokens)().size,r=t.$true,i=r?Object.keys(t).find(e=>e!==`$true`&&t[e].val===r.val):null;return!r||!i?Object.keys(e.size)[3]:(o.set(e,i),i)}exports.getFontSized=i,exports.getFontSizedFromSize=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./token-value.cjs"),t=require("./get-nearest-token.cjs");let n=require("@tamagui/core"),r=require("@stryke/type-checks/is-number");const i=(t=`true`,{font:n,fontFamily:i}={})=>{let a=e.normalizeTokenValue(t);if(!n)return{fontSize:a};if((0,r.isNumber)(a))return{fontFamily:i,fontSize:a};let o=String((a===`true`?s(n):a)??`true`),c={},l=e=>e?.[o],u=l(n.size),d=l(n.lineHeight),f=l(n.weight),p=l(n.letterSpacing),m=l(n.transform),h=l(n.style),g=l(n.color);return h&&(c.fontStyle=h),m&&(c.textTransform=m),i&&(c.fontFamily=i),f&&(c.fontWeight=f),p&&(c.letterSpacing=p),u&&(c.fontSize=u),d&&(c.lineHeight=d),g&&(c.color=g),c},a=(n=`true`,a={})=>{let o=a.font,s=e.normalizeTokenValue(n);if(!o)return{fontSize:s};let c=(0,r.isNumber)(s)?t.getNearestToken(s,`size`):s;return i(c,a)},o=/* @__PURE__ */ new WeakMap;function s(e){if(typeof e==`object`&&o.has(e))return o.get(e);let t=`true`in e.size?e.size:(0,n.getTokens)().size,r=t.true,i=r?Object.keys(t).find(e=>e!==`true`&&t[e].val===r.val):null;return!r||!i?Object.keys(e.size)[3]:(o.set(e,i),i)}exports.getFontSized=i,exports.getFontSizedFromSize=a;
@@ -1,22 +1,28 @@
1
- import { t as TokenValue } from "./token-value-DV6eTPCJ.cjs";
2
- import { FontSizeTokens, TextProps, VariantSpreadFunction } from "@tamagui/core";
1
+ import { t as TokenInput } from "./token-value-sAa1meMz.cjs";
2
+ import { StyleEnv } from "./types.cjs";
3
+ import { FontSizeTokens, TextStyle } from "@tamagui/core";
4
+ import { Mutable } from "@stryke/types/base";
3
5
  //#region src/get-font-sized.d.ts
4
6
  /**
5
7
  * Get the font size related styles
6
8
  *
9
+ * @remarks
10
+ * Call-site `color` and `fontStyle` props take precedence over the values
11
+ * returned here because Tamagui v3 applies call-site props above variants.
12
+ *
7
13
  * @param sizeTokenIn - The size token to use
8
- * @param extras - The extra props
14
+ * @param env - The `styled.dynamic` environment
9
15
  * @returns The font size related styles
10
16
  */
11
- declare const getFontSized: VariantSpreadFunction<TextProps, FontSizeTokens | TokenValue>;
17
+ declare const getFontSized: (sizeTokenIn?: FontSizeTokens | TokenInput, { font, fontFamily }?: StyleEnv) => Mutable<TextStyle>;
12
18
  /**
13
19
  * Get the font size related styles from a size token
14
20
  *
15
21
  * @param sizeTokenIn - The size token to use
16
- * @param extras - The extra props
22
+ * @param env - The `styled.dynamic` environment
17
23
  * @returns The font size related styles
18
24
  */
19
- declare const getFontSizedFromSize: VariantSpreadFunction<TextProps, TokenValue>;
25
+ declare const getFontSizedFromSize: (sizeTokenIn?: TokenInput, env?: StyleEnv) => Mutable<TextStyle>;
20
26
  //#endregion
21
27
  export { getFontSized, getFontSizedFromSize };
22
28
  //# sourceMappingURL=get-font-sized.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-font-sized.d.cts","names":[],"sources":["../src/get-font-sized.ts"],"mappings":";;;;;;;;;;cAuCa,cAAc,sBACzB,WACA,iBAAiB;;;;;;;;cAmEN,sBAAsB,sBACjC,WACA"}
1
+ {"version":3,"file":"get-font-sized.d.cts","names":[],"sources":["../src/get-font-sized.ts"],"mappings":";;;;;;;;;;;;;;;;cAsCa,eACX,cAAa,iBAAiB,cAC9B,MAAA,eAAsB,aACrB,QAAQ;;;;;;;;cAqEE,uBACX,cAAa,YACb,MAAK,aACJ,QAAQ"}
@@ -1,22 +1,28 @@
1
- import { t as TokenValue } from "./token-value-DV6eTPCJ.mjs";
2
- import { FontSizeTokens, TextProps, VariantSpreadFunction } from "@tamagui/core";
1
+ import { t as TokenInput } from "./token-value-sAa1meMz.mjs";
2
+ import { StyleEnv } from "./types.mjs";
3
+ import { FontSizeTokens, TextStyle } from "@tamagui/core";
4
+ import { Mutable } from "@stryke/types/base";
3
5
  //#region src/get-font-sized.d.ts
4
6
  /**
5
7
  * Get the font size related styles
6
8
  *
9
+ * @remarks
10
+ * Call-site `color` and `fontStyle` props take precedence over the values
11
+ * returned here because Tamagui v3 applies call-site props above variants.
12
+ *
7
13
  * @param sizeTokenIn - The size token to use
8
- * @param extras - The extra props
14
+ * @param env - The `styled.dynamic` environment
9
15
  * @returns The font size related styles
10
16
  */
11
- declare const getFontSized: VariantSpreadFunction<TextProps, FontSizeTokens | TokenValue>;
17
+ declare const getFontSized: (sizeTokenIn?: FontSizeTokens | TokenInput, { font, fontFamily }?: StyleEnv) => Mutable<TextStyle>;
12
18
  /**
13
19
  * Get the font size related styles from a size token
14
20
  *
15
21
  * @param sizeTokenIn - The size token to use
16
- * @param extras - The extra props
22
+ * @param env - The `styled.dynamic` environment
17
23
  * @returns The font size related styles
18
24
  */
19
- declare const getFontSizedFromSize: VariantSpreadFunction<TextProps, TokenValue>;
25
+ declare const getFontSizedFromSize: (sizeTokenIn?: TokenInput, env?: StyleEnv) => Mutable<TextStyle>;
20
26
  //#endregion
21
27
  export { getFontSized, getFontSizedFromSize };
22
28
  //# sourceMappingURL=get-font-sized.d.mts.map
@@ -1,2 +1,2 @@
1
- import{normalizeTokenValue as e}from"./token-value.mjs";import{getNearestToken as t}from"./get-nearest-token.mjs";import{getTokens as n}from"@tamagui/core";import{isNumber as r}from"@stryke/type-checks/is-number";const i=(t=`$true`,{font:n,fontFamily:i,props:a})=>{let o=e(t);if(!n)return{fontSize:o};if(r(o))return{fontFamily:i,fontSize:o};let c=(o===`$true`?s(n):o)??`$true`,l={},u=n.size[c],d=n.lineHeight?.[c],f=n.weight?.[c],p=n.letterSpacing?.[c],m=n.transform?.[c],h=a.fontStyle??n.style?.[c],g=a.color??n.color?.[c];return h&&(l.fontStyle=h),m&&(l.textTransform=m),i&&(l.fontFamily=i),f&&(l.fontWeight=f),p&&(l.letterSpacing=p),u&&(l.fontSize=u),d&&(l.lineHeight=d),g&&(l.color=g),l},a=(n=`$true`,a)=>{if(!a.font)return{fontSize:n};let o=e(n),s=r(o)?t(o,`size`):o;return i(s,a)},o=/* @__PURE__ */ new WeakMap;function s(e){if(typeof e==`object`&&o.has(e))return o.get(e);let t=`$true`in e.size?e.size:n().size,r=t.$true,i=r?Object.keys(t).find(e=>e!==`$true`&&t[e].val===r.val):null;return!r||!i?Object.keys(e.size)[3]:(o.set(e,i),i)}export{i as getFontSized,a as getFontSizedFromSize};
1
+ import{normalizeTokenValue as e}from"./token-value.mjs";import{getNearestToken as t}from"./get-nearest-token.mjs";import{getTokens as n}from"@tamagui/core";import{isNumber as r}from"@stryke/type-checks/is-number";const i=(t=`true`,{font:n,fontFamily:i}={})=>{let a=e(t);if(!n)return{fontSize:a};if(r(a))return{fontFamily:i,fontSize:a};let o=String((a===`true`?s(n):a)??`true`),c={},l=e=>e?.[o],u=l(n.size),d=l(n.lineHeight),f=l(n.weight),p=l(n.letterSpacing),m=l(n.transform),h=l(n.style),g=l(n.color);return h&&(c.fontStyle=h),m&&(c.textTransform=m),i&&(c.fontFamily=i),f&&(c.fontWeight=f),p&&(c.letterSpacing=p),u&&(c.fontSize=u),d&&(c.lineHeight=d),g&&(c.color=g),c},a=(n=`true`,a={})=>{let o=a.font,s=e(n);if(!o)return{fontSize:s};let c=r(s)?t(s,`size`):s;return i(c,a)},o=/* @__PURE__ */ new WeakMap;function s(e){if(typeof e==`object`&&o.has(e))return o.get(e);let t=`true`in e.size?e.size:n().size,r=t.true,i=r?Object.keys(t).find(e=>e!==`true`&&t[e].val===r.val):null;return!r||!i?Object.keys(e.size)[3]:(o.set(e,i),i)}export{i as getFontSized,a as getFontSizedFromSize};
2
2
  //# sourceMappingURL=get-font-sized.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-font-sized.mjs","names":[],"sources":[],"mappings":""}
1
+ {"version":3,"file":"get-font-sized.mjs","names":["getFontSized","tokenValue","normalizeTokenValue","sizeTokenIn","font","isNumber","sizeToken","getDefaultSizeToken","style","fontValue","group","fontSize","lineHeight","fontWeight","letterSpacing","textTransform","fontStyle","color","fontFamily","getFontSizedFromSize","env","getNearestToken","cache","sizeTokens","getTokens","sizeDefault","sizeDefaultSpecific","x"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@tamagui/core"),t=require("@stryke/type-checks/is-set");function n(e){return Object.entries(e).map(([e,t])=>`${e}:${t.val}`).toSorted().join(`|`)}const r=(e,n,i,a)=>{if(i>a)return i;let o=Math.floor((i+a)/2);return e.length<=o||!(0,t.isSet)(e[o])?i:e[o].val===n?o:e[o].val>n?r(e,n,i,o-1):r(e,n,o+1,a)},i=/* @__PURE__ */ new Map,a=/* @__PURE__ */ new Map,o=(o,s,c)=>{if(!s&&!c)return console.warn(`getNearestToken: type or tokensMap is required`),`$true`;let l=s;if(!l){if(!c)return`$true`;l=n(c)}let u={type:l},d={type:l,value:o};if(i.has(d))return i.get(d);if(!a.has(u)){let n=c??(0,e.getTokens)({prefixed:!0})[l];if(!n||Object.values(n).length===0)return`$true`;let r=Object.entries(n).reduce((e,[n,r])=>((0,t.isSet)(r)&&!e.some(e=>e[1].val===r.val)&&e.push([n,r]),e),[]);a.set(u,r.sort((e,t)=>e[1].val-t[1].val))}let f=a.get(u);if(!f)return`$true`;let p=f.map(e=>e[1]),m=r(p,o,0,p.length);if(m===-1||f.length<=m||!f[m]?.[0])return`$true`;let h=f[m][0];return i.set(d,h),h};exports.getNearestToken=o;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@tamagui/core"),t=require("@stryke/type-checks/is-set");function n(e){return Object.entries(e).map(([e,t])=>`${e}:${t.val}`).toSorted().join(`|`)}const r=(e,n,i,a)=>{if(i>a)return i;let o=Math.floor((i+a)/2);return e.length<=o||!(0,t.isSet)(e[o])?i:e[o].val===n?o:e[o].val>n?r(e,n,i,o-1):r(e,n,o+1,a)},i=/* @__PURE__ */ new Map,a=/* @__PURE__ */ new Map,o=(o,s,c)=>{if(!s&&!c)return console.warn(`getNearestToken: type or tokensMap is required`),`true`;let l=s;if(!l){if(!c)return`true`;l=n(c)}let u={type:l},d={type:l,value:o};if(i.has(d))return i.get(d);if(!a.has(u)){let n=c??(0,e.getTokens)()[l];if(!n||Object.values(n).length===0)return`true`;let r=Object.entries(n).reduce((e,[n,r])=>((0,t.isSet)(r)&&!e.some(e=>e[1].val===r.val)&&e.push([n,r]),e),[]);a.set(u,r.sort((e,t)=>e[1].val-t[1].val))}let f=a.get(u);if(!f)return`true`;let p=f.map(e=>e[1]),m=r(p,o,0,p.length);if(m===-1||f.length<=m||!f[m]?.[0])return`true`;let h=f[m][0];return i.set(d,h),h};exports.getNearestToken=o;
@@ -1,6 +1,6 @@
1
1
  import { UnionableString, Variable } from "@tamagui/core";
2
2
  //#region src/get-nearest-token.d.ts
3
- declare const getNearestToken: <TToken extends number | `$${string}` | `$${number}` | UnionableString | `$${string}.${string}` | `$${string}.${number}` = number | `$${string}` | `$${number}` | UnionableString | `$${string}.${string}` | `$${string}.${number}`>(value: number, type?: "size" | "space" | "zIndex" | "radius" | string, tokensMap?: Record<string, Variable<number>>) => TToken;
3
+ declare const getNearestToken: <TToken extends number | UnionableString = number | UnionableString>(value: number, type?: "size" | "space" | "zIndex" | "radius" | string, tokensMap?: Record<string, Variable<number>>) => TToken;
4
4
  //#endregion
5
5
  export { getNearestToken };
6
6
  //# sourceMappingURL=get-nearest-token.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-nearest-token.d.cts","names":[],"sources":["../src/get-nearest-token.ts"],"mappings":";;cAuEa,kBACX,sDAII,2GAMA,mEAIJ,eACA,wDACA,YAAY,eAAe,sBAC1B"}
1
+ {"version":3,"file":"get-nearest-token.d.cts","names":[],"sources":["../src/get-nearest-token.ts"],"mappings":";;cAuEa,kBACX,wBAAwB,2BAA2B,iBAEnD,eACA,wDACA,YAAY,eAAe,sBAC1B"}
@@ -1,6 +1,6 @@
1
1
  import { UnionableString, Variable } from "@tamagui/core";
2
2
  //#region src/get-nearest-token.d.ts
3
- declare const getNearestToken: <TToken extends number | `$${string}` | `$${number}` | UnionableString | `$${string}.${string}` | `$${string}.${number}` = number | `$${string}` | `$${number}` | UnionableString | `$${string}.${string}` | `$${string}.${number}`>(value: number, type?: "size" | "space" | "zIndex" | "radius" | string, tokensMap?: Record<string, Variable<number>>) => TToken;
3
+ declare const getNearestToken: <TToken extends number | UnionableString = number | UnionableString>(value: number, type?: "size" | "space" | "zIndex" | "radius" | string, tokensMap?: Record<string, Variable<number>>) => TToken;
4
4
  //#endregion
5
5
  export { getNearestToken };
6
6
  //# sourceMappingURL=get-nearest-token.d.mts.map
@@ -1,2 +1,2 @@
1
- import{getTokens as e}from"@tamagui/core";import{isSet as t}from"@stryke/type-checks/is-set";function n(e){return Object.entries(e).map(([e,t])=>`${e}:${t.val}`).toSorted().join(`|`)}const r=(e,n,i,a)=>{if(i>a)return i;let o=Math.floor((i+a)/2);return e.length<=o||!t(e[o])?i:e[o].val===n?o:e[o].val>n?r(e,n,i,o-1):r(e,n,o+1,a)},i=/* @__PURE__ */ new Map,a=/* @__PURE__ */ new Map,o=(o,s,c)=>{if(!s&&!c)return console.warn(`getNearestToken: type or tokensMap is required`),`$true`;let l=s;if(!l){if(!c)return`$true`;l=n(c)}let u={type:l},d={type:l,value:o};if(i.has(d))return i.get(d);if(!a.has(u)){let n=c??e({prefixed:!0})[l];if(!n||Object.values(n).length===0)return`$true`;let r=Object.entries(n).reduce((e,[n,r])=>(t(r)&&!e.some(e=>e[1].val===r.val)&&e.push([n,r]),e),[]);a.set(u,r.sort((e,t)=>e[1].val-t[1].val))}let f=a.get(u);if(!f)return`$true`;let p=f.map(e=>e[1]),m=r(p,o,0,p.length);if(m===-1||f.length<=m||!f[m]?.[0])return`$true`;let h=f[m][0];return i.set(d,h),h};export{o as getNearestToken};
1
+ import{getTokens as e}from"@tamagui/core";import{isSet as t}from"@stryke/type-checks/is-set";function n(e){return Object.entries(e).map(([e,t])=>`${e}:${t.val}`).toSorted().join(`|`)}const r=(e,n,i,a)=>{if(i>a)return i;let o=Math.floor((i+a)/2);return e.length<=o||!t(e[o])?i:e[o].val===n?o:e[o].val>n?r(e,n,i,o-1):r(e,n,o+1,a)},i=/* @__PURE__ */ new Map,a=/* @__PURE__ */ new Map,o=(o,s,c)=>{if(!s&&!c)return console.warn(`getNearestToken: type or tokensMap is required`),`true`;let l=s;if(!l){if(!c)return`true`;l=n(c)}let u={type:l},d={type:l,value:o};if(i.has(d))return i.get(d);if(!a.has(u)){let n=c??e()[l];if(!n||Object.values(n).length===0)return`true`;let r=Object.entries(n).reduce((e,[n,r])=>(t(r)&&!e.some(e=>e[1].val===r.val)&&e.push([n,r]),e),[]);a.set(u,r.sort((e,t)=>e[1].val-t[1].val))}let f=a.get(u);if(!f)return`true`;let p=f.map(e=>e[1]),m=r(p,o,0,p.length);if(m===-1||f.length<=m||!f[m]?.[0])return`true`;let h=f[m][0];return i.set(d,h),h};export{o as getNearestToken};
2
2
  //# sourceMappingURL=get-nearest-token.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-nearest-token.mjs","names":[],"sources":[],"mappings":""}
1
+ {"version":3,"file":"get-nearest-token.mjs","names":["tokensMapCacheKey","tokensMap","key","token","binarySearch","start","end","mid","tokens","isSet","value","cache","cacheSortedTokens","getNearestToken","type","_type","cacheSortedTokensKey","cacheKey","getTokens","deduplicated","ret","existing","a","b","sortedTokens","values","index","result"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./token-value.cjs"),t=require("./get-nearest-token.cjs");let n=require("@tamagui/core"),r=require("@stryke/type-checks/is-number"),i=require("@stryke/type-checks/is-set"),a=require("@tamagui/get-token");const o=(n,o={})=>{let s=n?e.normalizeTokenValue(n):`$true`;if((0,r.isNumber)(s)){if(!o.shift&&!o.bounds)return s*((0,i.isSet)(o.scale)?o.scale:1);s=o.nearest===!1?s:t.getNearestToken(s,`size`)}let c=(0,a.getSize)(s,o),l=(0,i.isSet)(o.scale)?o.scale:1;return c.val*l},s=(n,a={})=>{let s=n?e.normalizeTokenValue(n):`$true`;if((0,r.isNumber)(s)){if(!a.shift&&!a.bounds)return s*((0,i.isSet)(a.scale)?a.scale:1);s=a.nearest===!1?s:t.getNearestToken(s,`size`)}return o(s,a)},c=e=>t.getNearestToken(e,`size`),l=(o,s={})=>{let c=o?e.normalizeTokenValue(o):`$true`;if((0,r.isNumber)(c)){if(!s.shift&&!s.bounds)return c*((0,i.isSet)(s.scale)?s.scale:1);c=s.nearest===!1?c:t.getNearestToken(c,`space`)}let l=(0,i.isSet)(s.scale)?s.scale:1;if(typeof c==`string`&&!s.shift&&!s.bounds){let e=(0,n.getTokens)({prefixed:!0}).space[c];if(e)return(0,n.getVariableValue)(e)*l}return(0,a.getSpace)(c,s).val*l},u=e=>l(e),d=(n,o={})=>{if(o.circular)return 1e5;let s=n?e.normalizeTokenValue(n):`$true`;if((0,r.isNumber)(s)){if(!o.shift&&!o.bounds)return s*((0,i.isSet)(o.scale)?o.scale:1);s=o.nearest===!1?s:t.getNearestToken(s,`radius`)}let c=(0,a.getRadius)(s,o),l=(0,i.isSet)(o.scale)?o.scale:1;return c.val*l};exports.fontSizeToSize=c,exports.getRadius=d,exports.getSizeFromFontSized=s,exports.getSized=o,exports.getSpaced=l,exports.sizeToSpace=u;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./token-value.cjs"),t=require("./get-nearest-token.cjs"),n=require("./get-token-relative.cjs");let r=require("@stryke/type-checks/is-number"),i=require("@stryke/type-checks/is-set");const a=(a,o={})=>{let s=a?e.normalizeTokenValue(a):`true`;if((0,r.isNumber)(s)){if(!o.shift&&!o.bounds)return s*((0,i.isSet)(o.scale)?o.scale:1);s=o.nearest===!1?s:t.getNearestToken(s,`size`)}let c=n.getTokenRelative(`size`,String(s),o),l=(0,i.isSet)(o.scale)?o.scale:1;return Number(c?.val)*l},o=(n,o={})=>{let s=n?e.normalizeTokenValue(n):`true`;if((0,r.isNumber)(s)){if(!o.shift&&!o.bounds)return s*((0,i.isSet)(o.scale)?o.scale:1);s=o.nearest===!1?s:t.getNearestToken(s,`size`)}return a(s,o)},s=e=>t.getNearestToken(e,`size`),c=(a,o={})=>{let s=a?e.normalizeTokenValue(a):`true`;if((0,r.isNumber)(s)){if(!o.shift&&!o.bounds)return s*((0,i.isSet)(o.scale)?o.scale:1);s=o.nearest===!1?s:t.getNearestToken(s,`space`)}let c=n.getTokenRelative(`space`,String(s),o),l=(0,i.isSet)(o.scale)?o.scale:1;return Number(c?.val)*l},l=e=>c(e),u=(a,o={})=>{if(o.circular)return 1e5;let s=a?e.normalizeTokenValue(a):`true`;if((0,r.isNumber)(s)){if(!o.shift&&!o.bounds)return s*((0,i.isSet)(o.scale)?o.scale:1);s=o.nearest===!1?s:t.getNearestToken(s,`radius`)}let c=n.getTokenRelative(`radius`,String(s),o),l=(0,i.isSet)(o.scale)?o.scale:1;return Number(c?.val)*l};exports.fontSizeToSize=s,exports.getRadius=u,exports.getSizeFromFontSized=o,exports.getSized=a,exports.getSpaced=c,exports.sizeToSpace=l;
@@ -1,4 +1,4 @@
1
- import { t as TokenValue } from "./token-value-DV6eTPCJ.cjs";
1
+ import { t as TokenInput } from "./token-value-sAa1meMz.cjs";
2
2
  //#region src/get-sized.d.ts
3
3
  interface GetSizedOptions {
4
4
  scale?: number;
@@ -14,7 +14,7 @@ interface GetSizedOptions {
14
14
  * @param options - The scale to use
15
15
  * @returns The size number
16
16
  */
17
- declare const getSized: (val: TokenValue, options?: GetSizedOptions) => number;
17
+ declare const getSized: (val: TokenInput, options?: GetSizedOptions) => number;
18
18
  /**
19
19
  * Get the font size number from a token value or number value and a scale
20
20
  *
@@ -22,14 +22,14 @@ declare const getSized: (val: TokenValue, options?: GetSizedOptions) => number;
22
22
  * @param options - The scale to use
23
23
  * @returns The font size number
24
24
  */
25
- declare const getSizeFromFontSized: (val: TokenValue, options?: GetSizedOptions) => number;
25
+ declare const getSizeFromFontSized: (val: TokenInput, options?: GetSizedOptions) => number;
26
26
  /**
27
27
  * Map a numeric font size to the nearest size token.
28
28
  *
29
29
  * @param fontSize - The font size in pixels
30
30
  * @returns The nearest size token
31
31
  */
32
- declare const fontSizeToSize: (fontSize: number) => number | `$${string}` | `$${number}` | import("@tamagui/core").UnionableString | `$${string}.${string}` | `$${string}.${number}`;
32
+ declare const fontSizeToSize: (fontSize: number) => number | import("@tamagui/core").UnionableString;
33
33
  /**
34
34
  * Get the space number from a size token value or number value and a scale
35
35
  *
@@ -37,14 +37,14 @@ declare const fontSizeToSize: (fontSize: number) => number | `$${string}` | `$${
37
37
  * @param options - The scale to use
38
38
  * @returns The space number
39
39
  */
40
- declare const getSpaced: (val: TokenValue, options?: GetSizedOptions) => number;
40
+ declare const getSpaced: (val: TokenInput, options?: GetSizedOptions) => number;
41
41
  /**
42
42
  * Map a size token or numeric size to the corresponding space value.
43
43
  *
44
44
  * @param val - The size token or number to use
45
45
  * @returns The space number
46
46
  */
47
- declare const sizeToSpace: (val: TokenValue) => number;
47
+ declare const sizeToSpace: (val: TokenInput) => number;
48
48
  type GetRadiusOptions = GetSizedOptions & {
49
49
  circular?: boolean;
50
50
  };
@@ -55,7 +55,7 @@ type GetRadiusOptions = GetSizedOptions & {
55
55
  * @param options - The options to use
56
56
  * @returns The radius number
57
57
  */
58
- declare const getRadius: (val: TokenValue, options?: GetRadiusOptions) => number;
58
+ declare const getRadius: (val: TokenInput, options?: GetRadiusOptions) => number;
59
59
  //#endregion
60
60
  export { GetRadiusOptions, GetSizedOptions, fontSizeToSize, getRadius, getSizeFromFontSized, getSized, getSpaced, sizeToSpace };
61
61
  //# sourceMappingURL=get-sized.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-sized.d.cts","names":[],"sources":["../src/get-sized.ts"],"mappings":";;UA8BiB;EACf;EACA;EACA;EACA;EACA;;;;;;;;;cAUW,WACX,KAAK,YACL,UAAS;;;;;;;;cAyBE,uBACX,KAAK,YACL,UAAS;;;;;;;cAqBE,iBAAkB,oFAAgB;;;;;;;;cAUlC,YACX,KAAK,YACL,UAAS;;;;;;;cAiCE,cAAe,KAAK;KAErB,mBAAmB;EAC7B;;;;;;;;;cAUW,YAAa,KAAK,YAAY,UAAS"}
1
+ {"version":3,"file":"get-sized.d.cts","names":[],"sources":["../src/get-sized.ts"],"mappings":";;UAyBiB;EACf;EACA;EACA;EACA;EACA;;;;;;;;;cAUW,WACX,KAAK,YACL,UAAS;;;;;;;;cAyBE,uBACX,KAAK,YACL,UAAS;;;;;;;cAqBE,iBAAkB,sDAAgB;;;;;;;;cAUlC,YACX,KAAK,YACL,UAAS;;;;;;;cAwBE,cAAe,KAAK;KAErB,mBAAmB;EAC7B;;;;;;;;;cAUW,YAAa,KAAK,YAAY,UAAS"}
@@ -1,4 +1,4 @@
1
- import { t as TokenValue } from "./token-value-DV6eTPCJ.mjs";
1
+ import { t as TokenInput } from "./token-value-sAa1meMz.mjs";
2
2
  //#region src/get-sized.d.ts
3
3
  interface GetSizedOptions {
4
4
  scale?: number;
@@ -14,7 +14,7 @@ interface GetSizedOptions {
14
14
  * @param options - The scale to use
15
15
  * @returns The size number
16
16
  */
17
- declare const getSized: (val: TokenValue, options?: GetSizedOptions) => number;
17
+ declare const getSized: (val: TokenInput, options?: GetSizedOptions) => number;
18
18
  /**
19
19
  * Get the font size number from a token value or number value and a scale
20
20
  *
@@ -22,14 +22,14 @@ declare const getSized: (val: TokenValue, options?: GetSizedOptions) => number;
22
22
  * @param options - The scale to use
23
23
  * @returns The font size number
24
24
  */
25
- declare const getSizeFromFontSized: (val: TokenValue, options?: GetSizedOptions) => number;
25
+ declare const getSizeFromFontSized: (val: TokenInput, options?: GetSizedOptions) => number;
26
26
  /**
27
27
  * Map a numeric font size to the nearest size token.
28
28
  *
29
29
  * @param fontSize - The font size in pixels
30
30
  * @returns The nearest size token
31
31
  */
32
- declare const fontSizeToSize: (fontSize: number) => number | `$${string}` | `$${number}` | import("@tamagui/core").UnionableString | `$${string}.${string}` | `$${string}.${number}`;
32
+ declare const fontSizeToSize: (fontSize: number) => number | import("@tamagui/core").UnionableString;
33
33
  /**
34
34
  * Get the space number from a size token value or number value and a scale
35
35
  *
@@ -37,14 +37,14 @@ declare const fontSizeToSize: (fontSize: number) => number | `$${string}` | `$${
37
37
  * @param options - The scale to use
38
38
  * @returns The space number
39
39
  */
40
- declare const getSpaced: (val: TokenValue, options?: GetSizedOptions) => number;
40
+ declare const getSpaced: (val: TokenInput, options?: GetSizedOptions) => number;
41
41
  /**
42
42
  * Map a size token or numeric size to the corresponding space value.
43
43
  *
44
44
  * @param val - The size token or number to use
45
45
  * @returns The space number
46
46
  */
47
- declare const sizeToSpace: (val: TokenValue) => number;
47
+ declare const sizeToSpace: (val: TokenInput) => number;
48
48
  type GetRadiusOptions = GetSizedOptions & {
49
49
  circular?: boolean;
50
50
  };
@@ -55,7 +55,7 @@ type GetRadiusOptions = GetSizedOptions & {
55
55
  * @param options - The options to use
56
56
  * @returns The radius number
57
57
  */
58
- declare const getRadius: (val: TokenValue, options?: GetRadiusOptions) => number;
58
+ declare const getRadius: (val: TokenInput, options?: GetRadiusOptions) => number;
59
59
  //#endregion
60
60
  export { GetRadiusOptions, GetSizedOptions, fontSizeToSize, getRadius, getSizeFromFontSized, getSized, getSpaced, sizeToSpace };
61
61
  //# sourceMappingURL=get-sized.d.mts.map
@@ -1,2 +1,2 @@
1
- import{normalizeTokenValue as e}from"./token-value.mjs";import{getNearestToken as t}from"./get-nearest-token.mjs";import{getTokens as n,getVariableValue as r}from"@tamagui/core";import{isNumber as i}from"@stryke/type-checks/is-number";import{isSet as a}from"@stryke/type-checks/is-set";import{getRadius as o,getSize as s,getSpace as c}from"@tamagui/get-token";const l=(n,r={})=>{let o=n?e(n):`$true`;if(i(o)){if(!r.shift&&!r.bounds)return o*(a(r.scale)?r.scale:1);o=r.nearest===!1?o:t(o,`size`)}let c=s(o,r),l=a(r.scale)?r.scale:1;return c.val*l},u=(n,r={})=>{let o=n?e(n):`$true`;if(i(o)){if(!r.shift&&!r.bounds)return o*(a(r.scale)?r.scale:1);o=r.nearest===!1?o:t(o,`size`)}return l(o,r)},d=e=>t(e,`size`),f=(o,s={})=>{let l=o?e(o):`$true`;if(i(l)){if(!s.shift&&!s.bounds)return l*(a(s.scale)?s.scale:1);l=s.nearest===!1?l:t(l,`space`)}let u=a(s.scale)?s.scale:1;if(typeof l==`string`&&!s.shift&&!s.bounds){let e=n({prefixed:!0}).space[l];if(e)return r(e)*u}return c(l,s).val*u},p=e=>f(e),m=(n,r={})=>{if(r.circular)return 1e5;let s=n?e(n):`$true`;if(i(s)){if(!r.shift&&!r.bounds)return s*(a(r.scale)?r.scale:1);s=r.nearest===!1?s:t(s,`radius`)}let c=o(s,r),l=a(r.scale)?r.scale:1;return c.val*l};export{d as fontSizeToSize,m as getRadius,u as getSizeFromFontSized,l as getSized,f as getSpaced,p as sizeToSpace};
1
+ import{normalizeTokenValue as e}from"./token-value.mjs";import{getNearestToken as t}from"./get-nearest-token.mjs";import{getTokenRelative as n}from"./get-token-relative.mjs";import{isNumber as r}from"@stryke/type-checks/is-number";import{isSet as i}from"@stryke/type-checks/is-set";const a=(a,o={})=>{let s=a?e(a):`true`;if(r(s)){if(!o.shift&&!o.bounds)return s*(i(o.scale)?o.scale:1);s=o.nearest===!1?s:t(s,`size`)}let c=n(`size`,String(s),o),l=i(o.scale)?o.scale:1;return Number(c?.val)*l},o=(n,o={})=>{let s=n?e(n):`true`;if(r(s)){if(!o.shift&&!o.bounds)return s*(i(o.scale)?o.scale:1);s=o.nearest===!1?s:t(s,`size`)}return a(s,o)},s=e=>t(e,`size`),c=(a,o={})=>{let s=a?e(a):`true`;if(r(s)){if(!o.shift&&!o.bounds)return s*(i(o.scale)?o.scale:1);s=o.nearest===!1?s:t(s,`space`)}let c=n(`space`,String(s),o),l=i(o.scale)?o.scale:1;return Number(c?.val)*l},l=e=>c(e),u=(a,o={})=>{if(o.circular)return 1e5;let s=a?e(a):`true`;if(r(s)){if(!o.shift&&!o.bounds)return s*(i(o.scale)?o.scale:1);s=o.nearest===!1?s:t(s,`radius`)}let c=n(`radius`,String(s),o),l=i(o.scale)?o.scale:1;return Number(c?.val)*l};export{s as fontSizeToSize,u as getRadius,o as getSizeFromFontSized,a as getSized,c as getSpaced,l as sizeToSpace};
2
2
  //# sourceMappingURL=get-sized.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-sized.mjs","names":[],"sources":[],"mappings":""}
1
+ {"version":3,"file":"get-sized.mjs","names":["getSized","value","val","normalizeTokenValue","isNumber","options","isSet","getNearestToken","size","getTokenRelative","scale","getSizeFromFontSized","fontSizeToSize","fontSize","getSpaced","space","sizeToSpace","getRadius","radius"],"sources":[],"mappings":""}
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@tamagui/core");const t={},n={},r=(e,r,i)=>{if(!t[e]){let i=Object.keys(r).sort((e,t)=>Number(r[e].val)-Number(r[t].val));t[e]=i,n[e]=i.filter(e=>!e.endsWith(`.5`))}return(i?n:t)[e]},i=(t,n,i={})=>{let a=(0,e.getTokens)()[t],o=(0,e.isVariable)(n)?String(n.key).replace(/^\$/,``):n.replace(/^\$/,``);if(!i.shift&&!i.bounds&&o in a)return a[o];let s=r(t,a,i.excludeHalfSteps),c=i.bounds?.[0]??0,l=i.bounds?.[1]??s.length-1;return a[s[Math.min(l,Math.max(c,s.indexOf(o)+(i.shift??0)))]]};exports.getTokenRelative=i;
@@ -0,0 +1,25 @@
1
+ import { Variable } from "@tamagui/core";
2
+ //#region src/get-token-relative.d.ts
3
+ type TokenRelativeType = "size" | "space" | "radius" | "zIndex";
4
+ interface GetTokenRelativeOptions {
5
+ shift?: number;
6
+ bounds?: [number] | [number, number];
7
+ excludeHalfSteps?: boolean;
8
+ }
9
+ /**
10
+ * Resolve a token and optionally step up or down its scale.
11
+ *
12
+ * @remarks
13
+ * Tamagui v3's `@tamagui/get-token` only performs a same-key lookup. This
14
+ * restores the v2 `shift`, `bounds` and `excludeHalfSteps` behavior against
15
+ * v3's unprefixed token keys.
16
+ *
17
+ * @param type - The token scale to read
18
+ * @param current - The token key (with or without `$`) or token variable
19
+ * @param options - The relative step options
20
+ * @returns The resolved token variable, or `undefined` when none matches
21
+ */
22
+ declare const getTokenRelative: (type: TokenRelativeType, current: string | Variable, options?: GetTokenRelativeOptions) => Variable<number> | undefined;
23
+ //#endregion
24
+ export { GetTokenRelativeOptions, TokenRelativeType, getTokenRelative };
25
+ //# sourceMappingURL=get-token-relative.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-token-relative.d.cts","names":[],"sources":["../src/get-token-relative.ts"],"mappings":";;KAoBY;UAEK;EACf;EACA;EACA;;;;;;;;;;;;;;;cAoCW,mBACX,MAAM,mBACN,kBAAkB,UAClB,UAAS,4BACR"}
@@ -0,0 +1,25 @@
1
+ import { Variable } from "@tamagui/core";
2
+ //#region src/get-token-relative.d.ts
3
+ type TokenRelativeType = "size" | "space" | "radius" | "zIndex";
4
+ interface GetTokenRelativeOptions {
5
+ shift?: number;
6
+ bounds?: [number] | [number, number];
7
+ excludeHalfSteps?: boolean;
8
+ }
9
+ /**
10
+ * Resolve a token and optionally step up or down its scale.
11
+ *
12
+ * @remarks
13
+ * Tamagui v3's `@tamagui/get-token` only performs a same-key lookup. This
14
+ * restores the v2 `shift`, `bounds` and `excludeHalfSteps` behavior against
15
+ * v3's unprefixed token keys.
16
+ *
17
+ * @param type - The token scale to read
18
+ * @param current - The token key (with or without `$`) or token variable
19
+ * @param options - The relative step options
20
+ * @returns The resolved token variable, or `undefined` when none matches
21
+ */
22
+ declare const getTokenRelative: (type: TokenRelativeType, current: string | Variable, options?: GetTokenRelativeOptions) => Variable<number> | undefined;
23
+ //#endregion
24
+ export { GetTokenRelativeOptions, TokenRelativeType, getTokenRelative };
25
+ //# sourceMappingURL=get-token-relative.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-token-relative.d.mts","names":[],"sources":["../src/get-token-relative.ts"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{getTokens as e,isVariable as t}from"@tamagui/core";const n={},r={},i=(e,t,i)=>{if(!n[e]){let i=Object.keys(t).sort((e,n)=>Number(t[e].val)-Number(t[n].val));n[e]=i,r[e]=i.filter(e=>!e.endsWith(`.5`))}return(i?r:n)[e]},a=(n,r,a={})=>{let o=e()[n],s=t(r)?String(r.key).replace(/^\$/,``):r.replace(/^\$/,``);if(!a.shift&&!a.bounds&&s in o)return o[s];let c=i(n,o,a.excludeHalfSteps),l=a.bounds?.[0]??0,u=a.bounds?.[1]??c.length-1;return o[c[Math.min(u,Math.max(l,c.indexOf(s)+(a.shift??0)))]]};export{a as getTokenRelative};
2
+ //# sourceMappingURL=get-token-relative.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-token-relative.mjs","names":["cacheKeys","cacheWholeKeys","getOrderedKeys","type","sorted","tokens","a","b","key","excludeHalfSteps","getTokenRelative","getTokens","isVariable","current","options","ordered","min","max"],"sources":[],"mappings":""}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./types.cjs"),t=require("./get-nearest-token.cjs"),n=require("./get-font-sized.cjs"),r=require("./form-size.cjs"),i=require("./get-button-sized.cjs"),a=require("./get-colors.cjs"),o=require("./get-sized.cjs");exports.ColorScientificPalette=e.ColorScientificPalette,exports.createScientificPalettes=a.createScientificPalettes,exports.createStylePalettes=a.createStylePalettes,exports.fontSizeToSize=o.fontSizeToSize,exports.formSizeVariants=r.formSizeVariants,exports.getButtonSized=i.getButtonSized,exports.getFontSized=n.getFontSized,exports.getFontSizedFromSize=n.getFontSizedFromSize,exports.getFormFontScale=r.getFormFontScale,exports.getFormFontSize=r.getFormFontSize,exports.getFormSizeScale=r.getFormSizeScale,exports.getFormSizeToken=r.getFormSizeToken,exports.getNearestToken=t.getNearestToken,exports.getRadius=o.getRadius,exports.getSizeFromFontSized=o.getSizeFromFontSized,exports.getSized=o.getSized,exports.getSpaced=o.getSpaced,exports.sizeToSpace=o.sizeToSpace;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./types.cjs"),t=require("./token-value.cjs"),n=require("./get-nearest-token.cjs"),r=require("./get-font-sized.cjs"),i=require("./form-size.cjs"),a=require("./get-token-relative.cjs"),o=require("./get-button-sized.cjs"),s=require("./get-colors.cjs"),c=require("./get-sized.cjs");exports.ColorScientificPalette=e.ColorScientificPalette,exports.createScientificPalettes=s.createScientificPalettes,exports.createStylePalettes=s.createStylePalettes,exports.fontSizeToSize=c.fontSizeToSize,exports.formSizeVariants=i.formSizeVariants,exports.getButtonSized=o.getButtonSized,exports.getFontSized=r.getFontSized,exports.getFontSizedFromSize=r.getFontSizedFromSize,exports.getFormFontScale=i.getFormFontScale,exports.getFormFontSize=i.getFormFontSize,exports.getFormSizeScale=i.getFormSizeScale,exports.getFormSizeToken=i.getFormSizeToken,exports.getNearestToken=n.getNearestToken,exports.getRadius=c.getRadius,exports.getSizeFromFontSized=c.getSizeFromFontSized,exports.getSized=c.getSized,exports.getSpaced=c.getSpaced,exports.getTokenRelative=a.getTokenRelative,exports.normalizeTokenValue=t.normalizeTokenValue,exports.sizeToSpace=c.sizeToSpace;
package/dist/index.d.cts CHANGED
@@ -1,8 +1,10 @@
1
+ import { n as TokenValue, r as normalizeTokenValue, t as TokenInput } from "./token-value-sAa1meMz.cjs";
2
+ import { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, LCHColor, StyleEnv } from "./types.cjs";
1
3
  import { getFontSized, getFontSizedFromSize } from "./get-font-sized.cjs";
2
- import { FormControlSize, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken } from "./form-size.cjs";
4
+ import { FormControlSize, FormSizeVariant, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken } from "./form-size.cjs";
3
5
  import { getButtonSized } from "./get-button-sized.cjs";
4
- import { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, LCHColor } from "./types.cjs";
5
6
  import { createScientificPalettes, createStylePalettes } from "./get-colors.cjs";
6
7
  import { getNearestToken } from "./get-nearest-token.cjs";
7
8
  import { GetRadiusOptions, GetSizedOptions, fontSizeToSize, getRadius, getSizeFromFontSized, getSized, getSpaced, sizeToSpace } from "./get-sized.cjs";
8
- export { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, FormControlSize, GetRadiusOptions, GetSizedOptions, LCHColor, createScientificPalettes, createStylePalettes, fontSizeToSize, formSizeVariants, getButtonSized, getFontSized, getFontSizedFromSize, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken, getNearestToken, getRadius, getSizeFromFontSized, getSized, getSpaced, sizeToSpace };
9
+ import { GetTokenRelativeOptions, TokenRelativeType, getTokenRelative } from "./get-token-relative.cjs";
10
+ export { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, FormControlSize, FormSizeVariant, GetRadiusOptions, GetSizedOptions, GetTokenRelativeOptions, LCHColor, StyleEnv, TokenInput, TokenRelativeType, TokenValue, createScientificPalettes, createStylePalettes, fontSizeToSize, formSizeVariants, getButtonSized, getFontSized, getFontSizedFromSize, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken, getNearestToken, getRadius, getSizeFromFontSized, getSized, getSpaced, getTokenRelative, normalizeTokenValue, sizeToSpace };
package/dist/index.d.mts CHANGED
@@ -1,8 +1,10 @@
1
+ import { n as TokenValue, r as normalizeTokenValue, t as TokenInput } from "./token-value-sAa1meMz.mjs";
2
+ import { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, LCHColor, StyleEnv } from "./types.mjs";
1
3
  import { getFontSized, getFontSizedFromSize } from "./get-font-sized.mjs";
2
- import { FormControlSize, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken } from "./form-size.mjs";
4
+ import { FormControlSize, FormSizeVariant, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken } from "./form-size.mjs";
3
5
  import { getButtonSized } from "./get-button-sized.mjs";
4
- import { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, LCHColor } from "./types.mjs";
5
6
  import { createScientificPalettes, createStylePalettes } from "./get-colors.mjs";
6
7
  import { getNearestToken } from "./get-nearest-token.mjs";
7
8
  import { GetRadiusOptions, GetSizedOptions, fontSizeToSize, getRadius, getSizeFromFontSized, getSized, getSpaced, sizeToSpace } from "./get-sized.mjs";
8
- export { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, FormControlSize, GetRadiusOptions, GetSizedOptions, LCHColor, createScientificPalettes, createStylePalettes, fontSizeToSize, formSizeVariants, getButtonSized, getFontSized, getFontSizedFromSize, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken, getNearestToken, getRadius, getSizeFromFontSized, getSized, getSpaced, sizeToSpace };
9
+ import { GetTokenRelativeOptions, TokenRelativeType, getTokenRelative } from "./get-token-relative.mjs";
10
+ export { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, FormControlSize, FormSizeVariant, GetRadiusOptions, GetSizedOptions, GetTokenRelativeOptions, LCHColor, StyleEnv, TokenInput, TokenRelativeType, TokenValue, createScientificPalettes, createStylePalettes, fontSizeToSize, formSizeVariants, getButtonSized, getFontSized, getFontSizedFromSize, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken, getNearestToken, getRadius, getSizeFromFontSized, getSized, getSpaced, getTokenRelative, normalizeTokenValue, sizeToSpace };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{ColorScientificPalette as e}from"./types.mjs";import{getNearestToken as t}from"./get-nearest-token.mjs";import{getFontSized as n,getFontSizedFromSize as r}from"./get-font-sized.mjs";import{formSizeVariants as i,getFormFontScale as a,getFormFontSize as o,getFormSizeScale as s,getFormSizeToken as c}from"./form-size.mjs";import{getButtonSized as l}from"./get-button-sized.mjs";import{createScientificPalettes as u,createStylePalettes as d}from"./get-colors.mjs";import{fontSizeToSize as f,getRadius as p,getSizeFromFontSized as m,getSized as h,getSpaced as g,sizeToSpace as _}from"./get-sized.mjs";export{e as ColorScientificPalette,u as createScientificPalettes,d as createStylePalettes,f as fontSizeToSize,i as formSizeVariants,l as getButtonSized,n as getFontSized,r as getFontSizedFromSize,a as getFormFontScale,o as getFormFontSize,s as getFormSizeScale,c as getFormSizeToken,t as getNearestToken,p as getRadius,m as getSizeFromFontSized,h as getSized,g as getSpaced,_ as sizeToSpace};
1
+ import{ColorScientificPalette as e}from"./types.mjs";import{normalizeTokenValue as t}from"./token-value.mjs";import{getNearestToken as n}from"./get-nearest-token.mjs";import{getFontSized as r,getFontSizedFromSize as i}from"./get-font-sized.mjs";import{formSizeVariants as a,getFormFontScale as o,getFormFontSize as s,getFormSizeScale as c,getFormSizeToken as l}from"./form-size.mjs";import{getTokenRelative as u}from"./get-token-relative.mjs";import{getButtonSized as d}from"./get-button-sized.mjs";import{createScientificPalettes as f,createStylePalettes as p}from"./get-colors.mjs";import{fontSizeToSize as m,getRadius as h,getSizeFromFontSized as g,getSized as _,getSpaced as v,sizeToSpace as y}from"./get-sized.mjs";export{e as ColorScientificPalette,f as createScientificPalettes,p as createStylePalettes,m as fontSizeToSize,a as formSizeVariants,d as getButtonSized,r as getFontSized,i as getFontSizedFromSize,o as getFormFontScale,s as getFormFontSize,c as getFormSizeScale,l as getFormSizeToken,n as getNearestToken,h as getRadius,g as getSizeFromFontSized,_ as getSized,v as getSpaced,u as getTokenRelative,t as normalizeTokenValue,y as sizeToSpace};
@@ -7,13 +7,20 @@
7
7
  * Tailwind's bracket syntax (`"[12px]"`, `"[1.5rem]"`).
8
8
  */
9
9
  type TokenValue = number | string;
10
+ /**
11
+ * A helper input: a {@link TokenValue} or Tamagui v3's boolean `true`, which
12
+ * selects the default size.
13
+ */
14
+ type TokenInput = TokenValue | boolean;
10
15
  /**
11
16
  * Normalize a Tailwind-style token value for Tamagui's token lookup.
12
17
  *
13
18
  * Bare keys are token names, never pixel values: `"4"` resolves the `4`
14
- * token. A literal length must use Tailwind's explicit bracket form.
19
+ * token. A literal length must use Tailwind's explicit bracket form. Tamagui
20
+ * v3 keys its token maps without the `$` sigil, so a legacy `$`-prefixed key
21
+ * is returned bare.
15
22
  */
16
- declare function normalizeTokenValue(value: TokenValue): TokenValue;
23
+ declare function normalizeTokenValue(value: TokenInput): TokenValue;
17
24
  //#endregion
18
- export { normalizeTokenValue as n, TokenValue as t };
19
- //# sourceMappingURL=token-value-DV6eTPCJ.d.cts.map
25
+ export { TokenValue as n, normalizeTokenValue as r, TokenInput as t };
26
+ //# sourceMappingURL=token-value-sAa1meMz.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-value-sAa1meMz.d.cts","names":[],"sources":["../src/token-value.ts"],"mappings":";;;;;;;;KAyBY;;;;;KAMA,aAAa;;;;;;;;;iBAaT,oBAAoB,OAAO,aAAa"}
@@ -7,13 +7,20 @@
7
7
  * Tailwind's bracket syntax (`"[12px]"`, `"[1.5rem]"`).
8
8
  */
9
9
  type TokenValue = number | string;
10
+ /**
11
+ * A helper input: a {@link TokenValue} or Tamagui v3's boolean `true`, which
12
+ * selects the default size.
13
+ */
14
+ type TokenInput = TokenValue | boolean;
10
15
  /**
11
16
  * Normalize a Tailwind-style token value for Tamagui's token lookup.
12
17
  *
13
18
  * Bare keys are token names, never pixel values: `"4"` resolves the `4`
14
- * token. A literal length must use Tailwind's explicit bracket form.
19
+ * token. A literal length must use Tailwind's explicit bracket form. Tamagui
20
+ * v3 keys its token maps without the `$` sigil, so a legacy `$`-prefixed key
21
+ * is returned bare.
15
22
  */
16
- declare function normalizeTokenValue(value: TokenValue): TokenValue;
23
+ declare function normalizeTokenValue(value: TokenInput): TokenValue;
17
24
  //#endregion
18
- export { normalizeTokenValue as n, TokenValue as t };
19
- //# sourceMappingURL=token-value-DV6eTPCJ.d.mts.map
25
+ export { TokenValue as n, normalizeTokenValue as r, TokenInput as t };
26
+ //# sourceMappingURL=token-value-sAa1meMz.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-value-sAa1meMz.d.mts","names":[],"sources":["../src/token-value.ts"],"mappings":""}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=/^(-?(?:\d+(?:\.\d*)?|\.\d+))(px|rem)?$/i;function t(t){if(typeof t==`number`)return t;let n=/^\[(.*)\]$/.exec(t.trim())?.[1]?.trim();if(n){let t=e.exec(n);if(t){let e=Number(t[1]);return t[2]?.toLowerCase()===`rem`?e*16:e}}return t.startsWith(`$`)?t:`$${t}`}exports.normalizeTokenValue=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=/^(-?(?:\d+(?:\.\d*)?|\.\d+))(px|rem)?$/i;function t(t){if(typeof t==`number`)return t;if(typeof t==`boolean`)return`true`;let n=/^\[(.*)\]$/.exec(t.trim())?.[1]?.trim();if(n){let t=e.exec(n);if(t){let e=Number(t[1]);return t[2]?.toLowerCase()===`rem`?e*16:e}}return t.startsWith(`$`)?t.slice(1):t}exports.normalizeTokenValue=t;
@@ -1,2 +1,2 @@
1
- import { n as normalizeTokenValue, t as TokenValue } from "./token-value-DV6eTPCJ.cjs";
2
- export { TokenValue, normalizeTokenValue };
1
+ import { n as TokenValue, r as normalizeTokenValue, t as TokenInput } from "./token-value-sAa1meMz.cjs";
2
+ export { TokenInput, TokenValue, normalizeTokenValue };
@@ -1,2 +1,2 @@
1
- import { n as normalizeTokenValue, t as TokenValue } from "./token-value-DV6eTPCJ.mjs";
2
- export { TokenValue, normalizeTokenValue };
1
+ import { n as TokenValue, r as normalizeTokenValue, t as TokenInput } from "./token-value-sAa1meMz.mjs";
2
+ export { TokenInput, TokenValue, normalizeTokenValue };
@@ -1,2 +1,2 @@
1
- const e=/^(-?(?:\d+(?:\.\d*)?|\.\d+))(px|rem)?$/i;function t(t){if(typeof t==`number`)return t;let n=/^\[(.*)\]$/.exec(t.trim())?.[1]?.trim();if(n){let t=e.exec(n);if(t){let e=Number(t[1]);return t[2]?.toLowerCase()===`rem`?e*16:e}}return t.startsWith(`$`)?t:`$${t}`}export{t as normalizeTokenValue};
1
+ const e=/^(-?(?:\d+(?:\.\d*)?|\.\d+))(px|rem)?$/i;function t(t){if(typeof t==`number`)return t;if(typeof t==`boolean`)return`true`;let n=/^\[(.*)\]$/.exec(t.trim())?.[1]?.trim();if(n){let t=e.exec(n);if(t){let e=Number(t[1]);return t[2]?.toLowerCase()===`rem`?e*16:e}}return t.startsWith(`$`)?t.slice(1):t}export{t as normalizeTokenValue};
2
2
  //# sourceMappingURL=token-value.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-value.mjs","names":[],"sources":[],"mappings":""}
1
+ {"version":3,"file":"token-value.mjs","names":["ARBITRARY_DIMENSION","normalizeTokenValue","value","arbitraryValue","dimension","numericValue"],"sources":[],"mappings":""}
package/dist/types.d.cts CHANGED
@@ -1,5 +1,19 @@
1
+ import { Font, FontFamilyTokens, TokensParsed } from "@tamagui/core";
1
2
  import { Color } from "chroma-js";
2
3
  //#region src/types.d.ts
4
+ /**
5
+ * The subset of Tamagui v3's `styled.dynamic` environment these helpers read.
6
+ *
7
+ * @remarks
8
+ * Tamagui does not export its `StyledDynamicEnv` type; the environment it
9
+ * passes to `styled.dynamic` callbacks and `.resolve` resolvers is a superset
10
+ * of this shape. Unlike v2 variant extras, it never carries component props.
11
+ */
12
+ interface StyleEnv {
13
+ tokens?: TokensParsed;
14
+ font?: Font;
15
+ fontFamily?: FontFamilyTokens;
16
+ }
3
17
  type ColorScientificPalette = "surrounding" | "analogous" | "triadic" | "tetradic" | "complementary" | "splitComplementary";
4
18
  declare const ColorScientificPalette: {
5
19
  SURROUNDING: ColorScientificPalette;
@@ -18,5 +32,5 @@ interface LCHColor {
18
32
  type ColorScientificPaletteRecord = Record<ColorScientificPalette, Color[]>;
19
33
  type ColorStylePaletteRecord = Record<ColorScientificPalette, string[]>;
20
34
  //#endregion
21
- export { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, LCHColor };
35
+ export { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, LCHColor, StyleEnv };
22
36
  //# sourceMappingURL=types.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","names":[],"sources":["../src/types.ts"],"mappings":";;KAoBY;cAQC;EACmB,aAAA;EACJ,WAAA;EACJ,SAAA;EACE,UAAA;EACU,eAAA;EACW,qBAAA;;UAG9B;EACf;EACA;EACA;EACA;;KAGU,+BAA+B,OACzC,wBACA;KAGU,0BAA0B,OAAO"}
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;;;;;;UA6BiB;EACf,SAAS;EACT,OAAO;EACP,aAAa;;KAGH;cAQC;EACmB,aAAA;EACJ,WAAA;EACJ,SAAA;EACE,UAAA;EACU,eAAA;EACW,qBAAA;;UAG9B;EACf;EACA;EACA;EACA;;KAGU,+BAA+B,OACzC,wBACA;KAGU,0BAA0B,OAAO"}
package/dist/types.d.mts CHANGED
@@ -1,5 +1,19 @@
1
+ import { Font, FontFamilyTokens, TokensParsed } from "@tamagui/core";
1
2
  import { Color } from "chroma-js";
2
3
  //#region src/types.d.ts
4
+ /**
5
+ * The subset of Tamagui v3's `styled.dynamic` environment these helpers read.
6
+ *
7
+ * @remarks
8
+ * Tamagui does not export its `StyledDynamicEnv` type; the environment it
9
+ * passes to `styled.dynamic` callbacks and `.resolve` resolvers is a superset
10
+ * of this shape. Unlike v2 variant extras, it never carries component props.
11
+ */
12
+ interface StyleEnv {
13
+ tokens?: TokensParsed;
14
+ font?: Font;
15
+ fontFamily?: FontFamilyTokens;
16
+ }
3
17
  type ColorScientificPalette = "surrounding" | "analogous" | "triadic" | "tetradic" | "complementary" | "splitComplementary";
4
18
  declare const ColorScientificPalette: {
5
19
  SURROUNDING: ColorScientificPalette;
@@ -18,5 +32,5 @@ interface LCHColor {
18
32
  type ColorScientificPaletteRecord = Record<ColorScientificPalette, Color[]>;
19
33
  type ColorStylePaletteRecord = Record<ColorScientificPalette, string[]>;
20
34
  //#endregion
21
- export { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, LCHColor };
35
+ export { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, LCHColor, StyleEnv };
22
36
  //# sourceMappingURL=types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","names":[],"sources":[],"mappings":""}
1
+ {"version":3,"file":"types.mjs","names":["ColorScientificPalette"],"sources":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyclone-ui/helpers",
3
- "version": "0.3.5",
3
+ "version": "0.3.6",
4
4
  "private": false,
5
5
  "description": "A repository containing the core front-end components used by Storm Software across many platforms",
6
6
  "repository": {
@@ -108,6 +108,20 @@
108
108
  "default": "./dist/get-sized.mjs"
109
109
  }
110
110
  },
111
+ "./get-token-relative": {
112
+ "require": {
113
+ "types": "./dist/get-token-relative.d.cts",
114
+ "default": "./dist/get-token-relative.cjs"
115
+ },
116
+ "import": {
117
+ "types": "./dist/get-token-relative.d.mts",
118
+ "default": "./dist/get-token-relative.mjs"
119
+ },
120
+ "default": {
121
+ "types": "./dist/get-token-relative.d.mts",
122
+ "default": "./dist/get-token-relative.mjs"
123
+ }
124
+ },
111
125
  "./package.json": "./package.json",
112
126
  "./token-value": {
113
127
  "require": {
@@ -141,11 +155,10 @@
141
155
  "main": "./dist/index.cjs",
142
156
  "types": "./dist/index.d.cts",
143
157
  "dependencies": {
144
- "@stryke/type-checks": "^0.6.48",
145
- "@stryke/types": "^0.12.43",
146
- "@tamagui/constants": "^2.7.7",
147
- "@tamagui/core": "^2.7.7",
148
- "@tamagui/get-token": "^2.7.7",
158
+ "@stryke/type-checks": "^0.6.49",
159
+ "@stryke/types": "^0.12.44",
160
+ "@tamagui/constants": "3.0.0-beta.1422.1",
161
+ "@tamagui/core": "3.0.0-beta.1422.1",
149
162
  "chroma-js": "^2.6.0"
150
163
  },
151
164
  "devDependencies": {
@@ -156,5 +169,5 @@
156
169
  },
157
170
  "publishConfig": { "access": "public" },
158
171
  "module": "./dist/index.mjs",
159
- "gitHead": "c768933eb1607d9614dbcf8df2a37d4f7ea1c169"
172
+ "gitHead": "412579df17e67065159aa56be66d968e19429eea"
160
173
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-value-DV6eTPCJ.d.cts","names":[],"sources":["../src/token-value.ts"],"mappings":";;;;;;;;KAyBY;;;;;;;iBAWI,oBAAoB,OAAO,aAAa"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-value-DV6eTPCJ.d.mts","names":[],"sources":["../src/token-value.ts"],"mappings":""}