tweakit 0.4.3 → 0.4.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/AGENTS.md +163 -0
- package/README.md +56 -0
- package/THIRD-PARTY-NOTICES.md +1 -0
- package/dist/tweaks/{bezier-W6K7LDKM.js → bezier-EIWM4A6M.js} +1 -1
- package/dist/tweaks/chunk-JWHF6V72.js +1 -0
- package/dist/tweaks/chunk-NB4K6RS2.js +1 -0
- package/dist/tweaks/chunk-QPSYEOZS.js +1 -0
- package/dist/tweaks/{clip-7ZYA76G4.js → clip-7QEIBTKZ.js} +1 -1
- package/dist/tweaks/colour-DJHDXBXF.js +1 -0
- package/dist/tweaks/core.js +1 -1
- package/dist/tweaks/{fold-EIXF4KHZ.js → fold-UQORAAPG.js} +1 -1
- package/dist/tweaks/{gradient-7UHCGHF2.js → gradient-IXD2AINY.js} +1 -1
- package/dist/tweaks/{heavy-O4TB6NMH.js → heavy-KPG2LKVX.js} +1 -1
- package/dist/tweaks/image-E7OAWFFK.js +1 -0
- package/dist/tweaks/interval-LPI5MWBB.js +1 -0
- package/dist/tweaks/markup-ZSBV67SW.js +1 -0
- package/dist/tweaks/{monitor-ZDLYLKC4.js → monitor-PEBMH5MH.js} +1 -1
- package/dist/tweaks/{motion-AAMZUKLO.js → motion-QSDSYDKR.js} +1 -1
- package/dist/tweaks/{plot-Z2PJJQOR.js → plot-SFD5OPF6.js} +1 -1
- package/dist/tweaks/point-PK3CZSBO.js +1 -0
- package/dist/tweaks/{shadow-PMJG5SZY.js → shadow-SKTAWRUK.js} +1 -1
- package/dist/tweaks/sides-RVC5PQY3.js +1 -0
- package/dist/tweaks/{spring-CGJCZJ6Q.js → spring-QIVBIUPF.js} +1 -1
- package/dist/tweaks/{tabs-U5XC6JHJ.js → tabs-LB5KTQXF.js} +1 -1
- package/dist/tweaks.css +1 -1
- package/dist/tweaks.js +3 -3
- package/dist/types/tweaks/schema.d.ts +4 -3
- package/dist/types/tweaks/types.d.ts +24 -7
- package/package.json +3 -2
- package/dist/tweaks/chunk-36FYZSWP.js +0 -1
- package/dist/tweaks/chunk-R7BLRFON.js +0 -1
- package/dist/tweaks/chunk-X5DD246E.js +0 -1
- package/dist/tweaks/colour-5W24RKYH.js +0 -1
- package/dist/tweaks/image-XHCPC5OK.js +0 -1
- package/dist/tweaks/interval-D6SSAQB4.js +0 -1
- package/dist/tweaks/point-44JV524M.js +0 -1
- package/dist/tweaks/sides-JITGW2AD.js +0 -1
|
@@ -55,6 +55,8 @@ interface Meta {
|
|
|
55
55
|
view?: "graph" | "text";
|
|
56
56
|
interval?: number;
|
|
57
57
|
decimals?: number;
|
|
58
|
+
maxSize?: number;
|
|
59
|
+
upload?: boolean;
|
|
58
60
|
action?: () => void;
|
|
59
61
|
buttons?: Record<string, () => void> | Array<{
|
|
60
62
|
label: string;
|
|
@@ -70,9 +72,8 @@ declare const hasOwn: <T extends object>(o: T, k: PropertyKey) => k is keyof T;
|
|
|
70
72
|
declare const isReservedKey: (k: string) => k is "__proto__" | "constructor" | "prototype";
|
|
71
73
|
declare const valueChanged: (a: unknown, b: unknown) => boolean;
|
|
72
74
|
declare const restoreDefault: (ctrl: Pick<Control, "set">, raw: unknown, def: unknown) => void;
|
|
75
|
+
declare const SPRING_KEYS: string[];
|
|
73
76
|
declare const TYPED_META: Partial<Record<SchemaObject["type"], (v: any, depth: number) => MetaFields>>;
|
|
74
77
|
declare const VALUELESS: Set<string>;
|
|
75
|
-
|
|
76
|
-
declare const dataMeta: (host: HTMLElement) => Meta;
|
|
77
|
-
export { metaFor, dataMeta, valueChanged, restoreDefault, hasOwn, isReservedKey, VALUELESS, TYPED_META, DATA_VALUE };
|
|
78
|
+
export { metaFor, valueChanged, restoreDefault, hasOwn, isReservedKey, VALUELESS, TYPED_META, SPRING_KEYS };
|
|
78
79
|
export type { Meta, TabPage, PointComponent };
|
|
@@ -17,7 +17,7 @@ export type GradientInterpolation = "srgb" | "hsl" | "hwb" | "oklch" | "oklab" |
|
|
|
17
17
|
* `[top, horizontal, bottom]` or `[top, right, bottom, left]` (CSS order); a CSS shorthand
|
|
18
18
|
* string like `"8px 16px"` (the numbers are read in the control's unit); or any subset of
|
|
19
19
|
* the four as an object. With `corners: true` the four are the corners from top-left round,
|
|
20
|
-
* the same CSS order, under the same keys. */
|
|
20
|
+
* the same CSS order, under the same keys, and they floor at 0 unless `min` says otherwise. */
|
|
21
21
|
export type SidesInput = number | number[] | string | {
|
|
22
22
|
top?: number;
|
|
23
23
|
right?: number;
|
|
@@ -249,6 +249,15 @@ export type SchemaObject = {
|
|
|
249
249
|
} | {
|
|
250
250
|
type: "image";
|
|
251
251
|
value?: string;
|
|
252
|
+
/** Supplied images to pick from, as URLs or `{ value, label }`. The control becomes a gallery of
|
|
253
|
+
* tiles with the upload below them, and the param is the chosen URL or the upload's data URL. */
|
|
254
|
+
options?: Option[];
|
|
255
|
+
/** Tiles per row in the gallery, 1 to 4 (2 for up to four options, then 3). */
|
|
256
|
+
cols?: number;
|
|
257
|
+
/** The largest upload taken, in bytes (10 MB unless set); a bigger file is refused with a note. */
|
|
258
|
+
maxSize?: number;
|
|
259
|
+
/** `false` leaves the upload button out of a gallery: the options are the whole choice. */
|
|
260
|
+
upload?: boolean;
|
|
252
261
|
} | {
|
|
253
262
|
type: "button";
|
|
254
263
|
action: () => void;
|
|
@@ -329,6 +338,16 @@ export interface SetOptions {
|
|
|
329
338
|
silent?: boolean;
|
|
330
339
|
}
|
|
331
340
|
/** Panel options (third arg to `tweaks()`). */
|
|
341
|
+
/** The corner a floating panel anchors to. */
|
|
342
|
+
export type FloatingCorner = "top-left" | "top-right" | "bottom-left" | "bottom-right";
|
|
343
|
+
/** Where a floating panel starts: `x` / `y` are its insets in px (16 by default) from the two
|
|
344
|
+
* edges of `corner` (top-left by default), and it keeps that corner as the window resizes.
|
|
345
|
+
* The far edge keeps a gap of `y` when the height caps; CSS `--tw-float-gap` overrides it. */
|
|
346
|
+
export interface FloatingPlacement {
|
|
347
|
+
x?: number;
|
|
348
|
+
y?: number;
|
|
349
|
+
corner?: FloatingCorner;
|
|
350
|
+
}
|
|
332
351
|
export interface TweaksOptions {
|
|
333
352
|
/** Theme overrides (friendly names or raw `--tw-*`); `null` / omitted = default monochrome. */
|
|
334
353
|
theme?: Theme | null;
|
|
@@ -339,11 +358,9 @@ export interface TweaksOptions {
|
|
|
339
358
|
presets?: boolean;
|
|
340
359
|
/** Add a filter/search field to the toolbar. */
|
|
341
360
|
filter?: boolean;
|
|
342
|
-
/** Start the panel already floated (fixed-positioned): `true` → top-left, or
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
y: number;
|
|
346
|
-
};
|
|
361
|
+
/** Start the panel already floated (fixed-positioned): `true` → 16px from the top-left, or a
|
|
362
|
+
* placement `{ x, y, corner }`. Its height caps at the window and it scrolls, header and all. */
|
|
363
|
+
floating?: boolean | FloatingPlacement;
|
|
347
364
|
/** Drag the header to reposition the panel — on by default. An inline panel lifts into a
|
|
348
365
|
* floating layer on first drag; set `false` to pin it in place. */
|
|
349
366
|
draggable?: boolean;
|
|
@@ -427,7 +444,7 @@ export interface Panel {
|
|
|
427
444
|
* with stays its storage key (`persist: true`), so saved values and presets keep their
|
|
428
445
|
* home across a rename. */
|
|
429
446
|
setName(name: string): void;
|
|
430
|
-
/** Save the current values as a named preset (needs `opts.persist`). */
|
|
447
|
+
/** Save the current values as a named preset (needs `opts.persist`). False when there is nowhere to save it, or storage refused it. */
|
|
431
448
|
savePreset(name: string): boolean;
|
|
432
449
|
/** Load a named preset. */
|
|
433
450
|
loadPreset(name: string): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tweakit",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/tweaks.js",
|
|
6
6
|
"types": "./dist/types/tweaks/core.d.ts",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"scripts": {
|
|
30
30
|
"build": "node build.mjs",
|
|
31
31
|
"test": "node build.mjs && node --test \"test/*.test.mjs\"",
|
|
32
|
-
"prepublishOnly": "
|
|
32
|
+
"prepublishOnly": "npm test",
|
|
33
33
|
"serve": "node build.mjs && python3 -m http.server 4330 --directory dist"
|
|
34
34
|
},
|
|
35
35
|
"exports": {
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"./package.json": "./package.json"
|
|
51
51
|
},
|
|
52
52
|
"files": [
|
|
53
|
+
"/AGENTS.md",
|
|
53
54
|
"dist/tweaks",
|
|
54
55
|
"dist/tweaks.js",
|
|
55
56
|
"dist/tweaks.css",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as ie,f as ot,g as at,i as ue,j as he}from"./chunk-X5DD246E.js";import{C as ce,J as le,Y as Ot,g as m,o as Vt,u as v,w as se}from"./chunk-R7BLRFON.js";var sn=180/Math.PI,Nt=Math.PI/180,V=(t,e)=>[t[0][0]*e[0]+t[0][1]*e[1]+t[0][2]*e[2],t[1][0]*e[0]+t[1][1]*e[1]+t[1][2]*e[2],t[2][0]*e[0]+t[2][1]*e[1]+t[2][2]*e[2]],cn=(t,e)=>{let n=[[0,0,0],[0,0,0],[0,0,0]];for(let o=0;o<3;o++)for(let r=0;r<3;r++)n[o][r]=t[o][0]*e[0][r]+t[o][1]*e[1][r]+t[o][2]*e[2][r];return n},g=t=>Number.isFinite(t)?t:0,ln=(t,e,n)=>Math.min(n,Math.max(e,t)),st=t=>{let e=Math.abs(t);return e<=.04045?t/12.92:Math.sign(t)*((e+.055)/1.055)**2.4},U=t=>{let e=Math.abs(t);return e<=.0031308?t*12.92:Math.sign(t)*(1.055*e**(1/2.4)-.055)},it=1.09929682680944,we=.018053968510807,un=t=>{let e=Math.abs(t);return e<we*4.5?t/4.5:Math.sign(t)*((e+it-1)/it)**(1/.45)},Ce=t=>{let e=Math.abs(t);return e<we?t*4.5:Math.sign(t)*(it*e**.45-(it-1))},ve=1/512,hn=t=>{let e=Math.abs(t);return e<=ve*16?t/16:Math.sign(t)*e**1.8},pn=t=>{let e=Math.abs(t);return e>=ve?Math.sign(t)*e**(1/1.8):16*t},Tt=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],ct=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],bn=[[.4865709486482162,.26566769316909306,.19821728523436247],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],ye=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],mn=[[.6369580483012914,.14461690358620832,.16888097516417205],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],$e=[[1.7166511879712674,-.35567078377639233,-.25336628137365974],[-.6666843518324892,1.6164812366349395,.01576854581391113],[.017639857445310783,-.042770613257808524,.9421031212354738]],dn=[[.7977604896723027,.13518583717574031,.0313493495815248],[.2880711282292934,.7118432178101014,8565396060525902e-20],[0,0,.8251046025104601]],fn=[[1.3457989731028281,-.25558010007997534,-.05110628506753401],[-.5446224939028347,1.5082327413132781,.02053603239147973],[0,0,1.2119675456389454]],Ee=[[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],_e=[[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],gn=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],Se=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],xn=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Ae=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],lt=216/24389,q=24389/27,z=[.3457/.3585,1,(1-.3457-.3585)/.3585],Y=(t,e,n)=>V(n,[e(t[0]),e(t[1]),e(t[2])]),Z=(t,e,n)=>{let o=V(n,t);return[e(o[0]),e(o[1]),e(o[2])]},pe=t=>{let e=V(Ae,t);return V(Se,[e[0]**3,e[1]**3,e[2]**3])},be=t=>{let e=V(gn,t);return V(xn,[Math.cbrt(e[0]),Math.cbrt(e[1]),Math.cbrt(e[2])])};function me(t){let[e,n,o]=t,r=(e+16)/116,a=n/500+r,s=r-o/200,i=a**3>lt?a**3:(116*a-16)/q,h=e>q*lt?r**3:e/q,p=s**3>lt?s**3:(116*s-16)/q;return V(_e,[i*z[0],h*z[1],p*z[2]])}function de(t){let e=V(Ee,t),n=s=>s>lt?Math.cbrt(s):(q*s+16)/116,o=n(e[0]/z[0]),r=n(e[1]/z[1]),a=n(e[2]/z[2]);return[116*r-16,500*(o-r),200*(r-a)]}var ut=t=>{let e=Math.hypot(t[1],t[2]),n=Math.atan2(t[2],t[1])*sn;return n<0&&(n+=360),[t[0],e,n]},ht=t=>[t[0],t[1]*Math.cos(t[2]*Nt),t[1]*Math.sin(t[2]*Nt)];function Le(t){let e=((Number.isNaN(t[0])?0:t[0])%360+360)%360,n=t[1]/100,o=t[2]/100,r=a=>{let s=(a+e/30)%12,i=n*Math.min(o,1-o);return o-i*Math.max(-1,Math.min(s-3,9-s,1))};return[r(0),r(8),r(4)]}function Ve(t){let e=Math.max(...t),n=Math.min(...t),o=e-n;if(o<1e-9)return NaN;let r;return e===t[0]?r=(t[1]-t[2])/o+(t[1]<t[2]?6:0):e===t[1]?r=(t[2]-t[0])/o+2:r=(t[0]-t[1])/o+4,r*60}function Mn(t){let e=Math.max(...t),n=Math.min(...t),o=(n+e)/2,r=Ve(t),a=e===n||o===0||o===1?0:(e-o)/Math.min(o,1-o);return a<0&&(r+=180,a=-a),r>=360&&(r-=360),[r,a*100,o*100]}function kn(t){let e=t[1]/100,n=t[2]/100;if(e+n>=1){let a=e/(e+n);return[a,a,a]}let o=Le([t[0],100,50]),r=1-e-n;return[o[0]*r+e,o[1]*r+e,o[2]*r+e]}var wn=t=>[Ve(t),Math.min(...t)*100,(1-Math.max(...t))*100];function Cn(t,e){switch(e){case"srgb":return Y(t,st,Tt);case"p3":return Y(t,st,bn);case"rec2020":return Y(t,un,mn);case"prophoto-rgb":return V(_e,Y(t,hn,dn));case"oklab":return pe(t);case"oklch":return pe(ht(t));case"lab":return me(t);case"lch":return me(ht(t));case"hsl":return Y(Le(t),st,Tt);case"hwb":return Y(kn(t),st,Tt)}}function vn(t,e){switch(e){case"srgb":return Z(t,U,ct);case"p3":return Z(t,U,ye);case"rec2020":return Z(t,Ce,$e);case"prophoto-rgb":return Z(V(Ee,t),pn,fn);case"oklab":return be(t);case"oklch":return ut(be(t));case"lab":return de(t);case"lch":return ut(de(t));case"hsl":return Mn(Z(t,U,ct));case"hwb":return wn(Z(t,U,ct))}}function k(t,e,n){return e===n?[t[0],t[1],t[2]]:e==="oklch"&&n==="oklab"?ht(t):e==="oklab"&&n==="oklch"?ut(t):e==="lch"&&n==="lab"?ht(t):e==="lab"&&n==="lch"?ut(t):vn(Cn(t,e),n)}var pt=75e-6,Oe=t=>t.every(e=>e>=-pt&&e<=1+pt),Ft=(t,e)=>Oe(k(t,"oklch",e)),Rt=t=>t.map(e=>Math.min(1,Math.max(0,e))),fe=(t,e)=>Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2]);function bt(t,e){if(Ft(t,e))return k(t,"oklch",e);let n=t[0];if(n>=1)return[1,1,1];if(n<=0)return[0,0,0];if(!Number.isFinite(t[1]))return Rt(k([n,0,g(t[2])],"oklch",e));let o=.02,r=1e-4,a=[t[0],t[1],t[2]],s=0,i=t[1],h=!0,p=Rt(k(a,"oklch",e));if(fe(k(p,e,"oklab"),k(t,"oklch","oklab"))<o)return p;for(;i-s>r;){let u=(s+i)/2;a[1]=u;let b=k(a,"oklch",e);if(h&&Oe(b)){s=u;continue}p=Rt(b);let d=fe(k(p,e,"oklab"),k(a,"oklch","oklab"));if(d<o){if(o-d<r)return p;h=!1,s=u}else i=u}return p}var Te=(t,e)=>{let n=t*Nt,o=Math.cos(n),r=Math.sin(n),a=Ae.map(i=>o*i[1]+r*i[2]),s=cn(e==="p3"?ye:e==="rec2020"?$e:ct,Se);return{d:a,F:s,gam:e==="rec2020"?Ce:U}};function mt(t,e){let{d:[n,o,r],F:a,gam:s}=Te(t,e),i=-pt,h=1+pt;return(p,u)=>{let b=p+u*n,d=p+u*o,E=p+u*r,x=b**3,w=d**3,y=E**3,C=s(a[0][0]*x+a[0][1]*w+a[0][2]*y);if(C<i||C>h)return!1;let A=s(a[1][0]*x+a[1][1]*w+a[1][2]*y);if(A<i||A>h)return!1;let P=s(a[2][0]*x+a[2][1]*w+a[2][2]*y);return P>=i&&P<=h}}function Re(t,e){let{d:[n,o,r],F:a,gam:s}=Te(t,e);return(i,h,p)=>{let u=i+h*n,b=i+h*o,d=i+h*r,E=u**3,x=b**3,w=d**3;p[0]=s(a[0][0]*E+a[0][1]*x+a[0][2]*w),p[1]=s(a[1][0]*E+a[1][1]*x+a[1][2]*w),p[2]=s(a[2][0]*E+a[2][1]*x+a[2][2]*w)}}function dt(t,e,n=.5){if(!t(e,0))return 0;let o=0;for(let r=0;r<16;r++){let a=(o+n)/2;t(e,a)?o=a:n=a}return o}var G=t=>Math.round(Math.min(1,Math.max(0,t))*255).toString(16).padStart(2,"0"),yn=t=>`#${G(t[0])}${G(t[1])}${G(t[2])}`,ft=(t,e,n)=>yn(bt([t,e,n],"srgb"));function Ne(t){let e=String(t).replace("#","").trim();if(e.length===3&&(e=e.split("").map(o=>o+o).join("")),e.length<6)return[.7,.1,280];let n=[parseInt(e.slice(0,2),16)/255,parseInt(e.slice(2,4),16)/255,parseInt(e.slice(4,6),16)/255];return k(n,"srgb","oklch").map(g)}var gt=["hex","srgb","css","hsl","hwb","oklch","oklab","lch","lab","p3","rec2020"],Fe={hex:"HEX",srgb:"RGB",css:"CSS",hsl:"HSL",hwb:"HWB",oklch:"OKLCH",oklab:"OKLab",lch:"LCH",lab:"Lab",p3:"P3",rec2020:"Rec2020"},He=["srgb","css","hsl","hwb","hex"],Ht=t=>!He.includes(t),Ie=t=>t==="hex"||t==="css"?"srgb":t,$n=Object.assign(Object.create(null),{hex:"srgb",srgb:"srgb",css:"srgb",hsl:"hsl",hwb:"hwb",oklch:"oklch",oklab:"oklab",lch:"lch",lab:"lab",p3:"display-p3",rec2020:"rec2020"}),Gn=t=>$n[t]||"oklch",En=Object.assign(Object.create(null),{srgb:"srgb",hsl:"hsl",hwb:"hwb",oklch:"oklch",oklab:"oklab",lch:"lch",lab:"lab","display-p3":"p3",rec2020:"rec2020"}),Bn=t=>En[t]||"oklch",xt=.5,De=(t,e,n)=>Object.freeze(["R","G","B"].map(o=>Object.freeze({k:o,min:0,max:t,step:e,scale:n}))),ge=De(255,1,255),xe=De(1,.01,1),J={oklch:[{k:"L",min:0,max:100,step:1,scale:100},{k:"C",min:0,max:xt,step:.01,scale:1},{k:"H",min:0,max:360,step:1,scale:1}],oklab:[{k:"L",min:0,max:100,step:1,scale:100},{k:"a",min:-.4,max:.4,step:.01,scale:1},{k:"b",min:-.4,max:.4,step:.01,scale:1}],lch:[{k:"L",min:0,max:100,step:1,scale:1},{k:"C",min:0,max:150,step:1,scale:1},{k:"H",min:0,max:360,step:1,scale:1}],lab:[{k:"L",min:0,max:100,step:1,scale:1},{k:"a",min:-125,max:125,step:1,scale:1},{k:"b",min:-125,max:125,step:1,scale:1}],srgb:ge,css:ge,hsl:[{k:"H",min:0,max:360,step:1,scale:1},{k:"S",min:0,max:100,step:1,scale:1},{k:"L",min:0,max:100,step:1,scale:1}],hwb:[{k:"H",min:0,max:360,step:1,scale:1},{k:"W",min:0,max:100,step:1,scale:1},{k:"B",min:0,max:100,step:1,scale:1}],p3:xe,rec2020:xe},Me=t=>t>=1?0:t>=.1?1:t>=.01?2:3,Ge=(t,e,n)=>e==="oklch"?[t[0],t[1],t[2]]:He.includes(n)?e==="srgb"?bt(t,"srgb"):k(bt(t,"srgb"),"srgb",e):k(t,"oklch",e);function Mt(t,e){let n=Ge(t,Ie(e),e);return J[e].map((o,r)=>{let a=g(n[r])*o.scale;return ln(Math.abs(a)<.5*o.step?0:a,o.min,o.max)})}function Be(t,e,n,o){let r=Ie(e),a=Ge(t,r,e).map(g);a[n]=o/J[e][n].scale;let s=k(a,r,"oklch");return[g(s[0]),g(s[1]),g(s[2])]}function Pe(t,e){if(!Ht(e))return"sRGB";let n=bt(t,"srgb");return Math.max(...n)<.03||Math.min(...n)>.97||Ft(t,"srgb")?"sRGB":Ft(t,"p3")?"P3":"wide"}function It(t,e){if(e==="hex")return ft(t[0],t[1],t[2]);let n=J[e],o=Mt(t,e),r=a=>{let s=o[a].toFixed(Me(n[a].step));return n[a].k==="H"&&+s==360?0 .toFixed(Me(n[a].step)):s};return e==="css"?`${r(0)}, ${r(1)}, ${r(2)}`:e==="oklch"||e==="oklab"||e==="lch"||e==="lab"?`${r(0)}% ${r(1)} ${r(2)}`:e==="hsl"||e==="hwb"?`${r(0)} ${r(1)}% ${r(2)}%`:`${r(0)} ${r(1)} ${r(2)}`}var ke=(t,e)=>e==="hex"?t:e==="srgb"?`rgb(${t})`:e==="css"?`rgba(${t}, 1)`:e==="hsl"?`hsl(${t})`:e==="hwb"?`hwb(${t})`:e==="p3"?`color(display-p3 ${t})`:e==="rec2020"?`color(rec2020 ${t})`:`${e}(${t})`;function Xe(t,e,n){let o=g(n);if(e==="hex")return ft(t[0],t[1],t[2])+(o<.999?G(o):"");let r=It(t,e);if(o>=.999)return ke(r,e);let a=+o.toFixed(3);return e==="css"?`rgba(${r}, ${a})`:ke(`${r} / ${a}`,e)}var je=(()=>{try{return document.createElement("canvas").getContext("2d",{colorSpace:"display-p3"})?.getContextAttributes?.().colorSpace==="display-p3"}catch{return!1}})(),Dt=je?{colorSpace:"display-p3"}:{},_n=je?"p3":"srgb",kt=(t,e)=>{let n=t.length-1,o=Math.max(0,Math.min(n,e*n)),r=Math.floor(o),a=o-r;return t[r]*(1-a)+t[Math.min(r+1,n)]*a},Sn=(t,e)=>{let n=mt(t,e),o=new Float64Array(128);for(let r=0;r<128;r++)o[r]=dt(n,r/127);return o},An="var(--tw-checker)",Ln=Object.assign(Object.create(null),{srgb:"srgb","display-p3":"p3",rec2020:"rec2020","prophoto-rgb":"prophoto-rgb"}),jt=/^(rgba?|hsla?|hwb)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,Kt=/^(oklch|oklab|lch|lab|color)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,Vn=/^(srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65)$/i,Ct=/^#?([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,Gt,Ke=()=>Gt===void 0?Gt=document.createElement("canvas").getContext("2d"):Gt,On=/^(#[0-9a-f]{3,8}|[a-z][a-z-]*(?:\([\w\s.,%+\-\/]*\))?)$/i;function Yn(t){if(t=String(t??"").trim(),!On.test(t))return!1;if(Ct.test(t))return!0;if(Kt.test(t))return Nn(t);if(jt.test(t))return Ze(t)!==null;let e=Ke();return e?["#000","#fff"].some(n=>{e.fillStyle=n;let o=e.fillStyle;return e.fillStyle=t,e.fillStyle!==o}):!0}var Yt="[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?",Tn=new RegExp("^"+Yt+"$","i"),Rn=new RegExp("^"+Yt+"%$","i"),Ye=new RegExp("^("+Yt+")(deg|grad|rad|turn)$","i"),Zt=/[ \t\n\r\f]+/,zt=/^none$/i,Bt=t=>t.replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g,""),Pt=t=>!!t&&!Zt.test(t),B=t=>zt.test(t)?"none":Tn.test(t)?"num":Rn.test(t)?"pct":Ye.test(t)?"angle":null,Xt=t=>{let e=Ye.exec(t);if(!e)return g(parseFloat(t));let n=parseFloat(e[1]),o=e[2].toLowerCase();return g(o==="turn"?n*360:o==="grad"?n*.9:o==="rad"?n*180/Math.PI:n)};function Ze(t){let e=jt.exec(t);if(!e)return null;let n=e[1].toLowerCase().replace(/a$/,""),o=e[2],r,a,s;if(o.includes(",")){if(n==="hwb")return null;let u=o.split(",").map(Bt);if(u.length<3||u.length>4||!u.every(Pt)||(r=u.slice(0,3),a=u[3],s=r.map(B),n==="rgb"?!(s.every(b=>b==="num")||s.every(b=>b==="pct")):!((s[0]==="num"||s[0]==="angle")&&s[1]==="pct"&&s[2]==="pct"))||a!==void 0&&B(a)!=="num"&&B(a)!=="pct")return null}else{let u=o.split("/");if(u.length>2||(r=u[0].split(Zt).filter(Boolean),r.length!==3))return null;if(u.length===2){a=Bt(u[1]);let b=Pt(a)?B(a):null;if(!b||b==="angle")return null}if(s=r.map(B),n==="rgb"?!s.every(b=>b&&b!=="angle"):!(s[0]&&s[0]!=="pct"&&s[1]&&s[1]!=="angle"&&s[2]&&s[2]!=="angle"))return null}let i=(u,b)=>zt.test(u)?0:/%$/.test(u)?parseFloat(u)/100*b:parseFloat(u),h=a===void 0?1:m(i(a,1),0,1);return[n==="rgb"?k([m(i(r[0],255)/255,0,1),m(i(r[1],255)/255,0,1),m(i(r[2],255)/255,0,1)],"srgb","oklch"):k([s[0]==="none"?0:Xt(r[0]),m(i(r[1],100),0,100),m(i(r[2],100),0,100)],n,"oklch"),h]}var Nn=t=>{let e=Kt.exec(t);if(!e)return!1;let n=e[1].toLowerCase(),o=e[2].split("/");if(o.length>2)return!1;let r=o[0].split(Zt).filter(Boolean);if(n==="color"&&!Vn.test(r.shift()||"")||r.length!==3)return!1;let a=n==="lch"||n==="oklch";if(!r.every((s,i)=>{let h=B(s);return h&&(a&&i===2?h!=="pct":h!=="angle")}))return!1;if(o.length===2){let s=Bt(o[1]),i=Pt(s)?B(s):null;if(!i||i==="angle")return!1}return!0};function wt(t){if(t=String(t??"").trim(),Ct.test(t)){let i=t.replace("#",""),h=1;i.length===4?(h=parseInt(i[3]+i[3],16)/255,i=i.slice(0,3)):i.length===8&&(h=parseInt(i.slice(6,8),16)/255,i=i.slice(0,6));let[p,u,b]=Ne("#"+i);return[p,u,b,h]}let e=Kt.exec(t);if(e){let i=e[1].toLowerCase(),[h,p]=e[2].split("/").map(y=>y.trim()),u=h.split(/\s+/).filter(Boolean),b=i;if(i==="color"&&(b=Ln[(u[0]||"").toLowerCase()],u=u.slice(1),!b))return[.7,.1,280,1];let d=(y,C=1)=>!y||zt.test(y)?0:g(parseFloat(y))*(/%$/.test(y)?C:1),E=p?m(d(p,.01),0,1):1,x=i==="lab"?[m(d(u[0]),0,100),d(u[1],1.25),d(u[2],1.25)]:i==="lch"?[m(d(u[0]),0,100),Math.max(0,d(u[1],1.5)),Xt(u[2]||"0")]:i==="color"?[d(u[0],.01),d(u[1],.01),d(u[2],.01)]:i==="oklab"?[m(d(u[0],.01),0,1),d(u[1],.004),d(u[2],.004)]:[m(d(u[0],.01),0,1),Math.max(0,d(u[1],.004)),Xt(u[2]||"0")],w=b==="oklch"?x:k(x,b,"oklch");return[g(w[0]),m(g(w[1]),0,xt),(g(w[2])%360+360)%360,E]}if(jt.test(t)){let i=Ze(t);if(!i)return[0,0,0,1];let[h,p]=i;return[g(h[0]),m(g(h[1]),0,xt),(g(h[2])%360+360)%360,p]}let n=Ke();if(!n)return[0,0,0,1];n.fillStyle="#000",n.fillStyle=t;let o=n.fillStyle;if(Ct.test(o))return wt(o);let r=o.match(/^rgba?\(([^)]*)\)/i),a=((r?r[1]:"").match(/-?[\d.]+(?:e[+-]?\d+)?/gi)||[0,0,0]).map(Number),s=k([a[0]/255,a[1]/255,a[2]/255],"srgb","oklch");return[g(s[0]),g(s[1]),g(s[2]),a[3]!=null?m(g(a[3]),0,1):1]}function ze(t,e){let[n,o,r,a]=wt(t.value||"#7c5cff"),s=gt.includes(t.mode)?t.mode:"oklch",i=NaN,h=null,p=[],u=NaN,b="",d=()=>Xe([n,o,r],s,a),E=v("div","tw-color-body"),x=v("div","tw-wg-area"),w=document.createElement("canvas");w.className="tw-wg-canvas";let y=v("div","tw-wg-thumb");x.append(w,y);let C=v("div","tw-wg-hue"),A=document.createElement("canvas");A.className="tw-wg-hue-canvas";let P=v("div","tw-wg-hue-thumb");C.append(A,P);let _=v("div","tw-wg-alpha"),Wt=v("div","tw-wg-alpha-grad"),vt=v("div","tw-wg-hue-thumb");_.append(Wt,vt),w.setAttribute("aria-hidden","true"),A.setAttribute("aria-hidden","true"),x.tabIndex=0,x.setAttribute("role","group"),x.setAttribute("aria-label","Colour plane: chroma across, lightness up"),C.tabIndex=0,C.setAttribute("role","slider"),C.setAttribute("aria-label","Hue"),C.setAttribute("aria-valuemin","0"),C.setAttribute("aria-valuemax","360"),_.tabIndex=0,_.setAttribute("role","slider"),_.setAttribute("aria-label","Alpha"),_.setAttribute("aria-valuemin","0"),_.setAttribute("aria-valuemax","1");let Ut=v("div","tw-color-mode-row"),R=v("select","tw-color-mode");R.setAttribute("aria-label","Color mode"),gt.forEach(c=>{let l=document.createElement("option");l.value=c,l.textContent=Fe[c],R.append(l)}),R.value=s;let qt=v("span","tw-color-gamut");Ut.append(R,qt);let N=v("div","tw-color-channels");E.append(x,C,_,Ut,N);let $=w.getContext("2d",Dt),Jt=A.getContext("2d"),X=document.createElement("canvas"),We=X.getContext("2d",Dt),yt=null,$t=()=>{let c=x.getBoundingClientRect(),l=Math.round(c.width),f=Math.round(c.height);if(l<2)return;let M=window.devicePixelRatio||1,S=Ht(s)?"p3":"srgb",F=Sn(r,S);h=F;let T=Math.round(l*M),tt=Math.round(f*M),H=Math.max(1,Math.round(T/4)),j=Math.max(1,Math.round(tt/4));(X.width!==H||X.height!==j)&&(X.width=H,X.height=j,yt=new ImageData(H,j,Dt));let et=yt.data,nn=j>1?1/(j-1):0,rn=H>1?1/(H-1):0,on=Re(r,_n),nt=[0,0,0];for(let I=0;I<j;I++){let rt=1-I*nn,St=kt(F,rt);for(let D=0;D<H;D++){on(rt,D*rn*St,nt);let K=(I*H+D)*4;et[K]=Math.round(m(nt[0],0,1)*255),et[K+1]=Math.round(m(nt[1],0,1)*255),et[K+2]=Math.round(m(nt[2],0,1)*255),et[K+3]=255}}if(We.putImageData(yt,0,0),w.width=T,w.height=tt,$.imageSmoothingEnabled=!0,$.drawImage(X,0,0,T,tt),S!=="srgb"){let I=(rt,St,D,K)=>{let an=mt(r,rt),At=[];for(let L=0;L<=100;L++){let W=L/100,Lt=kt(F,W);if(Lt<=0)continue;let ae=dt(an,W,Lt);ae<=0||At.push([Math.min(ae/Lt*T,T-D*M/2),(1-W)*tt])}At.length<2||($.save(),$.strokeStyle=St,$.lineWidth=D*M,$.lineJoin=$.lineCap="round",$.setLineDash(K.map(L=>L*M)),$.beginPath(),At.forEach((L,W)=>W?$.lineTo(L[0],L[1]):$.moveTo(L[0],L[1])),$.stroke(),$.restore())};I("srgb","rgba(255,255,255,0.7)",1.5,[]),I("p3","rgba(255,255,255,0.4)",1,[3,3])}i=r},Qt=.7,te=c=>{let l=k([Qt,dt(mt(c,"srgb"),Qt),c],"oklch","srgb");return`rgb(${m(l[0]*255,0,255)|0},${m(l[1]*255,0,255)|0},${m(l[2]*255,0,255)|0})`},ee=0,Ue=()=>{let c=C.getBoundingClientRect(),l=Math.max(1,Math.round(c.width)),f=Math.max(1,Math.round(c.height));if(!(l<2)&&!(l===ee&&A.width===l)){ee=l,A.width=l,A.height=f;for(let M=0;M<l;M++)Jt.fillStyle=te(M/(l-1)*360),Jt.fillRect(M,0,1,f)}},Et=()=>{let c=h?kt(h,n):.4,l=S=>`${m(S,0,1)*100}%`,f=(S,F)=>{let T=m(S,0,1);return`calc(${T*100}% + ${(.5-T)*F}px)`};y.style.left=l(c>0?o/c:0),y.style.top=l(1-n),P.style.left=f(r/360,16),vt.style.left=f(a,16),_.setAttribute("aria-valuenow",String(+a.toFixed(2)));let M=Math.round(r);C.setAttribute("aria-valuenow",String(M)),C.setAttribute("aria-valuetext",`${M}\xB0`),x.setAttribute("aria-description",`lightness ${Math.round(n*100)}%, chroma ${+o.toFixed(3)}`),Wt.style.background=`linear-gradient(to right, oklch(${n} ${o} ${r} / 0), oklch(${n} ${o} ${r}))`,y.style.background=`oklch(${n} ${o} ${r})`,vt.style.background=`linear-gradient(oklch(${n} ${o} ${r} / ${a}), oklch(${n} ${o} ${r} / ${a})), var(--tw-dropdown-bg)`,r!==u&&(b=te(r),u=r),P.style.background=b},Q=()=>{if(qt.textContent=Pe([n,o,r],s),s==="hex"){let c=N.querySelector(".tw-color-chan-input");c&&document.activeElement!==c&&(c.value=ft(n,o,r)+(a<.999?G(a):""))}else{let c=Mt([n,o,r],s);p.forEach((l,f)=>{l.el.contains(document.activeElement)||l.set(c[f])})}},qe=()=>{Ue(),$t(),Et()},Je=()=>e(d()),ne=c=>{c&&r!==i&&$t(),Et(),Q()},O=c=>{ne(c),Je()},re=()=>{if(N.replaceChildren(),p=[],s==="hex"){N.classList.add("tw-color-channels--hex");let c=v("div","tw-color-chan"),l=v("input","tw-color-chan-input");l.type="text",l.spellcheck=!1,l.setAttribute("aria-label","Hex color"),ce(l),ie(l),l.addEventListener("change",()=>{let f=l.value.trim();Ct.test(f)&&([n,o,r,a]=wt(f),O(!0))}),l.addEventListener("blur",Q),l.addEventListener("keydown",f=>{f.key==="Enter"&&l.blur()}),c.append(se("span","tw-color-chan-label","HEX"),l),N.append(c)}else{N.classList.remove("tw-color-channels--hex");let c=Mt([n,o,r],s);J[s].forEach((l,f)=>{let M=he({label:l.k,value:c[f],min:l.min,max:l.max,step:l.step},S=>{[n,o,r]=Be([n,o,r],s,f,m(S,l.min,l.max)),O(!0)});M.el.addEventListener("focusout",Q),p.push(M),N.append(M.el)})}Q()},_t=c=>h?kt(h,c):.4,Qe=c=>at(c,x);ot(x,c=>{let[l,f]=Qe(c);n=1-f,o=l*_t(n),O(!1)}),x.addEventListener("keydown",c=>{if(c.key==="Home"||c.key==="End"){c.preventDefault();return}let l=c.shiftKey?10:1,f=c.key==="ArrowRight"?l:c.key==="ArrowLeft"?-l:0,M=c.key==="ArrowUp"?l:c.key==="ArrowDown"?-l:c.key==="PageUp"?10:c.key==="PageDown"?-10:0;if(!f&&!M)return;c.preventDefault();let S=_t(n),F=m((S>0?o/S:0)+f*.01,0,1);n=m(n+M*.01,0,1),o=F*_t(n),O(!1)});let tn=c=>at(c,C)[0]*360;ot(C,c=>{r=tn(c),O(!0)}),C.addEventListener("keydown",c=>{let l=Vt(c,r,1,0,360);l!=null&&(c.preventDefault(),r=m(l,0,360),O(!0))});let en=c=>at(c,_)[0];ot(_,c=>{a=en(c),O(!1)}),_.addEventListener("keydown",c=>{let l=Vt(c,a,.01,0,1);l!=null&&(c.preventDefault(),a=m(l,0,1),O(!1))});let oe=c=>{s=c,R.value=c,re(),$t(),Et()};return R.addEventListener("change",()=>{oe(R.value),t.onMode&&t.onMode()}),re(),{el:E,set:c=>{let l=document.activeElement;l&&E.contains(l)&&l.matches("input")&&l.blur(),[n,o,r,a]=wt(c),ne(!0)},get:()=>d(),mode:()=>s,setMode:c=>{c!==s&>.includes(c)&&oe(c)},reflow:qe,swatchCss:()=>`linear-gradient(oklch(${n} ${o} ${r} / ${a}), oklch(${n} ${o} ${r} / ${a})), ${An}`,valueText:()=>It([n,o,r],s)+(a<.999?s==="hex"?G(a):` / ${+a.toFixed(2)}`:"")}}function Fn(t,e){let{root:n,trigger:o,right:r}=ue("tw-color",t.label??"Colour"),a=v("span","tw-trigger-chip tw-color-swatch"),s=v("span","tw-trigger-value");r.append(a,s);let i=v("div","tw-color-pop"),h=()=>{a.style.background=p.swatchCss(),s.textContent=p.valueText()},p=ze({value:t.value,onMode:()=>h()},u=>{h(),e(u)});return i.append(p.el),n.append(i),le(n,o,i,{width:240,fallbackH:340,gap:6,onOpen:p.reflow,onReflow:p.reflow}),h(),{el:n,set:u=>{u!=null&&(p.set(u),h())},get:()=>p.get()}}var Zn=(t,e,n,o)=>o<.999?`oklch(${+t.toFixed(4)} ${+e.toFixed(4)} ${+n.toFixed(2)} / ${+o.toFixed(3)})`:`oklch(${+t.toFixed(4)} ${+e.toFixed(4)} ${+n.toFixed(2)})`;Ot("color",Fn);Ot("colorpicker",ze);export{Gn as a,Bn as b,An as c,Yn as d,wt as e,ze as f,Zn as g};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var S=Object.assign(Object.create(null),{ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]}),L=e=>Math.min(1,Math.max(0,e)),x=15;function H(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();if(S[t])return S[t];let n=/^cubic-bezier\(([^()]*)\)$/.exec(t);if(!n)return null;let r=n[1].split(",").map(o=>o.trim()?Number(o):NaN);return r.length!==4||!r.every(Number.isFinite)?null:[L(r[0]),r[1],L(r[2]),r[3]]}var ue=e=>H(e)?e.trim().toLowerCase():"linear";function O(e){let t=[];for(let n=0;n<=x;n++){let r=n/x,o=1-r,s=3*o*o*r,i=3*o*r*r,a=r*r*r;t.push([s*e[0]+i*e[2]+a,L(s*e[1]+i*e[3]+a)])}return t}function de(e,t){if(t=L(t),!e)return t;let n=O(e);for(let r=1;r<n.length;r++)if(t<=n[r][0]){let[o,s]=n[r-1],[i,a]=n[r];return i>o?s+(a-s)*(t-o)/(i-o):a}return 1}var T=e=>+(e*100).toFixed(2);function F(e){let t=[...e.stops].sort((a,u)=>a.pos-u.pos),n=a=>`${a.color} ${T(a.pos)}%`,r=H(e.easing);if(!r||t.length<2)return t.map(n).join(", ");let o=O(r),s=e.interpolation||"oklch",i=[n(t[0])];for(let a=1;a<t.length;a++){let u=t[a-1],m=t[a],c=m.pos-u.pos;if(c>1e-6)for(let d=1;d<x;d++){let[f,g]=o[d];i.push(`color-mix(in ${s}, ${u.color}, ${m.color} ${T(g)}%) ${T(u.pos+c*f)}%`)}i.push(n(m))}return i.join(", ")}function $(e,t="to right"){return`linear-gradient(in ${e.interpolation||"oklch"} ${typeof t=="number"?`${t}deg`:t}, ${F(e)})`}var V=e=>e.replace(/([a-z])(?=[A-Z])|([A-Z\d])(?=[A-Z][a-z])/g,"$1$2 ").replace(/^./,t=>t.toUpperCase()).trim(),j=(e,t,n)=>Math.min(n,Math.max(t,e)),me=e=>!!e&&typeof e=="object",we=e=>typeof e=="string"&&(/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(e.trim())||/^(oklch|oklab|rgba?|hsla?|hwb|lab|lch|color)\(/i.test(e.trim())),P=20,_=e=>{let t=String(e),n=/e-(\d+)$/i.exec(t);if(n)return Math.min(P,Number(n[1])+(t.split("e")[0].split(".")[1]||"").length);let r=t.indexOf(".");return r===-1?0:Math.min(P,t.length-r-1)},z=(e,t,n)=>{if(!(n>0))return e;let r=_(n),o=Number((+t).toFixed(r)),s=Math.round((e-o)/n);return Number.isFinite(s)?Number((o+s*n).toFixed(r)):e},be=(e,t,n,r=e)=>{let o=a=>z(a,r,n),s=Number.isFinite(e)?o(e):-1/0,i=Number.isFinite(t)?o(t):1/0;return s<e&&(s=o(s+n)),i>t&&(i=o(i-n)),s>i?[e,e]:[s,i]},I=(e,t)=>{let n=t-e;return n<=1?.01:n<=10?.1:n<=100?1:10},pe=(e,t,n,r=0,o=null)=>{let s=+e,i=+t,a=+n;if(Number.isFinite(s)||(s=r),Number.isFinite(i)||(i=o??s+100),i<s){let u=s;s=i,i=u}return(!(a>0)||a>i-s)&&(a=I(s,i)),{min:s,max:i,step:a}},ge=(e,t,n,r,o,s=null)=>{let i=e.shiftKey?10:1;switch(e.key){case"ArrowRight":case"ArrowUp":return t+n*i;case"ArrowLeft":case"ArrowDown":return t-n*i;case"PageUp":return s!=null?t+s:null;case"PageDown":return s!=null?t-s:null;case"Home":return r;case"End":return o}return null},he=(e,t,n,r,o=0)=>{let s=e.offsetLeft,i=s+e.offsetWidth,a=t.offsetLeft,u=a+t.offsetWidth;return n<i&&n+r>s||n<u+o&&n+r>a-o},Ee=e=>e>=0?[0,e<=1?1:e*3||100]:[e>=-1?-1:e*3,0],G=e=>e==null?void 0:typeof e=="object"?e.value:e,D=e=>{try{return JSON.stringify(e)}catch{return String(e)}},K=e=>e==null?"":typeof e=="string"?V(e):typeof e=="object"?e.label??(e.value!==void 0?String(e.value):D(e)):String(e),M=(e,t,n)=>{let r=document.createElement(e);return t&&(r.className=t),n!=null&&(r.innerHTML=n),(e=="input"||e=="textarea")&&(r.setAttribute("autocomplete","off"),r.setAttribute("data-1p-ignore",""),r.setAttribute("data-lpignore","true")),r},ve=(e,t)=>{let n=M("button",e,t);return n.type="button",n},W=(e,t,n)=>{let r=M(e,t);return r.textContent=n,e==="button"&&(r.type="button"),r},q=e=>["pointerdown","pointermove","pointerup","click"].forEach(t=>e.addEventListener(t,n=>n.stopPropagation())),X=e=>{requestAnimationFrame(e),document.fonts&&document.fonts.ready&&document.fonts.ready.then(e)},U=(e,t,n)=>{let r=e.isConnected;r||requestAnimationFrame(()=>{e.isConnected&&(r=!0)});let o=i=>{if(!e.isConnected){(r||e.closest("[data-tw-destroyed]"))&&s();return}r=!0,n(i)},s=()=>t.forEach(([i,a])=>i.removeEventListener(a,o));return t.forEach(([i,a])=>i.addEventListener(a,o)),s},ye=()=>requestAnimationFrame(()=>window.dispatchEvent(new Event("tw-reflow"))),Le=(e,t)=>{e.addEventListener("pointerenter",()=>{e.classList.add("is-hover"),t&&t()}),e.addEventListener("pointerleave",()=>e.classList.remove("is-hover"))},E=!1;typeof document<"u"&&(document.addEventListener("pointerdown",()=>{E=!0},!0),document.addEventListener("keydown",()=>{E=!1},!0));var Me=e=>{e.addEventListener("focus",()=>e.classList.toggle("tw-focus-quiet",E)),e.addEventListener("blur",()=>e.classList.remove("tw-focus-quiet"))},Z=(e,t,{width:n,fallbackH:r=300,gap:o=6,align:s="start",prefer:i="below"}={})=>{let a=e.getBoundingClientRect();n==="match"&&(t.style.width=a.width+"px");let u=n==="match"?a.width:t.offsetWidth||n||0,m=s==="end"?a.right-u:s==="center"?a.left+a.width/2-u/2:a.left;t.style.left=Math.max(8,Math.min(m,window.innerWidth-u-8))+"px";let c=t.offsetHeight||r,d=window.innerHeight-a.bottom,f=a.top,g=c+12,v=d>=g,h=f>=g,y=(i==="above"?h||!v&&f>=d:!v&&(h||f>d))?a.top-c-o:a.bottom+o;t.style.top=j(y,o,window.innerHeight-c-o)+"px"},Y=Object.assign(Object.create(null),{accent:"--tw-accent",onAccent:"--tw-on-accent",base:"--tw-base",dropdownBg:"--tw-dropdown-bg",surface:"--tw-surface",surfaceHover:"--tw-surface-hover",surfaceActive:"--tw-surface-active",border:"--tw-border",borderHover:"--tw-border-hover",selection:"--tw-selection",title:"--tw-text-root",section:"--tw-text-section",text:"--tw-text-primary",label:"--tw-text-label",textMuted:"--tw-text-secondary",textFaint:"--tw-text-tertiary",focus:"--tw-text-focus",success:"--tw-success",danger:"--tw-danger",shadow:"--tw-shadow-dropdown",shadowPanel:"--tw-shadow-panel",shadowPanelLifted:"--tw-shadow-panel-lifted",font:"--tw-font-sans",fontMono:"--tw-font-mono",radius:"--tw-radius",density:"--tw-row-height",width:"--tw-width"}),J=new Set(["radius","density","width"]),k=e=>(e/=255,e<=.03928?e/12.92:((e+.055)/1.055)**2.4),Q=e=>{e=String(e).trim();let t=/^#([0-9a-f]{3})$/i.exec(e);if(t)return t[1].split("").map(n=>parseInt(n+n,16));if(t=/^#([0-9a-f]{6})$/i.exec(e),t)return[0,2,4].map(n=>parseInt(t[1].slice(n,n+2),16));if(t=/^rgba?\(([^)]+)\)/i.exec(e),t){let n=t[1].split(/[\s,/]+/).filter(Boolean).map(parseFloat);return[n[0],n[1],n[2]]}return null},ee=e=>{let t=Q(e);if(!t||t.some(r=>!Number.isFinite(r)))return"#ffffff";let n=.2126*k(t[0])+.7152*k(t[1])+.0722*k(t[2]);return 1.05/(n+.05)>=(n+.05)/.0571?"#ffffff":"#161616"},Te=e=>{if(!e||typeof e!="object")return null;let t={};for(let[n,r]of Object.entries(e)){if(n.startsWith("--")){t[n]=String(r);continue}let o=Y[n];o&&(t[o]=J.has(n)&&typeof r=="number"?`${r}px`:String(r))}return t["--tw-accent"]&&!t["--tw-on-accent"]&&(t["--tw-on-accent"]=ee(t["--tw-accent"])),Object.keys(t).length?t:null},te=(e,t)=>{if(e){if(e._twAppliedVars)for(let n of e._twAppliedVars)e.style.removeProperty(n);if(e._twAppliedVars=t?Object.keys(t):null,t)for(let n in t)e.style.setProperty(n,t[n])}},ne=(e,t)=>{let n=t?.closest('[data-tw-scheme="light"]')?"light":t?.closest('[data-tw-scheme="dark"]')?"dark":null;n?e.setAttribute("data-tw-scheme",n):e.removeAttribute("data-tw-scheme")},R=(e,t)=>{te(e,t?.closest(".tw-panel")?._twTheme),ne(e,t)},p=null,A=null,xe=e=>{p&&(!e||e.contains(A))&&p()};function ke(e,t,n,r={}){let o=!1,s=null;n.classList.add("tw-portal"),n.inert=!0,n.addEventListener("pointerdown",l=>t.closest(".tw-panel")?._twEditPointer?.(l),!0),q(n);let i=0,a=0,u=()=>{Z(t,n,{width:r.width,fallbackH:r.fallbackH,gap:r.gap,align:r.align});let l=t.getBoundingClientRect();i=parseFloat(n.style.left)-l.left,a=parseFloat(n.style.top)-l.top},m=()=>{if(o){if(!e.isConnected)return w();u(),r.onReflow&&r.onReflow()}},c=()=>{if(!o)return;if(!e.isConnected)return w();let l=t.getBoundingClientRect(),b=t.closest(".tw-panel")?.getBoundingClientRect();if(!(l.width||l.height)||l.bottom<0||l.top>window.innerHeight||l.right<0||l.left>window.innerWidth||b?.height&&(l.bottom<b.top||l.top>b.bottom))return w();n.style.left=l.left+i+"px",n.style.top=l.top+a+"px"},d=l=>{!e.contains(l.target)&&!n.contains(l.target)&&w()},f=l=>{l.key==="Escape"&&o&&(w(),t.focus())},g=l=>{if(!o)return;let b=l.relatedTarget;(b?e.contains(b)||n.contains(b):E)||(w(),b&&!t.closest(".tw-panel")?.contains(b)&&setTimeout(()=>{!o&&document.activeElement===b&&t.focus()},0))};e.addEventListener("focusout",g),n.addEventListener("focusout",g);let v=()=>n.querySelector('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [href], [tabindex]:not([tabindex="-1"])'),h=()=>R(n,e),C=l=>{l.every(b=>b.target===n)||h()},y=()=>{p&&p!==w&&p(),p=w,A=t,o=!0,e.classList.add("is-open"),t.setAttribute("aria-expanded","true"),n.inert=!1,document.body.appendChild(n),R(n,e),window.addEventListener("tw-retheme",h),typeof MutationObserver=="function"&&(s=new MutationObserver(C),s.observe(document.documentElement,{subtree:!0,attributes:!0,attributeFilter:["data-tw-scheme"]})),u(),requestAnimationFrame(()=>{if(o&&(n.classList.add("is-open"),r.onOpen&&r.onOpen(),u(),!n.contains(document.activeElement))){let l=r.initialFocus&&r.initialFocus()||v();l&&l.focus({focusVisible:!E})}}),requestAnimationFrame(function l(){if(o){if(!e.isConnected)return w();requestAnimationFrame(l)}}),setTimeout(()=>{o&&document.addEventListener("pointerdown",d,!0)},0),document.addEventListener("keydown",f),window.addEventListener("scroll",c,!0),window.addEventListener("resize",m)},w=()=>{p===w&&(p=null,A=null),n.contains(document.activeElement)&&t.focus(),o=!1,e.classList.remove("is-open"),n.classList.remove("is-open"),n.inert=!0,t.setAttribute("aria-expanded","false"),document.removeEventListener("pointerdown",d,!0),document.removeEventListener("keydown",f),window.removeEventListener("scroll",c,!0),window.removeEventListener("resize",m),window.removeEventListener("tw-retheme",h),s&&(s.disconnect(),s=null),setTimeout(()=>{o||n.remove()},200)};return t.addEventListener("click",()=>{t.disabled||(o?w():y())}),{open:y,close:w,isOpen:()=>o,reflow:m}}var Ae=(e,t)=>{if(e=e.toLowerCase(),e.includes(t))return!0;if(t.length<3)return!1;let n=t.length,r=e.length,o=new Array(r+1).fill(0);for(let s=1;s<=n;s++){let i=[s];for(let a=1;a<=r;a++)i[a]=Math.min(o[a]+1,i[a-1]+1,o[a-1]+(t[s-1]===e[a-1]?0:1));o=i}return Math.min(...o)<=(t.length<6?1:2)},re=typeof matchMedia=="function"?matchMedia("(prefers-reduced-motion: reduce)"):{matches:!1},oe="cubic-bezier(0.22, 1, 0.36, 1)",Ce="cubic-bezier(0.34, 1.2, 0.64, 1)",se=(e,t)=>{re.matches||typeof e.animate!="function"||(e.style.transformOrigin=t>0?"left center":"right center",e.animate([{transform:"scaleX(1)"},{transform:"scaleX(1.18)"},{transform:"scaleX(1)"}],{duration:300,easing:oe}))},ie=(e,t,n)=>{let r=e.querySelector('[data-active="true"]');if(!r)return;let o=r.offsetLeft,s=r.offsetWidth,i=parseFloat(t.style.left);t.style.left=o+"px",t.style.width=s+"px",n&&Number.isFinite(i)&&i!==o&&se(t,o>i?1:-1)},Se=(e,t)=>{e.classList.toggle("is-disabled",t);for(let n of e.children)n.classList.contains("tw-portal")||(n.inert=t)},He=(e,t,n,r)=>{e.classList.toggle("is-collapsed",r),t.setAttribute("aria-expanded",String(!r)),n.inert=r},N=(e,t)=>{let n=e.findIndex(r=>r.dataset.value===String(t));return n<0&&e.length?0:n},ae=(e,t)=>{let n=N(e,t);e.forEach((r,o)=>{let s=r.dataset.value===String(t);r.dataset.active=String(s),r.setAttribute("aria-checked",String(s)),r.tabIndex=o===n?0:-1})},le=(e,t,n)=>{let r=W("button",e,K(t));return r.setAttribute("role","radio"),r._twVal=G(t),r.dataset.value=r._twVal,r.addEventListener("click",()=>n(r._twVal)),r},ce=(e,t,n,r=0)=>{switch(e){case"ArrowRight":return(t+1)%n;case"ArrowLeft":return(t-1+n)%n;case"ArrowDown":return r<0?-1:r?t+r<n?t+r:t:(t+1)%n;case"ArrowUp":return r<0?-1:r?t-r>=0?t-r:t:(t-1+n)%n;case"Home":return 0;case"End":return n-1}return-1};function Oe(e,t,n,r){let o=M("div","tw-seg");o.setAttribute("role","radiogroup"),r&&o.setAttribute("aria-label",r);let s=M("div","tw-seg-pill");o.append(s);let i=e.map(c=>{let d=le("tw-seg-btn",c,f=>m(f));return o.append(d),d}),a=c=>ie(o,s,c),u=()=>{ae(i,t),a(!0)},m=(c,d=!0)=>{c!=null&&!i.some(f=>f._twVal===c)||(t=c,u(),d&&n(c))};return o.addEventListener("keydown",c=>{let d=N(i,t);if(d<0)return;let f=ce(c.key,d,i.length);f<0||(c.preventDefault(),m(i[f]._twVal),i[f].focus())}),u(),X(()=>{a(),o.classList.add("is-ready")}),U(o,[[window,"tw-reflow"]],()=>a()),{el:o,set:c=>m(c,!1),get:()=>t}}var Fe=(e,t="",n=2,r=24)=>`<svg${t?` class="${t}"`:""} viewBox="0 0 ${r} ${r}" fill="none" stroke="currentColor" stroke-width="${n}" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${e}</svg>`,Pe=(e,t)=>({el:e,set:()=>{},get:()=>{},destroy:t}),B={},Re=(e,t)=>{B[e]=t},Ne=e=>B[e];export{H as a,ue as b,de as c,F as d,$ as e,V as f,j as g,me as h,we as i,_ as j,z as k,be as l,I as m,pe as n,ge as o,he as p,Ee as q,G as r,D as s,K as t,M as u,ve as v,W as w,q as x,X as y,U as z,ye as A,Le as B,Me as C,Z as D,Te as E,te as F,ne as G,R as H,xe as I,ke as J,Ae as K,re as L,oe as M,Ce as N,ie as O,Se as P,He as Q,N as R,ae as S,le as T,ce as U,Oe as V,Fe as W,Pe as X,Re as Y,Ne as Z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as F,H as T,W as S,Y as $,g as E,j as y,k as L,l as N,u as b,v as C,w as M}from"./chunk-R7BLRFON.js";var P="http://www.w3.org/2000/svg",K=(t,n)=>{let e=document.createElementNS(P,t);return n&&e.setAttribute("class",n),e},R=(t,n)=>getComputedStyle(t).getPropertyValue(n).trim(),k=t=>{let n=getComputedStyle(t),e=s=>n.getPropertyValue(s).trim();return e("--tw-accent")||e("--tw-text-primary")||"#fff"},V=t=>{let n=!1;t.addEventListener("pointerdown",e=>{n=e.button===0&&document.activeElement!==t}),t.addEventListener("focus",()=>t.select()),t.addEventListener("mouseup",e=>{n&&(n=!1,e.button===0&&document.activeElement===t&&t.selectionStart===0&&t.selectionEnd===t.value.length&&e.preventDefault())})};function I(t,{onDown:n,onMove:e,onEnd:s}={}){let r=null,o=i=>{r===null||i.pointerId!==r||(r=null,s&&s(i))};t.addEventListener("pointerdown",i=>{if(!(i.button!==0||r!==null)){r=i.pointerId;try{t.setPointerCapture(i.pointerId)}catch{}n&&n(i)}}),t.addEventListener("pointermove",i=>{if(i.pointerId===r){if(i.buttons===0)return o(i);e&&e(i)}}),t.addEventListener("pointerup",o),t.addEventListener("pointercancel",o),t.addEventListener("lostpointercapture",o)}var B=(t,n)=>I(t,{onDown:e=>{t.classList.add("is-grabbing"),n(e)},onMove:n,onEnd:()=>t.classList.remove("is-grabbing")}),O=(t,n)=>{let e=n.getBoundingClientRect();return[E((t.clientX-e.left)/e.width,0,1),E((t.clientY-e.top)/e.height,0,1)]},j=(t,n,e=1/0)=>{let s=t.getBoundingClientRect(),r=Math.min(window.devicePixelRatio||1,e);return t.width=s.width*r,t.height=s.height*r,n.setTransform(r,0,0,r,0,0),[s.width,s.height]},z=(t,n)=>{let e=b("div",t),s=C("tw-trigger");s.setAttribute("aria-expanded","false");let r=b("span","tw-trigger-right");return s.append(M("span","tw-trigger-label",n),r),e.append(s),{root:e,trigger:s,right:r}},H=S('<path d="M6 4v8M10 4v8"/>',"",1.5,16);function D(){let t=null,n=0,e=0,s=0;return{show(r,o,i,m){t=b("div","tw-grab-guide tw-portal"),t.innerHTML='<span class="tw-grab-line"></span><span class="tw-grab-dot"></span><span class="tw-grab-arrow"></span><span class="tw-grab-bubble"></span>',n=o,e=r,s=i??r,t.children[1].style.cssText=`left:${r}px;top:${n}px`,T(t,m),document.body.appendChild(t)},move(r,o){t&&(t.children[0].style.cssText=`left:${Math.min(e,r)}px;top:${n}px;width:${Math.abs(r-e)}px`,t.children[2].style.cssText=`left:${r}px;top:${n}px;transform:translate(-50%,-50%) scaleX(${r>=e?1:-1})`,t.children[3].style.cssText=`left:${s}px;top:${n-16}px`,t.children[3].textContent=o)},hide(){t&&(t.remove(),t=null)}}}function G(t,n,e,s,r,o){let i=0,m=0,p=1,d=D();I(t,{onDown:u=>{u.preventDefault(),i=u.clientX,m=s(),p=1,t.classList.add("is-dragging");let a=n.getBoundingClientRect();d.show(u.clientX,a.top+a.height/2,a.left+a.width/2,n),d.move(u.clientX,o())},onMove:u=>{let a=u.shiftKey?10:u.altKey?.1:1;a!==p&&(p=a,i=u.clientX,m=s()),r(m+(u.clientX-i)*e*a),d.move(u.clientX,o())},onEnd:()=>{t.classList.remove("is-dragging"),d.hide()}})}function X(t,n){let e=Number.isFinite(+t.step)&&+t.step>0?+t.step:1,s=l=>l==null?NaN:+l,r=s(t.min),o=s(t.max);if(Number.isFinite(r)&&Number.isFinite(o)&&o<r){let l=r;r=o,o=l}let i=Number.isFinite(r)?r:0,m=y(e),[p,d]=N(Number.isFinite(r)?r:-1/0,Number.isFinite(o)?o:1/0,e,i),u=l=>{let h=L(l,i,e);return t.soft?h:E(h,p,d)},a=u(Number.isFinite(+t.value)?+t.value:0),f=b("div",t.row?"tw-row":"tw-field"),g=b("div","tw-num-wrap"),v=b("span","tw-num-grab",H);v.setAttribute("aria-hidden","true"),v.title="Drag to adjust";let c=b("input","tw-num");c.type="text",c.inputMode="decimal",c.setAttribute("aria-label",t.unit?`${t.label} (${t.unit})`:t.label),c.value=a.toFixed(m),F(c),g.append(v,c),t.unit&&g.append(M("span","tw-num-unit",t.unit)),f.append(M("span",t.row?"tw-row-label":"tw-field-label",t.label),g);let w=(l,h=!0)=>{l=+l,Number.isFinite(l)&&(a=u(l),c.value=a.toFixed(m),h&&n&&n(a))};return c.addEventListener("change",()=>{let l=parseFloat(c.value);w(isNaN(l)?a:l)}),c.addEventListener("keydown",l=>{if(l.key==="Enter")return c.blur();let h=l.key==="ArrowUp"?1:l.key==="ArrowDown"?-1:0;if(!h)return;l.preventDefault();let x=parseFloat(c.value);w((isNaN(x)?a:x)+h*e*(l.shiftKey?10:1))}),G(v,g,e,()=>a,w,()=>c.value),{el:f,set:l=>w(l,!1),get:()=>a}}$("number",(t,n)=>X({...t,row:!0},n));var q=(t,n,e)=>{let s=Math.sqrt(t/e),r=n/(2*Math.sqrt(t*e));return Math.min(2.2,9/Math.max(r*s,.5))};function U(t,n,e,s=64,r=q(t,n,e)){let o=Math.sqrt(t/e),i=n/(2*Math.sqrt(t*e)),m=[];for(let p=0;p<s;p++){let d=p/(s-1)*r,u;if(i<1-1e-4){let a=o*Math.sqrt(1-i*i);u=1-Math.exp(-i*o*d)*(Math.cos(a*d)+i*o/a*Math.sin(a*d))}else if(i<=1+1e-4)u=1-Math.exp(-o*d)*(1+o*d);else{let a=Math.sqrt(i*i-1),f=o*(i+a),g=o*(i-a);u=1-(f*Math.exp(-g*d)-g*Math.exp(-f*d))/(f-g)}m.push(u)}return m}export{K as a,R as b,k as c,V as d,I as e,B as f,O as g,j as h,z as i,X as j,q as k,U as l};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as a,d as b,e as c,f as d,g as e}from"./chunk-36FYZSWP.js";import"./chunk-X5DD246E.js";import"./chunk-R7BLRFON.js";export{a as CHECKER,d as createPickerBody,b as isColor,e as oklchStr,c as parseColor};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as u}from"./chunk-X5DD246E.js";import{Y as f,u as i}from"./chunk-R7BLRFON.js";var h=n=>String(n).replace(/[\\"]/g,"\\$&").replace(/[\x00-\x1f\x7f]/g,s=>"\\"+s.charCodeAt(0).toString(16)+" ");function v(n,s){let r=n.value||"",{root:g,trigger:t,right:m}=u("tw-image",n.label);t.removeAttribute("aria-expanded"),t.setAttribute("aria-label",`${n.label}: choose an image`);let p=i("span","tw-image-text"),o=i("span","tw-trigger-chip tw-image-thumb");m.append(o,p);let a=i("input","tw-image-input");a.type="file",a.accept="image/*",g.append(a);let l=()=>{o.dataset.set=r?"true":"false",o.style.backgroundImage=r?`url("${h(r)}")`:"",p.textContent=r?"Replace":"Drop or choose"},c=e=>{if(!e||!e.type.startsWith("image/"))return;let d=new FileReader;d.onload=()=>{r=String(d.result),l(),s(r)},d.readAsDataURL(e)};return t.addEventListener("click",()=>a.click()),a.addEventListener("change",()=>{a.files[0]&&c(a.files[0])}),t.addEventListener("dragover",e=>{e.preventDefault(),t.dataset.over="true"}),t.addEventListener("dragleave",()=>{t.dataset.over="false"}),t.addEventListener("drop",e=>{e.preventDefault(),t.dataset.over="false",e.dataTransfer.files[0]&&c(e.dataTransfer.files[0])}),l(),{el:g,set:e=>{e!=null&&typeof e!="string"||(r=e||"",l())},get:()=>r}}f("image",v);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as Z}from"./chunk-X5DD246E.js";import{B as U,Y,g as r,j as T,k as q,l as B,n as G,o as A,p as P,q as C,u as f,w as V,y as J,z as Q}from"./chunk-R7BLRFON.js";function nt(a,_){let E=a.label,w=+(a.value&&a.value[0]),x=+(a.value&&a.value[1]),N=Number.isFinite(w)?w:0,k=Number.isFinite(x)?x:1,[S,W]=[C(N),C(k)],R=t=>t!=null&&t!==""&&Number.isFinite(+t),{min:n,max:l,step:h}=G(R(a.min)?a.min:Math.min(S[0],W[0]),R(a.max)?a.max:Math.max(S[1],W[1]),a.step,N,k);[n,l]=B(n,l,h);let $=T(h),b=t=>q(t,n,h),i=r(b(Number.isFinite(w)?w:n),n,l),s=r(b(Number.isFinite(x)?x:l),n,l);if(i>s){let t=i;i=s,s=t}let v=f("div","tw-slider-wrap"),c=f("div","tw-slider tw-interval"),F=f("div","tw-slider-fill"),d=f("div","tw-slider-handle"),u=f("div","tw-slider-handle"),L=V("span","tw-slider-label",E),y=f("span","tw-slider-value");c.append(F,d,u,L,y),v.append(c),[["minimum",d],["maximum",u]].forEach(([t,e])=>{e.tabIndex=0,e.setAttribute("role","slider"),e.setAttribute("aria-label",`${E} ${t}`),e.setAttribute("aria-valuemin",String(n)),e.setAttribute("aria-valuemax",String(l))});let M=t=>(t-n)/(l-n||1)*100,D=t=>`clamp(5px, calc(${t}% - 1.5px), calc(100% - 9px))`,m=()=>{let t=M(i),e=M(s);F.style.left=t+"%",F.style.width=Math.max(0,e-t)+"%",d.style.left=D(t),u.style.left=D(e),y.textContent=`${i.toFixed($)} \u2013 ${s.toFixed($)}`,d.setAttribute("aria-valuenow",String(i)),u.setAttribute("aria-valuenow",String(s));let o=v.offsetWidth;if(o){L.style.maxWidth=Math.max(0,o-y.offsetWidth-12-8-10)+"px";let K=et=>P(L,y,et/100*o-1.5,3);d.classList.toggle("is-dodge",K(M(i))),u.classList.toggle("is-dodge",K(M(s)))}};m();let O=()=>_([i,s]),j=t=>{i=r(Math.min(b(t),s),n,l),m()},H=t=>{s=r(Math.max(b(t),i),n,l),m()},p=null,X=1,g=null,tt=t=>{let e=v.offsetWidth||p.width,o=r((t-p.left)/X/e,0,1);return r(n+o*(l-n),n,l)},z=t=>{let e=tt(t);g||(g=e<i?"lo":e>s?"hi":Math.abs(e-i)<=Math.abs(e-s)?"lo":"hi"),g==="lo"?j(e):H(e),O()};Z(c,{onDown:t=>{t.preventDefault(),p=v.getBoundingClientRect(),X=p.width/(v.offsetWidth||p.width),c.classList.add("is-active","is-dragging"),g=null,z(t.clientX),(g==="lo"?d:u).focus({focusVisible:!1})},onMove:t=>z(t.clientX),onEnd:()=>{p=null,g=null,c.classList.remove("is-active","is-dragging")}}),U(c,m),J(m),Q(c,[[window,"resize"],[window,"tw-reflow"]],m);let I=t=>e=>{let o=t==="lo"?A(e,i,h,n,s):A(e,s,h,i,l);o!=null&&(e.preventDefault(),t==="lo"?j(o):H(o),O())};return d.addEventListener("keydown",I("lo")),u.addEventListener("keydown",I("hi")),{el:v,set:t=>{if(Array.isArray(t)){let e=+t[0],o=+t[1];if(!Number.isFinite(e)||!Number.isFinite(o))return;i=r(b(Math.min(e,o)),n,l),s=r(b(Math.max(e,o)),n,l),m()}},get:()=>[i,s]}}Y("interval",nt);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as O,f as X,g as G,i as I,j as K}from"./chunk-X5DD246E.js";import{J as N,Y as V,g as P,j as T,q as B,u as p}from"./chunk-R7BLRFON.js";function Z(d,U){let o=d.components,{root:$,trigger:q,right:z}=I("tw-point",d.label??"Point"),L=p("span","tw-trigger-value"),Y=p("div","tw-trigger-chip tw-point-preview"),f=p("div","tw-point-preview-dot");Y.append(f),z.append(Y,L);let C=p("div","tw-color-pop tw-point-pop"),D=p("div","tw-point-body");C.append(D);let j=d.pad!==!1&&o.length>=2,J=t=>{let e=B(Math.abs(Number.isFinite(+t.value)?+t.value:0))[1],r=t.min??-e,n=t.max??e,s=10**Math.floor(Math.log10((n-r)/200));return{lo:r,hi:n,step:t.step??(s>0&&Number.isFinite(s)?s:1)}},g=o.map(J),v=g[0],w=g[1],y=v?.lo??-1,x=v?.hi??1,b=w?.lo??-1,h=w?.hi??1,k=(t,e,r)=>r>e?P((t-e)/(r-e),0,1):.5,a=null,A=null,m=null;if(j){a=p("div","tw-pad"),A=p("div","tw-pad-thumb");let t=O("svg","tw-pad-line");t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("preserveAspectRatio","none"),m=O("line"),t.append(m);let e=k(0,b,h);m.setAttribute("x1",k(0,y,x)*100),m.setAttribute("y1",(d.invertY?e:1-e)*100),a.append(p("div","tw-pad-axis tw-pad-axis-x"),p("div","tw-pad-axis tw-pad-axis-y"),t,A),D.append(a)}let H=p("div","tw-fields");D.append(H);let c=()=>{S(),Q()},E=()=>U(R()),i=o.map((t,e)=>{let r=K({label:t.label,value:t.value??0,step:g[e].step,min:t.min,max:t.max},()=>{c(),E()});return H.append(r.el),r}),R=()=>Object.fromEntries(o.map((t,e)=>[t.key,i[e].get()])),M=(t,e)=>(+t).toFixed(T(e)),Q=()=>{L.textContent=o.map((t,e)=>M(i[e].get(),g[e].step)).join(", ")},S=()=>{f.style.left="50%",f.style.top="50%"};if(j){let e=n=>`calc(${(n*100).toFixed(2)}% + ${((.5-n)*5).toFixed(2)}px)`;S=()=>{let n=k(i[0].get(),y,x),s=k(i[1].get(),b,h),l=d.invertY?s:1-s,u=n*100,F=l*100;A.style.left=u+"%",A.style.top=F+"%",f.style.left=e(n),f.style.top=e(l),m.setAttribute("x2",u),m.setAttribute("y2",F),a.setAttribute("aria-description",`${o[0].label??o[0].key} ${M(i[0].get(),v.step)}, ${o[1].label??o[1].key} ${M(i[1].get(),w.step)}`)},X(a,n=>{let[s,l]=G(n,a),u=d.invertY?l:1-l;i[0].set(y+s*(x-y)),i[1].set(b+u*(h-b)),c(),E()}),a.tabIndex=0,a.setAttribute("role","group"),a.setAttribute("aria-label",`${d.label??"Point"} pad: ${o[0].label??o[0].key} and ${o[1].label??o[1].key}`),a.addEventListener("keydown",n=>{if(n.key==="Home"){n.preventDefault(),o.forEach((F,W)=>i[W].set(F.value??0)),c(),E();return}let s=n.key==="ArrowRight"?1:n.key==="ArrowLeft"?-1:0,l=n.key==="ArrowUp"?1:n.key==="ArrowDown"?-1:0;if(!s&&!l)return;n.preventDefault();let u=n.shiftKey?10:1;s&&i[0].set(P(i[0].get()+s*v.step*u,y,x)),l&&i[1].set(P(i[1].get()+(d.invertY?-l:l)*w.step*u,b,h)),c(),E()})}return $.append(C),N($,q,C,{width:216,fallbackH:240,gap:6,onOpen:c}),c(),{el:$,set:t=>{t&&o.forEach((e,r)=>{t[e.key]!=null&&i[r].set(t[e.key])}),c()},get:R}}V("point",Z);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as w}from"./chunk-X5DD246E.js";import{W as E,Y as S,u as d,v as F,w as j}from"./chunk-R7BLRFON.js";var V=E('<path d="M10.5 13.5a4 4 0 0 0 5.6 0l3-3a4 4 0 0 0-5.6-5.6l-1.5 1.5M13.5 10.5a4 4 0 0 0-5.6 0l-3 3a4 4 0 0 0 5.6 5.6l1.5-1.5"/>'),_=/^(-?\d*\.?\d+)([a-z%]*)$/i,R=e=>e!=null&&e!==""&&Number.isFinite(+e)?+e:null,A=e=>String(+e.toFixed(2)),B=e=>e.length===1?[e[0],e[0],e[0],e[0]]:e.length===2?[e[0],e[1],e[0],e[1]]:e.length===3?[e[0],e[1],e[2],e[1]]:e.slice(0,4),M=(e,b)=>{if(typeof e=="number")return Number.isFinite(e)?[e,e,e,e]:null;if(typeof e=="string"){let s=e.trim().split(/\s+/).map(o=>{let a=_.exec(o);return a?+a[1]:NaN});return s.length>=1&&s.length<=4&&s.every(Number.isFinite)?B(s):null}if(Array.isArray(e)){let s=e.map(R);return s.length>=1&&s.length<=4&&s.every(o=>o!==null)?B(s):null}if(e&&typeof e=="object"){let s=e,o=b.slice(),a=!1;return["top","right","bottom","left"].forEach((t,r)=>{let p=R(s[t]);p!==null&&(o[r]=p,a=!0)}),a?o:null}return null};function z(e,b){let s=typeof e.unit=="string"&&e.unit.trim()?e.unit.trim():"px",o=!!e.corners,a={step:e.step??1,min:e.min,max:e.max,unit:s},t=M(e.value??e,[0,0,0,0])||[0,0,0,0],r=t.every(n=>n===t[0]),p=d("div","tw-sides"),f=w({label:e.label,value:t[0],row:!0,...a},n=>{t=[n,n,n,n],m(),y()}),u=F("tw-sides-link",V);u.setAttribute("aria-label","Link all sides"),u.title="Same on all sides",u.addEventListener("click",()=>T());let k=d("div","tw-sides-multi"),h=d("div","tw-sides-head"),N=d("span","tw-sides-sum");h.append(j("span","tw-row-label",e.label),N);let x=d("div","tw-fields"),g=(o?["TL","TR","BR","BL"]:["T","R","B","L"]).map((n,l)=>{let i=w({label:n,value:t[l],...a},c=>{t[l]=c,m(),y()});return x.append(i.el),i});k.append(h,x),p.append(f.el,k),t=g.map(n=>n.get());let O=()=>{let[n,l,i,c]=t.map(A),I=L=>L==="0"?"0":L+s;return(n===i&&l===c?n===l?[n]:[n,l]:l===c?[n,l,i]:[n,l,i,c]).map(I).join(" ")},C=()=>({top:t[0],right:t[1],bottom:t[2],left:t[3],css:O()}),y=()=>b(C()),m=()=>{p.classList.toggle("is-linked",r),u.setAttribute("aria-pressed",String(r)),r?f.el.insertBefore(u,f.el.lastChild):h.append(u),f.set(t[0]),g.forEach((n,l)=>n.set(t[l])),N.textContent=t.map(A).join(" ")},T=()=>{r=!r,r&&(t=[t[0],t[0],t[0],t[0]]),m(),y(),u.focus()};return m(),{el:p,set:n=>{let l=M(n,t);l&&(g.forEach((i,c)=>i.set(l[c])),t=g.map(i=>i.get()),r=t.every(i=>i===t[0]),m())},get:C}}S("sides",z);
|