@cyclone-ui/helpers 0.3.3 → 0.3.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/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  # Changelog for Cyclone UI - Helpers
4
4
 
5
+ ## [0.3.4](https://github.com/storm-software/cyclone-ui/releases/tag/helpers%400.3.4) (09/13/2026)
6
+
7
+ ### Updated Dependencies
8
+
9
+ - Updated **themes** to **v0.3.4**
10
+
11
+ ## [0.3.3](https://github.com/storm-software/cyclone-ui/releases/tag/helpers%400.3.3) (09/11/2026)
12
+
13
+ ### Updated Dependencies
14
+
15
+ - Updated **themes** to **v0.3.3**
16
+
5
17
  ## [0.3.2](https://github.com/storm-software/cyclone-ui/releases/tag/helpers%400.3.2) (09/06/2026)
6
18
 
7
19
  ### Updated Dependencies
@@ -0,0 +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;
@@ -0,0 +1,28 @@
1
+ import { getFontSized } from "./get-font-sized.cjs";
2
+ import { VariantSpreadExtras } from "@tamagui/core";
3
+ //#region src/form-size.d.ts
4
+ /** The public size contract shared by form controls and field state. */
5
+ type FormControlSize = "sm" | "md" | "lg";
6
+ declare const getFormSizeToken: (size?: FormControlSize, kind?: "control" | "compact") => "$8xl" | "$10xl" | "$12xl" | "$4xl" | "$6xl" | "$7xl";
7
+ /** Scale supplementary geometry without changing the medium baseline. */
8
+ declare const getFormSizeScale: (size?: FormControlSize) => number;
9
+ /** Text scales more gently than control height to keep labels readable. */
10
+ declare const getFormFontScale: (size?: FormControlSize) => number;
11
+ /**
12
+ * Retain each typography role's medium font, weight and line height.
13
+ *
14
+ * @param size - The form control size.
15
+ * @param extras - Additional variant spread extras.
16
+ * @param token - The font size token to use.
17
+ * @returns The computed font size style object.
18
+ */
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
+ };
26
+ //#endregion
27
+ export { FormControlSize, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken };
28
+ //# sourceMappingURL=form-size.d.cts.map
@@ -0,0 +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"}
@@ -0,0 +1,28 @@
1
+ import { getFontSized } from "./get-font-sized.mjs";
2
+ import { VariantSpreadExtras } from "@tamagui/core";
3
+ //#region src/form-size.d.ts
4
+ /** The public size contract shared by form controls and field state. */
5
+ type FormControlSize = "sm" | "md" | "lg";
6
+ declare const getFormSizeToken: (size?: FormControlSize, kind?: "control" | "compact") => "$8xl" | "$10xl" | "$12xl" | "$4xl" | "$6xl" | "$7xl";
7
+ /** Scale supplementary geometry without changing the medium baseline. */
8
+ declare const getFormSizeScale: (size?: FormControlSize) => number;
9
+ /** Text scales more gently than control height to keep labels readable. */
10
+ declare const getFormFontScale: (size?: FormControlSize) => number;
11
+ /**
12
+ * Retain each typography role's medium font, weight and line height.
13
+ *
14
+ * @param size - The form control size.
15
+ * @param extras - Additional variant spread extras.
16
+ * @param token - The font size token to use.
17
+ * @returns The computed font size style object.
18
+ */
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
+ };
26
+ //#endregion
27
+ export { FormControlSize, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken };
28
+ //# sourceMappingURL=form-size.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-size.d.mts","names":[],"sources":["../src/form-size.ts"],"mappings":""}
@@ -0,0 +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};
2
+ //# sourceMappingURL=form-size.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-size.mjs","names":[],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));const c=require("./types.cjs");let l=require("chroma-js");l=s(l,1);const u={[c.ColorScientificPalette.SURROUNDING]:[330,0,30],[c.ColorScientificPalette.ANALOGOUS]:[60,0,30],[c.ColorScientificPalette.TRIADIC]:[240,0,120],[c.ColorScientificPalette.TETRADIC]:[0,90,180,270],[c.ColorScientificPalette.COMPLEMENTARY]:[0,180],[c.ColorScientificPalette.SPLIT_COMPLEMENTARY]:[210,0,150]},d=new Map,f=e=>{if(d.has(e))return d.get(e);let t=(0,l.default)(e).get(`oklch.h`),n=Object.keys(u).reduce((n,r)=>(n[r]=u[r].map(n=>{let r=t+n;return r<0&&(r+=Math.ceil(-r/360)*360),(0,l.default)(e).set(`oklch.h`,r%360)}),n),{});return d.set(e,n),n},p=new Map,m=(e,t)=>{if(p.has(e))return p.get(e);let n=Object.entries(f(e)).reduce((e,[n,r])=>(e[n]=l.default.scale(r).mode(`hsl`).colors(t??(n===c.ColorScientificPalette.COMPLEMENTARY?2:n===c.ColorScientificPalette.TETRADIC?4:3)).map(e=>(0,l.default)(e).css(`hsl`)),e),{});return p.set(e,n),n};exports.createScientificPalettes=f,exports.createStylePalettes=m;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));const c=require("./types.cjs");let l=require("chroma-js");l=s(l,1);const u={[c.ColorScientificPalette.SURROUNDING]:[330,0,30],[c.ColorScientificPalette.ANALOGOUS]:[60,0,30],[c.ColorScientificPalette.TRIADIC]:[240,0,120],[c.ColorScientificPalette.TETRADIC]:[0,90,180,270],[c.ColorScientificPalette.COMPLEMENTARY]:[0,180],[c.ColorScientificPalette.SPLIT_COMPLEMENTARY]:[210,0,150]},d=/* @__PURE__ */ new Map,f=e=>{if(d.has(e))return d.get(e);let t=(0,l.default)(e).get(`oklch.h`),n=Object.keys(u).reduce((n,r)=>(n[r]=u[r].map(n=>{let r=t+n;return r<0&&(r+=Math.ceil(-r/360)*360),(0,l.default)(e).set(`oklch.h`,r%360)}),n),{});return d.set(e,n),n},p=/* @__PURE__ */ new Map,m=(e,t)=>{if(p.has(e))return p.get(e);let n=Object.entries(f(e)).reduce((e,[n,r])=>(e[n]=l.default.scale(r).mode(`hsl`).colors(t??(n===c.ColorScientificPalette.COMPLEMENTARY?2:n===c.ColorScientificPalette.TETRADIC?4:3)).map(e=>(0,l.default)(e).css(`hsl`)),e),{});return p.set(e,n),n};exports.createScientificPalettes=f,exports.createStylePalettes=m;
@@ -1,2 +1,2 @@
1
- import{ColorScientificPalette as e}from"./types.mjs";import t from"chroma-js";const n={[e.SURROUNDING]:[330,0,30],[e.ANALOGOUS]:[60,0,30],[e.TRIADIC]:[240,0,120],[e.TETRADIC]:[0,90,180,270],[e.COMPLEMENTARY]:[0,180],[e.SPLIT_COMPLEMENTARY]:[210,0,150]},r=new Map,i=e=>{if(r.has(e))return r.get(e);let i=t(e).get(`oklch.h`),a=Object.keys(n).reduce((r,a)=>(r[a]=n[a].map(n=>{let r=i+n;return r<0&&(r+=Math.ceil(-r/360)*360),t(e).set(`oklch.h`,r%360)}),r),{});return r.set(e,a),a},a=new Map,o=(n,r)=>{if(a.has(n))return a.get(n);let o=Object.entries(i(n)).reduce((n,[i,a])=>(n[i]=t.scale(a).mode(`hsl`).colors(r??(i===e.COMPLEMENTARY?2:i===e.TETRADIC?4:3)).map(e=>t(e).css(`hsl`)),n),{});return a.set(n,o),o};export{i as createScientificPalettes,o as createStylePalettes};
1
+ import{ColorScientificPalette as e}from"./types.mjs";import t from"chroma-js";const n={[e.SURROUNDING]:[330,0,30],[e.ANALOGOUS]:[60,0,30],[e.TRIADIC]:[240,0,120],[e.TETRADIC]:[0,90,180,270],[e.COMPLEMENTARY]:[0,180],[e.SPLIT_COMPLEMENTARY]:[210,0,150]},r=/* @__PURE__ */ new Map,i=e=>{if(r.has(e))return r.get(e);let i=t(e).get(`oklch.h`),a=Object.keys(n).reduce((r,a)=>(r[a]=n[a].map(n=>{let r=i+n;return r<0&&(r+=Math.ceil(-r/360)*360),t(e).set(`oklch.h`,r%360)}),r),{});return r.set(e,a),a},a=/* @__PURE__ */ new Map,o=(n,r)=>{if(a.has(n))return a.get(n);let o=Object.entries(i(n)).reduce((n,[i,a])=>(n[i]=t.scale(a).mode(`hsl`).colors(r??(i===e.COMPLEMENTARY?2:i===e.TETRADIC?4:3)).map(e=>t(e).css(`hsl`)),n),{});return a.set(n,o),o};export{i as createScientificPalettes,o as createStylePalettes};
2
2
  //# sourceMappingURL=get-colors.mjs.map
@@ -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("@stryke/type-checks/is-number"),r=require("@tamagui/core");const i=(t=`$true`,{font:r,fontFamily:i,props:a})=>{let o=e.normalizeTokenValue(t);if(!r)return{fontSize:o};if((0,n.isNumber)(o))return{fontFamily:i,fontSize:o};let c=(o===`$true`?s(r):o)??`$true`,l={},u=r.size[c],d=r.lineHeight?.[c],f=r.weight?.[c],p=r.letterSpacing?.[c],m=r.transform?.[c],h=a.fontStyle??r.style?.[c],g=a.color??r.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=(r=`$true`,a)=>{if(!a.font)return{fontSize:r};let o=e.normalizeTokenValue(r),s=(0,n.isNumber)(o)?t.getNearestToken(o,`size`):o;return i(s,a)},o=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,r.getTokens)().size,n=t.$true,i=n?Object.keys(t).find(e=>e!==`$true`&&t[e].val===n.val):null;return!n||!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,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,2 +1,2 @@
1
- import{normalizeTokenValue as e}from"./token-value.mjs";import{getNearestToken as t}from"./get-nearest-token.mjs";import{isNumber as n}from"@stryke/type-checks/is-number";import{getTokens as r}from"@tamagui/core";const i=(t=`$true`,{font:r,fontFamily:i,props:a})=>{let o=e(t);if(!r)return{fontSize:o};if(n(o))return{fontFamily:i,fontSize:o};let c=(o===`$true`?s(r):o)??`$true`,l={},u=r.size[c],d=r.lineHeight?.[c],f=r.weight?.[c],p=r.letterSpacing?.[c],m=r.transform?.[c],h=a.fontStyle??r.style?.[c],g=a.color??r.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=(r=`$true`,a)=>{if(!a.font)return{fontSize:r};let o=e(r),s=n(o)?t(o,`size`):o;return i(s,a)},o=new WeakMap;function s(e){if(typeof e==`object`&&o.has(e))return o.get(e);let t=`$true`in e.size?e.size:r().size,n=t.$true,i=n?Object.keys(t).find(e=>e!==`$true`&&t[e].val===n.val):null;return!n||!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,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};
2
2
  //# sourceMappingURL=get-font-sized.mjs.map
@@ -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=new Map,a=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)({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,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=new Map,a=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({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};
2
2
  //# sourceMappingURL=get-nearest-token.mjs.map
@@ -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("@stryke/type-checks/is-number"),r=require("@tamagui/get-token"),i=require("@tamagui/core"),a=require("@stryke/type-checks/is-set");const o=(i,o={})=>{let s=i?e.normalizeTokenValue(i):`$true`;if((0,n.isNumber)(s)){if(!o.shift&&!o.bounds)return s*((0,a.isSet)(o.scale)?o.scale:1);s=o.nearest===!1?s:t.getNearestToken(s,`size`)}let c=(0,r.getSize)(s,o),l=(0,a.isSet)(o.scale)?o.scale:1;return c.val*l},s=(r,i={})=>{let s=r?e.normalizeTokenValue(r):`$true`;if((0,n.isNumber)(s)){if(!i.shift&&!i.bounds)return s*((0,a.isSet)(i.scale)?i.scale:1);s=i.nearest===!1?s:t.getNearestToken(s,`size`)}return o(s,i)},c=e=>t.getNearestToken(e,`size`),l=(o,s={})=>{let c=o?e.normalizeTokenValue(o):`$true`;if((0,n.isNumber)(c)){if(!s.shift&&!s.bounds)return c*((0,a.isSet)(s.scale)?s.scale:1);c=s.nearest===!1?c:t.getNearestToken(c,`space`)}let l=(0,a.isSet)(s.scale)?s.scale:1;if(typeof c==`string`&&!s.shift&&!s.bounds){let e=(0,i.getTokens)({prefixed:!0}).space[c];if(e)return(0,i.getVariableValue)(e)*l}return(0,r.getSpace)(c,s).val*l},u=e=>l(e),d=(i,o={})=>{if(o.circular)return 1e5;let s=i?e.normalizeTokenValue(i):`$true`;if((0,n.isNumber)(s)){if(!o.shift&&!o.bounds)return s*((0,a.isSet)(o.scale)?o.scale:1);s=o.nearest===!1?s:t.getNearestToken(s,`radius`)}let c=(0,r.getRadius)(s,o),l=(0,a.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");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,2 +1,2 @@
1
- import{normalizeTokenValue as e}from"./token-value.mjs";import{getNearestToken as t}from"./get-nearest-token.mjs";import{isNumber as n}from"@stryke/type-checks/is-number";import{getRadius as r,getSize as i,getSpace as a}from"@tamagui/get-token";import{getTokens as o,getVariableValue as s}from"@tamagui/core";import{isSet as c}from"@stryke/type-checks/is-set";const l=(r,a={})=>{let o=r?e(r):`$true`;if(n(o)){if(!a.shift&&!a.bounds)return o*(c(a.scale)?a.scale:1);o=a.nearest===!1?o:t(o,`size`)}let s=i(o,a),l=c(a.scale)?a.scale:1;return s.val*l},u=(r,i={})=>{let a=r?e(r):`$true`;if(n(a)){if(!i.shift&&!i.bounds)return a*(c(i.scale)?i.scale:1);a=i.nearest===!1?a:t(a,`size`)}return l(a,i)},d=e=>t(e,`size`),f=(r,i={})=>{let l=r?e(r):`$true`;if(n(l)){if(!i.shift&&!i.bounds)return l*(c(i.scale)?i.scale:1);l=i.nearest===!1?l:t(l,`space`)}let u=c(i.scale)?i.scale:1;if(typeof l==`string`&&!i.shift&&!i.bounds){let e=o({prefixed:!0}).space[l];if(e)return s(e)*u}return a(l,i).val*u},p=e=>f(e),m=(i,a={})=>{if(a.circular)return 1e5;let o=i?e(i):`$true`;if(n(o)){if(!a.shift&&!a.bounds)return o*(c(a.scale)?a.scale:1);o=a.nearest===!1?o:t(o,`radius`)}let s=r(o,a),l=c(a.scale)?a.scale:1;return s.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{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};
2
2
  //# sourceMappingURL=get-sized.mjs.map
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./types.cjs"),t=require("./get-button-sized.cjs"),n=require("./get-colors.cjs"),r=require("./get-nearest-token.cjs"),i=require("./get-font-sized.cjs"),a=require("./get-sized.cjs");exports.ColorScientificPalette=e.ColorScientificPalette,exports.createScientificPalettes=n.createScientificPalettes,exports.createStylePalettes=n.createStylePalettes,exports.fontSizeToSize=a.fontSizeToSize,exports.getButtonSized=t.getButtonSized,exports.getFontSized=i.getFontSized,exports.getFontSizedFromSize=i.getFontSizedFromSize,exports.getNearestToken=r.getNearestToken,exports.getRadius=a.getRadius,exports.getSizeFromFontSized=a.getSizeFromFontSized,exports.getSized=a.getSized,exports.getSpaced=a.getSpaced,exports.sizeToSpace=a.sizeToSpace;
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;
package/dist/index.d.cts CHANGED
@@ -1,7 +1,8 @@
1
+ import { getFontSized, getFontSizedFromSize } from "./get-font-sized.cjs";
2
+ import { FormControlSize, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken } from "./form-size.cjs";
1
3
  import { getButtonSized } from "./get-button-sized.cjs";
2
4
  import { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, LCHColor } from "./types.cjs";
3
5
  import { createScientificPalettes, createStylePalettes } from "./get-colors.cjs";
4
- import { getFontSized, getFontSizedFromSize } from "./get-font-sized.cjs";
5
6
  import { getNearestToken } from "./get-nearest-token.cjs";
6
7
  import { GetRadiusOptions, GetSizedOptions, fontSizeToSize, getRadius, getSizeFromFontSized, getSized, getSpaced, sizeToSpace } from "./get-sized.cjs";
7
- export { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, GetRadiusOptions, GetSizedOptions, LCHColor, createScientificPalettes, createStylePalettes, fontSizeToSize, getButtonSized, getFontSized, getFontSizedFromSize, getNearestToken, getRadius, getSizeFromFontSized, getSized, getSpaced, sizeToSpace };
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 };
package/dist/index.d.mts CHANGED
@@ -1,7 +1,8 @@
1
+ import { getFontSized, getFontSizedFromSize } from "./get-font-sized.mjs";
2
+ import { FormControlSize, formSizeVariants, getFormFontScale, getFormFontSize, getFormSizeScale, getFormSizeToken } from "./form-size.mjs";
1
3
  import { getButtonSized } from "./get-button-sized.mjs";
2
4
  import { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, LCHColor } from "./types.mjs";
3
5
  import { createScientificPalettes, createStylePalettes } from "./get-colors.mjs";
4
- import { getFontSized, getFontSizedFromSize } from "./get-font-sized.mjs";
5
6
  import { getNearestToken } from "./get-nearest-token.mjs";
6
7
  import { GetRadiusOptions, GetSizedOptions, fontSizeToSize, getRadius, getSizeFromFontSized, getSized, getSpaced, sizeToSpace } from "./get-sized.mjs";
7
- export { ColorScientificPalette, ColorScientificPaletteRecord, ColorStylePaletteRecord, GetRadiusOptions, GetSizedOptions, LCHColor, createScientificPalettes, createStylePalettes, fontSizeToSize, getButtonSized, getFontSized, getFontSizedFromSize, getNearestToken, getRadius, getSizeFromFontSized, getSized, getSpaced, sizeToSpace };
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 };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{ColorScientificPalette as e}from"./types.mjs";import{getButtonSized as t}from"./get-button-sized.mjs";import{createScientificPalettes as n,createStylePalettes as r}from"./get-colors.mjs";import{getNearestToken as i}from"./get-nearest-token.mjs";import{getFontSized as a,getFontSizedFromSize as o}from"./get-font-sized.mjs";import{fontSizeToSize as s,getRadius as c,getSizeFromFontSized as l,getSized as u,getSpaced as d,sizeToSpace as f}from"./get-sized.mjs";export{e as ColorScientificPalette,n as createScientificPalettes,r as createStylePalettes,s as fontSizeToSize,t as getButtonSized,a as getFontSized,o as getFontSizedFromSize,i as getNearestToken,c as getRadius,l as getSizeFromFontSized,u as getSized,d as getSpaced,f as sizeToSpace};
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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyclone-ui/helpers",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
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": {
@@ -24,6 +24,20 @@
24
24
  "default": "./dist/index.mjs"
25
25
  }
26
26
  },
27
+ "./form-size": {
28
+ "require": {
29
+ "types": "./dist/form-size.d.cts",
30
+ "default": "./dist/form-size.cjs"
31
+ },
32
+ "import": {
33
+ "types": "./dist/form-size.d.mts",
34
+ "default": "./dist/form-size.mjs"
35
+ },
36
+ "default": {
37
+ "types": "./dist/form-size.d.mts",
38
+ "default": "./dist/form-size.mjs"
39
+ }
40
+ },
27
41
  "./get-button-sized": {
28
42
  "require": {
29
43
  "types": "./dist/get-button-sized.d.cts",
@@ -127,20 +141,20 @@
127
141
  "main": "./dist/index.cjs",
128
142
  "types": "./dist/index.d.cts",
129
143
  "dependencies": {
130
- "@stryke/type-checks": "^0.6.47",
131
- "@stryke/types": "^0.12.42",
144
+ "@stryke/type-checks": "^0.6.48",
145
+ "@stryke/types": "^0.12.43",
132
146
  "@tamagui/constants": "^2.7.7",
133
147
  "@tamagui/core": "^2.7.7",
134
148
  "@tamagui/get-token": "^2.7.7",
135
149
  "chroma-js": "^2.6.0"
136
150
  },
137
151
  "devDependencies": {
138
- "@powerlines/plugin-tamagui": "^0.1.664",
139
- "@powerlines/plugin-tsdown": "^0.1.613",
152
+ "@powerlines/plugin-tamagui": "^0.1.665",
153
+ "@powerlines/plugin-tsdown": "^0.1.614",
140
154
  "@types/chroma-js": "^2.4.5",
141
- "powerlines": "^0.47.212"
155
+ "powerlines": "^0.47.213"
142
156
  },
143
157
  "publishConfig": { "access": "public" },
144
158
  "module": "./dist/index.mjs",
145
- "gitHead": "9db5f851b36388d0389803ae12a59a6227b6f657"
159
+ "gitHead": "c768933eb1607d9614dbcf8df2a37d4f7ea1c169"
146
160
  }