@crimson_/altarev 1.1.0

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.
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-4xl:56rem;--container-7xl:80rem;--text-xs:12px;--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-8xl:72px;--font-weight-semibold:600;--font-weight-bold:700;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-altarev-sans);--default-mono-font-family:var(--font-mono);--color-primary:var(--color-primary);--color-primary-tint:var(--color-primary-tint);--color-accent:var(--color-accent);--color-background:var(--color-background);--color-surface:var(--color-surface);--color-surface-raised:var(--color-surface-raised);--color-text:var(--color-text);--color-text-muted:var(--color-text-muted);--color-border:var(--color-border);--color-overlay:var(--color-overlay);--color-hover:var(--color-hover);--color-success:var(--color-success);--color-success-tint:var(--color-success-tint);--color-error:var(--color-error);--color-error-tint:var(--color-error-tint);--color-warning:var(--color-warning);--color-warning-tint:var(--color-warning-tint);--color-info:var(--color-info);--color-info-tint:var(--color-info-tint);--color-input-error:var(--color-input-error)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-\[-4px\]{top:-4px}.top-full{top:100%}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-\[-4px\]{right:-4px}.right-full{right:100%}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\[-4px\]{bottom:-4px}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-10{left:calc(var(--spacing) * 10)}.left-\[-4px\]{left:-4px}.left-full{left:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-px{margin:-1px}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-px{margin-bottom:-1px}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-1{width:var(--spacing);height:var(--spacing)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.size-full{width:100%;height:100%}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-\[280px\]{height:280px}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-full{max-height:100%}.min-h-10{min-height:calc(var(--spacing) * 10)}.w-7{width:calc(var(--spacing) * 7)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-40{width:calc(var(--spacing) * 40)}.w-\[60px\]{width:60px}.w-\[280px\]{width:280px}.w-\[374px\]{width:374px}.w-\[448px\]{width:448px}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-4xl{max-width:var(--container-4xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-container{max-width:1328px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-\[60px\]{min-width:60px}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.\[scrollbar-width\:none\]{scrollbar-width:none}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-px{gap:1px}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded-\[4px\]{border-radius:4px}.rounded-\[8px\]{border-radius:8px}.rounded-\[12px\]{border-radius:12px}.rounded-\[16px\]{border-radius:16px}.rounded-full{border-radius:3.40282e38px}.rounded-t-\[8px\]{border-top-left-radius:8px;border-top-right-radius:8px}.rounded-l-\[8px\]{border-top-left-radius:8px;border-bottom-left-radius:8px}.rounded-l-full{border-top-left-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.rounded-r-\[8px\]{border-top-right-radius:8px;border-bottom-right-radius:8px}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.rounded-b-\[8px\]{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-\[2px\]{border-style:var(--tw-border-style);border-width:2px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-\[var\(--color-input-error\)\]{border-color:var(--color-input-error)}.border-background{border-color:var(--color-background)}.border-border{border-color:var(--color-border)}.border-current{border-color:currentColor}.border-error{border-color:var(--color-error)}.border-info{border-color:var(--color-info)}.border-primary{border-color:var(--color-primary)}.border-success{border-color:var(--color-success)}.border-text-muted{border-color:var(--color-text-muted)}.border-transparent{border-color:#0000}.border-warning{border-color:var(--color-warning)}.border-t-transparent{border-top-color:#0000}.bg-background{background-color:var(--color-background)}.bg-border{background-color:var(--color-border)}.bg-error{background-color:var(--color-error)}.bg-error-tint{background-color:var(--color-error-tint)}.bg-hover{background-color:var(--color-hover)}.bg-info{background-color:var(--color-info)}.bg-info-tint{background-color:var(--color-info-tint)}.bg-primary{background-color:var(--color-primary)}.bg-primary-tint{background-color:var(--color-primary-tint)}.bg-success{background-color:var(--color-success)}.bg-success-tint{background-color:var(--color-success-tint)}.bg-surface{background-color:var(--color-surface)}.bg-text{background-color:var(--color-text)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--color-warning)}.bg-warning-tint{background-color:var(--color-warning-tint)}.stroke-background{stroke:var(--color-background)}.stroke-primary{stroke:var(--color-primary)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:24px;line-height:var(--tw-leading,32px)}.text-2xs{font-size:10px;line-height:var(--tw-leading,16px)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:18px;line-height:var(--tw-leading,28px)}.text-md{font-size:16px;line-height:var(--tw-leading,24px)}.text-sm{font-size:14px;line-height:var(--tw-leading,24px)}.text-xl{font-size:20px;line-height:var(--tw-leading,32px)}.text-xs{font-size:12px;line-height:var(--tw-leading,16px)}.text-\[10px\]{font-size:10px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--color-input-error\)\]{color:var(--color-input-error)}.text-background,.text-background\/70{color:var(--color-background)}@supports (color:color-mix(in lab, red, red)){.text-background\/70{color:color-mix(in oklab, var(--color-background) 70%, transparent)}}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-muted{color:var(--color-text-muted)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_1px_rgba\(0\,0\,0\,0\.4\)\,0_6px_6px_-6px_rgba\(0\,0\,0\,0\.16\)\]{--tw-shadow:0 0 1px var(--tw-shadow-color,#0006), 0 6px 6px -6px var(--tw-shadow-color,#00000029);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[stroke-dashoffset\]{transition-property:stroke-dashoffset;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--rdp-day-height\:40px\]{--rdp-day-height:40px}.\[--rdp-day-width\:40px\]{--rdp-day-width:40px}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-not-placeholder-shown\:top-0:is(:where(.peer):not(:placeholder-shown)~*){top:0}.peer-not-placeholder-shown\:left-3:is(:where(.peer):not(:placeholder-shown)~*){left:calc(var(--spacing) * 3)}.peer-not-placeholder-shown\:h-auto:is(:where(.peer):not(:placeholder-shown)~*){height:auto}.peer-not-placeholder-shown\:-translate-y-1\/2:is(:where(.peer):not(:placeholder-shown)~*){--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-not-placeholder-shown\:text-xs:is(:where(.peer):not(:placeholder-shown)~*){font-size:12px;line-height:var(--tw-leading,16px)}.peer-checked\:block:is(:where(.peer):checked~*){display:block}.peer-checked\:translate-x-3:is(:where(.peer):checked~*){--tw-translate-x:calc(var(--spacing) * 3);translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-checked\:translate-x-5:is(:where(.peer):checked~*){--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-checked\:translate-x-7:is(:where(.peer):checked~*){--tw-translate-x:calc(var(--spacing) * 7);translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-checked\:scale-100:is(:where(.peer):checked~*){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.peer-indeterminate\:block:is(:where(.peer):indeterminate~*){display:block}.peer-indeterminate\:hidden:is(:where(.peer):indeterminate~*){display:none}.peer-focus\:top-0:is(:where(.peer):focus~*){top:0}.peer-focus\:left-3:is(:where(.peer):focus~*){left:calc(var(--spacing) * 3)}.peer-focus\:h-auto:is(:where(.peer):focus~*){height:auto}.peer-focus\:-translate-y-1\/2:is(:where(.peer):focus~*){--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.peer-focus\:text-xs:is(:where(.peer):focus~*){font-size:12px;line-height:var(--tw-leading,16px)}.peer-focus\:text-\[var\(--color-input-error\)\]:is(:where(.peer):focus~*){color:var(--color-input-error)}.peer-focus\:text-primary:is(:where(.peer):focus~*){color:var(--color-primary)}.marker\:hidden ::marker{display:none}.marker\:hidden::marker{display:none}.marker\:hidden ::-webkit-details-marker{display:none}.marker\:hidden::-webkit-details-marker{display:none}.placeholder\:text-text-muted::placeholder{color:var(--color-text-muted)}.backdrop\:bg-overlay::backdrop{background-color:var(--color-overlay)}.even\:bg-background:nth-child(2n){background-color:var(--color-background)}.open\:flex:is([open],:popover-open,:open){display:flex}.checked\:border-primary:checked{border-color:var(--color-primary)}.checked\:bg-primary:checked{background-color:var(--color-primary)}.indeterminate\:border-primary:indeterminate{border-color:var(--color-primary)}.indeterminate\:bg-primary:indeterminate{background-color:var(--color-primary)}.focus-within\:z-10:focus-within{z-index:10}.focus-within\:border-\[1\.5px\]:focus-within{border-style:var(--tw-border-style);border-width:1.5px}.focus-within\:border-\[var\(--color-input-error\)\]:focus-within{border-color:var(--color-input-error)}.focus-within\:border-primary:focus-within{border-color:var(--color-primary)}.focus-within\:ring-4:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-primary-tint:focus-within{--tw-ring-color:var(--color-primary-tint)}@media (hover:hover){.hover\:border-text-muted:hover{border-color:var(--color-text-muted)}.hover\:bg-error-tint:hover{background-color:var(--color-error-tint)}.hover\:bg-hover:hover{background-color:var(--color-hover)}.hover\:bg-info-tint:hover{background-color:var(--color-info-tint)}.hover\:bg-primary-tint:hover{background-color:var(--color-primary-tint)}.hover\:bg-success-tint:hover{background-color:var(--color-success-tint)}.hover\:bg-warning-tint:hover{background-color:var(--color-warning-tint)}.hover\:text-text:hover{color:var(--color-text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-100:hover{--tw-brightness:brightness(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:border-\[1\.5px\]:focus{border-style:var(--tw-border-style);border-width:1.5px}.focus\:border-\[var\(--color-input-error\)\]:focus{border-color:var(--color-input-error)}.focus\:border-primary:focus{border-color:var(--color-primary)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-primary-tint:focus{--tw-ring-color:var(--color-primary-tint)}.focus-visible\:bg-hover:focus-visible{background-color:var(--color-hover)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-primary:focus-visible{outline-color:var(--color-primary)}.focus-visible\:outline-text:focus-visible{outline-color:var(--color-text)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.aria-selected\:font-semibold[aria-selected=true]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}}@media (min-width:48rem){.md\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.\[\&_button\]\:rounded-none button{border-radius:0}.\[\&_button\]\:bg-text button{background-color:var(--color-text)}.\[\&_button\]\:bg-transparent button{background-color:#0000}.\[\&_button\]\:text-background button{color:var(--color-background)}.\[\&_button\]\:text-text button{color:var(--color-text)}@media (hover:hover){.\[\&_button\]\:hover\:bg-primary-tint button:hover{background-color:var(--color-primary-tint)}.\[\&_button\]\:hover\:bg-text button:hover{background-color:var(--color-text)}}.\[\&_svg\]\:size-3 svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&_svg\]\:size-6 svg{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&_svg\]\:size-20 svg{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\:\:-webkit-search-cancel-button\]\:hidden::-webkit-search-cancel-button{display:none}.placeholder-shown\:\[\&\:\:placeholder\]\:opacity-0:placeholder-shown::placeholder{opacity:0}.\[\&\>a\]\:w-full>a{width:100%}.\[\&\>svg\]\:size-6>svg{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\[open\]\>summary\>svg\]\:rotate-180[open]>summary>svg{rotate:180deg}}@layer altarev.tokens{:root{--color-primary:#4e46b4;--color-primary-tint:#4e46b41f;--color-accent:#40a69f;--color-background:#f5f5f5;--color-surface:#fff;--color-surface-raised:#fff;--color-text:#000;--color-text-muted:#595d62;--color-border:#e2e2e2;--color-overlay:#0000008f;--color-hover:#0000000a;--color-success:#2e7d32;--color-success-tint:#2e7d321f;--color-error:#d33030;--color-error-tint:#d330301f;--color-warning:#ffb319;--color-warning-tint:#ffb3191f;--color-info:#3448f0;--color-info-tint:#3448f01f;--color-input-error:#ff4e64;--font-altarev-sans:"DM Sans", ui-sans-serif, system-ui, sans-serif}.dark{--color-primary:#4e46b4;--color-primary-tint:#4e46b452;--color-accent:#40a69f;--color-background:#0b0b0b;--color-surface:#1f1f1f;--color-surface-raised:#fff;--color-text:#fff;--color-text-muted:#595d62;--color-border:#444;--color-overlay:#0000008f;--color-hover:#ffffff14;--tw-shadow-color:#0009}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
package/llms.txt ADDED
@@ -0,0 +1,132 @@
1
+ # altarev
2
+
3
+ > A React 18+/19 + TypeScript + Tailwind CSS v4 component library. 37 accessible, themeable components built on native HTML elements. Themed entirely through CSS custom properties — consumers override token *values*, never class names.
4
+
5
+ This file tells an AI agent how to consume altarev without mistakes. Read the rules before writing code. Every rule exists because skipping it produces broken output.
6
+
7
+ ## The two rules that break everything if missed
8
+
9
+ 1. **Import the stylesheet exactly once, at your app root.** Without it, every component renders unstyled and the failure is silent (no error, just no styles).
10
+ ```ts
11
+ import "altarev/styles.css";
12
+ ```
13
+ 2. **To theme, override token *values* in a plain `:root` block placed *after* the import. Never wrap overrides in `@layer`. Never edit class names.** A wrapped or mis-ordered override silently loses to the default.
14
+
15
+ If you only remember those two, the rest follows.
16
+
17
+ ## Install
18
+
19
+ ```bash
20
+ npm install altarev
21
+ ```
22
+
23
+ - `react` and `react-dom` (>=18) are required peer deps. (React 19 is fine.)
24
+ - `react-day-picker` (^10) is an **optional** peer dep. Install it **only if** you use `Calendar`, `DateRangePicker`, or `TimePicker`. The other 34 components do not need it. If you use a date component without it installed, the import will fail.
25
+ - You do **not** need Tailwind installed in the consuming app. The stylesheet is self-contained (ships the full token layer as CSS variables).
26
+
27
+ ## Import surface
28
+
29
+ Everything is a named export from the package root `"altarev"`. There are **no deep imports** (no `altarev/components/Button`). One CSS path only: `"altarev/styles.css"`.
30
+
31
+ ```tsx
32
+ import { Button, TextInput, Tooltip } from "altarev";
33
+ ```
34
+
35
+ All components are client components (`"use client"`). They can be imported directly into React Server Components / Next.js App Router pages without a wrapper.
36
+
37
+ ## Theming — the full contract
38
+
39
+ Every color resolves through a CSS custom property at runtime. You change the **value**; altarev owns the **name** so all components stay consistent.
40
+
41
+ Correct (the only correct shape):
42
+ ```css
43
+ @import "altarev/styles.css"; /* import FIRST */
44
+
45
+ :root {
46
+ --color-primary: #e11d48; /* your brand */
47
+ --color-surface: #fffaf5;
48
+ --color-text: #1a1208;
49
+ }
50
+ ```
51
+ Why it works without `!important`: altarev's defaults live in `@layer altarev.tokens`. Per the CSS spec, any **un-layered** `:root` automatically beats a layered one. So a plain `:root` after the import always wins. This is the whole trick — do not fight it with specificity hacks.
52
+
53
+ Bundler variant (same idea, order is what matters):
54
+ ```ts
55
+ import "altarev/styles.css";
56
+ import "./theme.css"; // your :root overrides, loaded after
57
+ ```
58
+
59
+ ### Dark mode
60
+ Toggle a `.dark` class anywhere up the tree (usually `<html>`). Override the dark palette with a matching un-layered `.dark` block after the import:
61
+ ```css
62
+ @import "altarev/styles.css";
63
+ :root { --color-primary: #e11d48; }
64
+ .dark { --color-primary: #fb7185; }
65
+ ```
66
+
67
+ ### Tokens you may override (copy names exactly — a typo silently no-ops)
68
+ Colors accept any CSS color (`#hex`, `rgb()`, `hsl()`, `oklch()`):
69
+ `--color-primary`, `--color-primary-tint`, `--color-accent`, `--color-background`, `--color-surface`, `--color-surface-raised`, `--color-text`, `--color-text-muted`, `--color-border`, `--color-overlay`, `--color-hover`, `--color-success`, `--color-success-tint`, `--color-error`, `--color-error-tint`, `--color-warning`, `--color-warning-tint`, `--color-info`, `--color-info-tint`, `--color-input-error`.
70
+
71
+ Font family: `--font-altarev-sans` (e.g. `"Inter", system-ui, sans-serif`).
72
+
73
+ ### Theming DON'Ts (each is a real failure mode)
74
+ - ❌ Don't wrap overrides in `@layer { ... }` — they re-enter competition with defaults and may lose.
75
+ - ❌ Don't put the override block *before* the import.
76
+ - ❌ Don't edit/remap Tailwind utility names (`bg-primary`, `text-primary`, …) or the `@theme` block. Change the value the name points to, not the name.
77
+ - ❌ Don't override the type **scale** (`--text-xs` … `--text-8xl`). It's intentionally fixed so spacing stays consistent. Override the font family only.
78
+ - ❌ Don't invent token names. `--color-primry` (typo) does nothing and the component keeps the default. Copy from the list above.
79
+
80
+ ## Components (37) and their exports
81
+
82
+ Default usage: `import { X } from "altarev"`. Compound components below export their sub-parts as **separate named exports** from the root — you must import each part you use.
83
+
84
+ Simple (single export): `Accordion`, `Alert`, `Avatar`, `AuthCode`, `Button` (also `buttonVariants`), `Carousel`, `Checkbox`, `Chip`, `Container`, `Drawer`, `EmptyState`, `Loader`, `Modal`, `Popover`, `QuarterPicker`, `Radio`, `Search`, `Select`, `SegmentedControl`, `Switch`, `Tag`, `Textarea`, `TextInput`, `TimePicker`, `Tooltip`, `Calendar`.
85
+
86
+ Compound (import every part you use):
87
+ - **Tabs**: `Tabs`, `TabList`, `Tab`, `TabPanel`
88
+ - **Table**: `Table`, `TableHead`, `TableBody`, `TableRow`, `TableCell`, plus `DataTable` (a higher-level table driven by a `columns` prop) and the `selectionState` helper. Use `DataTable` for data-driven tables; use the primitives for hand-built markup.
89
+ - **Sidebar**: `Sidebar`, `SidebarSection`, `SidebarItem`
90
+ - **TextInputGroup**: `TextInputGroup`, `GroupField`
91
+ - **Dropdown**: `Dropdown`, `DropdownItem`
92
+ - **Snackbar/toasts**: wrap your app in `ToastProvider`, then call `useToast()` inside components to fire toasts. `Snackbar` is the visual; `ToastOptions`/`ToastPosition` type the API.
93
+
94
+ Helper exports you can use directly: `cn` (className merge: clsx + tailwind-merge), `paginationRange`, `clampPercent`, `filterOptions`, `presetRanges`, `defaultPresets`. `Combobox` ships `filterOptions`; `Pagination` ships `paginationRange`.
95
+
96
+ ### How to get exact props
97
+ **Don't guess prop names.** Every component ships a `type XProps` export and full `.d.ts` types. Read `node_modules/altarev/dist/index.d.ts` (or hover types via the TS server) for the authoritative signature before writing props. Props are typed; rely on the types, not assumptions.
98
+
99
+ ## Minimal correct example (end to end)
100
+
101
+ ```tsx
102
+ // app root (e.g. layout / main entry) — import once
103
+ import "altarev/styles.css";
104
+
105
+ import { ToastProvider, Button, Tooltip, useToast } from "altarev";
106
+
107
+ function SaveButton() {
108
+ const { toast } = useToast(); // shape per ToastOptions in the .d.ts — verify before use
109
+ return (
110
+ <Tooltip content="Saves your changes">
111
+ <Button onClick={() => toast({ message: "Saved" })}>Save</Button>
112
+ </Tooltip>
113
+ );
114
+ }
115
+
116
+ export function App() {
117
+ return (
118
+ <ToastProvider>
119
+ <SaveButton />
120
+ </ToastProvider>
121
+ );
122
+ }
123
+ ```
124
+
125
+ ## Pre-flight checklist before you ship altarev code
126
+ - [ ] `import "altarev/styles.css"` exists once at app root.
127
+ - [ ] Using a date component? `react-day-picker` is installed.
128
+ - [ ] Theme overrides are in an **un-layered** `:root`/`.dark`, placed **after** the import.
129
+ - [ ] No `@layer` around overrides; no edited class names; no renamed tokens.
130
+ - [ ] Compound components: every sub-part imported from `"altarev"`.
131
+ - [ ] Toasts: app wrapped in `ToastProvider`.
132
+ - [ ] Prop names verified against `dist/index.d.ts`, not guessed.
package/package.json ADDED
@@ -0,0 +1,87 @@
1
+ {
2
+ "name": "@crimson_/altarev",
3
+ "version": "1.1.0",
4
+ "description": "A React + TypeScript + Tailwind CSS v4 component library",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ },
15
+ "./styles.css": "./dist/styles.css"
16
+ },
17
+ "sideEffects": [
18
+ "**/*.css"
19
+ ],
20
+ "files": [
21
+ "dist",
22
+ "llms.txt"
23
+ ],
24
+ "scripts": {
25
+ "build": "tsup",
26
+ "dev": "tsup --watch",
27
+ "typecheck": "tsc --noEmit",
28
+ "lint": "eslint .",
29
+ "format": "prettier --write .",
30
+ "test": "vitest",
31
+ "prepare": "husky"
32
+ },
33
+ "peerDependencies": {
34
+ "react": ">=18",
35
+ "react-dom": ">=18",
36
+ "react-day-picker": "^10.0.0"
37
+ },
38
+ "peerDependenciesMeta": {
39
+ "react-day-picker": {
40
+ "optional": true
41
+ }
42
+ },
43
+ "dependencies": {
44
+ "class-variance-authority": "^0.7.1",
45
+ "clsx": "^2.1.1",
46
+ "tailwind-merge": "^3.0.0"
47
+ },
48
+ "devDependencies": {
49
+ "@eslint/js": "^10.0.1",
50
+ "@tailwindcss/cli": "^4.0.0",
51
+ "@types/react": "^19.0.0",
52
+ "@types/react-dom": "^19.0.0",
53
+ "eslint": "^10.5.0",
54
+ "eslint-config-prettier": "^10.1.8",
55
+ "eslint-plugin-no-comments": "^1.2.1",
56
+ "eslint-plugin-react-hooks": "^7.1.1",
57
+ "husky": "^9.1.7",
58
+ "lint-staged": "^16.4.0",
59
+ "prettier": "^3.8.4",
60
+ "react": "^19.0.0",
61
+ "react-day-picker": "^10.0.1",
62
+ "react-dom": "^19.0.0",
63
+ "tailwindcss": "^4.0.0",
64
+ "tsup": "^8.0.0",
65
+ "typescript": "^5.0.0",
66
+ "typescript-eslint": "^8.61.1",
67
+ "vitest": "^3.0.0"
68
+ },
69
+ "keywords": [
70
+ "react",
71
+ "components",
72
+ "ui",
73
+ "component-library",
74
+ "tailwindcss",
75
+ "tailwind",
76
+ "typescript",
77
+ "design-system"
78
+ ],
79
+ "license": "MIT",
80
+ "lint-staged": {
81
+ "*.{ts,tsx,js,mjs}": [
82
+ "eslint --fix",
83
+ "prettier --write"
84
+ ],
85
+ "*.{json,css,md}": "prettier --write"
86
+ }
87
+ }