@walidsj/react-ui 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/components/input/index.d.ts +1 -1
- package/dist/components/input/input.d.ts +9 -1
- package/dist/components/textarea/index.d.ts +1 -0
- package/dist/components/textarea/textarea.d.ts +13 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +1216 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/cn.d.ts +1 -2
- package/dist/style.css +34 -14
- package/package.json +40 -41
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["BaseButton","BaseInput"],"sources":["../node_modules/class-variance-authority/dist/index.mjs","../src/lib/cn.ts","../src/components/button/button.tsx","../src/components/input/input.tsx"],"sourcesContent":["/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { Button as BaseButton } from \"@base-ui/react/button\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { type ComponentPropsWithoutRef, forwardRef, type Ref } from \"react\";\nimport { cn } from \"../../lib/cn\";\n\nconst buttonVariants = cva(\n \"inline-flex select-none items-center justify-center whitespace-nowrap rounded-ui-md font-medium transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n primary:\n \"bg-primary text-primary-foreground hover:bg-primary/90 active:bg-primary/80\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/70\",\n outline:\n \"border border-border bg-transparent text-foreground hover:bg-muted active:bg-muted/70\",\n ghost:\n \"bg-transparent text-foreground hover:bg-muted active:bg-muted/70\",\n danger:\n \"bg-danger text-danger-foreground hover:bg-danger/90 active:bg-danger/80\",\n },\n size: {\n sm: \"h-8 gap-1.5 px-3 text-sm\",\n md: \"h-10 gap-2 px-4 text-sm\",\n lg: \"h-12 gap-2.5 px-6 text-base\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n },\n);\n\nexport type ButtonVariant = NonNullable<\n VariantProps<typeof buttonVariants>[\"variant\"]\n>;\nexport type ButtonSize = NonNullable<\n VariantProps<typeof buttonVariants>[\"size\"]\n>;\n\nexport interface ButtonProps extends ComponentPropsWithoutRef<\"button\"> {\n variant?: ButtonVariant;\n size?: ButtonSize;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n { className, variant = \"primary\", size = \"md\", type = \"button\", ...props },\n ref,\n ) {\n return (\n <BaseButton\n {...props}\n ref={ref as Ref<HTMLElement>}\n type={type}\n className={cn(buttonVariants({ variant, size }), className)}\n />\n );\n },\n);\n","import { Input as BaseInput } from \"@base-ui/react/input\";\nimport { type ComponentPropsWithoutRef, forwardRef, type Ref } from \"react\";\nimport { cn } from \"../../lib/cn\";\n\nexport interface InputProps extends ComponentPropsWithoutRef<\"input\"> {\n invalid?: boolean;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(function Input(\n { className, invalid = false, \"aria-invalid\": ariaInvalid, ...props },\n ref,\n) {\n return (\n <BaseInput\n {...props}\n ref={ref as Ref<HTMLElement>}\n aria-invalid={invalid || ariaInvalid}\n className={cn(\n \"flex h-10 w-full rounded-ui-md border border-border bg-background px-3 py-2 text-sm text-foreground shadow-sm outline-none transition-colors placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-[invalid=true]:border-danger aria-[invalid=true]:focus-visible:ring-danger/30\",\n className,\n )}\n />\n );\n});\n"],"ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;GAeA,IAAM,iBAAiB,UAAQ,OAAO,UAAU,YAAY,GAAG,UAAU,UAAU,IAAI,MAAM;AAC7F,IAAa,KAAK;AAClB,IAAa,OAAO,MAAM,YAAU,UAAQ;CACpC,IAAI;CACJ,KAAK,WAAW,QAAQ,WAAW,KAAK,IAAI,KAAK,IAAI,OAAO,aAAa,MAAM,OAAO,GAAG,MAAM,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,OAAO,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,SAAS;CACvN,MAAM,EAAE,UAAU,oBAAoB;CACtC,MAAM,uBAAuB,OAAO,KAAK,QAAQ,CAAC,CAAC,KAAK,YAAU;EAC9D,MAAM,cAAc,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM;EACxE,MAAM,qBAAqB,oBAAoB,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB;EAC7G,IAAI,gBAAgB,MAAM,OAAO;EACjC,MAAM,aAAa,cAAc,WAAW,KAAK,cAAc,kBAAkB;EACjF,OAAO,SAAS,QAAQ,CAAC;CAC7B,CAAC;CACD,MAAM,wBAAwB,SAAS,OAAO,QAAQ,KAAK,CAAC,CAAC,QAAQ,KAAK,UAAQ;EAC9E,IAAI,CAAC,KAAK,SAAS;EACnB,IAAI,UAAU,KAAA,GACV,OAAO;EAEX,IAAI,OAAO;EACX,OAAO;CACX,GAAG,CAAC,CAAC;CAkBL,OAAO,GAAG,MAAM,sBAjBqB,WAAW,QAAQ,WAAW,KAAK,IAAI,KAAK,KAAK,2BAA2B,OAAO,sBAAsB,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,QAAQ,KAAK,UAAQ;EAC/O,IAAI,EAAE,OAAO,SAAS,WAAW,aAAa,GAAG,2BAA2B;EAC5E,OAAO,OAAO,QAAQ,sBAAsB,CAAC,CAAC,OAAO,UAAQ;GACzD,IAAI,CAAC,KAAK,SAAS;GACnB,OAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,SAAS;IACzC,GAAG;IACH,GAAG;GACP,EAAE,IAAI,IAAK;IACP,GAAG;IACH,GAAG;GACP,EAAG,SAAS;EAChB,CAAC,IAAI;GACD,GAAG;GACH;GACA;EACJ,IAAI;CACR,GAAG,CAAC,CAAC,GAC+D,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,OAAO,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,SAAS;AAChM;;ACnDJ,SAAgB,GAAG,GAAG,QAAsB;CAC1C,OAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;ACAA,IAAM,iBAAiB,IACrB,iSACA;CACE,UAAU;EACR,SAAS;GACP,SACE;GACF,WACE;GACF,SACE;GACF,OACE;GACF,QACE;EACJ;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF;AAcA,IAAa,SAAS,WACpB,SAAS,OACP,EAAE,WAAW,UAAU,WAAW,OAAO,MAAM,OAAO,UAAU,GAAG,SACnE,KACA;CACA,OACE,oBAACA,UAAD;EACE,GAAI;EACC;EACC;EACN,WAAW,GAAG,eAAe;GAAE;GAAS;EAAK,CAAC,GAAG,SAAS;CAC3D,CAAA;AAEL,CACF;;ACpDA,IAAa,QAAQ,WAAyC,SAAS,MACrE,EAAE,WAAW,UAAU,OAAO,gBAAgB,aAAa,GAAG,SAC9D,KACA;CACA,OACE,oBAACC,SAAD;EACE,GAAI;EACC;EACL,gBAAc,WAAW;EACzB,WAAW,GACT,+XACA,SACF;CACD,CAAA;AAEL,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["BaseButton","BaseInput"],"sources":["../node_modules/class-variance-authority/dist/index.mjs","../node_modules/cn/dist/tables.js","../node_modules/cn/dist/engine.js","../node_modules/cn/dist/index.js","../src/components/button/button.tsx","../src/components/input/input.tsx","../src/components/textarea/textarea.tsx"],"sourcesContent":["/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","//#region src/tables.generated.ts\nconst P = 48;\nconst U = (s, o = 0) => {\n\tconst out = new Int32Array(s.length);\n\tfor (let i = 0; i < s.length; i++) out[i] = s.charCodeAt(i) - P - o;\n\treturn out;\n};\nconst PS = (counts) => {\n\tconst out = new Int32Array(counts.length + 1);\n\tfor (let i = 0; i < counts.length; i++) out[i + 1] = out[i] + counts[i];\n\treturn out;\n};\nconst DZ = (s) => {\n\tconst out = new Int32Array(s.length);\n\tlet a = 0;\n\tfor (let i = 0; i < s.length; i++) {\n\t\tconst z = s.charCodeAt(i) - P;\n\t\ta += z >>> 1 ^ -(z & 1);\n\t\tout[i] = a;\n\t}\n\treturn out;\n};\nconst GROUP_COUNT = 384;\nconst customValidatorNames = [];\nconst edgeStart = PS(U(\"E0500002005282000000002000150000020021820000011200000003022202000300004200120000200420001200021200301200010400162000010000220021010:2192001200220012000220012000200200200400010200040000000000400200108200110100000022010313000162002000020020012020080213000228200000000082000000000120002000120020020040101020300130001001010\"));\nconst labelStart = PS(U(\":11111111211111119311546544411119731869:671397415686432441111111111161114151214313433415:78311132233313187211117221449443411141111151152226611131111112212518142224214215421421542142424242516171151615616347111111111197911327451111111111111111111113134714133513411111311111111111111111111112444411111342312715245411117:3\"));\nconst labelText = \"@containerabcdefghinlmoprstunderlineviawzccentlignnimatespectuto-colsrowsaglorightnessckdrop-sisbcontrastfiltergrayscalehue-rotateinvertopacityslurrightnessaturateepia-coniclinearpositionradialsizeockurrderttom-belrstxyespacing-xyaretoursorlnt-umnsendspantartainentrasteividerop-shadowurationcorationlay-xyasendillexontromlter-featuresstretchapr-xyayscaleidow-colsrowsue-rotatedentlinesetvert-beringsxyeshadoweiadingftnest-clamp-imageabein-lrstxyskx--b-coniclpositionrsizet-x-y-fromto-fromto-inearfromto-fromto-adialfromto-fromtofromtofromtofromtoblockhinlinew-screenesblockhinlinewbjectpacityrutlinederigin-offsetbelrstxyesrspective-originaceholderioghtng-offsettateundedw-xyz-belrstlreseslr-endspantartaturatecepiahizekewpace-taleroll-xyz-barmpbelrstxyesbelrstxyes-thumbrackadowrink-xyxyartrokeabextora-shadowpckingnsformitionlate-xyz-offsetill-changeoom\";\nconst edgeTarget = (() => {\n\tconst N = edgeStart.length - 1;\n\tconst sizes = new Int32Array(N);\n\tfor (let i = N - 1; i >= 0; i--) {\n\t\tlet s = 1;\n\t\tlet c = i + 1;\n\t\tfor (let k = edgeStart[i]; k < edgeStart[i + 1]; k++) {\n\t\t\ts += sizes[c];\n\t\t\tc += sizes[c];\n\t\t}\n\t\tsizes[i] = s;\n\t}\n\tconst out = new Int32Array(edgeStart[N]);\n\tlet e = 0;\n\tfor (let i = 0; i < N; i++) {\n\t\tlet c = i + 1;\n\t\tfor (let k = edgeStart[i]; k < edgeStart[i + 1]; k++) {\n\t\t\tout[e++] = c;\n\t\t\tc += sizes[c];\n\t\t}\n\t}\n\treturn out;\n})();\nconst nodeGroup = U(\"02000000000000900<=0?000B000F00F00ŏI0J0LNPRTVX0000]_a00000000000000000000000rst0000000zŏ00000000000
ŏ0000000ŏ00000000000000000000000000000000000000000000000000000000000000Ë000000000000000000000Þ000000000000000000ð0000000ø0ùúûüýþÿĀāĂ㥹Ć000000000000000000000000000000000000000000ħ0ĨĪ00000000000000000000ļĽ00000Ŭ000000\", 1);\nconst vlistPat = PS(U(\"123333359346463635126536711576\"));\nconst vlistOps = U(\"93203242332583253248325D>E?F@03263243255B:032523853:0325B:8GA032542H<C=12727B:0328432553;D>E?3257D>032585:0325B:;0328B:032\");\nconst vlistRef = U(\"012113445661666666789111:5;;;;;;;;444;;;:62999<1161=62>>?61:21@ABCD4446996:64E:::;:?::64:F114GHHIHHHHIHH1HH1HH1HHHHHH::EEJ4444::EE4444441691;644444114244444:;K6666555555555555555999666664444444444444444444444226?6:66644L9M?D:111::::6DE199\");\nconst vlistGroup = DZ(\"020200202020020020020020020020200200200200200200200002020202001003040106000200200200200200200200200200200200200200200200200200200200200200200200200200200200020020020020020020002020200202002002002002002002002002002020002002020020200220200200200200200200200200200200020020020000200020002000200200200020020020002000200200200020020202002020202000200200020022000200200020020002002000200220002002000200W0Z00020020002002020002002000200g0j0002002000200200020020002002000200200020020002000200002000002002002002002000200020000200002002002002002002002020020020200200200200200200200200202020020020020020020020020002002002020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020002002002002002002000200200200200200200200200200020202020002000200020002002002002000020200200\");\nconst nodeVlist = (() => {\n\tconst out = (/* @__PURE__ */ new Int32Array(319)).fill(-1);\n\tconst A = DZ(\"02422242:222222242224222242442222222422222244442242226224222426222422442462222422622222222626222462242622422622422424242422222222422222222242422222222222222222622442224222222222222224424442262222222222222222222226224222424242422224422422422222\");\n\tconst V = DZ(\"02222222222222222222202222222222222222222222221422222222222222222222222222222222222Y\\\\222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222221422222222222222222222222222222222222222Ŀł222222222222222222\");\n\tfor (let i = 0; i < A.length; i++) out[A[i]] = V[i];\n\treturn out;\n})();\nconst SETS = \"container |break-after- all auto avoid avoid-page column left page right|break-before- all auto avoid avoid-page column left page right|break-inside-a uto void void-column void-page|box-decoration- clone slice|box- border content| contents flow-root hidden table table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group| not-sr-only sr-only|float- end left none right start|clear- both end left none right start|isolat e ion-auto|overflow- auto clip hidden scroll visible|overflow-x- auto clip hidden scroll visible|overflow-y- auto clip hidden scroll visible|overscroll- auto contain none|overscroll-x- auto contain none|overscroll-y- auto contain none| absolute fixed relative static sticky| collapse invisible visible|justify- around baseline between center center-safe end end-safe evenly normal start stretch|justify-items- center center-safe end end-safe normal start stretch|justify-self- auto center center-safe end end-safe start stretch|items- baseline baseline-last center center-safe end end-safe start stretch|self- auto baseline baseline-last center center-safe end end-safe start stretch|place-content- around baseline between center center-safe end end-safe evenly start stretch|place-items- baseline center center-safe end end-safe start stretch|place-self- auto center center-safe end end-safe start stretch| antialiased subpixel-antialiased| italic not-italic|normal-nums |ordinal |slashed-zero | lining-nums oldstyle-nums| proportional-nums tabular-nums| diagonal-fractions stacked-fractions| no-underline overline| capitalize lowercase normal-case uppercase|truncate |whitespace- break-spaces normal nowrap pre pre-line pre-wrap|break- all keep normal words|wrap- anywhere break-word normal|hyphens- auto manual none|mix-blend- color color-burn color-dodge darken difference exclusion hard-light hue lighten luminosity multiply normal overlay plus-darker plus-lighter saturation screen soft-light|table- auto fixed|caption- bottom top|backface- hidden visible|appearance- auto none|scheme- dark light light-dark normal only-dark only-light|field-sizing- content fixed|pointer-events- auto none|resize -none -x -y|snap- align-none center end start|snap- always normal|snap- both none x y|snap- mandatory proximity|touch- auto manipulation none|touch-pan- left right x|touch-pan- down up y|touch-pinch-zoom |select- all auto none text|forced-color-adjust- auto none| normal size| baseline bottom middle sub super text-bottom text-top top| bounce none ping pulse spin| auto square video| auto fr max min px|none | auto full px| fixed local scroll|clip- border content padding text|origin- border content padding| bottom bottom-left bottom-right center left left-bottom left-top right right-bottom right-top top top-left top-right| no-repeat repeat repeat-round repeat-space repeat-x repeat-y| auto contain cover| gradient-to-b gradient-to-bl gradient-to-br gradient-to-l gradient-to-r gradient-to-t gradient-to-tl gradient-to-tr none|blend- color color-burn color-dodge darken difference exclusion hard-light hue lighten luminosity multiply normal overlay saturation screen soft-light|to- b bl br l r t tl tr| auto dvh fit full lh lvh max min px screen svh| dashed dotted double hidden none solid| collapse separate|px |auto |full | content none strict| inline-size size|layout |paint |style | around baseline between center center-safe end end-safe evenly normal start stretch| alias all-scroll auto cell col-resize context-menu copy crosshair default e-resize ew-resize grab grabbing help move n-resize ne-resize nesw-resize no-drop none not-allowed ns-resize nw-resize nwse-resize pointer progress row-resize s-resize se-resize sw-resize text vertical-text w-resize wait zoom-in zoom-out| dashed dotted double solid wavy| auto from-font|reverse |initial | in in-out initial linear out| col col-reverse row row-reverse| nowrap wrap wrap-reverse| auto initial none| black bold extrabold extralight light medium normal semibold thin| condensed expanded extra-condensed extra-expanded normal semi-condensed semi-expanded ultra-condensed ultra-expanded|flow- col col-dense dense row row-dense| none subgrid| auto dvh dvw fit full lh lvh lvw max min px screen svh svw| block flex grid table| auto dvw fit full lvw max min px screen svw| loose none normal px relaxed snug tight|through |item | inside outside| decimal disc none| auto px| clip-border clip-content clip-fill clip-padding clip-stroke clip-view no-clip| add exclude intersect subtract| alpha luminance match|origin- border content fill padding stroke view|type- alpha luminance| circle ellipse| closest-corner closest-side farthest-corner farthest-side|at- bottom bottom-left bottom-right center left left-bottom left-top right right-bottom right-top top top-left top-right| dvh fit full lh lvh max min none px screen svh| auto dvh dvw fit full lh lvh lvw max min none px screen svh svw| dvw fit full lvw max min none px screen svw| auto dvh dvw fit full lvh lvw max min none prose px svh svw| auto dvh dvw fit full lvh lvw max min none px screen svh svw| contain cover fill none scale-down| first last none| distant dramatic midrange near none normal|inset | full none|3d | auto smooth|gutter- auto both stable| auto none thin| inner none| auto dvh dvw fit full lvh lvw max min px svh svw|base | center end justify left right start| clip ellipsis| balance nowrap pretty wrap| normal tight tighter wide wider widest| cpu gpu none| 3d flat| all colors none opacity shadow transform| discrete normal| full px| auto dvh dvw fit full lvh lvw max min px screen svh svw| auto contents scroll transform\".split(\"|\").map((s) => {\n\tconst tails = s.split(\" \");\n\tconst prefix = tails.shift();\n\tfor (let i = 0; i < tails.length; i++) tails[i] = prefix + tails[i];\n\treturn tails;\n});\nconst AA = DZ(\"0000000000000000000000000000000000000000000000000000000000000262242:6@200000006:240B428:4422400002046044222426220026642642462026224222824220022400000000\\\\00N222422242222222224062242222222422226264222422222222222222442804222422222222222222222222220<4<0204260002444020204224422\");\nconst AG = DZ(\"ɠ222222222222222222222222222222222222222222222222222222222222˕4222226>ʶ22ʷʺʷ2ʸʷ42ʴ2ʓ22>621422ɶ222ɹɼɷɺɷɺ22ɱ42222ɨ2ɧ26622ɘɓ244ƸƵ222]d24242ǖǓƚÄȫ2263ȨȥȨ2222222ǣ222222222222222222ǂƽ2ƾƵ2222222422222ƜƑ22222222222222222222144Ŧţ22Ţş222222222222222222222ĸ2ı68ĦģĦɡŰ4Ġ«®ĝ822ĔđĔ2ē2222622\");\nconst AS = DZ(\"02222222222222222222222222222222222222222222222222222222222222222202022222222222EH2200IL021042222Y\\\\222IL0cf2e10j2222U00X202[^2y0000120|{~22
:22|22222222222G000qOVI00000}2>40000B00000I¨©000¬00000000000000021M®00°000000000000000000000222HGHa1º222¿2À2222ÉÌ000°2±\");\nconst litAnchor = /* @__PURE__ */ new Int32Array(995);\nconst litGroup = /* @__PURE__ */ new Int32Array(995);\nconst litPool = /* @__PURE__ */ new Int32Array(995);\nlet poolText = \"\";\nconst poolOffsets = /* @__PURE__ */ new Int32Array(1038);\n{\n\tconst tailRef = /* @__PURE__ */ new Map();\n\tlet nextRef = 0;\n\tlet e = 0;\n\tfor (let i = 0; i < AA.length; i++) for (const tail of SETS[AS[i]]) {\n\t\tlet r = tailRef.get(tail);\n\t\tif (r === void 0) {\n\t\t\tr = nextRef++;\n\t\t\ttailRef.set(tail, r);\n\t\t\tpoolOffsets[r * 2] = poolText.length;\n\t\t\tpoolOffsets[r * 2 + 1] = tail.length;\n\t\t\tpoolText += tail;\n\t\t}\n\t\tlitAnchor[e] = AA[i];\n\t\tlitGroup[e] = AG[i];\n\t\tlitPool[e] = r;\n\t\te++;\n\t}\n}\nconst adjGid = DZ(\"0b2N:222@R>F@286¦2@H2D266226FB22B2>BD\\\\6N22222Z222D222p\");\nconst adjStart = PS(U(\"1::24444432:442:44:44>222222:44:4421322511111311111114\"));\nconst adjTgt = DZ(\"24A;33N=C@H4A;33N=C@<27;83:;8393NQ:3NQʰ222ˉºŴŽ2R2=18cƴÅŇ=cĞÛC1ƈǝȈ:ħ25=11D3A@4=<1;1DEr25;11B3?<6;:371BCn9@7=<8192>2E121@9@EHE@9>2T25511<398454131<=V25511<398454131<=ƧNž2Đå242L222290000f22500ɛ000ǘ222\");\nconst patGid = U(\"ij\");\nconst patTgt = U(\"\");\nconst postfixLookupGroups = U(\"1\");\nconst orderSensitiveModifiers = \"* ** after backdrop before details-content file first-letter first-line marker placeholder selection\";\nvar tables_generated_default = {\n\tGROUP_COUNT,\n\tcustomValidatorNames,\n\tedgeStart,\n\tlabelStart,\n\tlabelText,\n\tedgeTarget,\n\tnodeGroup,\n\tnodeVlist,\n\tvlistPat,\n\tvlistOps,\n\tvlistRef,\n\tvlistGroup,\n\tlitAnchor,\n\tlitGroup,\n\tlitPool,\n\tpoolOffsets,\n\tpoolText,\n\tadjGid,\n\tadjStart,\n\tadjTgt,\n\tpatGid,\n\tpatTgt,\n\tpostfixLookupGroups,\n\torderSensitiveModifiers\n};\n\n//#endregion\nexport { tables_generated_default as default };","//#region src/engine.ts\nconst IS_JSC = \"line\" in /* @__PURE__ */ new Error();\nconst EXTERNAL = -1;\nconst DEAD = -1;\nconst fnv = (str, s, e) => {\n\tlet h = 2166136261;\n\tfor (let p = s; p < e; p++) h = Math.imul(h ^ str.charCodeAt(p), 16777619);\n\treturn h;\n};\nconst spanHash = (str, s, e) => {\n\tconst len = e - s;\n\tlet h = Math.imul(len, 2654435761) ^ str.charCodeAt(s);\n\tif (len > 3) {\n\t\tconst q = len >> 2;\n\t\tconst m = len >> 1;\n\t\th = Math.imul(h ^ str.charCodeAt(s + 1) << 8 ^ str.charCodeAt(s + 2) << 16 ^ str.charCodeAt(s + q), 2246822507);\n\t\th = Math.imul(h ^ str.charCodeAt(s + m) << 8 ^ str.charCodeAt(s + m + q) << 16 ^ str.charCodeAt(e - 3), 3266489909);\n\t\th ^= str.charCodeAt(e - 2) << 8 ^ str.charCodeAt(e - 1) << 16;\n\t\tfor (let p = s + 3, q = e - 4; p < s + 8 && p < q; p++, q--) h = Math.imul(h ^ str.charCodeAt(p) ^ str.charCodeAt(q) << 8, 16777619);\n\t}\n\treturn h ^ h >>> 15 | 0;\n};\nconst createEngine = (T, validatorImpls, options = {}) => {\n\tconst { GROUP_COUNT, edgeStart, labelStart, labelText, edgeTarget, nodeGroup, nodeVlist, vlistPat, vlistOps, vlistRef, vlistGroup, litAnchor, litGroup, litPool, poolOffsets, poolText, adjGid, adjStart, adjTgt, patGid, patTgt, postfixLookupGroups, customValidatorNames, orderSensitiveModifiers } = T;\n\tconst adjRow = new Int32Array(GROUP_COUNT).fill(-1);\n\tfor (let i = 0; i < adjGid.length; i++) adjRow[adjGid[i]] = i;\n\tlet maxAdj = 0;\n\tfor (let r = 0; r + 1 < adjStart.length; r++) {\n\t\tconst n = adjStart[r + 1] - adjStart[r];\n\t\tif (n > maxAdj) maxAdj = n;\n\t}\n\tlet CLAIM_PER_TOKEN = 32;\n\twhile (CLAIM_PER_TOKEN < 2 * (1 + maxAdj + patGid.length)) CLAIM_PER_TOKEN <<= 1;\n\tconst vgStart = new Int32Array(vlistRef.length + 1);\n\tfor (let l = 0; l < vlistRef.length; l++) vgStart[l + 1] = vgStart[l] + vlistPat[vlistRef[l] + 1] - vlistPat[vlistRef[l]];\n\tconst postfixLookupSet = new Uint8Array(GROUP_COUNT);\n\tfor (let i = 0; i < postfixLookupGroups.length; i++) postfixLookupSet[postfixLookupGroups[i]] = 1;\n\tconst nodeCount = edgeStart.length - 1;\n\tconst nodeHasLit = new Uint8Array(nodeCount);\n\tlet litMaxLen = 0;\n\tlet litNoArb = true;\n\tfor (let i = 0; i < litAnchor.length; i++) {\n\t\tnodeHasLit[litAnchor[i]] = 1;\n\t\tconst len = poolOffsets[litPool[i] * 2 + 1];\n\t\tif (len > litMaxLen) litMaxLen = len;\n\t\tconst c0 = poolText.charCodeAt(poolOffsets[litPool[i] * 2]);\n\t\tif (c0 === 91 || c0 === 40) litNoArb = false;\n\t}\n\tlet LIT_SIZE = 1;\n\twhile (LIT_SIZE < litAnchor.length * 2) LIT_SIZE <<= 1;\n\tconst litTable = new Int32Array(LIT_SIZE).fill(-1);\n\tfor (let i = 0; i < litAnchor.length; i++) {\n\t\tconst off = poolOffsets[litPool[i] * 2];\n\t\tlet idx = (fnv(poolText, off, off + poolOffsets[litPool[i] * 2 + 1]) ^ Math.imul(litAnchor[i], 2654435761) | 0) & LIT_SIZE - 1;\n\t\twhile (litTable[idx] !== -1) idx = idx + 1 & LIT_SIZE - 1;\n\t\tlitTable[idx] = i;\n\t}\n\tconst litProbe = (anchor, input, s, e) => {\n\t\tlet idx = (fnv(input, s, e) ^ Math.imul(anchor, 2654435761) | 0) & LIT_SIZE - 1;\n\t\tconst len = e - s;\n\t\tfor (;;) {\n\t\t\tconst entry = litTable[idx];\n\t\t\tif (entry === -1) return -1;\n\t\t\tif (litAnchor[entry] === anchor && poolOffsets[litPool[entry] * 2 + 1] === len) {\n\t\t\t\tconst off = poolOffsets[litPool[entry] * 2];\n\t\t\t\tlet ok = true;\n\t\t\t\tfor (let k = 0; k < len; k++) if (poolText.charCodeAt(off + k) !== input.charCodeAt(s + k)) {\n\t\t\t\t\tok = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (ok) return litGroup[entry];\n\t\t\t}\n\t\t\tidx = idx + 1 & LIT_SIZE - 1;\n\t\t}\n\t};\n\tconst cacheSize = options.cacheSize ?? 8192;\n\tconst RAW_PREFIX = options.prefix ?? T.prefix ?? \"\";\n\tconst FULL_PREFIX = RAW_PREFIX === \"\" ? \"\" : RAW_PREFIX + \":\";\n\tconst FPL = FULL_PREFIX.length;\n\tconst vCustom = (customValidatorNames ?? []).map((name) => {\n\t\tconst fn = validatorImpls && validatorImpls[name];\n\t\tif (!fn) throw new Error(\"cn: missing validator \" + name);\n\t\treturn fn;\n\t});\n\tconst lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\n\tconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/;\n\tconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\n\tconst imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\n\tlet aKind = 0;\n\tlet aLabelS = -1;\n\tlet aLabelE = -1;\n\tlet aValS = -1;\n\tlet aValE = -1;\n\tconst isWordCode = (c) => c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c === 95;\n\tconst isUniWS = (c) => /\\s/.test(String.fromCharCode(c));\n\tconst analyzeArb = (input, s, e) => {\n\t\taKind = 0;\n\t\taLabelS = -1;\n\t\tif (e - s < 3) return;\n\t\tconst c0 = input.charCodeAt(s);\n\t\tconst cl = input.charCodeAt(e - 1);\n\t\tif (c0 === 91 && cl === 93) aKind = 1;\n\t\telse if (c0 === 40 && cl === 41) aKind = 2;\n\t\telse return;\n\t\taValS = s + 1;\n\t\taValE = e - 1;\n\t\tlet p = s + 1;\n\t\tif (isWordCode(input.charCodeAt(p))) {\n\t\t\tp++;\n\t\t\twhile (p < e - 1) {\n\t\t\t\tconst c = input.charCodeAt(p);\n\t\t\t\tif (!isWordCode(c) && c !== 45) break;\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif (p < e - 2 && input.charCodeAt(p) === 58) {\n\t\t\t\taLabelS = s + 1;\n\t\t\t\taLabelE = p;\n\t\t\t\taValS = p + 1;\n\t\t\t}\n\t\t}\n\t};\n\tconst spanEq = (input, s, e, str) => {\n\t\tif (e - s !== str.length) return false;\n\t\tfor (let i = 0; i < str.length; i++) if (input.charCodeAt(s + i) !== str.charCodeAt(i)) return false;\n\t\treturn true;\n\t};\n\tconst fractionRegex = /^\\d+(?:\\.\\d+)?\\/\\d+(?:\\.\\d+)?$/;\n\tconst tshirtRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\n\tconst isNumStr = (v) => !!v && !Number.isNaN(Number(v));\n\tconst spanIsNamedContainerQuery = (input, s, e) => {\n\t\tif (e - s < 11 || !spanEq(input, s, s + 10, \"@container\")) return false;\n\t\tif (input.charCodeAt(s + 10) === 47) return e - s >= 12;\n\t\tconst c11 = input.charCodeAt(s + 11);\n\t\treturn c11 === 115 && e - s >= 17 && spanEq(input, s + 10, s + 16, \"-size/\") || c11 === 110 && e - s >= 19 && spanEq(input, s + 10, s + 18, \"-normal/\");\n\t};\n\tconst VKIND = [\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t2,\n\t\t2,\n\t\t2,\n\t\t2,\n\t\t2,\n\t\t2,\n\t\t2\n\t];\n\tconst VLABELS = \"length|number|number weight|family-name|position percentage|length size bg-size|image url|shadow|length|family-name|position percentage|length size bg-size|image url|shadow|number weight\".split(\"|\").map((s) => s.split(\" \"));\n\tconst VFALL = [\n\t\t2,\n\t\t3,\n\t\t1,\n\t\t0,\n\t\t0,\n\t\t0,\n\t\t4,\n\t\t5,\n\t\t0,\n\t\t0,\n\t\t0,\n\t\t0,\n\t\t0,\n\t\t1,\n\t\t1\n\t];\n\tconst runValidator = (op, input, s, e) => {\n\t\tif (op >= 10) {\n\t\t\tif (op >= 25) return vCustom[op - 25](input.slice(s, e));\n\t\t\tconst i = op - 10;\n\t\t\tif (aKind !== VKIND[i]) return false;\n\t\t\tif (aLabelS >= 0) {\n\t\t\t\tfor (const L of VLABELS[i]) if (spanEq(input, aLabelS, aLabelE, L)) return true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tswitch (VFALL[i]) {\n\t\t\t\tcase 0: return false;\n\t\t\t\tcase 1: return true;\n\t\t\t\tcase 2: {\n\t\t\t\t\tconst v = input.slice(aValS, aValE);\n\t\t\t\t\treturn lengthUnitRegex.test(v) && !colorFunctionRegex.test(v);\n\t\t\t\t}\n\t\t\t\tcase 3: return isNumStr(input.slice(aValS, aValE));\n\t\t\t\tcase 4: return imageRegex.test(input.slice(aValS, aValE));\n\t\t\t\tdefault: return shadowRegex.test(input.slice(aValS, aValE));\n\t\t\t}\n\t\t}\n\t\tswitch (op) {\n\t\t\tcase 0: return true;\n\t\t\tcase 1: return aKind === 0;\n\t\t\tcase 2: return aKind === 1;\n\t\t\tcase 3: return aKind === 2;\n\t\t\tcase 4: return fractionRegex.test(input.slice(s, e));\n\t\t\tcase 5: return isNumStr(input.slice(s, e));\n\t\t\tcase 6: {\n\t\t\t\tconst v = input.slice(s, e);\n\t\t\t\treturn !!v && Number.isInteger(Number(v));\n\t\t\t}\n\t\t\tcase 7: return e > s && input.charCodeAt(e - 1) === 37 && isNumStr(input.slice(s, e - 1));\n\t\t\tcase 8: return tshirtRegex.test(input.slice(s, e));\n\t\t\tdefault: return spanIsNamedContainerQuery(input, s, e);\n\t\t}\n\t};\n\tconst orderSensitive = new Set(typeof orderSensitiveModifiers === \"string\" ? orderSensitiveModifiers.split(\" \") : orderSensitiveModifiers);\n\tconst internSpan = (map, input, s, e, imp, make) => {\n\t\tconst h = fnv(input, s, e) ^ (imp ? 2654435769 : 0) | 0;\n\t\tlet bucket = map.get(h);\n\t\tif (bucket !== void 0) outer: for (let b = 0; b < bucket.length; b++) {\n\t\t\tconst en = bucket[b];\n\t\t\tif (en.imp !== imp || en.k.length !== e - s) continue;\n\t\t\tfor (let i = 0; i < en.k.length; i++) if (en.k.charCodeAt(i) !== input.charCodeAt(s + i)) continue outer;\n\t\t\treturn en.id;\n\t\t}\n\t\telse map.set(h, bucket = []);\n\t\tconst k = input.slice(s, e);\n\t\tconst id = make(k);\n\t\tbucket.push({\n\t\t\tk,\n\t\t\timp,\n\t\t\tid\n\t\t});\n\t\treturn id;\n\t};\n\tlet ctxByHash = /* @__PURE__ */ new Map();\n\tlet ctxByCanon = /* @__PURE__ */ new Map();\n\tlet nextCtxId = 2;\n\tconst MAX_CTX = 4096;\n\tconst canonicalizeContext = (raw, important) => {\n\t\tconst mods = [];\n\t\tlet dB = 0, dP = 0, start = 0;\n\t\tfor (let i = 0; i < raw.length; i++) {\n\t\t\tconst c = raw.charCodeAt(i);\n\t\t\tif (dB === 0 && dP === 0 && c === 58) {\n\t\t\t\tmods.push(raw.slice(start, i));\n\t\t\t\tstart = i + 1;\n\t\t\t} else if (c === 91) dB++;\n\t\t\telse if (c === 93) dB--;\n\t\t\telse if (c === 40) dP++;\n\t\t\telse if (c === 41) dP--;\n\t\t}\n\t\tmods.push(raw.slice(start));\n\t\tlet canonical = mods[0];\n\t\tif (mods.length > 1) {\n\t\t\tconst result = [];\n\t\t\tlet segment = [];\n\t\t\tfor (const mod of mods) if (mod.charCodeAt(0) === 91 || orderSensitive.has(mod)) {\n\t\t\t\tif (segment.length) {\n\t\t\t\t\tresult.push(...segment.sort());\n\t\t\t\t\tsegment = [];\n\t\t\t\t}\n\t\t\t\tresult.push(mod);\n\t\t\t} else segment.push(mod);\n\t\t\tif (segment.length) result.push(...segment.sort());\n\t\t\tcanonical = result.join(\":\");\n\t\t}\n\t\tconst key = important ? canonical + \" !\" : canonical;\n\t\tlet id = ctxByCanon.get(key);\n\t\tif (id === void 0) ctxByCanon.set(key, id = nextCtxId++);\n\t\treturn id;\n\t};\n\tlet dynByHash = /* @__PURE__ */ new Map();\n\tlet nextDynId = GROUP_COUNT;\n\tconst MAX_DYN = GROUP_COUNT + 4096;\n\tconst newDynId = () => nextDynId++;\n\tconst ID_LIMIT = 2097152;\n\tconst TOKEN_TABLE = 8192;\n\tconst memoHash = new Int32Array(TOKEN_TABLE);\n\tconst memoStr = new Array(TOKEN_TABLE).fill(null);\n\tconst memoGid = new Int32Array(TOKEN_TABLE);\n\tconst memoCtx = new Int32Array(TOKEN_TABLE);\n\tconst memoFlags = new Uint8Array(TOKEN_TABLE);\n\tlet memoTick = 0;\n\tconst memoPut = (way0, input, ts, te, h, gid, ctxId, flags) => {\n\t\tlet slot = way0;\n\t\tif (memoStr[way0] !== null) {\n\t\t\tif (memoStr[way0 | 1] === null) slot = way0 | 1;\n\t\t\telse if ((memoTick++ & 3) === 0) slot = way0 | memoTick >> 2 & 1;\n\t\t\telse return;\n\t\t}\n\t\tmemoStr[slot] = input.slice(ts, te);\n\t\tmemoHash[slot] = h;\n\t\tmemoGid[slot] = gid;\n\t\tmemoCtx[slot] = ctxId;\n\t\tmemoFlags[slot] = flags;\n\t};\n\tconst memoReset = () => memoStr.fill(null);\n\tlet cap = 256;\n\tlet tokI32 = [\n\t\tnew Int32Array(cap),\n\t\tnew Int32Array(cap),\n\t\tnew Int32Array(cap),\n\t\tnew Int32Array(cap)\n\t];\n\tlet [tokStart, tokEnd, tokGid, tokCtx] = tokI32;\n\tlet tokFlags = new Uint8Array(cap);\n\tlet keep = new Uint8Array(cap);\n\tconst growTokens = () => {\n\t\tcap *= 2;\n\t\ttokI32 = tokI32.map((a) => {\n\t\t\tconst n = new Int32Array(cap);\n\t\t\tn.set(a);\n\t\t\treturn n;\n\t\t});\n\t\t[tokStart, tokEnd, tokGid, tokCtx] = tokI32;\n\t\tconst nf = new Uint8Array(cap);\n\t\tnf.set(tokFlags);\n\t\ttokFlags = nf;\n\t\tkeep = new Uint8Array(cap);\n\t};\n\tlet ckptCap = 64;\n\tlet ckptNode = new Int32Array(ckptCap);\n\tlet ckptTail = new Int32Array(ckptCap);\n\tconst claim0 = new Int32Array(GROUP_COUNT);\n\tlet CLAIM_TABLE = 2048;\n\tlet claimShift = 21;\n\tlet claimKeys = new Float64Array(CLAIM_TABLE);\n\tlet claimEpochs = new Int32Array(CLAIM_TABLE);\n\tlet epoch = 0;\n\tconst claimTest = (ctx, gid) => {\n\t\tif (ctx === 0 && gid < GROUP_COUNT) {\n\t\t\tif (claim0[gid] === epoch) return 1;\n\t\t\tclaim0[gid] = epoch;\n\t\t\treturn 0;\n\t\t}\n\t\tconst key = ctx * 2097152 + gid + 1;\n\t\tlet idx = Math.imul(key, 2654435761) >>> claimShift;\n\t\tfor (;;) {\n\t\t\tif (claimEpochs[idx] !== epoch) break;\n\t\t\tif (claimKeys[idx] === key) return 1;\n\t\t\tidx = idx + 1 & CLAIM_TABLE - 1;\n\t\t}\n\t\tclaimKeys[idx] = key;\n\t\tclaimEpochs[idx] = epoch;\n\t\treturn 0;\n\t};\n\tconst resolveAt = (input, bs, endPos, nodeAt, ckptAt) => {\n\t\tif (endPos - bs >= 2 && input.charCodeAt(bs) === 91 && input.charCodeAt(endPos - 1) === 93) {\n\t\t\tlet colon = -1;\n\t\t\tfor (let p = bs + 1; p < endPos - 1; p++) if (input.charCodeAt(p) === 58) {\n\t\t\t\tcolon = p;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (colon === -1 || colon === bs + 1) return EXTERNAL;\n\t\t\treturn internSpan(dynByHash, input, bs + 1, colon, 0, newDynId);\n\t\t}\n\t\tif (nodeAt >= 0 && nodeGroup[nodeAt] >= 0) return nodeGroup[nodeAt];\n\t\tfor (let k = ckptAt - 1; k >= 0; k--) {\n\t\t\tconst tailStart = ckptTail[k];\n\t\t\tif (tailStart > endPos) continue;\n\t\t\tconst nodeId = ckptNode[k];\n\t\t\tconst tlen = endPos - tailStart;\n\t\t\tif (nodeHasLit[nodeId] === 1 && tlen > 0 && tlen <= litMaxLen) {\n\t\t\t\tconst c0 = input.charCodeAt(tailStart);\n\t\t\t\tif (litNoArb === false || c0 !== 91 && c0 !== 40) {\n\t\t\t\t\tconst g = litProbe(nodeId, input, tailStart, endPos);\n\t\t\t\t\tif (g >= 0) return g;\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst vl = nodeVlist[nodeId];\n\t\t\tif (vl < 0) continue;\n\t\t\tconst pat = vlistRef[vl];\n\t\t\tconst vs = vlistPat[pat];\n\t\t\tconst ve = vlistPat[pat + 1];\n\t\t\tif (vs === ve) continue;\n\t\t\tanalyzeArb(input, tailStart, endPos);\n\t\t\tconst g0 = vgStart[vl] - vs;\n\t\t\tfor (let v = vs; v < ve; v++) if (runValidator(vlistOps[v], input, tailStart, endPos)) return vlistGroup[g0 + v];\n\t\t}\n\t\treturn EXTERNAL;\n\t};\n\tconst mergeClassList = (input) => {\n\t\tconst n = input.length;\n\t\tlet tokenCount = 0;\n\t\tlet totalTokenChars = 0;\n\t\tlet sawNonSpaceWS = false;\n\t\tif (nextCtxId > MAX_CTX || ctxByHash.size > MAX_CTX) {\n\t\t\tctxByHash = /* @__PURE__ */ new Map();\n\t\t\tctxByCanon = /* @__PURE__ */ new Map();\n\t\t\tnextCtxId = 2;\n\t\t\tmemoReset();\n\t\t}\n\t\tif (nextDynId > MAX_DYN) {\n\t\t\tdynByHash = /* @__PURE__ */ new Map();\n\t\t\tnextDynId = GROUP_COUNT;\n\t\t\tmemoReset();\n\t\t}\n\t\tlet i = 0;\n\t\twhile (i < n) {\n\t\t\tlet c = input.charCodeAt(i);\n\t\t\tif (c === 32 || c >= 9 && c <= 13 || c >= 160 && isUniWS(c)) {\n\t\t\t\tif (c !== 32) sawNonSpaceWS = true;\n\t\t\t\ti++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst ts = i;\n\t\t\tlet th = 0;\n\t\t\twhile (i < n) {\n\t\t\t\tc = input.charCodeAt(i);\n\t\t\t\tif (c <= 32) {\n\t\t\t\t\tif (c === 32) break;\n\t\t\t\t\tif (c >= 9 && c <= 13) {\n\t\t\t\t\t\tsawNonSpaceWS = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} else if (c >= 160 && isUniWS(c)) {\n\t\t\t\t\tsawNonSpaceWS = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tth = Math.imul(th ^ c, 16777619);\n\t\t\t\ti++;\n\t\t\t}\n\t\t\tconst te = i;\n\t\t\tconst len = te - ts;\n\t\t\tif (tokenCount === cap) growTokens();\n\t\t\tconst t = tokenCount++;\n\t\t\ttokStart[t] = ts;\n\t\t\ttokEnd[t] = te;\n\t\t\ttotalTokenChars += len;\n\t\t\tth ^= Math.imul(len, 2654435761);\n\t\t\tconst h = th ^ th >>> 15 | 0;\n\t\t\tconst way0 = h & 8190;\n\t\t\t{\n\t\t\t\tlet hitAt = -1;\n\t\t\t\tif (memoHash[way0] === h && memoStr[way0] !== null && memoStr[way0].length === len) hitAt = way0;\n\t\t\t\telse if (memoHash[way0 | 1] === h && memoStr[way0 | 1] !== null && memoStr[way0 | 1].length === len) hitAt = way0 | 1;\n\t\t\t\tif (hitAt >= 0) {\n\t\t\t\t\tconst s = memoStr[hitAt];\n\t\t\t\t\tlet ok = true;\n\t\t\t\t\tfor (let k = 0; k < len; k++) if (s.charCodeAt(k) !== input.charCodeAt(ts + k)) {\n\t\t\t\t\t\tok = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif (ok) {\n\t\t\t\t\t\ttokGid[t] = memoGid[hitAt];\n\t\t\t\t\t\ttokCtx[t] = memoCtx[hitAt];\n\t\t\t\t\t\ttokFlags[t] = memoFlags[hitAt];\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet pts = ts;\n\t\t\tif (FPL !== 0) {\n\t\t\t\tif (te - ts <= FPL || !input.startsWith(FULL_PREFIX, ts)) {\n\t\t\t\t\ttokGid[t] = EXTERNAL;\n\t\t\t\t\tmemoPut(way0, input, ts, te, h, EXTERNAL, 0, 0);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tpts = ts + FPL;\n\t\t\t}\n\t\t\tlet depthB = 0, depthP = 0;\n\t\t\tlet lastColon = -1, lastSlash = -1;\n\t\t\tfor (let p = pts; p < te; p++) {\n\t\t\t\tconst pc = input.charCodeAt(p);\n\t\t\t\tif (depthB === 0 && depthP === 0) {\n\t\t\t\t\tif (pc === 58) {\n\t\t\t\t\t\tlastColon = p;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (pc === 47) {\n\t\t\t\t\t\tlastSlash = p;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pc === 91) depthB++;\n\t\t\t\telse if (pc === 93) depthB--;\n\t\t\t\telse if (pc === 40) depthP++;\n\t\t\t\telse if (pc === 41) depthP--;\n\t\t\t}\n\t\t\tconst modStart = lastColon >= pts ? lastColon + 1 : pts;\n\t\t\tlet bs = modStart;\n\t\t\tlet be = te;\n\t\t\tlet important = false;\n\t\t\tlet prefixShift = 0;\n\t\t\tif (be > bs && input.charCodeAt(be - 1) === 33) {\n\t\t\t\timportant = true;\n\t\t\t\tbe--;\n\t\t\t} else if (be > bs && input.charCodeAt(bs) === 33) {\n\t\t\t\timportant = true;\n\t\t\t\tbs++;\n\t\t\t\tprefixShift = 1;\n\t\t\t}\n\t\t\tlet postfixEnd = -1;\n\t\t\tif (lastSlash > modStart) {\n\t\t\t\tpostfixEnd = lastSlash + prefixShift;\n\t\t\t\tif (postfixEnd >= be) postfixEnd = -1;\n\t\t\t}\n\t\t\tlet feedStart = bs;\n\t\t\tif (be - bs > 1 && input.charCodeAt(bs) === 45) feedStart = bs + 1;\n\t\t\tlet node = 0;\n\t\t\tlet lp = 0;\n\t\t\tlet le = 0;\n\t\t\tlet pending = -1;\n\t\t\tlet ckptTop = 0;\n\t\t\tif (nodeVlist[0] >= 0 || nodeHasLit[0] === 1) {\n\t\t\t\tckptNode[0] = 0;\n\t\t\t\tckptTail[0] = feedStart;\n\t\t\t\tckptTop = 1;\n\t\t\t}\n\t\t\tlet slashNode = DEAD;\n\t\t\tlet slashCkpt = 0;\n\t\t\tfor (let p = feedStart; p < be; p++) {\n\t\t\t\tif (p === postfixEnd) {\n\t\t\t\t\tslashNode = lp < le ? DEAD : node;\n\t\t\t\t\tslashCkpt = ckptTop;\n\t\t\t\t}\n\t\t\t\tif (node !== DEAD) {\n\t\t\t\t\tconst cc = input.charCodeAt(p);\n\t\t\t\t\tlet arrived = -1;\n\t\t\t\t\tif (lp < le) {\n\t\t\t\t\t\tif (labelText.charCodeAt(lp) === cc) {\n\t\t\t\t\t\t\tlp++;\n\t\t\t\t\t\t\tif (lp === le) arrived = node = pending;\n\t\t\t\t\t\t} else node = DEAD;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst es = edgeStart[node];\n\t\t\t\t\t\tconst ee = edgeStart[node + 1];\n\t\t\t\t\t\tlet next = DEAD;\n\t\t\t\t\t\tfor (let e = es; e < ee; e++) {\n\t\t\t\t\t\t\tconst ls = labelStart[e];\n\t\t\t\t\t\t\tif (labelText.charCodeAt(ls) === cc) {\n\t\t\t\t\t\t\t\tif (labelStart[e + 1] - ls === 1) arrived = next = edgeTarget[e];\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlp = ls + 1;\n\t\t\t\t\t\t\t\t\tle = labelStart[e + 1];\n\t\t\t\t\t\t\t\t\tpending = edgeTarget[e];\n\t\t\t\t\t\t\t\t\tnext = node;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnode = next;\n\t\t\t\t\t}\n\t\t\t\t\tif (arrived >= 0 && (nodeVlist[arrived] >= 0 || nodeHasLit[arrived] === 1) && p + 1 < be && input.charCodeAt(p + 1) === 45) {\n\t\t\t\t\t\tif (ckptTop === ckptCap) {\n\t\t\t\t\t\t\tckptCap *= 2;\n\t\t\t\t\t\t\tconst nv = new Int32Array(ckptCap);\n\t\t\t\t\t\t\tnv.set(ckptNode);\n\t\t\t\t\t\t\tckptNode = nv;\n\t\t\t\t\t\t\tconst nt = new Int32Array(ckptCap);\n\t\t\t\t\t\t\tnt.set(ckptTail);\n\t\t\t\t\t\t\tckptTail = nt;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tckptNode[ckptTop] = arrived;\n\t\t\t\t\t\tckptTail[ckptTop] = p + 2;\n\t\t\t\t\t\tckptTop++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (postfixEnd === be) {\n\t\t\t\tslashNode = lp < le ? DEAD : node;\n\t\t\t\tslashCkpt = ckptTop;\n\t\t\t}\n\t\t\tconst endNode = lp < le ? DEAD : node;\n\t\t\tlet gid;\n\t\t\tlet hasPostfix = false;\n\t\t\tif (postfixEnd >= 0) {\n\t\t\t\thasPostfix = true;\n\t\t\t\tgid = resolveAt(input, bs, postfixEnd, slashNode, slashCkpt);\n\t\t\t\tif (gid !== EXTERNAL && gid < GROUP_COUNT && postfixLookupSet[gid]) {\n\t\t\t\t\tconst gidFull = resolveAt(input, bs, be, endNode, ckptTop);\n\t\t\t\t\tif (gidFull !== EXTERNAL && gidFull !== gid) {\n\t\t\t\t\t\tgid = gidFull;\n\t\t\t\t\t\thasPostfix = false;\n\t\t\t\t\t}\n\t\t\t\t} else if (gid === EXTERNAL) {\n\t\t\t\t\tgid = resolveAt(input, bs, be, endNode, ckptTop);\n\t\t\t\t\thasPostfix = false;\n\t\t\t\t}\n\t\t\t} else gid = resolveAt(input, bs, be, endNode, ckptTop);\n\t\t\tlet ctxId = 0;\n\t\t\tlet flags = 0;\n\t\t\tif (gid === EXTERNAL) tokGid[t] = EXTERNAL;\n\t\t\telse {\n\t\t\t\tflags = hasPostfix ? 1 : 0;\n\t\t\t\tctxId = pts >= lastColon ? important ? 1 : 0 : internSpan(ctxByHash, input, pts, lastColon, important ? 1 : 0, (k) => canonicalizeContext(k, important));\n\t\t\t\ttokGid[t] = gid;\n\t\t\t\ttokFlags[t] = flags;\n\t\t\t\ttokCtx[t] = ctxId;\n\t\t\t}\n\t\t\tmemoPut(way0, input, ts, te, h, gid, ctxId, flags);\n\t\t}\n\t\tif (tokenCount === 0) return \"\";\n\t\tif (tokenCount === 1) return tokStart[0] === 0 && tokEnd[0] === n ? input : input.slice(tokStart[0], tokEnd[0]);\n\t\tif (tokenCount * CLAIM_PER_TOKEN > CLAIM_TABLE) {\n\t\t\twhile (tokenCount * CLAIM_PER_TOKEN > CLAIM_TABLE) {\n\t\t\t\tCLAIM_TABLE <<= 1;\n\t\t\t\tclaimShift--;\n\t\t\t}\n\t\t\tclaimKeys = new Float64Array(CLAIM_TABLE);\n\t\t\tclaimEpochs = new Int32Array(CLAIM_TABLE);\n\t\t}\n\t\tif (nextCtxId >= ID_LIMIT || nextDynId >= ID_LIMIT) throw new Error(\"cn: too many distinct classes in one merge\");\n\t\tepoch = epoch + 1 | 0;\n\t\tif (epoch === 0) {\n\t\t\tclaim0.fill(0);\n\t\t\tclaimEpochs.fill(0);\n\t\t\tepoch = 1;\n\t\t}\n\t\tlet didDrop = false;\n\t\tfor (let t = tokenCount - 1; t >= 0; t--) {\n\t\t\tconst gid = tokGid[t];\n\t\t\tif (gid === EXTERNAL) {\n\t\t\t\tkeep[t] = 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst ctxId = tokCtx[t];\n\t\t\tif (claimTest(ctxId, gid) === 1) {\n\t\t\t\tkeep[t] = 0;\n\t\t\t\tdidDrop = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tkeep[t] = 1;\n\t\t\tif (gid < GROUP_COUNT) {\n\t\t\t\tconst r = adjRow[gid];\n\t\t\t\tif (r >= 0) for (let k = adjStart[r]; k < adjStart[r + 1]; k++) claimTest(ctxId, adjTgt[k]);\n\t\t\t\tif (tokFlags[t] & 1) {\n\t\t\t\t\tfor (let k = 0; k < patGid.length; k++) if (patGid[k] === gid) claimTest(ctxId, patTgt[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!didDrop && !sawNonSpaceWS && n === totalTokenChars + tokenCount - 1) return input;\n\t\tlet out = \"\";\n\t\tlet t = 0;\n\t\twhile (t < tokenCount) {\n\t\t\tif (!keep[t]) {\n\t\t\t\tt++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst runStart = tokStart[t];\n\t\t\tlet runEnd = tokEnd[t];\n\t\t\tlet u = t + 1;\n\t\t\twhile (u < tokenCount && keep[u] && tokStart[u] === runEnd + 1 && input.charCodeAt(runEnd) === 32) {\n\t\t\t\trunEnd = tokEnd[u];\n\t\t\t\tu++;\n\t\t\t}\n\t\t\tif (out.length > 0) out += \" \";\n\t\t\tout += input.slice(runStart, runEnd);\n\t\t\tt = u;\n\t\t}\n\t\treturn out;\n\t};\n\tconst DOOR_SIZE = 16384;\n\tconst door = new Int32Array(DOOR_SIZE * 2);\n\tlet doorBase = 0;\n\tlet doorEpoch = 1;\n\tlet cache = Object.create(null);\n\tlet prevCache = Object.create(null);\n\tlet cacheMap = /* @__PURE__ */ new Map();\n\tlet prevCacheMap = /* @__PURE__ */ new Map();\n\tlet cacheCount = 0;\n\tlet doorMarks = 0;\n\tconst rotateDoor = () => {\n\t\tdoorBase ^= DOOR_SIZE;\n\t\tdoorEpoch = doorEpoch + 1 | 0;\n\t\tdoorMarks = 0;\n\t};\n\tconst mergeCached = (input) => {\n\t\tlet merged = cache[input];\n\t\tif (merged !== void 0) return merged;\n\t\tconst hash = spanHash(input, 0, input.length);\n\t\tconst slot = (hash & 16383) + doorBase;\n\t\tconst wasSeen = door[slot] === (hash ^ doorEpoch) || door[slot ^ DOOR_SIZE] === (hash ^ doorEpoch - 1);\n\t\tif (wasSeen) {\n\t\t\tmerged = prevCache[input];\n\t\t\tif (merged !== void 0) {\n\t\t\t\tcache[input] = merged;\n\t\t\t\treturn merged;\n\t\t\t}\n\t\t}\n\t\tmerged = mergeClassList(input);\n\t\tif (wasSeen) {\n\t\t\tcache[input] = merged;\n\t\t\tif (++cacheCount > cacheSize) {\n\t\t\t\tcacheCount = 0;\n\t\t\t\tprevCache = cache;\n\t\t\t\tcache = Object.create(null);\n\t\t\t\trotateDoor();\n\t\t\t}\n\t\t} else {\n\t\t\tdoor[slot] = hash ^ doorEpoch;\n\t\t\tif (++doorMarks > DOOR_SIZE) rotateDoor();\n\t\t}\n\t\treturn merged;\n\t};\n\tconst mergeCachedMap = (input) => {\n\t\tlet merged = cacheMap.get(input);\n\t\tif (merged !== void 0) return merged;\n\t\tconst hash = spanHash(input, 0, input.length);\n\t\tconst slot = (hash & 16383) + doorBase;\n\t\tconst wasSeen = door[slot] === (hash ^ doorEpoch) || door[slot ^ DOOR_SIZE] === (hash ^ doorEpoch - 1);\n\t\tif (wasSeen) {\n\t\t\tmerged = prevCacheMap.get(input);\n\t\t\tif (merged !== void 0) {\n\t\t\t\tcacheMap.set(input, merged);\n\t\t\t\treturn merged;\n\t\t\t}\n\t\t}\n\t\tmerged = mergeClassList(input);\n\t\tif (wasSeen) {\n\t\t\tcacheMap.set(input, merged);\n\t\t\tif (++cacheCount > cacheSize) {\n\t\t\t\tcacheCount = 0;\n\t\t\t\tprevCacheMap = cacheMap;\n\t\t\t\tcacheMap = /* @__PURE__ */ new Map();\n\t\t\t\trotateDoor();\n\t\t\t}\n\t\t} else {\n\t\t\tdoor[slot] = hash ^ doorEpoch;\n\t\t\tif (++doorMarks > DOOR_SIZE) rotateDoor();\n\t\t}\n\t\treturn merged;\n\t};\n\tconst seenBefore = (input) => {\n\t\tconst hash = spanHash(input, 0, input.length);\n\t\tconst slot = (hash & 16383) + doorBase;\n\t\tif (door[slot] === (hash ^ doorEpoch) || door[slot ^ DOOR_SIZE] === (hash ^ doorEpoch - 1)) return true;\n\t\tdoor[slot] = hash ^ doorEpoch;\n\t\tif (++doorMarks > DOOR_SIZE) rotateDoor();\n\t\treturn false;\n\t};\n\tconst mergeString = cacheSize === 0 ? mergeClassList : IS_JSC ? (input) => {\n\t\tconst merged = cacheMap.get(input);\n\t\treturn merged !== void 0 ? merged : mergeCachedMap(input);\n\t} : mergeCached;\n\tconst merge = function() {\n\t\treturn arguments.length === 1 && typeof arguments[0] === \"string\" ? mergeString(arguments[0]) : mergeString(twJoin.apply(null, arguments));\n\t};\n\treturn {\n\t\tmerge,\n\t\tmergeString,\n\t\tseenBefore: cacheSize === 0 ? () => false : seenBefore,\n\t\tmergeUncached: mergeClassList\n\t};\n};\nconst resolveValue = (v, clsxMode) => {\n\tif (!v) return \"\";\n\tif (typeof v === \"string\") return v;\n\tlet out = \"\";\n\tif (typeof v.length === \"number\" && (clsxMode ? Array.isArray(v) : true)) {\n\t\tconst arr = v;\n\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\tconst item = arr[i];\n\t\t\tif (!item) continue;\n\t\t\tconst r = typeof item === \"string\" ? item : resolveValue(item, clsxMode);\n\t\t\tif (r) {\n\t\t\t\tif (out) out += \" \";\n\t\t\t\tout += r;\n\t\t\t}\n\t\t}\n\t\treturn out;\n\t}\n\tif (clsxMode) {\n\t\tif (typeof v === \"number\") return \"\" + v;\n\t\tif (typeof v === \"object\") {\n\t\t\tfor (const k in v) if (v[k]) {\n\t\t\t\tif (out) out += \" \";\n\t\t\t\tout += k;\n\t\t\t}\n\t\t}\n\t}\n\treturn out;\n};\nconst joinArgs = (args, clsxMode) => {\n\tlet s = \"\";\n\tfor (let i = 0; i < args.length; i++) {\n\t\tconst a = args[i];\n\t\tif (!a) continue;\n\t\tconst r = typeof a === \"string\" ? a : resolveValue(a, clsxMode);\n\t\tif (r) {\n\t\t\tif (s) s += \" \";\n\t\t\ts += r;\n\t\t}\n\t}\n\treturn s;\n};\n/** join-only, `twJoin`-compatible (strings + nested arrays, falsy skipped) */\nconst twJoin = function() {\n\treturn joinArgs(arguments, false);\n};\n/** join-only, `clsx`-compatible (no merging) */\nconst clsx = function() {\n\treturn joinArgs(arguments, true);\n};\nconst BUCKET_CAP = 256;\nconst BUCKET_MISS_CAP = 16;\nconst BUCKET_SKIP = 1024;\nconst CHURN_SIZE = 4096;\nconst wrapClsx = (mergeString, fresh) => {\n\tconst seenBefore = fresh === void 0 ? () => true : fresh.seenBefore;\n\tconst mergeUncached = fresh === void 0 ? mergeString : fresh.mergeUncached;\n\tlet argCache = /* @__PURE__ */ new Map();\n\tlet prevArgCache = /* @__PURE__ */ new Map();\n\tlet argCount = 0;\n\tlet lastHit = null;\n\tlet churnKey = null;\n\tlet churnOwn = [];\n\tlet churnVal = [];\n\tlet churnTick = 0;\n\tconst churnLookup = (key, own, join) => {\n\t\tif (churnKey === null) {\n\t\t\tchurnKey = new Array(CHURN_SIZE).fill(\"\");\n\t\t\tchurnOwn = new Array(CHURN_SIZE).fill(\"\");\n\t\t\tchurnVal = new Array(CHURN_SIZE).fill(\"\");\n\t\t}\n\t\tconst way0 = spanHash(key, 0, key.length) & 4094;\n\t\tif (churnKey[way0] === key && churnOwn[way0] === own) return churnVal[way0];\n\t\tif (churnKey[way0 | 1] === key && churnOwn[way0 | 1] === own) return churnVal[way0 | 1];\n\t\tconst merged = mergeString(join ? own + \" \" + key : key);\n\t\tconst slot = churnKey[way0] === \"\" ? way0 : way0 | (churnKey[way0 | 1] === \"\" ? 1 : churnTick++ & 1);\n\t\tchurnKey[slot] = key;\n\t\tchurnOwn[slot] = own;\n\t\tchurnVal[slot] = merged;\n\t\treturn merged;\n\t};\n\tconst match3 = (e, v0, v1, v2) => {\n\t\tlet k = 0;\n\t\tif (v0) {\n\t\t\tif (v0 !== e.a0) return false;\n\t\t\tk = 1;\n\t\t}\n\t\tif (v1) {\n\t\t\tif (v1 !== (k === 0 ? e.a0 : e.a1)) return false;\n\t\t\tk++;\n\t\t}\n\t\tif (v2) {\n\t\t\tif (v2 !== (k === 0 ? e.a0 : k === 1 ? e.a1 : e.a2)) return false;\n\t\t\tk++;\n\t\t}\n\t\treturn k === e.t;\n\t};\n\tconst matchN = (e, vals) => {\n\t\tconst ea = e.a;\n\t\tlet k = 0;\n\t\tfor (let i = 0; i < vals.length; i++) {\n\t\t\tconst v = vals[i];\n\t\t\tif (!v) continue;\n\t\t\tif (v !== ea[k]) return false;\n\t\t\tk++;\n\t\t}\n\t\treturn k === e.t;\n\t};\n\tconst resolveArgs = (vals, probed) => {\n\t\tconst nArgs = vals.length;\n\t\tconst pred = lastHit === null ? null : lastHit.n;\n\t\tif (!probed) {\n\t\t\tif (pred !== null && matchN(pred, vals)) {\n\t\t\t\tlastHit = pred;\n\t\t\t\treturn pred.r;\n\t\t\t}\n\t\t\tif (lastHit !== null && lastHit !== pred && matchN(lastHit, vals)) return lastHit.r;\n\t\t}\n\t\tlet first = \"\";\n\t\tlet firstIdx = -1;\n\t\tlet truthy = 0;\n\t\tlet hasResolvedValue = false;\n\t\tfor (let i = 0; i < nArgs; i++) {\n\t\t\tlet v = vals[i];\n\t\t\tif (!v) continue;\n\t\t\tif (typeof v !== \"string\") {\n\t\t\t\tv = vals[i] = resolveValue(v, true);\n\t\t\t\tif (!v) continue;\n\t\t\t\thasResolvedValue = true;\n\t\t\t}\n\t\t\tif (firstIdx < 0) {\n\t\t\t\tfirst = v;\n\t\t\t\tfirstIdx = i;\n\t\t\t}\n\t\t\ttruthy++;\n\t\t}\n\t\tif (truthy === 0) return \"\";\n\t\tif (truthy === 1) return mergeString(first);\n\t\tif (hasResolvedValue) {\n\t\t\tif (pred !== null && matchN(pred, vals)) {\n\t\t\t\tlastHit = pred;\n\t\t\t\treturn pred.r;\n\t\t\t}\n\t\t\tif (lastHit !== null && lastHit !== pred && matchN(lastHit, vals)) return lastHit.r;\n\t\t}\n\t\tlet bucket = argCache.get(first);\n\t\tif (bucket === void 0) {\n\t\t\tbucket = prevArgCache.get(first);\n\t\t\tif (bucket !== void 0) argCache.set(first, bucket);\n\t\t}\n\t\tlet hit = null;\n\t\tif (bucket !== void 0) {\n\t\t\tif (bucket.skip > 0) {\n\t\t\t\tbucket.skip--;\n\t\t\t\tlastHit = null;\n\t\t\t\tlet joined = first;\n\t\t\t\tfor (let i = firstIdx + 1; i < nArgs; i++) {\n\t\t\t\t\tconst v = vals[i];\n\t\t\t\t\tif (v) joined += \" \" + v;\n\t\t\t\t}\n\t\t\t\treturn churnLookup(joined, \"\", false);\n\t\t\t}\n\t\t\tconst entries = bucket.e;\n\t\t\touter: for (let b = 0; b < entries.length; b++) {\n\t\t\t\tconst e = entries[b];\n\t\t\t\tif (e.t !== truthy) continue;\n\t\t\t\tconst ea = e.a;\n\t\t\t\tlet k = 1;\n\t\t\t\tfor (let i = firstIdx + 1; i < nArgs; i++) {\n\t\t\t\t\tconst v = vals[i];\n\t\t\t\t\tif (v && v !== ea[k++]) continue outer;\n\t\t\t\t}\n\t\t\t\thit = e;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (hit !== null) bucket.miss = 0;\n\t\t}\n\t\tif (hit === null) {\n\t\t\tlet joined = first;\n\t\t\tconst a = [first];\n\t\t\tfor (let i = firstIdx + 1; i < nArgs; i++) {\n\t\t\t\tconst v = vals[i];\n\t\t\t\tif (!v) continue;\n\t\t\t\tjoined += \" \" + v;\n\t\t\t\ta.push(v);\n\t\t\t}\n\t\t\tif (!seenBefore(joined)) return mergeUncached(joined);\n\t\t\thit = {\n\t\t\t\tr: mergeString(joined),\n\t\t\t\tt: a.length,\n\t\t\t\ta0: a[0],\n\t\t\t\ta1: a[1],\n\t\t\t\ta2: a[2] ?? \"\",\n\t\t\t\ta,\n\t\t\t\tn: null\n\t\t\t};\n\t\t\tif (bucket === void 0) argCache.set(first, bucket = {\n\t\t\t\te: [],\n\t\t\t\tmiss: 0,\n\t\t\t\tskip: 0,\n\t\t\t\tat: 0\n\t\t\t});\n\t\t\telse if (++bucket.miss > BUCKET_MISS_CAP) {\n\t\t\t\tbucket.miss = BUCKET_MISS_CAP;\n\t\t\t\tbucket.skip = BUCKET_SKIP;\n\t\t\t\tbucket.e.length = 0;\n\t\t\t\tbucket.at = 0;\n\t\t\t}\n\t\t\tconst entries = bucket.e;\n\t\t\tif (entries.length < BUCKET_CAP) entries.push(hit);\n\t\t\telse {\n\t\t\t\tentries[bucket.at] = hit;\n\t\t\t\tbucket.at = bucket.at + 1 & 255;\n\t\t\t}\n\t\t\tif (++argCount > 1e3) {\n\t\t\t\targCount = 0;\n\t\t\t\tprevArgCache = argCache;\n\t\t\t\targCache = /* @__PURE__ */ new Map();\n\t\t\t}\n\t\t}\n\t\tif (lastHit !== null && lastHit !== hit) lastHit.n = hit;\n\t\tlastHit = hit;\n\t\treturn hit.r;\n\t};\n\tconst mergeSingleValue = (value) => Array.isArray(value) ? resolveArgs(value.slice(), false) : mergeString(resolveValue(value, true));\n\treturn function(v0, v1, v2) {\n\t\tconst nArgs = arguments.length;\n\t\tif ((nArgs | 1) === 3) {\n\t\t\tconst lh = lastHit;\n\t\t\tif (lh !== null) {\n\t\t\t\tconst pred = lh.n;\n\t\t\t\tif (pred !== null && match3(pred, v0, v1, v2)) {\n\t\t\t\t\tlastHit = pred;\n\t\t\t\t\treturn pred.r;\n\t\t\t\t}\n\t\t\t\tif (lh !== pred && match3(lh, v0, v1, v2)) return lh.r;\n\t\t\t}\n\t\t\tif (nArgs === 2 && typeof v1 === \"string\" && v1 !== \"\") {\n\t\t\t\tconst bucket = argCache.get(v0);\n\t\t\t\tif (bucket !== void 0 && bucket.skip > 0) {\n\t\t\t\t\tbucket.skip--;\n\t\t\t\t\tlastHit = null;\n\t\t\t\t\treturn churnLookup(v1, v0, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn resolveArgs([\n\t\t\t\tv0,\n\t\t\t\tv1,\n\t\t\t\tv2\n\t\t\t], true);\n\t\t}\n\t\tif (nArgs === 1) return typeof v0 === \"string\" ? mergeString(v0) : mergeSingleValue(v0);\n\t\tconst lh = lastHit;\n\t\tif (lh !== null) {\n\t\t\tconst pred = lh.n;\n\t\t\tif (pred !== null) {\n\t\t\t\tconst pa = pred.a;\n\t\t\t\tlet k = 0;\n\t\t\t\tlet ok = true;\n\t\t\t\tfor (let i = 0; i < nArgs; i++) {\n\t\t\t\t\tconst v = arguments[i];\n\t\t\t\t\tif (!v) continue;\n\t\t\t\t\tif (v !== pa[k]) {\n\t\t\t\t\t\tok = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tk++;\n\t\t\t\t}\n\t\t\t\tif (ok && k === pred.t) {\n\t\t\t\t\tlastHit = pred;\n\t\t\t\t\treturn pred.r;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (lh !== pred) {\n\t\t\t\tconst la = lh.a;\n\t\t\t\tlet k = 0;\n\t\t\t\tlet ok = true;\n\t\t\t\tfor (let i = 0; i < nArgs; i++) {\n\t\t\t\t\tconst v = arguments[i];\n\t\t\t\t\tif (!v) continue;\n\t\t\t\t\tif (v !== la[k]) {\n\t\t\t\t\t\tok = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tk++;\n\t\t\t\t}\n\t\t\t\tif (ok && k === lh.t) return lh.r;\n\t\t\t}\n\t\t}\n\t\tconst vals = [];\n\t\tfor (let i = 0; i < nArgs; i++) vals.push(arguments[i]);\n\t\treturn resolveArgs(vals, true);\n\t};\n};\n/**\n* Create a `cn` function bound to compiled tables — the entry point for\n* project-compiled (`cn build`) tables:\n*\n* ```ts\n* import tables from \"./cn-tables.js\"\n* import { createCn } from \"cn/engine\"\n* export const cn = createCn(tables)\n* ```\n*/\nconst createCn = (tables, validatorImpls, options) => {\n\tconst engine = createEngine(tables, validatorImpls, options);\n\treturn wrapClsx(engine.mergeString, engine);\n};\n\n//#endregion\nexport { clsx, createCn, createEngine, twJoin, wrapClsx };","import tables_generated_default from \"./tables.js\";\nimport { clsx, createEngine, twJoin, wrapClsx } from \"./engine.js\";\n\n//#region src/index.ts\nconst instance = /* @__PURE__ */ createEngine(tables_generated_default);\n/**\n* Merge Tailwind CSS classes with clsx-style arguments (strings, arrays,\n* objects, conditionals). Drop-in replacement for `twMerge(clsx(...))`.\n*/\nconst cn = /* @__PURE__ */ wrapClsx(instance.mergeString, instance);\n/** tailwind-merge–compatible variadic merge (strings + nested arrays). */\nconst twMerge = instance.merge;\n\n//#endregion\nexport { clsx, cn, createEngine, twJoin, twMerge };","import { Button as BaseButton } from \"@base-ui/react/button\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { type ComponentPropsWithoutRef, forwardRef, type Ref } from \"react\";\nimport { cn } from \"../../lib/cn\";\n\nconst buttonVariants = cva(\n \"rounded-ui-md focus-visible:ring-ring focus-visible:ring-offset-background inline-flex items-center justify-center font-medium whitespace-nowrap transition-colors outline-none select-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n primary:\n \"bg-primary text-primary-foreground hover:bg-primary/90 active:bg-primary/80\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/70\",\n outline:\n \"border-border text-foreground hover:bg-muted active:bg-muted/70 border bg-transparent\",\n ghost:\n \"text-foreground hover:bg-muted active:bg-muted/70 bg-transparent\",\n danger:\n \"bg-danger text-danger-foreground hover:bg-danger/90 active:bg-danger/80\",\n },\n size: {\n sm: \"h-8 gap-1.5 px-3 text-sm\",\n md: \"h-10 gap-2 px-4 text-sm\",\n lg: \"h-12 gap-2.5 px-6 text-base\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n },\n);\n\nexport type ButtonVariant = NonNullable<\n VariantProps<typeof buttonVariants>[\"variant\"]\n>;\nexport type ButtonSize = NonNullable<\n VariantProps<typeof buttonVariants>[\"size\"]\n>;\n\nexport interface ButtonProps extends ComponentPropsWithoutRef<\"button\"> {\n variant?: ButtonVariant;\n size?: ButtonSize;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n { className, variant = \"primary\", size = \"md\", type = \"button\", ...props },\n ref,\n ) {\n return (\n <BaseButton\n {...props}\n ref={ref as Ref<HTMLElement>}\n type={type}\n className={cn(buttonVariants({ variant, size }), className)}\n />\n );\n },\n);\n","import { Input as BaseInput } from \"@base-ui/react/input\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { type ComponentPropsWithoutRef, forwardRef, type Ref } from \"react\";\nimport { cn } from \"../../lib/cn\";\n\nconst inputVariants = cva(\n \"rounded-ui-md border-border bg-background text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/30 flex w-full border py-2 shadow-sm transition-colors outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n size: {\n sm: \"h-8 px-2.5 text-sm\",\n md: \"h-10 px-3 text-sm\",\n lg: \"h-12 px-4 text-base\",\n },\n invalid: {\n true: \"border-danger focus-visible:ring-danger/30\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n invalid: false,\n },\n },\n);\n\nexport type InputSize = NonNullable<VariantProps<typeof inputVariants>[\"size\"]>;\n\nexport interface InputProps\n extends Omit<ComponentPropsWithoutRef<\"input\">, \"size\"> {\n invalid?: boolean;\n size?: InputSize;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(function Input(\n {\n className,\n invalid = false,\n size = \"md\",\n \"aria-invalid\": ariaInvalid,\n ...props\n },\n ref,\n) {\n return (\n <BaseInput\n {...props}\n ref={ref as Ref<HTMLElement>}\n aria-invalid={invalid || ariaInvalid}\n className={cn(inputVariants({ size, invalid }), className)}\n />\n );\n});\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { cn } from \"../../lib/cn\";\n\nconst textareaVariants = cva(\n \"rounded-ui-md border-border bg-background text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/30 flex w-full resize-y border py-2 shadow-sm transition-colors outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n size: {\n sm: \"min-h-16 px-2.5 text-sm\",\n md: \"min-h-20 px-3 text-sm\",\n lg: \"min-h-28 px-4 text-base\",\n },\n invalid: {\n true: \"border-danger focus-visible:ring-danger/30\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n invalid: false,\n },\n },\n);\n\nexport type TextareaSize = NonNullable<\n VariantProps<typeof textareaVariants>[\"size\"]\n>;\n\nexport interface TextareaProps extends ComponentPropsWithoutRef<\"textarea\"> {\n invalid?: boolean;\n size?: TextareaSize;\n}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n function Textarea(\n {\n className,\n invalid = false,\n size = \"md\",\n \"aria-invalid\": ariaInvalid,\n ...props\n },\n ref,\n ) {\n return (\n <textarea\n {...props}\n ref={ref}\n aria-invalid={invalid || ariaInvalid}\n className={cn(textareaVariants({ size, invalid }), className)}\n />\n );\n },\n);\n"],"ignoreList":[0,1,2,3],"mappings":"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"}
|
package/dist/lib/cn.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function cn(...inputs: ClassValue[]): string;
|
|
1
|
+
export { cn } from 'cn';
|
package/dist/style.css
CHANGED
|
@@ -57,10 +57,26 @@
|
|
|
57
57
|
height: calc(var(--spacing) * 12);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
.min-h-16 {
|
|
61
|
+
min-height: calc(var(--spacing) * 16);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.min-h-20 {
|
|
65
|
+
min-height: calc(var(--spacing) * 20);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.min-h-28 {
|
|
69
|
+
min-height: calc(var(--spacing) * 28);
|
|
70
|
+
}
|
|
71
|
+
|
|
60
72
|
.w-full {
|
|
61
73
|
width: 100%;
|
|
62
74
|
}
|
|
63
75
|
|
|
76
|
+
.resize-y {
|
|
77
|
+
resize: vertical;
|
|
78
|
+
}
|
|
79
|
+
|
|
64
80
|
.items-center {
|
|
65
81
|
align-items: center;
|
|
66
82
|
}
|
|
@@ -94,6 +110,10 @@
|
|
|
94
110
|
border-color: var(--ui-border);
|
|
95
111
|
}
|
|
96
112
|
|
|
113
|
+
.border-danger {
|
|
114
|
+
border-color: var(--ui-danger);
|
|
115
|
+
}
|
|
116
|
+
|
|
97
117
|
.bg-background {
|
|
98
118
|
background-color: var(--ui-background);
|
|
99
119
|
}
|
|
@@ -114,6 +134,10 @@
|
|
|
114
134
|
background-color: #0000;
|
|
115
135
|
}
|
|
116
136
|
|
|
137
|
+
.px-2\.5 {
|
|
138
|
+
padding-inline: calc(var(--spacing) * 2.5);
|
|
139
|
+
}
|
|
140
|
+
|
|
117
141
|
.px-3 {
|
|
118
142
|
padding-inline: calc(var(--spacing) * 3);
|
|
119
143
|
}
|
|
@@ -240,6 +264,16 @@
|
|
|
240
264
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
241
265
|
}
|
|
242
266
|
|
|
267
|
+
.focus-visible\:ring-danger\/30:focus-visible {
|
|
268
|
+
--tw-ring-color: var(--ui-danger);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
272
|
+
.focus-visible\:ring-danger\/30:focus-visible {
|
|
273
|
+
--tw-ring-color: color-mix(in oklab, var(--ui-danger) 30%, transparent);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
243
277
|
.focus-visible\:ring-ring:focus-visible, .focus-visible\:ring-ring\/30:focus-visible {
|
|
244
278
|
--tw-ring-color: var(--ui-ring);
|
|
245
279
|
}
|
|
@@ -310,20 +344,6 @@
|
|
|
310
344
|
.disabled\:opacity-50:disabled {
|
|
311
345
|
opacity: .5;
|
|
312
346
|
}
|
|
313
|
-
|
|
314
|
-
.aria-\[invalid\=true\]\:border-danger[aria-invalid="true"] {
|
|
315
|
-
border-color: var(--ui-danger);
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
.aria-\[invalid\=true\]\:focus-visible\:ring-danger\/30[aria-invalid="true"]:focus-visible {
|
|
319
|
-
--tw-ring-color: var(--ui-danger);
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
323
|
-
.aria-\[invalid\=true\]\:focus-visible\:ring-danger\/30[aria-invalid="true"]:focus-visible {
|
|
324
|
-
--tw-ring-color: color-mix(in oklab, var(--ui-danger) 30%, transparent);
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
347
|
}
|
|
328
348
|
|
|
329
349
|
:root {
|
package/package.json
CHANGED
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walidsj/react-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Accessible React components styled with Tailwind CSS v4 and built on Base UI primitives.",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
|
|
5
|
+
"keywords": [
|
|
6
|
+
"react",
|
|
7
|
+
"design-system",
|
|
8
|
+
"component-library",
|
|
9
|
+
"tailwindcss",
|
|
10
|
+
"base-ui",
|
|
11
|
+
"typescript"
|
|
12
|
+
],
|
|
11
13
|
"homepage": "https://github.com/walidsj/walid-ui#readme",
|
|
12
14
|
"bugs": {
|
|
13
15
|
"url": "https://github.com/walidsj/walid-ui/issues"
|
|
14
16
|
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/walidsj/walid-ui.git"
|
|
20
|
+
},
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"author": "walidsj (https://github.com/walidsj)",
|
|
23
|
+
"sideEffects": [
|
|
24
|
+
"**/*.css"
|
|
25
|
+
],
|
|
15
26
|
"type": "module",
|
|
16
|
-
"packageManager": "bun@1.4.4",
|
|
17
|
-
"main": "./dist/index.js",
|
|
18
|
-
"module": "./dist/index.js",
|
|
19
|
-
"types": "./dist/index.d.ts",
|
|
20
27
|
"exports": {
|
|
21
28
|
".": {
|
|
22
29
|
"types": "./dist/index.d.ts",
|
|
@@ -25,47 +32,28 @@
|
|
|
25
32
|
"./style.css": "./dist/style.css",
|
|
26
33
|
"./package.json": "./package.json"
|
|
27
34
|
},
|
|
35
|
+
"main": "./dist/index.js",
|
|
36
|
+
"module": "./dist/index.js",
|
|
37
|
+
"types": "./dist/index.d.ts",
|
|
28
38
|
"files": [
|
|
29
39
|
"dist"
|
|
30
40
|
],
|
|
31
|
-
"sideEffects": [
|
|
32
|
-
"**/*.css"
|
|
33
|
-
],
|
|
34
|
-
"publishConfig": {
|
|
35
|
-
"access": "public"
|
|
36
|
-
},
|
|
37
|
-
"engines": {
|
|
38
|
-
"node": ">=20.19.0"
|
|
39
|
-
},
|
|
40
|
-
"keywords": [
|
|
41
|
-
"react",
|
|
42
|
-
"design-system",
|
|
43
|
-
"component-library",
|
|
44
|
-
"tailwindcss",
|
|
45
|
-
"base-ui",
|
|
46
|
-
"typescript"
|
|
47
|
-
],
|
|
48
41
|
"scripts": {
|
|
49
|
-
"dev": "vite build --watch",
|
|
50
42
|
"build": "vite build",
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"test:watch": "vitest",
|
|
54
|
-
"lint": "biome check .",
|
|
43
|
+
"clean": "rm -rf dist coverage",
|
|
44
|
+
"dev": "vite build --watch",
|
|
55
45
|
"format": "biome format --write .",
|
|
56
46
|
"format:check": "biome format .",
|
|
57
|
-
"
|
|
58
|
-
"prepublishOnly": "bun run clean && bun run lint && bun run typecheck && bun run test && bun run build"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"
|
|
62
|
-
"react-dom": "^19.0.0"
|
|
47
|
+
"lint": "biome check .",
|
|
48
|
+
"prepublishOnly": "bun run clean && bun run lint && bun run typecheck && bun run test && bun run build",
|
|
49
|
+
"test": "vitest run",
|
|
50
|
+
"test:watch": "vitest",
|
|
51
|
+
"typecheck": "tsc --noEmit"
|
|
63
52
|
},
|
|
64
53
|
"dependencies": {
|
|
65
54
|
"@base-ui/react": "^1.9.0",
|
|
66
55
|
"class-variance-authority": "^0.7.1",
|
|
67
|
-
"
|
|
68
|
-
"tailwind-merge": "^3.7.0"
|
|
56
|
+
"cn": "^0.5.0"
|
|
69
57
|
},
|
|
70
58
|
"devDependencies": {
|
|
71
59
|
"@biomejs/biome": "2.6.3",
|
|
@@ -86,5 +74,16 @@
|
|
|
86
74
|
"vite": "8.3.5",
|
|
87
75
|
"vite-plugin-dts": "5.1.2",
|
|
88
76
|
"vitest": "5.0.5"
|
|
77
|
+
},
|
|
78
|
+
"peerDependencies": {
|
|
79
|
+
"react": "^19.0.0",
|
|
80
|
+
"react-dom": "^19.0.0"
|
|
81
|
+
},
|
|
82
|
+
"packageManager": "bun@1.4.4",
|
|
83
|
+
"engines": {
|
|
84
|
+
"node": ">=20.19.0"
|
|
85
|
+
},
|
|
86
|
+
"publishConfig": {
|
|
87
|
+
"access": "public"
|
|
89
88
|
}
|
|
90
89
|
}
|