@cryptlex/web-components 6.6.6-alpha74 → 6.6.6-alpha76
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/dist/components/alert.d.ts +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/data-table-filter.js +1 -1
- package/dist/components/data-table.js +1 -1
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/form.d.ts +1 -1
- package/dist/components/kbd.js +1 -1
- package/dist/components/kbd.js.map +1 -1
- package/dist/components/numberfield.js +1 -1
- package/dist/components/numberfield.js.map +1 -1
- package/dist/components/timeline.d.ts +1 -1
- package/dist/utilities/errors.d.ts +44 -0
- package/dist/utilities/errors.js +2 -0
- package/dist/utilities/errors.js.map +1 -0
- package/dist/utilities/numbers.d.ts +0 -17
- package/dist/utilities/numbers.js +1 -1
- package/dist/utilities/numbers.js.map +1 -1
- package/dist/utilities/validators.d.ts +61 -1
- package/dist/utilities/validators.js +1 -1
- package/dist/utilities/validators.js.map +1 -1
- package/lib/index.css +8 -11
- package/lib/tokens.css +239 -51
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
function o(r){return`${Math.floor(r/86400)} days`}function t(r,n){return Intl.NumberFormat(navigator.language,n).format(r)}function e(r){return r<1024?`${r} B`:r<1024*1024?`${(r/1024).toFixed(1)} KB`:r<1024*1024*1024?`${(r/(1024*1024)).toFixed(2)} MB`:`${(r/(1024*1024*1024)).toFixed(2)} GB`}export{o as formatDays,e as formatFilesize,t as formatNumber};
|
|
2
2
|
//# sourceMappingURL=numbers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numbers.js","sources":["../../lib/utilities/numbers.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"numbers.js","sources":["../../lib/utilities/numbers.ts"],"sourcesContent":["const SECONDS_PER_DAY = 86400;\n\nexport function formatDays(seconds: number): string {\n return `${Math.floor(seconds / SECONDS_PER_DAY)} days`;\n}\n\nexport function formatNumber(num: number | bigint, options?: Intl.NumberFormatOptions) {\n return Intl.NumberFormat(navigator.language, options).format(num);\n}\n\n/**\n * @returns A formatted string for the number of bytes\n */\nexport function formatFilesize(bytes: number): string {\n if (bytes < 1024) {\n return `${bytes} B`;\n } else if (bytes < 1024 * 1024) {\n return `${(bytes / 1024).toFixed(1)} KB`;\n } else if (bytes < 1024 * 1024 * 1024) {\n return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;\n } else {\n return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)} GB`;\n }\n}\n"],"names":["formatDays","seconds","formatNumber","num","options","formatFilesize","bytes"],"mappings":"AAEO,SAASA,EAAWC,EAAyB,CAChD,MAAO,GAAG,KAAK,MAAMA,EAAU,KAAe,CAAC,OACnD,CAEO,SAASC,EAAaC,EAAsBC,EAAoC,CACnF,OAAO,KAAK,aAAa,UAAU,SAAUA,CAAO,EAAE,OAAOD,CAAG,CACpE,CAKO,SAASE,EAAeC,EAAuB,CAClD,OAAIA,EAAQ,KACD,GAAGA,CAAK,KACRA,EAAQ,KAAO,KACf,IAAIA,EAAQ,MAAM,QAAQ,CAAC,CAAC,MAC5BA,EAAQ,KAAO,KAAO,KACtB,IAAIA,GAAS,KAAO,OAAO,QAAQ,CAAC,CAAC,MAErC,IAAIA,GAAS,KAAO,KAAO,OAAO,QAAQ,CAAC,CAAC,KAE3D"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import { FieldApi as FieldApiType } from '@tanstack/react-form';
|
|
2
|
+
import { z } from 'zod';
|
|
2
3
|
type FieldApi = FieldApiType<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
|
|
4
|
+
export declare const MAX_INT32 = 2147483647;
|
|
5
|
+
export declare const SECONDS_PER_DAY = 86400;
|
|
6
|
+
export declare const MAX_INT32_DAYS: number;
|
|
7
|
+
export declare const MIN_INT32 = -2147483648;
|
|
8
|
+
export declare const MIN_INT32_DAYS: number;
|
|
9
|
+
export declare const MAX_SHORT_TEXT = 256;
|
|
10
|
+
export declare const MAX_NOTES = 4096;
|
|
11
|
+
export declare const MIN_PASSWORD = 8;
|
|
12
|
+
export declare const MIN_LICENSE_KEY = 16;
|
|
13
|
+
export declare const MIN_FINGERPRINT = 64;
|
|
14
|
+
export declare const MAX_FINGERPRINT = 1024;
|
|
15
|
+
export declare const MAX_OFFLINE_REQUEST = 16384;
|
|
16
|
+
export declare const MIN_SERVER_SYNC = 180;
|
|
17
|
+
export declare const TWO_FACTOR_LENGTH = 6;
|
|
3
18
|
/**
|
|
4
19
|
* Validates that the value of an array item is unique.
|
|
5
20
|
* @param arrayFieldName - The field name of the array.
|
|
@@ -7,10 +22,55 @@ type FieldApi = FieldApiType<any, any, any, any, any, any, any, any, any, any, a
|
|
|
7
22
|
* @param key - The property name of the item.
|
|
8
23
|
* @returns A validator function.
|
|
9
24
|
*/
|
|
10
|
-
export declare function
|
|
25
|
+
export declare function V_ARRAY_UNIQUE_KEY(arrayFieldName: string, currentIndex: number, key: string): ({ value, fieldApi }: {
|
|
11
26
|
value: any;
|
|
12
27
|
fieldApi: FieldApi;
|
|
13
28
|
}) => {
|
|
14
29
|
message: string;
|
|
15
30
|
} | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a number validator with min/max constraints.
|
|
33
|
+
* @param min - Minimum allowed value.
|
|
34
|
+
* @param max - Maximum allowed value.
|
|
35
|
+
*/
|
|
36
|
+
export declare function V_NUMBER_RANGE(min: number, max: number): z.ZodNumber;
|
|
37
|
+
/**
|
|
38
|
+
* Creates a validator for day values (stored as seconds).
|
|
39
|
+
* @param min - Minimum allowed days.
|
|
40
|
+
*/
|
|
41
|
+
export declare function V_DAYS(min: number): z.ZodNumber;
|
|
42
|
+
/**
|
|
43
|
+
* Creates a validator for ISO8601 duration strings.
|
|
44
|
+
* @param maxYears - Maximum allowed years (default: 10).
|
|
45
|
+
*/
|
|
46
|
+
export declare function V_ISO8601_DURATION(maxYears?: number): z.ZodString;
|
|
47
|
+
/** Required name/short text field (1-256 chars) */
|
|
48
|
+
export declare const V_STRING_REQUIRED: z.ZodString;
|
|
49
|
+
/** Optional name field for update forms (1-256 chars when provided) */
|
|
50
|
+
export declare const V_STRING_OPTIONAL_REQUIRED: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
51
|
+
/** Optional short text field (0-256 chars) */
|
|
52
|
+
export declare const V_STRING_OPTIONAL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
53
|
+
/** Optional notes/long text field (0-4096 chars) */
|
|
54
|
+
export declare const V_NOTES_OPTIONAL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
55
|
+
/** Email address validation */
|
|
56
|
+
export declare const V_EMAIL: z.ZodEmail;
|
|
57
|
+
/** URL validation */
|
|
58
|
+
export declare const V_URL: z.ZodURL;
|
|
59
|
+
/** Password field (8-256 chars) */
|
|
60
|
+
export declare const V_PASSWORD: z.ZodString;
|
|
61
|
+
export declare const V_BOOLEAN_REQUIRED: z.ZodBoolean;
|
|
62
|
+
export declare const V_INT32_WITH_UNLIMITED: z.ZodNumber;
|
|
63
|
+
export declare const V_NON_NEGATIVE_INT32: z.ZodNumber;
|
|
64
|
+
export declare const V_POSITIVE_INT32: z.ZodNumber;
|
|
65
|
+
export declare const V_NUMBER: z.ZodNumber;
|
|
66
|
+
export declare const V_SERVER_SYNC_INTERVAL: z.ZodNumber;
|
|
67
|
+
export declare const V_REQUIRED_STRING_ARRAY: z.ZodArray<z.ZodString>;
|
|
68
|
+
export declare const V_OPTIONAL_STRING_ARRAY: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
69
|
+
export declare const V_OPTIONAL_LICENSE_KEY: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
70
|
+
/** Fingerprint field (64-1024 chars) */
|
|
71
|
+
export declare const V_FINGERPRINT: z.ZodString;
|
|
72
|
+
/** Offline request (1-16384 chars) */
|
|
73
|
+
export declare const V_OFFLINE_REQUEST: z.ZodString;
|
|
74
|
+
/** 2FA code (exactly 6 chars) */
|
|
75
|
+
export declare const V_TWO_FACTOR_CODE: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16
76
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{z as
|
|
1
|
+
import{z as s}from"zod";import{Duration as y}from"./duration.js";import{ER_REQUIRED as m,ER_MAX_CHARS as _,ER_ENTER_EMAIL as P,ER_ENTER_URL as Y,ER_PASSWORD_MIN as d,ER_MIN_CHARS as T,ER_NUMBER_MIN as h,ER_NUMBER_MAX as X,ER_ALREADY_EXISTS as b,ER_DAYS_MIN as C,ER_DAYS_MAX as x,ER_DURATION_NONZERO as G,ER_DURATION_MAX as F}from"./errors.js";import{formatNumber as i}from"./numbers.js";const I=2147483647,N=86400,M=Math.floor(I/N),Q=-2147483648,z=Math.ceil(Q/N),e=256,V=4096,W=8,f=16,D=64,U=1024,g=16384,B=180,a=6;function Z(n,o,R){return({value:t,fieldApi:r})=>{const E=r.form.state.values[n],L=A=>{if(!Array.isArray(E))return!0;const p=A.toLowerCase();let S=null;for(let c=0;c<E.length;c++){const O=E[c]?.[R];if(typeof O=="string"&&O.toLowerCase()===p){if(S===null)S=c;else if(c===o)return!1}}return!0},l=s.string().min(1,{error:m}).refine(A=>L(A),{message:b(t)}).safeParse(t);return l.success?void 0:{message:l.error.issues[0]?.message}}}function u(n,o){return s.number().min(n,{error:h(i(n))}).max(o,{error:X(i(o))})}function J(n){const o=n*N,R=M*N;return s.number().min(o,{error:C(i(n))}).max(R,{error:x(i(M))})}function $(n=10){const o=365*n,R=t=>{try{const r=y.parse(t);return{years:r.years??0,months:r.months??0,days:(r.days??0)+(r.weeks??0)*7,hours:r.hours??0,minutes:r.minutes??0,seconds:r.seconds??0}}catch{return{years:0,months:0,days:0,hours:0,minutes:0,seconds:0}}};return s.string().refine(t=>{const r=R(t);return Object.values(r).some(E=>E>0)},{message:G}).refine(t=>{const r=R(t),E=(r.hours*3600+r.minutes*60+r.seconds)/N;return r.years*365+r.months*30+r.days+E<=o},{message:F(n)})}const H=s.string().min(1,{error:m}).max(e,{error:_(e)}),rr=H.nullable().optional(),sr=s.string().max(e,{error:_(e)}).nullable().optional(),nr=s.string().max(V,{error:_(V)}).nullable().optional(),or=s.email({error:P}),tr=s.url({error:Y}),er=s.string().min(W,{error:d}).max(e,{error:_(e)}),_r=s.boolean(),Er=u(-1,I),Rr=u(0,I),cr=u(1,I),Nr=s.number(),Ir=u(B,I),v=s.array(s.string()),ar=v.nullable().optional(),ir=s.string().min(f,{error:T(f)}).max(e,{error:_(e)}).nullable().optional(),ur=s.string().min(D,{error:T(D)}).max(U,{error:_(U)}),Ar=s.string().min(1,{error:m}).max(g,{error:_(g)}),mr=s.string().min(a,{error:T(a)}).max(a,{error:_(a)}).nullable().optional();export{U as MAX_FINGERPRINT,I as MAX_INT32,M as MAX_INT32_DAYS,V as MAX_NOTES,g as MAX_OFFLINE_REQUEST,e as MAX_SHORT_TEXT,D as MIN_FINGERPRINT,Q as MIN_INT32,z as MIN_INT32_DAYS,f as MIN_LICENSE_KEY,W as MIN_PASSWORD,B as MIN_SERVER_SYNC,N as SECONDS_PER_DAY,a as TWO_FACTOR_LENGTH,Z as V_ARRAY_UNIQUE_KEY,_r as V_BOOLEAN_REQUIRED,J as V_DAYS,or as V_EMAIL,ur as V_FINGERPRINT,Er as V_INT32_WITH_UNLIMITED,$ as V_ISO8601_DURATION,Rr as V_NON_NEGATIVE_INT32,nr as V_NOTES_OPTIONAL,Nr as V_NUMBER,u as V_NUMBER_RANGE,Ar as V_OFFLINE_REQUEST,ir as V_OPTIONAL_LICENSE_KEY,ar as V_OPTIONAL_STRING_ARRAY,er as V_PASSWORD,cr as V_POSITIVE_INT32,v as V_REQUIRED_STRING_ARRAY,Ir as V_SERVER_SYNC_INTERVAL,sr as V_STRING_OPTIONAL,rr as V_STRING_OPTIONAL_REQUIRED,H as V_STRING_REQUIRED,mr as V_TWO_FACTOR_CODE,tr as V_URL};
|
|
2
2
|
//# sourceMappingURL=validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sources":["../../lib/utilities/validators.ts"],"sourcesContent":["import type { FieldApi as FieldApiType } from '@tanstack/react-form';\nimport { z } from 'zod';\ntype FieldApi = FieldApiType<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n>;\n\n/**\n * Validates that the value of an array item is unique.\n * @param arrayFieldName - The field name of the array.\n * @param currentIndex - The current index of the array item.\n * @param key - The property name of the item.\n * @returns A validator function.\n */\nexport function getUniqueArrayItemValidator(arrayFieldName: string, currentIndex: number, key: string) {\n return ({ value, fieldApi }: { value: any; fieldApi: FieldApi }): { message: string } | undefined => {\n const arrayValue = fieldApi.form.state.values[arrayFieldName];\n const checkUniqueness = (stringValue: string): boolean => {\n if (!Array.isArray(arrayValue)) return true;\n\n const target = stringValue.toLowerCase();\n let firstIndex: number | null = null;\n\n for (let i = 0; i < arrayValue.length; i++) {\n const v = arrayValue[i]?.[key];\n if (typeof v !== 'string') continue;\n\n if (v.toLowerCase() === target) {\n if (firstIndex === null) {\n firstIndex = i; // first match\n } else if (i === currentIndex) {\n // this is the second+ occurrence → invalid\n return false;\n }\n }\n }\n\n // Valid if it's the first match or no match\n return true;\n };\n\n const result = z\n .string()\n .min(1)\n .refine(value => checkUniqueness(value), {\n message: `'${value}' already exists. Enter a unique value.`,\n })\n .safeParse(value);\n\n if (result.success) {\n return undefined;\n }\n\n const firstIssue = result.error.issues[0];\n return {\n message: firstIssue?.message,\n };\n };\n}\n"],"names":["getUniqueArrayItemValidator","arrayFieldName","currentIndex","key","value","fieldApi","arrayValue","checkUniqueness","stringValue","target","firstIndex","i","v","result","z"],"mappings":"wBAmCO,SAASA,EAA4BC,EAAwBC,EAAsBC,EAAa,CACnG,MAAO,CAAC,CAAE,MAAAC,EAAO,SAAAC,KAAoF,CACjG,MAAMC,EAAaD,EAAS,KAAK,MAAM,OAAOJ,CAAc,EACtDM,EAAmBC,GAAiC,CACtD,GAAI,CAAC,MAAM,QAAQF,CAAU,EAAG,MAAO,GAEvC,MAAMG,EAASD,EAAY,YAAA,EAC3B,IAAIE,EAA4B,KAEhC,QAASC,EAAI,EAAGA,EAAIL,EAAW,OAAQK,IAAK,CACxC,MAAMC,EAAIN,EAAWK,CAAC,IAAIR,CAAG,EAC7B,GAAI,OAAOS,GAAM,UAEbA,EAAE,YAAA,IAAkBH,GACpB,GAAIC,IAAe,KACfA,EAAaC,UACNA,IAAMT,EAEb,MAAO,GAGnB,CAGA,MAAO,EACX,EAEMW,EAASC,EACV,OAAA,EACA,IAAI,CAAC,EACL,OAAOV,GAASG,EAAgBH,CAAK,EAAG,CACrC,QAAS,IAAIA,CAAK,yCAAA,CACrB,EACA,UAAUA,CAAK,EAEpB,OAAIS,EAAO,QACP,OAIG,CACH,QAFeA,EAAO,MAAM,OAAO,CAAC,GAEf,OAAA,CAE7B,CACJ"}
|
|
1
|
+
{"version":3,"file":"validators.js","sources":["../../lib/utilities/validators.ts"],"sourcesContent":["import type { FieldApi as FieldApiType } from '@tanstack/react-form';\nimport { z } from 'zod';\nimport { Duration } from './duration';\nimport {\n ER_ALREADY_EXISTS,\n ER_DAYS_MAX,\n ER_DAYS_MIN,\n ER_DURATION_MAX,\n ER_DURATION_NONZERO,\n ER_ENTER_EMAIL,\n ER_ENTER_URL,\n ER_MAX_CHARS,\n ER_MIN_CHARS,\n ER_NUMBER_MAX,\n ER_NUMBER_MIN,\n ER_PASSWORD_MIN,\n ER_REQUIRED,\n} from './errors';\nimport { formatNumber } from './numbers';\n\ntype FieldApi = FieldApiType<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n>;\n\nexport const MAX_INT32 = 2147483647;\nexport const SECONDS_PER_DAY = 86400;\nexport const MAX_INT32_DAYS = Math.floor(MAX_INT32 / SECONDS_PER_DAY);\nexport const MIN_INT32 = -2147483648;\nexport const MIN_INT32_DAYS = Math.ceil(MIN_INT32 / SECONDS_PER_DAY);\nexport const MAX_SHORT_TEXT = 256;\nexport const MAX_NOTES = 4096;\nexport const MIN_PASSWORD = 8;\nexport const MIN_LICENSE_KEY = 16;\nexport const MIN_FINGERPRINT = 64;\nexport const MAX_FINGERPRINT = 1024;\nexport const MAX_OFFLINE_REQUEST = 16384;\nexport const MIN_SERVER_SYNC = 180;\nexport const TWO_FACTOR_LENGTH = 6;\n\n/**\n * Validates that the value of an array item is unique.\n * @param arrayFieldName - The field name of the array.\n * @param currentIndex - The current index of the array item.\n * @param key - The property name of the item.\n * @returns A validator function.\n */\nexport function V_ARRAY_UNIQUE_KEY(arrayFieldName: string, currentIndex: number, key: string) {\n return ({ value, fieldApi }: { value: any; fieldApi: FieldApi }): { message: string } | undefined => {\n const arrayValue = fieldApi.form.state.values[arrayFieldName];\n const checkUniqueness = (stringValue: string): boolean => {\n if (!Array.isArray(arrayValue)) return true;\n\n const target = stringValue.toLowerCase();\n let firstIndex: number | null = null;\n\n for (let i = 0; i < arrayValue.length; i++) {\n const v = arrayValue[i]?.[key];\n if (typeof v !== 'string') continue;\n\n if (v.toLowerCase() === target) {\n if (firstIndex === null) {\n firstIndex = i; // first match\n } else if (i === currentIndex) {\n // this is the second+ occurrence → invalid\n return false;\n }\n }\n }\n\n // Valid if it's the first match or no match\n return true;\n };\n\n const result = z\n .string()\n .min(1, { error: ER_REQUIRED })\n .refine(value => checkUniqueness(value), {\n message: ER_ALREADY_EXISTS(value),\n })\n .safeParse(value);\n\n if (result.success) {\n return undefined;\n }\n\n const firstIssue = result.error.issues[0];\n return {\n message: firstIssue?.message,\n };\n };\n}\n\n/**\n * Creates a number validator with min/max constraints.\n * @param min - Minimum allowed value.\n * @param max - Maximum allowed value.\n */\nexport function V_NUMBER_RANGE(min: number, max: number) {\n return z\n .number()\n .min(min, { error: ER_NUMBER_MIN(formatNumber(min)) })\n .max(max, { error: ER_NUMBER_MAX(formatNumber(max)) });\n}\n\n/**\n * Creates a validator for day values (stored as seconds).\n * @param min - Minimum allowed days.\n */\nexport function V_DAYS(min: number) {\n const minSeconds = min * SECONDS_PER_DAY;\n const maxSeconds = MAX_INT32_DAYS * SECONDS_PER_DAY;\n\n return z\n .number()\n .min(minSeconds, { error: ER_DAYS_MIN(formatNumber(min)) })\n .max(maxSeconds, { error: ER_DAYS_MAX(formatNumber(MAX_INT32_DAYS)) });\n}\n\n/**\n * Creates a validator for ISO8601 duration strings.\n * @param maxYears - Maximum allowed years (default: 10).\n */\nexport function V_ISO8601_DURATION(maxYears: number = 10) {\n const MAX_DURATION_DAYS = 365 * maxYears;\n\n const getParts = (value: string) => {\n try {\n const parsed = Duration.parse(value);\n return {\n years: parsed.years ?? 0,\n months: parsed.months ?? 0,\n days: (parsed.days ?? 0) + (parsed.weeks ?? 0) * 7,\n hours: parsed.hours ?? 0,\n minutes: parsed.minutes ?? 0,\n seconds: parsed.seconds ?? 0,\n };\n } catch {\n return { years: 0, months: 0, days: 0, hours: 0, minutes: 0, seconds: 0 };\n }\n };\n\n return z\n .string()\n .refine(\n value => {\n const parts = getParts(value);\n return Object.values(parts).some(v => v > 0);\n },\n { message: ER_DURATION_NONZERO }\n )\n .refine(\n value => {\n const parts = getParts(value);\n const timeInDays = (parts.hours * 3600 + parts.minutes * 60 + parts.seconds) / SECONDS_PER_DAY;\n return parts.years * 365 + parts.months * 30 + parts.days + timeInDays <= MAX_DURATION_DAYS;\n },\n { message: ER_DURATION_MAX(maxYears) }\n );\n}\n\n/** Required name/short text field (1-256 chars) */\nexport const V_STRING_REQUIRED = z\n .string()\n .min(1, { error: ER_REQUIRED })\n .max(MAX_SHORT_TEXT, { error: ER_MAX_CHARS(MAX_SHORT_TEXT) });\n/** Optional name field for update forms (1-256 chars when provided) */\nexport const V_STRING_OPTIONAL_REQUIRED = V_STRING_REQUIRED.nullable().optional();\n/** Optional short text field (0-256 chars) */\nexport const V_STRING_OPTIONAL = z\n .string()\n .max(MAX_SHORT_TEXT, { error: ER_MAX_CHARS(MAX_SHORT_TEXT) })\n .nullable()\n .optional();\n/** Optional notes/long text field (0-4096 chars) */\nexport const V_NOTES_OPTIONAL = z\n .string()\n .max(MAX_NOTES, { error: ER_MAX_CHARS(MAX_NOTES) })\n .nullable()\n .optional();\n/** Email address validation */\nexport const V_EMAIL = z.email({ error: ER_ENTER_EMAIL });\n/** URL validation */\nexport const V_URL = z.url({ error: ER_ENTER_URL });\n/** Password field (8-256 chars) */\nexport const V_PASSWORD = z\n .string()\n .min(MIN_PASSWORD, { error: ER_PASSWORD_MIN })\n .max(MAX_SHORT_TEXT, { error: ER_MAX_CHARS(MAX_SHORT_TEXT) });\nexport const V_BOOLEAN_REQUIRED = z.boolean();\nexport const V_INT32_WITH_UNLIMITED = V_NUMBER_RANGE(-1, MAX_INT32);\nexport const V_NON_NEGATIVE_INT32 = V_NUMBER_RANGE(0, MAX_INT32);\nexport const V_POSITIVE_INT32 = V_NUMBER_RANGE(1, MAX_INT32);\nexport const V_NUMBER = z.number();\nexport const V_SERVER_SYNC_INTERVAL = V_NUMBER_RANGE(MIN_SERVER_SYNC, MAX_INT32);\nexport const V_REQUIRED_STRING_ARRAY = z.array(z.string());\nexport const V_OPTIONAL_STRING_ARRAY = V_REQUIRED_STRING_ARRAY.nullable().optional();\n\nexport const V_OPTIONAL_LICENSE_KEY = z\n .string()\n .min(MIN_LICENSE_KEY, { error: ER_MIN_CHARS(MIN_LICENSE_KEY) })\n .max(MAX_SHORT_TEXT, { error: ER_MAX_CHARS(MAX_SHORT_TEXT) })\n .nullable()\n .optional();\n\n/** Fingerprint field (64-1024 chars) */\nexport const V_FINGERPRINT = z\n .string()\n .min(MIN_FINGERPRINT, { error: ER_MIN_CHARS(MIN_FINGERPRINT) })\n .max(MAX_FINGERPRINT, { error: ER_MAX_CHARS(MAX_FINGERPRINT) });\n\n/** Offline request (1-16384 chars) */\nexport const V_OFFLINE_REQUEST = z\n .string()\n .min(1, { error: ER_REQUIRED })\n .max(MAX_OFFLINE_REQUEST, { error: ER_MAX_CHARS(MAX_OFFLINE_REQUEST) });\n\n/** 2FA code (exactly 6 chars) */\nexport const V_TWO_FACTOR_CODE = z\n .string()\n .min(TWO_FACTOR_LENGTH, { error: ER_MIN_CHARS(TWO_FACTOR_LENGTH) })\n .max(TWO_FACTOR_LENGTH, { error: ER_MAX_CHARS(TWO_FACTOR_LENGTH) })\n .nullable()\n .optional();\n"],"names":["MAX_INT32","SECONDS_PER_DAY","MAX_INT32_DAYS","MIN_INT32","MIN_INT32_DAYS","MAX_SHORT_TEXT","MAX_NOTES","MIN_PASSWORD","MIN_LICENSE_KEY","MIN_FINGERPRINT","MAX_FINGERPRINT","MAX_OFFLINE_REQUEST","MIN_SERVER_SYNC","TWO_FACTOR_LENGTH","V_ARRAY_UNIQUE_KEY","arrayFieldName","currentIndex","key","value","fieldApi","arrayValue","checkUniqueness","stringValue","target","firstIndex","i","v","result","z","ER_REQUIRED","ER_ALREADY_EXISTS","V_NUMBER_RANGE","min","max","ER_NUMBER_MIN","formatNumber","ER_NUMBER_MAX","V_DAYS","minSeconds","maxSeconds","ER_DAYS_MIN","ER_DAYS_MAX","V_ISO8601_DURATION","maxYears","MAX_DURATION_DAYS","getParts","parsed","Duration","parts","ER_DURATION_NONZERO","timeInDays","ER_DURATION_MAX","V_STRING_REQUIRED","ER_MAX_CHARS","V_STRING_OPTIONAL_REQUIRED","V_STRING_OPTIONAL","V_NOTES_OPTIONAL","V_EMAIL","ER_ENTER_EMAIL","V_URL","ER_ENTER_URL","V_PASSWORD","ER_PASSWORD_MIN","V_BOOLEAN_REQUIRED","V_INT32_WITH_UNLIMITED","V_NON_NEGATIVE_INT32","V_POSITIVE_INT32","V_NUMBER","V_SERVER_SYNC_INTERVAL","V_REQUIRED_STRING_ARRAY","V_OPTIONAL_STRING_ARRAY","V_OPTIONAL_LICENSE_KEY","ER_MIN_CHARS","V_FINGERPRINT","V_OFFLINE_REQUEST","V_TWO_FACTOR_CODE"],"mappings":"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"}
|
package/lib/index.css
CHANGED
|
@@ -3,9 +3,6 @@
|
|
|
3
3
|
@import './tokens.css';
|
|
4
4
|
/** https://tailwindcss.com/docs/theme#theme-variable-namespaces */
|
|
5
5
|
@theme static {
|
|
6
|
-
/* Radius */
|
|
7
|
-
--radius-*: initial;
|
|
8
|
-
|
|
9
6
|
/* Text Sizes */
|
|
10
7
|
/* Reset all default text sizes */
|
|
11
8
|
--text-*: initial;
|
|
@@ -144,23 +141,23 @@
|
|
|
144
141
|
|
|
145
142
|
/* A base set of classes for elements that can be clicked */
|
|
146
143
|
@utility btn {
|
|
147
|
-
@apply inline-flex body-sm gap-1 disabled:pointer-events-none text-ellipsis overflow-hidden items-center justify-center font-medium transition-colors cursor-pointer ring-offset-background [&_svg:not([class*='size-'])]:size-icon shrink-0 [&_svg]:shrink-0 [&_svg]:opacity-70 leading-tight outline-none no-underline whitespace-nowrap select-none disabled-muted focus-ring;
|
|
144
|
+
@apply inline-flex body-sm gap-1 px-2 disabled:pointer-events-none text-ellipsis overflow-hidden items-center justify-center font-medium transition-colors cursor-pointer ring-offset-background [&_svg:not([class*='size-'])]:size-icon shrink-0 [&_svg]:shrink-0 [&_svg]:opacity-70 leading-tight outline-none no-underline whitespace-nowrap select-none disabled-muted focus-ring hover:opacity-80 focus:opacity-80;
|
|
148
145
|
}
|
|
149
146
|
|
|
150
147
|
@utility btn-link {
|
|
151
148
|
@apply btn-ghost underline underline-offset-2;
|
|
152
149
|
}
|
|
153
150
|
@utility btn-primary {
|
|
154
|
-
@apply border border-primary text-primary
|
|
151
|
+
@apply border border-primary text-primary-foreground bg-primary;
|
|
155
152
|
}
|
|
156
153
|
@utility btn-destructive {
|
|
157
|
-
@apply border border-destructive text-destructive
|
|
158
|
-
}
|
|
159
|
-
@utility btn-neutral {
|
|
160
|
-
@apply border border-input text-accent bg-accent/10 hover:bg-accent/20 focus:bg-accent/20;
|
|
154
|
+
@apply border border-destructive text-destructive-foreground bg-destructive;
|
|
161
155
|
}
|
|
162
156
|
@utility btn-secondary {
|
|
163
|
-
@apply border border-secondary text-secondary
|
|
157
|
+
@apply border border-secondary text-secondary-foreground bg-secondary;
|
|
158
|
+
}
|
|
159
|
+
@utility btn-neutral {
|
|
160
|
+
@apply border border-input text-accent bg-accent/10;
|
|
164
161
|
}
|
|
165
162
|
@utility btn-ghost {
|
|
166
163
|
@apply bg-transparent focus:bg-accent/20 hover:bg-accent/20;
|
|
@@ -170,7 +167,7 @@
|
|
|
170
167
|
}
|
|
171
168
|
/* Dimensions for a standard input */
|
|
172
169
|
@utility input-dim {
|
|
173
|
-
@apply h-input px-
|
|
170
|
+
@apply h-input px-3 py-2 body-sm rounded-md leading-tight;
|
|
174
171
|
}
|
|
175
172
|
|
|
176
173
|
@utility form-field {
|
package/lib/tokens.css
CHANGED
|
@@ -3,17 +3,54 @@
|
|
|
3
3
|
Instead, compile the SCSS file again to create modifications.
|
|
4
4
|
*/
|
|
5
5
|
:root {
|
|
6
|
+
--lc-range-start: 0.12;
|
|
7
|
+
--lc-range-end: 0.92;
|
|
8
|
+
--c-range-start: 0.01;
|
|
9
|
+
--c-range-end: 0.25;
|
|
6
10
|
--primary-hue: 240;
|
|
7
|
-
--
|
|
8
|
-
--
|
|
9
|
-
--xprimary-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
--xprimary-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
--primary-c-start: var(--c-range-start);
|
|
12
|
+
--primary-c-end: var(--c-range-end);
|
|
13
|
+
--xprimary-1: oklch(
|
|
14
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (1 / 10))
|
|
15
|
+
calc(var(--primary-c-start) + (var(--primary-c-end) - var(--primary-c-start)) * (1 / 10)) var(--primary-hue)
|
|
16
|
+
);
|
|
17
|
+
--xprimary-2: oklch(
|
|
18
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (2 / 10))
|
|
19
|
+
calc(var(--primary-c-start) + (var(--primary-c-end) - var(--primary-c-start)) * (2 / 10)) var(--primary-hue)
|
|
20
|
+
);
|
|
21
|
+
--xprimary-3: oklch(
|
|
22
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (3 / 10))
|
|
23
|
+
calc(var(--primary-c-start) + (var(--primary-c-end) - var(--primary-c-start)) * (3 / 10)) var(--primary-hue)
|
|
24
|
+
);
|
|
25
|
+
--xprimary-4: oklch(
|
|
26
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (4 / 10))
|
|
27
|
+
calc(var(--primary-c-start) + (var(--primary-c-end) - var(--primary-c-start)) * (4 / 10)) var(--primary-hue)
|
|
28
|
+
);
|
|
29
|
+
--xprimary-5: oklch(
|
|
30
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (5 / 10))
|
|
31
|
+
calc(var(--primary-c-start) + (var(--primary-c-end) - var(--primary-c-start)) * (5 / 10)) var(--primary-hue)
|
|
32
|
+
);
|
|
33
|
+
--xprimary-6: oklch(
|
|
34
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (6 / 10))
|
|
35
|
+
calc(var(--primary-c-start) + (var(--primary-c-end) - var(--primary-c-start)) * (6 / 10)) var(--primary-hue)
|
|
36
|
+
);
|
|
37
|
+
--xprimary-7: oklch(
|
|
38
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (7 / 10))
|
|
39
|
+
calc(var(--primary-c-start) + (var(--primary-c-end) - var(--primary-c-start)) * (7 / 10)) var(--primary-hue)
|
|
40
|
+
);
|
|
41
|
+
--xprimary-8: oklch(
|
|
42
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (8 / 10))
|
|
43
|
+
calc(var(--primary-c-start) + (var(--primary-c-end) - var(--primary-c-start)) * (8 / 10)) var(--primary-hue)
|
|
44
|
+
);
|
|
45
|
+
--xprimary-9: oklch(
|
|
46
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (9 / 10))
|
|
47
|
+
calc(var(--primary-c-start) + (var(--primary-c-end) - var(--primary-c-start)) * (9 / 10)) var(--primary-hue)
|
|
48
|
+
);
|
|
49
|
+
--xprimary-10: oklch(
|
|
50
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (10 / 10))
|
|
51
|
+
calc(var(--primary-c-start) + (var(--primary-c-end) - var(--primary-c-start)) * (10 / 10))
|
|
52
|
+
var(--primary-hue)
|
|
53
|
+
);
|
|
17
54
|
--primary-1: var(--xprimary-1);
|
|
18
55
|
--primary-2: var(--xprimary-2);
|
|
19
56
|
--primary-3: var(--xprimary-3);
|
|
@@ -25,16 +62,58 @@
|
|
|
25
62
|
--primary-9: var(--xprimary-9);
|
|
26
63
|
--primary-10: var(--xprimary-10);
|
|
27
64
|
--secondary-hue: calc(var(--primary-hue) + 30);
|
|
28
|
-
--
|
|
29
|
-
--
|
|
30
|
-
--xsecondary-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
--xsecondary-
|
|
36
|
-
|
|
37
|
-
|
|
65
|
+
--secondary-c-start: var(--c-range-start);
|
|
66
|
+
--secondary-c-end: var(--c-range-end);
|
|
67
|
+
--xsecondary-1: oklch(
|
|
68
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (1 / 10))
|
|
69
|
+
calc(var(--secondary-c-start) + (var(--secondary-c-end) - var(--secondary-c-start)) * (1 / 10))
|
|
70
|
+
var(--secondary-hue)
|
|
71
|
+
);
|
|
72
|
+
--xsecondary-2: oklch(
|
|
73
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (2 / 10))
|
|
74
|
+
calc(var(--secondary-c-start) + (var(--secondary-c-end) - var(--secondary-c-start)) * (2 / 10))
|
|
75
|
+
var(--secondary-hue)
|
|
76
|
+
);
|
|
77
|
+
--xsecondary-3: oklch(
|
|
78
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (3 / 10))
|
|
79
|
+
calc(var(--secondary-c-start) + (var(--secondary-c-end) - var(--secondary-c-start)) * (3 / 10))
|
|
80
|
+
var(--secondary-hue)
|
|
81
|
+
);
|
|
82
|
+
--xsecondary-4: oklch(
|
|
83
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (4 / 10))
|
|
84
|
+
calc(var(--secondary-c-start) + (var(--secondary-c-end) - var(--secondary-c-start)) * (4 / 10))
|
|
85
|
+
var(--secondary-hue)
|
|
86
|
+
);
|
|
87
|
+
--xsecondary-5: oklch(
|
|
88
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (5 / 10))
|
|
89
|
+
calc(var(--secondary-c-start) + (var(--secondary-c-end) - var(--secondary-c-start)) * (5 / 10))
|
|
90
|
+
var(--secondary-hue)
|
|
91
|
+
);
|
|
92
|
+
--xsecondary-6: oklch(
|
|
93
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (6 / 10))
|
|
94
|
+
calc(var(--secondary-c-start) + (var(--secondary-c-end) - var(--secondary-c-start)) * (6 / 10))
|
|
95
|
+
var(--secondary-hue)
|
|
96
|
+
);
|
|
97
|
+
--xsecondary-7: oklch(
|
|
98
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (7 / 10))
|
|
99
|
+
calc(var(--secondary-c-start) + (var(--secondary-c-end) - var(--secondary-c-start)) * (7 / 10))
|
|
100
|
+
var(--secondary-hue)
|
|
101
|
+
);
|
|
102
|
+
--xsecondary-8: oklch(
|
|
103
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (8 / 10))
|
|
104
|
+
calc(var(--secondary-c-start) + (var(--secondary-c-end) - var(--secondary-c-start)) * (8 / 10))
|
|
105
|
+
var(--secondary-hue)
|
|
106
|
+
);
|
|
107
|
+
--xsecondary-9: oklch(
|
|
108
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (9 / 10))
|
|
109
|
+
calc(var(--secondary-c-start) + (var(--secondary-c-end) - var(--secondary-c-start)) * (9 / 10))
|
|
110
|
+
var(--secondary-hue)
|
|
111
|
+
);
|
|
112
|
+
--xsecondary-10: oklch(
|
|
113
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (10 / 10))
|
|
114
|
+
calc(var(--secondary-c-start) + (var(--secondary-c-end) - var(--secondary-c-start)) * (10 / 10))
|
|
115
|
+
var(--secondary-hue)
|
|
116
|
+
);
|
|
38
117
|
--secondary-1: var(--xsecondary-1);
|
|
39
118
|
--secondary-2: var(--xsecondary-2);
|
|
40
119
|
--secondary-3: var(--xsecondary-3);
|
|
@@ -46,16 +125,58 @@
|
|
|
46
125
|
--secondary-9: var(--xsecondary-9);
|
|
47
126
|
--secondary-10: var(--xsecondary-10);
|
|
48
127
|
--destructive-hue: 10;
|
|
49
|
-
--
|
|
50
|
-
--
|
|
51
|
-
--xdestructive-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
--xdestructive-
|
|
57
|
-
|
|
58
|
-
|
|
128
|
+
--destructive-c-start: var(--c-range-start);
|
|
129
|
+
--destructive-c-end: var(--c-range-end);
|
|
130
|
+
--xdestructive-1: oklch(
|
|
131
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (1 / 10))
|
|
132
|
+
calc(var(--destructive-c-start) + (var(--destructive-c-end) - var(--destructive-c-start)) * (1 / 10))
|
|
133
|
+
var(--destructive-hue)
|
|
134
|
+
);
|
|
135
|
+
--xdestructive-2: oklch(
|
|
136
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (2 / 10))
|
|
137
|
+
calc(var(--destructive-c-start) + (var(--destructive-c-end) - var(--destructive-c-start)) * (2 / 10))
|
|
138
|
+
var(--destructive-hue)
|
|
139
|
+
);
|
|
140
|
+
--xdestructive-3: oklch(
|
|
141
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (3 / 10))
|
|
142
|
+
calc(var(--destructive-c-start) + (var(--destructive-c-end) - var(--destructive-c-start)) * (3 / 10))
|
|
143
|
+
var(--destructive-hue)
|
|
144
|
+
);
|
|
145
|
+
--xdestructive-4: oklch(
|
|
146
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (4 / 10))
|
|
147
|
+
calc(var(--destructive-c-start) + (var(--destructive-c-end) - var(--destructive-c-start)) * (4 / 10))
|
|
148
|
+
var(--destructive-hue)
|
|
149
|
+
);
|
|
150
|
+
--xdestructive-5: oklch(
|
|
151
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (5 / 10))
|
|
152
|
+
calc(var(--destructive-c-start) + (var(--destructive-c-end) - var(--destructive-c-start)) * (5 / 10))
|
|
153
|
+
var(--destructive-hue)
|
|
154
|
+
);
|
|
155
|
+
--xdestructive-6: oklch(
|
|
156
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (6 / 10))
|
|
157
|
+
calc(var(--destructive-c-start) + (var(--destructive-c-end) - var(--destructive-c-start)) * (6 / 10))
|
|
158
|
+
var(--destructive-hue)
|
|
159
|
+
);
|
|
160
|
+
--xdestructive-7: oklch(
|
|
161
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (7 / 10))
|
|
162
|
+
calc(var(--destructive-c-start) + (var(--destructive-c-end) - var(--destructive-c-start)) * (7 / 10))
|
|
163
|
+
var(--destructive-hue)
|
|
164
|
+
);
|
|
165
|
+
--xdestructive-8: oklch(
|
|
166
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (8 / 10))
|
|
167
|
+
calc(var(--destructive-c-start) + (var(--destructive-c-end) - var(--destructive-c-start)) * (8 / 10))
|
|
168
|
+
var(--destructive-hue)
|
|
169
|
+
);
|
|
170
|
+
--xdestructive-9: oklch(
|
|
171
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (9 / 10))
|
|
172
|
+
calc(var(--destructive-c-start) + (var(--destructive-c-end) - var(--destructive-c-start)) * (9 / 10))
|
|
173
|
+
var(--destructive-hue)
|
|
174
|
+
);
|
|
175
|
+
--xdestructive-10: oklch(
|
|
176
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (10 / 10))
|
|
177
|
+
calc(var(--destructive-c-start) + (var(--destructive-c-end) - var(--destructive-c-start)) * (10 / 10))
|
|
178
|
+
var(--destructive-hue)
|
|
179
|
+
);
|
|
59
180
|
--destructive-1: var(--xdestructive-1);
|
|
60
181
|
--destructive-2: var(--xdestructive-2);
|
|
61
182
|
--destructive-3: var(--xdestructive-3);
|
|
@@ -67,16 +188,49 @@
|
|
|
67
188
|
--destructive-9: var(--xdestructive-9);
|
|
68
189
|
--destructive-10: var(--xdestructive-10);
|
|
69
190
|
--success-hue: 150;
|
|
70
|
-
--
|
|
71
|
-
--
|
|
72
|
-
--xsuccess-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
--xsuccess-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
191
|
+
--success-c-start: var(--c-range-start);
|
|
192
|
+
--success-c-end: var(--c-range-end);
|
|
193
|
+
--xsuccess-1: oklch(
|
|
194
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (1 / 10))
|
|
195
|
+
calc(var(--success-c-start) + (var(--success-c-end) - var(--success-c-start)) * (1 / 10)) var(--success-hue)
|
|
196
|
+
);
|
|
197
|
+
--xsuccess-2: oklch(
|
|
198
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (2 / 10))
|
|
199
|
+
calc(var(--success-c-start) + (var(--success-c-end) - var(--success-c-start)) * (2 / 10)) var(--success-hue)
|
|
200
|
+
);
|
|
201
|
+
--xsuccess-3: oklch(
|
|
202
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (3 / 10))
|
|
203
|
+
calc(var(--success-c-start) + (var(--success-c-end) - var(--success-c-start)) * (3 / 10)) var(--success-hue)
|
|
204
|
+
);
|
|
205
|
+
--xsuccess-4: oklch(
|
|
206
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (4 / 10))
|
|
207
|
+
calc(var(--success-c-start) + (var(--success-c-end) - var(--success-c-start)) * (4 / 10)) var(--success-hue)
|
|
208
|
+
);
|
|
209
|
+
--xsuccess-5: oklch(
|
|
210
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (5 / 10))
|
|
211
|
+
calc(var(--success-c-start) + (var(--success-c-end) - var(--success-c-start)) * (5 / 10)) var(--success-hue)
|
|
212
|
+
);
|
|
213
|
+
--xsuccess-6: oklch(
|
|
214
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (6 / 10))
|
|
215
|
+
calc(var(--success-c-start) + (var(--success-c-end) - var(--success-c-start)) * (6 / 10)) var(--success-hue)
|
|
216
|
+
);
|
|
217
|
+
--xsuccess-7: oklch(
|
|
218
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (7 / 10))
|
|
219
|
+
calc(var(--success-c-start) + (var(--success-c-end) - var(--success-c-start)) * (7 / 10)) var(--success-hue)
|
|
220
|
+
);
|
|
221
|
+
--xsuccess-8: oklch(
|
|
222
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (8 / 10))
|
|
223
|
+
calc(var(--success-c-start) + (var(--success-c-end) - var(--success-c-start)) * (8 / 10)) var(--success-hue)
|
|
224
|
+
);
|
|
225
|
+
--xsuccess-9: oklch(
|
|
226
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (9 / 10))
|
|
227
|
+
calc(var(--success-c-start) + (var(--success-c-end) - var(--success-c-start)) * (9 / 10)) var(--success-hue)
|
|
228
|
+
);
|
|
229
|
+
--xsuccess-10: oklch(
|
|
230
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (10 / 10))
|
|
231
|
+
calc(var(--success-c-start) + (var(--success-c-end) - var(--success-c-start)) * (10 / 10))
|
|
232
|
+
var(--success-hue)
|
|
233
|
+
);
|
|
80
234
|
--success-1: var(--xsuccess-1);
|
|
81
235
|
--success-2: var(--xsuccess-2);
|
|
82
236
|
--success-3: var(--xsuccess-3);
|
|
@@ -88,17 +242,49 @@
|
|
|
88
242
|
--success-9: var(--xsuccess-9);
|
|
89
243
|
--success-10: var(--xsuccess-10);
|
|
90
244
|
--neutral-hue: var(--primary-hue);
|
|
91
|
-
--neutral-
|
|
92
|
-
--
|
|
93
|
-
--xneutral-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
--xneutral-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
--xneutral-
|
|
245
|
+
--neutral-c-start: var(--c-range-start);
|
|
246
|
+
--neutral-c-end: var(--c-range-end);
|
|
247
|
+
--xneutral-1: oklch(
|
|
248
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (1 / 10))
|
|
249
|
+
calc(var(--neutral-c-start) + (var(--neutral-c-end) - var(--neutral-c-start)) * (1 / 10)) var(--neutral-hue)
|
|
250
|
+
);
|
|
251
|
+
--xneutral-2: oklch(
|
|
252
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (2 / 10))
|
|
253
|
+
calc(var(--neutral-c-start) + (var(--neutral-c-end) - var(--neutral-c-start)) * (2 / 10)) var(--neutral-hue)
|
|
254
|
+
);
|
|
255
|
+
--xneutral-3: oklch(
|
|
256
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (3 / 10))
|
|
257
|
+
calc(var(--neutral-c-start) + (var(--neutral-c-end) - var(--neutral-c-start)) * (3 / 10)) var(--neutral-hue)
|
|
258
|
+
);
|
|
259
|
+
--xneutral-4: oklch(
|
|
260
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (4 / 10))
|
|
261
|
+
calc(var(--neutral-c-start) + (var(--neutral-c-end) - var(--neutral-c-start)) * (4 / 10)) var(--neutral-hue)
|
|
262
|
+
);
|
|
263
|
+
--xneutral-5: oklch(
|
|
264
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (5 / 10))
|
|
265
|
+
calc(var(--neutral-c-start) + (var(--neutral-c-end) - var(--neutral-c-start)) * (5 / 10)) var(--neutral-hue)
|
|
266
|
+
);
|
|
267
|
+
--xneutral-6: oklch(
|
|
268
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (6 / 10))
|
|
269
|
+
calc(var(--neutral-c-start) + (var(--neutral-c-end) - var(--neutral-c-start)) * (6 / 10)) var(--neutral-hue)
|
|
270
|
+
);
|
|
271
|
+
--xneutral-7: oklch(
|
|
272
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (7 / 10))
|
|
273
|
+
calc(var(--neutral-c-start) + (var(--neutral-c-end) - var(--neutral-c-start)) * (7 / 10)) var(--neutral-hue)
|
|
274
|
+
);
|
|
275
|
+
--xneutral-8: oklch(
|
|
276
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (8 / 10))
|
|
277
|
+
calc(var(--neutral-c-start) + (var(--neutral-c-end) - var(--neutral-c-start)) * (8 / 10)) var(--neutral-hue)
|
|
278
|
+
);
|
|
279
|
+
--xneutral-9: oklch(
|
|
280
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (9 / 10))
|
|
281
|
+
calc(var(--neutral-c-start) + (var(--neutral-c-end) - var(--neutral-c-start)) * (9 / 10)) var(--neutral-hue)
|
|
282
|
+
);
|
|
283
|
+
--xneutral-10: oklch(
|
|
284
|
+
calc(var(--lc-range-start) + (var(--lc-range-end) - var(--lc-range-start)) * (10 / 10))
|
|
285
|
+
calc(var(--neutral-c-start) + (var(--neutral-c-end) - var(--neutral-c-start)) * (10 / 10))
|
|
286
|
+
var(--neutral-hue)
|
|
287
|
+
);
|
|
102
288
|
--neutral-1: var(--xneutral-1);
|
|
103
289
|
--neutral-2: var(--xneutral-2);
|
|
104
290
|
--neutral-3: var(--xneutral-3);
|
|
@@ -109,6 +295,8 @@
|
|
|
109
295
|
--neutral-8: var(--xneutral-8);
|
|
110
296
|
--neutral-9: var(--xneutral-9);
|
|
111
297
|
--neutral-10: var(--xneutral-10);
|
|
298
|
+
--neutral-c-start: 0;
|
|
299
|
+
--neutral-c-end: 0.005;
|
|
112
300
|
}
|
|
113
301
|
@media (prefers-color-scheme: dark) {
|
|
114
302
|
:root {
|