@overdoser/react-toolkit 0.0.15 → 0.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,5 @@
1
+ @charset "UTF-8";
2
+ @layer crk {
3
+ :root{--crk-color-primary: #6366f1;--crk-color-primary-hover: #4f46e5;--crk-color-primary-active: #4338ca;--crk-color-primary-light: rgba(99, 102, 241, .08);--crk-color-primary-ring: rgba(99, 102, 241, .35);--crk-color-secondary: #64748b;--crk-color-secondary-hover: #475569;--crk-color-secondary-light: rgba(100, 116, 139, .08);--crk-color-danger: #ef4444;--crk-color-danger-hover: #dc2626;--crk-color-danger-active: #b91c1c;--crk-color-danger-light: rgba(239, 68, 68, .08);--crk-color-success: #10b981;--crk-color-success-light: rgba(16, 185, 129, .08);--crk-color-warning: #f59e0b;--crk-color-warning-light: rgba(245, 158, 11, .08);--crk-color-bg: #ffffff;--crk-color-bg-subtle: #f8fafc;--crk-color-bg-muted: #f1f5f9;--crk-color-text: #0f172a;--crk-color-text-secondary: #334155;--crk-color-text-muted: #94a3b8;--crk-color-border: #e2e8f0;--crk-color-border-hover: #cbd5e1;--crk-chart-1: #6366f1;--crk-chart-2: #10b981;--crk-chart-3: #f59e0b;--crk-chart-4: #ec4899;--crk-chart-5: #8b5cf6;--crk-chart-grid: var(--crk-color-border);--crk-chart-axis: var(--crk-color-text-muted);--crk-chart-label-inside: #ffffff;--crk-chart-tooltip-bg: var(--crk-color-text);--crk-chart-tooltip-text: var(--crk-color-bg);--crk-font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--crk-font-size-xs: .75rem;--crk-font-size-sm: .8125rem;--crk-font-size-md: .875rem;--crk-font-size-lg: 1rem;--crk-font-size-xl: 1.125rem;--crk-font-size-2xl: 1.375rem;--crk-font-size-3xl: 1.75rem;--crk-font-size-4xl: 2.25rem;--crk-font-size-5xl: 3rem;--crk-font-weight-normal: 400;--crk-font-weight-medium: 500;--crk-font-weight-semibold: 600;--crk-font-weight-bold: 700;--crk-line-height-tight: 1.2;--crk-line-height-normal: 1.5;--crk-line-height-relaxed: 1.7;--crk-letter-spacing-tight: -.025em;--crk-letter-spacing-normal: -.011em;--crk-control-line-height: 1.25rem;--crk-control-padding-y-sm: .375rem;--crk-control-padding-y-md: .5rem;--crk-control-padding-y-lg: .75rem;--crk-control-padding-x-sm: .9375rem;--crk-control-padding-x-md: 1.25rem;--crk-control-padding-x-lg: 1.5625rem;--crk-spacing-xs: .25rem;--crk-spacing-sm: .5rem;--crk-spacing-md: .75rem;--crk-spacing-lg: 1rem;--crk-spacing-xl: 1.5rem;--crk-spacing-2xl: 2rem;--crk-spacing-3xl: 3rem;--crk-border-radius-sm: .375rem;--crk-border-radius-md: .5rem;--crk-border-radius-lg: .75rem;--crk-border-radius-xl: 1rem;--crk-border-radius-full: 9999px;--crk-border-width: 1px;--crk-border-color: var(--crk-color-border);--crk-shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--crk-shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--crk-shadow-md: 0 4px 8px -2px rgba(0, 0, 0, .06), 0 2px 4px -2px rgba(0, 0, 0, .04);--crk-shadow-lg: 0 12px 24px -4px rgba(0, 0, 0, .08), 0 4px 8px -2px rgba(0, 0, 0, .03);--crk-shadow-xl: 0 20px 40px -8px rgba(0, 0, 0, .1), 0 8px 16px -4px rgba(0, 0, 0, .04);--crk-shadow-ring: 0 0 0 3px var(--crk-color-primary-ring);--crk-z-dropdown: 1000;--crk-z-popover: 1010;--crk-z-modal-backdrop: 1040;--crk-z-modal: 1050;--crk-z-floating: 1060;--crk-transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--crk-transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--crk-transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--crk-transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1)}.crk-root-8RX49{--crk-btn-font-family: var(--crk-font-family);--crk-btn-font-weight: 500;--crk-btn-letter-spacing: var(--crk-letter-spacing-normal);--crk-btn-border-radius: var(--crk-border-radius-md);--crk-btn-gap: var(--crk-spacing-sm);--crk-btn-transition: var(--crk-transition-smooth);--crk-btn-disabled-opacity: .5;--crk-btn-dot-size: .25em;--crk-btn-dot-gap: .2em;--crk-btn-dot-color: currentColor;--crk-btn-dot-bounce-height: -.25em;--crk-btn-dot-speed: 1.2s;--crk-btn-dot-content-shift: -.75em;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--crk-btn-gap);font-family:var(--crk-btn-font-family);font-weight:var(--crk-btn-font-weight);letter-spacing:var(--crk-btn-letter-spacing);border:none;border-radius:var(--crk-btn-border-radius);cursor:pointer;overflow:hidden;-webkit-user-select:none;user-select:none;transition:var(--crk-btn-transition);white-space:nowrap}.crk-root-8RX49:focus-visible{outline:none;box-shadow:var(--crk-shadow-ring)}.crk-root-8RX49:disabled:not(.crk-loading-QfItr){opacity:var(--crk-btn-disabled-opacity);cursor:not-allowed}.crk-primary-st6yY{background-color:var(--crk-color-primary);color:#fff;box-shadow:var(--crk-shadow-sm)}.crk-primary-st6yY:hover:not(:disabled){background-color:var(--crk-color-primary-hover);box-shadow:var(--crk-shadow-md)}.crk-primary-st6yY:active:not(:disabled){background-color:var(--crk-color-primary-active);box-shadow:var(--crk-shadow-sm)}.crk-secondary-j-3rj{background-color:transparent;color:var(--crk-color-text-secondary);outline:1.5px solid var(--crk-color-border);outline-offset:-1.5px;box-shadow:var(--crk-shadow-xs)}.crk-secondary-j-3rj:hover:not(:disabled){background-color:var(--crk-color-bg-subtle);outline-color:var(--crk-color-border-hover)}.crk-secondary-j-3rj:active:not(:disabled){background-color:var(--crk-color-bg-muted)}.crk-danger-Hxs5n{background-color:var(--crk-color-danger);color:#fff;box-shadow:var(--crk-shadow-sm)}.crk-danger-Hxs5n:hover:not(:disabled){background-color:var(--crk-color-danger-hover);box-shadow:var(--crk-shadow-md)}.crk-danger-Hxs5n:active:not(:disabled){background-color:var(--crk-color-danger-active);box-shadow:var(--crk-shadow-sm)}.crk-ghost-kQ0A8{background-color:transparent;color:var(--crk-color-text-secondary)}.crk-ghost-kQ0A8:hover:not(:disabled){background-color:var(--crk-color-primary-light);color:var(--crk-color-primary)}.crk-ghost-kQ0A8:active:not(:disabled){background-color:#6366f126}.crk-sm-RXFPY{--crk-btn-font-size: var(--crk-font-size-sm);--crk-btn-line-height: var(--crk-control-line-height);--crk-btn-padding-y: var(--crk-control-padding-y-sm);--crk-btn-padding-x: var(--crk-control-padding-x-sm);--crk-btn-border-radius: var(--crk-border-radius-sm);font-size:var(--crk-btn-font-size);line-height:var(--crk-btn-line-height);padding:var(--crk-btn-padding-y) var(--crk-btn-padding-x);border-radius:var(--crk-btn-border-radius)}.crk-md-nDnOD{--crk-btn-font-size: var(--crk-font-size-md);--crk-btn-line-height: var(--crk-control-line-height);--crk-btn-padding-y: var(--crk-control-padding-y-md);--crk-btn-padding-x: var(--crk-control-padding-x-md);font-size:var(--crk-btn-font-size);line-height:var(--crk-btn-line-height);padding:var(--crk-btn-padding-y) var(--crk-btn-padding-x)}.crk-lg-qD-Qh{--crk-btn-font-size: var(--crk-font-size-lg);--crk-btn-line-height: var(--crk-control-line-height);--crk-btn-padding-y: var(--crk-control-padding-y-lg);--crk-btn-padding-x: var(--crk-control-padding-x-lg);--crk-btn-border-radius: var(--crk-border-radius-lg);font-size:var(--crk-btn-font-size);line-height:var(--crk-btn-line-height);padding:var(--crk-btn-padding-y) var(--crk-btn-padding-x);border-radius:var(--crk-btn-border-radius)}.crk-fullWidth-AHpSl{width:100%}.crk-iconOnly-FNrSu{width:calc(var(--crk-btn-line-height) + 2 * var(--crk-btn-padding-y));aspect-ratio:1;padding:0;font-size:calc(var(--crk-btn-font-size) * 1.25);font-weight:700;line-height:1;flex-shrink:0}.crk-iconOnly-FNrSu svg{width:1em;height:1em;display:block}.crk-loading-QfItr{cursor:wait}.crk-loading-QfItr.crk-primary-st6yY{background-color:#8b8fa8;box-shadow:none}.crk-loading-QfItr.crk-secondary-j-3rj{background-color:var(--crk-color-bg-muted);border-color:var(--crk-color-border);box-shadow:none}.crk-loading-QfItr.crk-danger-Hxs5n{background-color:#b0a0a0;box-shadow:none}.crk-loading-QfItr.crk-ghost-kQ0A8{background-color:var(--crk-color-bg-muted)}.crk-content-PpYVU{display:inline-flex;align-items:center;gap:var(--crk-spacing-sm)}.crk-shimmer-8iQSU{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%);background-size:200% 100%;background-position:200% 0;opacity:0;pointer-events:none;transition:opacity .3s}.crk-loadingShimmer-BVvFw .crk-shimmer-8iQSU{opacity:1;animation:crk-shimmerSweep-uiZ01 1.4s ease-in-out infinite}@keyframes crk-shimmerSweep-uiZ01{0%{background-position:200% 0}to{background-position:-200% 0}}.crk-dots-U8wss{position:absolute;right:.5em;top:50%;transform:translateY(-50%);display:inline-flex;gap:var(--crk-btn-dot-gap);align-items:center;opacity:0;pointer-events:none;transition:opacity .3s}.crk-loadingDots-eKv64 .crk-content-PpYVU{transform:translate(var(--crk-btn-dot-content-shift));transition:transform .3s}.crk-loadingDots-eKv64 .crk-dots-U8wss{opacity:1}.crk-dot-Owuk1{display:block;width:var(--crk-btn-dot-size);height:var(--crk-btn-dot-size);border-radius:50%;background:var(--crk-btn-dot-color);opacity:.5;animation:crk-dotBounce-FwdcC var(--crk-btn-dot-speed) ease-in-out infinite}.crk-dot-Owuk1:nth-child(2){animation-delay:.2s}.crk-dot-Owuk1:nth-child(3){animation-delay:.4s}@keyframes crk-dotBounce-FwdcC{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(var(--crk-btn-dot-bounce-height))}}@property --crk-border-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.crk-loadingBorder-9ULFw{overflow:visible}.crk-loadingBorder-9ULFw.crk-secondary-j-3rj{outline-color:transparent}.crk-loadingBorder-9ULFw:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--crk-border-angle, 0deg),transparent 0%,currentColor 15%,transparent 30%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s}.crk-primary-st6yY.crk-loadingBorder-9ULFw:before,.crk-danger-Hxs5n.crk-loadingBorder-9ULFw:before{background:conic-gradient(from var(--crk-border-angle, 0deg),transparent 0%,rgba(255,255,255,.6) 15%,transparent 30%)}.crk-secondary-j-3rj.crk-loadingBorder-9ULFw:before,.crk-ghost-kQ0A8.crk-loadingBorder-9ULFw:before{background:conic-gradient(from var(--crk-border-angle, 0deg),transparent 0%,var(--crk-color-text-secondary) 15%,transparent 30%)}.crk-loadingBorder-9ULFw:before{opacity:1;animation:crk-borderSpin-EJ2gW 1.4s linear infinite}@keyframes crk-borderSpin-EJ2gW{to{--crk-border-angle: 360deg}}.crk-root-2j4Vp{--crk-link-font-family: var(--crk-font-family);--crk-link-font-weight: 500;--crk-link-border-radius: var(--crk-border-radius-sm);--crk-link-transition: var(--crk-transition-smooth);font-family:var(--crk-link-font-family);font-weight:var(--crk-link-font-weight);text-decoration:none;border-radius:var(--crk-link-border-radius);cursor:pointer;transition:color var(--crk-link-transition),background-color var(--crk-link-transition)}.crk-root-2j4Vp:focus-visible{outline:none;box-shadow:var(--crk-shadow-ring)}.crk-default-3TBlr{color:var(--crk-color-primary)}.crk-default-3TBlr:hover{color:var(--crk-color-primary-hover);text-decoration:underline;text-underline-offset:2px}.crk-default-3TBlr:active{color:var(--crk-color-primary-active)}.crk-muted-vReNc{color:var(--crk-color-text-muted)}.crk-muted-vReNc:hover{color:var(--crk-color-text-secondary)}.crk-muted-vReNc:active{color:var(--crk-color-text)}.crk-danger-ugf9r{color:var(--crk-color-danger)}.crk-danger-ugf9r:hover{color:var(--crk-color-danger-hover)}.crk-danger-ugf9r:active{color:var(--crk-color-danger-active)}.crk-externalIcon-nNu5J{display:inline-block;width:1em;height:1em;margin-left:.25em;vertical-align:-.1em;flex-shrink:0;opacity:.85}.crk-srOnly-LGQgs{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.crk-root-U-oiq{--crk-typo-font-family: var(--crk-font-family);--crk-typo-line-height: 1.5;--crk-typo-color: var(--crk-color-text);--crk-typo-letter-spacing: var(--crk-letter-spacing-normal);font-family:var(--crk-typo-font-family);line-height:var(--crk-typo-line-height);color:var(--crk-typo-color);margin:0;letter-spacing:var(--crk-typo-letter-spacing)}.crk-h1-Aivwz{font-size:var(--crk-font-size-5xl);font-weight:600;line-height:1.15;letter-spacing:var(--crk-letter-spacing-tight)}.crk-h2-CV8Oo{font-size:var(--crk-font-size-4xl);font-weight:600;line-height:1.2;letter-spacing:var(--crk-letter-spacing-tight)}.crk-h3-lrbrK{font-size:var(--crk-font-size-3xl);font-weight:600;line-height:1.25;letter-spacing:var(--crk-letter-spacing-tight)}.crk-h4--jkC1{font-size:var(--crk-font-size-2xl);font-weight:500;line-height:1.3;letter-spacing:var(--crk-letter-spacing-tight)}.crk-h5-GnQvD{font-size:var(--crk-font-size-xl);font-weight:500;line-height:1.35;letter-spacing:var(--crk-letter-spacing-tight)}.crk-h6-MKlIN{font-size:var(--crk-font-size-lg);font-weight:500;line-height:1.4;letter-spacing:var(--crk-letter-spacing-tight)}.crk-p-FzRtm{font-size:var(--crk-font-size-md);line-height:1.7;color:var(--crk-color-text-secondary)}.crk-span-NZvLx{font-size:inherit}.crk-label-Cwi6a{font-size:var(--crk-font-size-sm);font-weight:500;color:var(--crk-color-text-secondary);letter-spacing:.01em}.crk-normal-7AeZz{font-weight:400}.crk-medium-36OXr{font-weight:500}.crk-semibold-oQixc{font-weight:600}.crk-bold-bk4b4{font-weight:700}.crk-default-79lKR{color:var(--crk-color-text)}.crk-muted-itOSW{color:var(--crk-color-text-muted)}.crk-primary-rp36t{color:var(--crk-color-primary)}.crk-danger-SyOy-{color:var(--crk-color-danger)}.crk-success-w8PpD{color:var(--crk-color-success)}.crk-align-left-3AGYw{text-align:left}.crk-align-center-h-x--{text-align:center}.crk-align-right-IXFhK{text-align:right}.crk-truncate-eqr85{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crk-root-PVrgx{font-family:var(--crk-font-family);list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.crk-unordered-FhCWT .crk-item-TfW82:before{content:"";display:inline-block;width:6px;height:6px;background-color:var(--crk-color-primary);opacity:.4;border-radius:50%;flex-shrink:0;position:relative;top:-1px}.crk-ordered-8x4YC{counter-reset:list-counter}.crk-ordered-8x4YC .crk-item-TfW82{counter-increment:list-counter}.crk-ordered-8x4YC .crk-item-TfW82:before{content:counter(list-counter) ".";color:var(--crk-color-text-muted);font-size:var(--crk-font-size-sm);font-weight:500;min-width:1.5em;flex-shrink:0}.crk-none-f03Kx .crk-item-TfW82:before{display:none}.crk-sm-Rg4Mv{gap:var(--crk-spacing-xs)}.crk-md-X4Icb{gap:var(--crk-spacing-sm)}.crk-lg-JjNKZ{gap:var(--crk-spacing-md)}.crk-item-TfW82{font-size:var(--crk-font-size-md);color:var(--crk-color-text-secondary);display:flex;align-items:baseline;gap:var(--crk-spacing-sm);line-height:1.7}.crk-wrapper-zxjMt{display:flex;flex-direction:column}.crk-root-Gf85-{--crk-table-font-size: var(--crk-font-size-md);--crk-table-border-color: var(--crk-border-color);--crk-table-border-radius: var(--crk-border-radius-lg);--crk-table-header-bg: var(--crk-color-bg-subtle);--crk-table-header-color: var(--crk-color-text-muted);--crk-table-cell-padding: 12px 16px;--crk-table-header-padding: 10px 16px;width:100%;border-collapse:separate;border-spacing:0;font-family:inherit;font-size:var(--crk-table-font-size);border:1px solid var(--crk-table-border-color);border-radius:var(--crk-table-border-radius);overflow:hidden}.crk-headerCell-ePPZW{position:relative;padding:var(--crk-table-header-padding);text-align:left;font-size:var(--crk-font-size-sm);font-weight:600;color:var(--crk-table-header-color);text-transform:uppercase;letter-spacing:.04em;background-color:var(--crk-table-header-bg);border-bottom:1px solid var(--crk-table-border-color);white-space:nowrap}.crk-headerCellSortable-NMybk{cursor:pointer;-webkit-user-select:none;user-select:none;padding-right:28px;transition:background-color var(--crk-transition-fast)}.crk-headerCellSortable-NMybk:hover{background-color:var(--crk-color-bg-muted)}.crk-sortIndicator-WGD2S{position:absolute;right:10px;top:50%;translate:0 -50%;display:inline-flex;flex-direction:column;font-size:8px;line-height:1;gap:1px}.crk-sortArrow-1-ok4{color:var(--crk-color-text-muted);opacity:.3;transition:opacity var(--crk-transition-fast),color var(--crk-transition-fast)}.crk-sortArrowActive-yhWrO{opacity:1;color:var(--crk-color-primary)}.crk-sortIndex-HGoca{position:absolute;top:-2px;right:-10px;font-size:7px;font-weight:700;color:var(--crk-color-primary);line-height:1}.crk-row-H0wL1{transition:background-color var(--crk-transition-fast)}.crk-row-H0wL1:not(:last-child) .crk-cell-ZfnbG{border-bottom:1px solid var(--crk-table-border-color)}.crk-cell-ZfnbG{padding:var(--crk-table-cell-padding);color:var(--crk-color-text-secondary);vertical-align:middle}.crk-emptyRow-AoPfj .crk-emptyCell-99-7C{padding:var(--crk-spacing-3xl);text-align:center;color:var(--crk-color-text-muted);font-size:var(--crk-font-size-md)}.crk-striped-6Qckq .crk-row-H0wL1:nth-child(2n){background-color:var(--crk-color-bg-subtle)}.crk-hoverable-ljU9B .crk-row-H0wL1:hover{background-color:var(--crk-color-primary-light)}.crk-compact-2-UWr .crk-headerCell-ePPZW{padding:6px 12px}.crk-compact-2-UWr .crk-headerCell-ePPZW.crk-headerCellSortable-NMybk{padding-right:24px}.crk-compact-2-UWr .crk-cell-ZfnbG{padding:8px 12px;font-size:var(--crk-font-size-sm)}.crk-paginator-UlYIY{display:flex;align-items:center;justify-content:space-between;padding:var(--crk-spacing-md) 0;font-size:var(--crk-font-size-sm);color:var(--crk-color-text-muted);gap:var(--crk-spacing-md)}.crk-paginatorInfo-BVca4{display:flex;align-items:center;gap:var(--crk-spacing-md)}.crk-paginatorText-sqWS0{white-space:nowrap}.crk-pageSizeSelect-yhqJQ{appearance:none;font-family:var(--crk-font-family);font-size:var(--crk-font-size-sm);color:var(--crk-color-text-secondary);background:var(--crk-color-bg);border:var(--crk-border-width) solid var(--crk-color-border);border-radius:var(--crk-border-radius-sm);padding:4px 24px 4px 8px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath fill='%2394a3b8' d='M0 0l4 5 4-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.crk-pageSizeSelect-yhqJQ:focus{outline:none;border-color:var(--crk-color-primary);box-shadow:var(--crk-shadow-ring)}.crk-paginatorNav-MDSui{display:flex;align-items:center;gap:2px}.crk-pageButton-1PX-g{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 6px;font-family:var(--crk-font-family);font-size:var(--crk-font-size-sm);color:var(--crk-color-text-secondary);border-radius:var(--crk-border-radius-sm);transition:all var(--crk-transition-fast)}.crk-pageButton-1PX-g:hover:not(:disabled){background-color:var(--crk-color-bg-muted)}.crk-pageButton-1PX-g:disabled{opacity:.3;cursor:not-allowed}.crk-pageButton-1PX-g:focus-visible{outline:none;box-shadow:var(--crk-shadow-ring)}.crk-pageButtonActive--D7Q7{background-color:var(--crk-color-primary);color:#fff;font-weight:600}.crk-pageButtonActive--D7Q7:hover:not(:disabled){background-color:var(--crk-color-primary-hover)}.crk-pageEllipsis-en59J{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;color:var(--crk-color-text-muted)}@keyframes crk-menuEnter-F0Yyt{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.crk-root-an8Cf{position:relative;display:inline-block}.crk-fullWidth-S-uVk{display:block;width:100%}.crk-trigger-LwPaD{all:unset;--crk-input-font-family: var(--crk-font-family);--crk-input-font-size: var(--crk-font-size-md);--crk-input-letter-spacing: var(--crk-letter-spacing-normal);--crk-input-color: var(--crk-color-text);--crk-input-bg: var(--crk-color-bg);--crk-input-border-color: var(--crk-border-color);--crk-input-border-radius: var(--crk-border-radius-md);--crk-input-shadow: var(--crk-shadow-xs);--crk-input-transition: var(--crk-transition-fast);--crk-input-disabled-opacity: .5;box-sizing:border-box;font-family:var(--crk-input-font-family);font-size:var(--crk-input-font-size);letter-spacing:var(--crk-input-letter-spacing);color:var(--crk-input-color);background:var(--crk-input-bg);border:var(--crk-border-width) solid var(--crk-input-border-color);border-radius:var(--crk-input-border-radius);box-shadow:var(--crk-input-shadow);transition:border-color var(--crk-input-transition),box-shadow var(--crk-input-transition),background-color var(--crk-input-transition)}.crk-trigger-LwPaD::placeholder{color:var(--crk-color-text-muted)}.crk-trigger-LwPaD:hover:not(:disabled):not(:focus){border-color:var(--crk-color-border-hover)}.crk-trigger-LwPaD:focus{outline:none;border-color:var(--crk-color-primary);box-shadow:var(--crk-shadow-ring)}.crk-trigger-LwPaD:disabled{opacity:var(--crk-input-disabled-opacity);cursor:not-allowed;background:var(--crk-color-bg-subtle)}.crk-trigger-LwPaD{cursor:pointer;display:inline-flex;align-items:center;width:100%;text-align:left;font-size:var(--crk-font-size-md);line-height:var(--crk-control-line-height);padding:var(--crk-control-padding-y-md) 2.5em var(--crk-control-padding-y-md) .85em;position:relative}.crk-trigger-LwPaD.crk-fullWidth-S-uVk{width:100%}.crk-trigger-LwPaD:focus-visible{outline:none;box-shadow:var(--crk-shadow-ring)}.crk-triggerOpen-U4pa9{border-color:var(--crk-color-primary);box-shadow:var(--crk-shadow-ring)}.crk-triggerLabel-QLITs{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crk-triggerError-3jlu1{border-color:var(--crk-color-danger)}.crk-triggerError-3jlu1:focus-visible{box-shadow:0 0 0 3px var(--crk-color-danger-light)}.crk-placeholder-fWdch{color:var(--crk-color-text-muted);font-weight:400}.crk-chevron-jmDNe{position:absolute;right:.75em;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--crk-color-text-muted);display:flex;width:0;height:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.35em solid currentColor;transition:transform var(--crk-transition-fast)}.crk-triggerOpen-U4pa9 .crk-chevron-jmDNe{transform:translateY(-50%) rotate(180deg)}.crk-menu-fxnKL{background:var(--crk-color-bg);border:var(--crk-border-width) solid var(--crk-color-border);border-radius:var(--crk-border-radius-lg);box-shadow:var(--crk-shadow-lg);box-sizing:border-box;position:absolute;top:calc(100% + 4px);min-width:180px;padding:4px;display:none;flex-direction:column}.crk-menu-fxnKL.crk-fullWidth-S-uVk{width:100%;left:0;right:0}.crk-menu-fxnKL{z-index:var(--crk-z-dropdown);opacity:0;transform:translateY(-8px) scale(.95);animation:none}.crk-menuOpen-HF-Y1{display:flex;animation:crk-menuEnter-F0Yyt .2s cubic-bezier(.34,1.56,.64,1) forwards}.crk-alignLeft-buCDJ{left:0}.crk-alignRight-05P9w{right:0}.crk-item-f-Rhh{all:unset;cursor:pointer;display:flex;align-items:center;padding:8px 12px;font-size:var(--crk-font-size-md);color:var(--crk-color-text-secondary);transition:all var(--crk-transition-fast);gap:var(--crk-spacing-sm)}.crk-item-f-Rhh:hover{background-color:var(--crk-color-primary-light);color:var(--crk-color-primary)}.crk-item-f-Rhh:focus-visible{outline:none;box-shadow:var(--crk-shadow-ring)}.crk-item-f-Rhh:active{background-color:#6366f126}.crk-itemDisabled-L-d6i{opacity:.4;cursor:not-allowed;pointer-events:none}.crk-itemSelected-Fwmuo{background-color:var(--crk-color-bg-muted);color:var(--crk-color-text);font-weight:500}.crk-itemSelected-Fwmuo:hover{background-color:var(--crk-color-primary-light);color:var(--crk-color-primary)}@keyframes crk-popoverFade-hj41M{0%{opacity:0}to{opacity:1}}.crk-root-8H-L9{position:relative;display:inline-block}.crk-trigger-Zn1nQ{all:unset;cursor:pointer;display:inline-flex}.crk-trigger-Zn1nQ:focus-visible{outline:none;box-shadow:var(--crk-shadow-ring);border-radius:var(--crk-border-radius-md)}.crk-popover-rvS3X{--crk-popover-padding: var(--crk-spacing-lg);--crk-popover-min-width: 200px;--crk-popover-border-radius: var(--crk-border-radius-lg);--crk-popover-shadow: var(--crk-shadow-lg);--crk-popover-animation: crk-popoverFade-hj41M .15s ease-out;background:var(--crk-color-bg);border:var(--crk-border-width) solid var(--crk-color-border);border-radius:var(--crk-border-radius-lg);box-shadow:var(--crk-shadow-lg);position:absolute;padding:var(--crk-popover-padding);z-index:var(--crk-z-popover);animation:var(--crk-popover-animation);min-width:var(--crk-popover-min-width);border-radius:var(--crk-popover-border-radius);box-shadow:var(--crk-popover-shadow)}.crk-bottom-lawQw{top:calc(100% + 8px);left:50%;translate:calc(-50% + var(--crk-popover-shift-x, 0px)) 0}.crk-top-rqvC6{bottom:calc(100% + 8px);left:50%;translate:calc(-50% + var(--crk-popover-shift-x, 0px)) 0}.crk-left-J6exv{right:calc(100% + 8px);top:50%;translate:0 calc(-50% + var(--crk-popover-shift-y, 0px))}.crk-right-3y20l{left:calc(100% + 8px);top:50%;translate:0 calc(-50% + var(--crk-popover-shift-y, 0px))}@keyframes crk-backdropIn-x5Z-A{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes crk-modalIn-xFUwm{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.crk-backdrop-jYpTA{--crk-modal-backdrop-bg: rgba(15, 23, 42, .4);--crk-modal-backdrop-blur: 4px;position:fixed;inset:0;background-color:var(--crk-modal-backdrop-bg);-webkit-backdrop-filter:blur(var(--crk-modal-backdrop-blur));backdrop-filter:blur(var(--crk-modal-backdrop-blur));display:flex;align-items:center;justify-content:center;z-index:var(--crk-z-modal-backdrop);animation:crk-backdropIn-x5Z-A .25s ease forwards;padding:var(--crk-spacing-xl)}.crk-modal-yNG-7{--crk-modal-bg: #fff;--crk-modal-border-radius: var(--crk-border-radius-xl);--crk-modal-shadow: var(--crk-shadow-xl);--crk-modal-padding: var(--crk-spacing-xl);background-color:var(--crk-modal-bg);border-radius:var(--crk-modal-border-radius);box-shadow:var(--crk-modal-shadow);display:flex;flex-direction:column;max-height:calc(100vh - 3rem);width:100%;z-index:var(--crk-z-modal);animation:crk-modalIn-xFUwm .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.crk-sm--xyY9{max-width:400px}.crk-md-ETTfh{max-width:560px}.crk-lg-5DBb7{max-width:720px}.crk-fullscreen-b4jQ-{max-width:100vw;max-height:100vh;border-radius:0}.crk-header-NS30G{display:flex;align-items:center;padding:var(--crk-modal-padding) var(--crk-modal-padding) var(--crk-spacing-lg);font-size:var(--crk-font-size-xl);font-weight:600;letter-spacing:-.01em;color:var(--crk-color-text);flex-shrink:0}.crk-headerWithClose-4davm{justify-content:space-between}.crk-closeButton-JX-aq{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--crk-border-radius-md);color:var(--crk-color-text-muted);transition:all var(--crk-transition-fast)}.crk-closeButton-JX-aq:hover{background-color:var(--crk-color-bg-muted);color:var(--crk-color-text)}.crk-closeButton-JX-aq:focus-visible{outline:none;box-shadow:var(--crk-shadow-ring)}.crk-body-3zIj9{padding:0 var(--crk-modal-padding) var(--crk-modal-padding);flex:1 1 auto;overflow-y:auto;font-size:var(--crk-font-size-md);color:var(--crk-color-text-secondary);line-height:1.625}.crk-footer-Oyz-R{display:flex;align-items:center;justify-content:flex-end;gap:var(--crk-spacing-sm);padding:var(--crk-spacing-lg) var(--crk-modal-padding);border-top:1px solid var(--crk-color-border);flex-shrink:0}.crk-root-jHIIP{display:flex;flex-direction:column;gap:var(--crk-spacing-sm)}.crk-rootLooseGap-NaOGK{gap:var(--crk-spacing-md)}.crk-formErrors-eh-OP{display:flex;flex-direction:column;gap:0;padding:.75em 1em;background:var(--crk-color-danger-light);border:1px solid var(--crk-color-danger);border-radius:var(--crk-border-radius-md);list-style:none;margin:0}.crk-formError-XEuWv{font-size:var(--crk-font-size-sm);color:var(--crk-color-danger);display:flex;align-items:baseline;gap:.5em;padding:.25em 0}.crk-formError-XEuWv:before{content:"•";flex-shrink:0;font-size:1.1em;line-height:1}.crk-field-OUlYz{display:flex;flex-direction:column;gap:.25rem}.crk-label-udkR7{font-size:var(--crk-font-size-sm);font-weight:var(--crk-font-weight-bold);color:var(--crk-color-text);letter-spacing:normal;cursor:pointer}.crk-labelError-LOgKi{color:var(--crk-color-danger)}.crk-required-IYiA2{color:var(--crk-color-danger);margin-left:2px}.crk-messageReserve-vTOdL{min-height:var(--crk-field-error-min-height, calc(var(--crk-font-size-xs) * var(--crk-line-height-normal)))}.crk-error-yFZXm{font-size:var(--crk-font-size-xs);line-height:var(--crk-line-height-normal);color:var(--crk-color-danger);display:flex;align-items:center;gap:4px}.crk-helperText-Dm-rb{font-size:var(--crk-font-size-xs);line-height:var(--crk-line-height-normal);color:var(--crk-color-text-muted)}.crk-row-nNbx-{display:flex;gap:var(--crk-spacing-lg)}.crk-row-nNbx->*{flex:1;min-width:0}.crk-root-rSgdy{--crk-input-font-family: var(--crk-font-family);--crk-input-font-size: var(--crk-font-size-md);--crk-input-letter-spacing: var(--crk-letter-spacing-normal);--crk-input-color: var(--crk-color-text);--crk-input-bg: var(--crk-color-bg);--crk-input-border-color: var(--crk-border-color);--crk-input-border-radius: var(--crk-border-radius-md);--crk-input-shadow: var(--crk-shadow-xs);--crk-input-transition: var(--crk-transition-fast);--crk-input-disabled-opacity: .5;box-sizing:border-box;font-family:var(--crk-input-font-family);font-size:var(--crk-input-font-size);letter-spacing:var(--crk-input-letter-spacing);color:var(--crk-input-color);background:var(--crk-input-bg);border:var(--crk-border-width) solid var(--crk-input-border-color);border-radius:var(--crk-input-border-radius);box-shadow:var(--crk-input-shadow);transition:border-color var(--crk-input-transition),box-shadow var(--crk-input-transition),background-color var(--crk-input-transition)}.crk-root-rSgdy::placeholder{color:var(--crk-color-text-muted)}.crk-root-rSgdy:hover:not(:disabled):not(:focus){border-color:var(--crk-color-border-hover)}.crk-root-rSgdy:focus{outline:none;border-color:var(--crk-color-primary);box-shadow:var(--crk-shadow-ring)}.crk-root-rSgdy:disabled{opacity:var(--crk-input-disabled-opacity);cursor:not-allowed;background:var(--crk-color-bg-subtle)}.crk-root-rSgdy{width:100%;display:block}.crk-wrapper-GHy8V{display:flex;align-items:center;--crk-input-font-family: var(--crk-font-family);--crk-input-font-size: var(--crk-font-size-md);--crk-input-letter-spacing: var(--crk-letter-spacing-normal);--crk-input-color: var(--crk-color-text);--crk-input-bg: var(--crk-color-bg);--crk-input-border-color: var(--crk-border-color);--crk-input-border-radius: var(--crk-border-radius-md);--crk-input-shadow: var(--crk-shadow-xs);--crk-input-transition: var(--crk-transition-fast);--crk-input-disabled-opacity: .5;box-sizing:border-box;font-family:var(--crk-input-font-family);font-size:var(--crk-input-font-size);letter-spacing:var(--crk-input-letter-spacing);color:var(--crk-input-color);background:var(--crk-input-bg);border:var(--crk-border-width) solid var(--crk-input-border-color);border-radius:var(--crk-input-border-radius);box-shadow:var(--crk-input-shadow);transition:border-color var(--crk-input-transition),box-shadow var(--crk-input-transition),background-color var(--crk-input-transition)}.crk-wrapper-GHy8V::placeholder{color:var(--crk-color-text-muted)}.crk-wrapper-GHy8V:hover:not(:disabled):not(:focus){border-color:var(--crk-color-border-hover)}.crk-wrapper-GHy8V:focus{outline:none;border-color:var(--crk-color-primary);box-shadow:var(--crk-shadow-ring)}.crk-wrapper-GHy8V:disabled{opacity:var(--crk-input-disabled-opacity);cursor:not-allowed;background:var(--crk-color-bg-subtle)}.crk-wrapper-GHy8V{overflow:hidden}.crk-wrapper-GHy8V .crk-root-rSgdy{border:none;box-shadow:none;outline:none;flex:1;min-width:0;font:inherit;color:inherit;padding:0;background:transparent}.crk-wrapper-GHy8V .crk-root-rSgdy:focus{box-shadow:none}.crk-wrapper-GHy8V .crk-root-rSgdy:disabled{opacity:1}.crk-sm-DptM5{font-size:var(--crk-font-size-sm);line-height:var(--crk-control-line-height);padding:var(--crk-control-padding-y-sm) 10px}.crk-md-F4B0G{font-size:var(--crk-font-size-md);line-height:var(--crk-control-line-height);padding:var(--crk-control-padding-y-md) 12px}.crk-lg-pBxwX{font-size:var(--crk-font-size-lg);line-height:var(--crk-control-line-height);padding:var(--crk-control-padding-y-lg) 16px}.crk-error-fucxe{border-color:var(--crk-color-danger)}.crk-error-fucxe:focus{box-shadow:0 0 0 3px var(--crk-color-danger-light)}.crk-prefix-w53Md,.crk-suffix-fcNgR{display:flex;align-items:center;color:var(--crk-color-text-muted);font-size:var(--crk-font-size-sm);flex-shrink:0;-webkit-user-select:none;user-select:none}.crk-prefix-w53Md{padding-left:12px}.crk-suffix-fcNgR{padding-right:12px}.crk-hasPrefix--bqPD .crk-root-rSgdy{padding-left:var(--crk-spacing-xs)}.crk-hasSuffix-zO0nX .crk-root-rSgdy{padding-right:var(--crk-spacing-xs)}@keyframes crk-menuEnter-vJjLV{0%{opacity:0;transform:translateY(-.5em) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.crk-wrapper-SP2JE{position:relative;display:inline-flex;width:100%;font-size:var(--crk-font-size-md)}.crk-wrapper-SP2JE.crk-sm-DqshL{font-size:var(--crk-font-size-sm)}.crk-wrapper-SP2JE.crk-md-j4AKI{font-size:var(--crk-font-size-md)}.crk-wrapper-SP2JE.crk-lg-24Xd3{font-size:var(--crk-font-size-lg)}.crk-root-Uu9Ah{--crk-input-font-family: var(--crk-font-family);--crk-input-font-size: var(--crk-font-size-md);--crk-input-letter-spacing: var(--crk-letter-spacing-normal);--crk-input-color: var(--crk-color-text);--crk-input-bg: var(--crk-color-bg);--crk-input-border-color: var(--crk-border-color);--crk-input-border-radius: var(--crk-border-radius-md);--crk-input-shadow: var(--crk-shadow-xs);--crk-input-transition: var(--crk-transition-fast);--crk-input-disabled-opacity: .5;box-sizing:border-box;font-family:var(--crk-input-font-family);font-size:var(--crk-input-font-size);letter-spacing:var(--crk-input-letter-spacing);color:var(--crk-input-color);background:var(--crk-input-bg);border:var(--crk-border-width) solid var(--crk-input-border-color);border-radius:var(--crk-input-border-radius);box-shadow:var(--crk-input-shadow);transition:border-color var(--crk-input-transition),box-shadow var(--crk-input-transition),background-color var(--crk-input-transition)}.crk-root-Uu9Ah::placeholder{color:var(--crk-color-text-muted)}.crk-root-Uu9Ah:hover:not(:disabled):not(:focus){border-color:var(--crk-color-border-hover)}.crk-root-Uu9Ah:focus{outline:none;border-color:var(--crk-color-primary);box-shadow:var(--crk-shadow-ring)}.crk-root-Uu9Ah:disabled{opacity:var(--crk-input-disabled-opacity);cursor:not-allowed;background:var(--crk-color-bg-subtle)}.crk-root-Uu9Ah{width:100%;appearance:none;cursor:pointer;font-size:inherit;padding-right:2.5em}.crk-sm-DqshL.crk-root-Uu9Ah{line-height:var(--crk-control-line-height);padding:var(--crk-control-padding-y-sm) 2.5em var(--crk-control-padding-y-sm) .7em}.crk-md-j4AKI.crk-root-Uu9Ah{line-height:var(--crk-control-line-height);padding:var(--crk-control-padding-y-md) 2.5em var(--crk-control-padding-y-md) .85em}.crk-lg-24Xd3.crk-root-Uu9Ah{line-height:var(--crk-control-line-height);padding:var(--crk-control-padding-y-lg) 2.5em var(--crk-control-padding-y-lg) 1em}.crk-error-9oRU6{border-color:var(--crk-color-danger)}.crk-error-9oRU6:focus{box-shadow:0 0 0 3px var(--crk-color-danger-light)}.crk-arrow-WU8ZW{position:absolute;right:.75em;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--crk-color-text-muted);display:flex;width:0;height:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.35em solid currentColor}.crk-searchableWrapper-7AL4l{display:block}.crk-hiddenSelect-s3DEx{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.crk-searchableTrigger-m-GWV{all:unset;--crk-input-font-family: var(--crk-font-family);--crk-input-font-size: var(--crk-font-size-md);--crk-input-letter-spacing: var(--crk-letter-spacing-normal);--crk-input-color: var(--crk-color-text);--crk-input-bg: var(--crk-color-bg);--crk-input-border-color: var(--crk-border-color);--crk-input-border-radius: var(--crk-border-radius-md);--crk-input-shadow: var(--crk-shadow-xs);--crk-input-transition: var(--crk-transition-fast);--crk-input-disabled-opacity: .5;box-sizing:border-box;font-family:var(--crk-input-font-family);font-size:var(--crk-input-font-size);letter-spacing:var(--crk-input-letter-spacing);color:var(--crk-input-color);background:var(--crk-input-bg);border:var(--crk-border-width) solid var(--crk-input-border-color);border-radius:var(--crk-input-border-radius);box-shadow:var(--crk-input-shadow);transition:border-color var(--crk-input-transition),box-shadow var(--crk-input-transition),background-color var(--crk-input-transition)}.crk-searchableTrigger-m-GWV::placeholder{color:var(--crk-color-text-muted)}.crk-searchableTrigger-m-GWV:hover:not(:disabled):not(:focus){border-color:var(--crk-color-border-hover)}.crk-searchableTrigger-m-GWV:focus{outline:none;border-color:var(--crk-color-primary);box-shadow:var(--crk-shadow-ring)}.crk-searchableTrigger-m-GWV{width:100%;cursor:pointer;font-size:inherit;display:flex;align-items:center;text-align:left;padding-right:2.5em;position:relative}.crk-searchableTrigger-m-GWV:disabled{opacity:var(--crk-input-disabled-opacity);cursor:not-allowed;background:var(--crk-color-bg-subtle)}.crk-triggerOpen-Lo8-j{border-color:var(--crk-color-primary);box-shadow:var(--crk-shadow-ring)}.crk-triggerLabel-5rETZ{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crk-placeholder-teBBh{color:var(--crk-color-text-muted)}.crk-arrowInline-m-roG{transition:transform var(--crk-transition-fast)}.crk-triggerOpen-Lo8-j .crk-arrowInline-m-roG{transform:translateY(-50%) rotate(180deg)}.crk-disabled-pcSeq{pointer-events:none}.crk-visuallyHidden-2tTD5{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.crk-menu--i-je{background:var(--crk-color-bg);border:var(--crk-border-width) solid var(--crk-color-border);border-radius:var(--crk-border-radius-lg);box-shadow:var(--crk-shadow-lg);box-sizing:border-box;position:absolute;top:calc(100% + .25em);left:0;right:0;z-index:var(--crk-z-dropdown);display:flex;flex-direction:column;padding:.25em;animation:crk-menuEnter-vJjLV .2s cubic-bezier(.34,1.56,.64,1) forwards}.crk-menuItems-VrZnE{max-height:15em;overflow-y:auto;display:flex;flex-direction:column}.crk-item-fU3XI{all:unset;cursor:pointer;display:flex;align-items:center;padding:.5em .75em;font-size:inherit;color:var(--crk-color-text-secondary);transition:all var(--crk-transition-fast)}.crk-item-fU3XI:hover{background-color:var(--crk-color-primary-light);color:var(--crk-color-primary)}.crk-item-fU3XI:focus-visible{outline:none;box-shadow:var(--crk-shadow-ring)}.crk-itemHighlighted-MvR41{background-color:var(--crk-color-primary-light);color:var(--crk-color-primary)}.crk-itemDisabled-KTUO8{opacity:.4;cursor:not-allowed;pointer-events:none}.crk-itemSelected-42-BG{background-color:var(--crk-color-bg-muted);color:var(--crk-color-text);font-weight:500}.crk-itemSelected-42-BG.crk-itemHighlighted-MvR41{background-color:var(--crk-color-primary-light);color:var(--crk-color-primary)}.crk-noResults-uicSW{padding:.5em .75em;color:var(--crk-color-text-muted);font-size:inherit}.crk-multiTrigger-Pd3wJ{--crk-input-font-family: var(--crk-font-family);--crk-input-font-size: var(--crk-font-size-md);--crk-input-letter-spacing: var(--crk-letter-spacing-normal);--crk-input-color: var(--crk-color-text);--crk-input-bg: var(--crk-color-bg);--crk-input-border-color: var(--crk-border-color);--crk-input-border-radius: var(--crk-border-radius-md);--crk-input-shadow: var(--crk-shadow-xs);--crk-input-transition: var(--crk-transition-fast);--crk-input-disabled-opacity: .5;box-sizing:border-box;font-family:var(--crk-input-font-family);font-size:var(--crk-input-font-size);letter-spacing:var(--crk-input-letter-spacing);color:var(--crk-input-color);background:var(--crk-input-bg);border:var(--crk-border-width) solid var(--crk-input-border-color);border-radius:var(--crk-input-border-radius);box-shadow:var(--crk-input-shadow);transition:border-color var(--crk-input-transition),box-shadow var(--crk-input-transition),background-color var(--crk-input-transition)}.crk-multiTrigger-Pd3wJ::placeholder{color:var(--crk-color-text-muted)}.crk-multiTrigger-Pd3wJ:hover:not(:disabled):not(:focus){border-color:var(--crk-color-border-hover)}.crk-multiTrigger-Pd3wJ:focus{outline:none;border-color:var(--crk-color-primary);box-shadow:var(--crk-shadow-ring)}.crk-multiTrigger-Pd3wJ:disabled{opacity:var(--crk-input-disabled-opacity);cursor:not-allowed;background:var(--crk-color-bg-subtle)}.crk-multiTrigger-Pd3wJ{box-sizing:border-box;width:100%;cursor:text;font-size:inherit;display:flex;flex-wrap:wrap;align-items:center;gap:.3em;min-height:2.5em}.crk-multiTrigger-Pd3wJ.crk-sm-DqshL{padding:var(--crk-control-padding-y-sm) 2.5em var(--crk-control-padding-y-sm) .7em}.crk-multiTrigger-Pd3wJ.crk-md-j4AKI{padding:var(--crk-control-padding-y-md) 2.5em var(--crk-control-padding-y-md) .85em}.crk-multiTrigger-Pd3wJ.crk-lg-24Xd3{padding:var(--crk-control-padding-y-lg) 2.5em var(--crk-control-padding-y-lg) 1em}.crk-multiTrigger-Pd3wJ{position:relative}.crk-multiTrigger-Pd3wJ:focus-within{border-color:var(--crk-color-primary);box-shadow:var(--crk-shadow-ring)}.crk-multiTriggerDisabled-9ajge{opacity:var(--crk-input-disabled-opacity);cursor:not-allowed;background:var(--crk-color-bg-subtle)}.crk-chip-TuYUB{display:inline-flex;align-items:center;gap:.25em;padding:.1em .4em;background:var(--crk-color-bg-muted);border-radius:var(--crk-border-radius-sm);font-size:.85em;line-height:1.4;color:var(--crk-color-text);max-width:100%;cursor:default}.crk-chipLabel-H4JWu{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crk-chipRemove-Lfk0R{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;border-radius:var(--crk-border-radius-sm);font-size:1em;line-height:1;color:var(--crk-color-text-muted);flex-shrink:0;transition:all var(--crk-transition-fast)}.crk-chipRemove-Lfk0R:hover{color:var(--crk-color-danger);background:var(--crk-color-danger-light)}.crk-multiSearch-OrVeS{all:unset;flex:1 1 3em;min-width:3em;font-size:inherit;line-height:1.4;color:var(--crk-color-text);cursor:text}.crk-multiSearch-OrVeS::placeholder{color:var(--crk-color-text-muted)}.crk-multiSearch-OrVeS:focus{outline:none}.crk-multiSearch-OrVeS:disabled{cursor:not-allowed}.crk-arrowMulti-Nh9Hr{position:absolute;right:.75em;top:50%;transform:translateY(-50%);transition:transform var(--crk-transition-fast)}.crk-triggerOpen-Lo8-j .crk-arrowMulti-Nh9Hr{transform:translateY(-50%) rotate(180deg)}.crk-itemCheck-DPB5A{display:inline-block;width:1em;height:1em;margin-right:.4em;flex-shrink:0}.crk-itemCheck-DPB5A:before{content:"✓";font-size:.85em;color:var(--crk-color-primary)}.crk-root-61cKD{display:inline-flex;align-items:center;gap:.4em;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--crk-font-size-md)}.crk-input-bAjPU{appearance:none;width:1.15em;height:1.15em;border:.1em solid var(--crk-border-color);border-radius:.2em;background:#fff;cursor:pointer;transition:all var(--crk-transition-fast);flex-shrink:0;position:relative;display:grid;place-content:center}.crk-input-bAjPU:after{content:"";display:block;width:.3em;height:.55em;border:solid transparent;border-width:0 .13em .13em 0;transform:rotate(45deg);margin-top:-.1em}.crk-input-bAjPU:checked{background-color:var(--crk-color-primary);border-color:var(--crk-color-primary)}.crk-input-bAjPU:checked:after{border-color:#fff}.crk-input-bAjPU:hover:not(:disabled){border-color:var(--crk-color-border-hover)}.crk-input-bAjPU:focus-visible{outline:none;box-shadow:var(--crk-shadow-ring)}.crk-input-bAjPU:disabled{opacity:.5;cursor:not-allowed}.crk-label-W9IeS{color:var(--crk-color-text-secondary);line-height:1;cursor:pointer}.crk-indeterminate-mLarv .crk-input-bAjPU{background-color:var(--crk-color-primary);border-color:var(--crk-color-primary)}.crk-indeterminate-mLarv .crk-input-bAjPU:after{width:.55em;height:0;border:none;border-top:.13em solid white;border-radius:.05em;transform:none;margin-top:0}.crk-group-3jaV7{display:flex;font-size:var(--crk-font-size-md)}.crk-vertical--i2tD{flex-direction:column;gap:var(--crk-spacing-sm)}.crk-horizontal-4qzrj{flex-direction:row;flex-wrap:wrap;gap:var(--crk-spacing-sm)}.crk-chipsGroup-jyDEd{gap:var(--crk-spacing-xs)}.crk-chip-NYeqm{--crk-chip-check-width: .75em;--crk-chip-check-gap: .15em;--crk-chip-pad-x: 1em;--crk-chip-check-inset: calc((var(--crk-chip-check-width) + var(--crk-chip-check-gap)) / 2);all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding:.4em var(--crk-chip-pad-x);font-size:inherit;line-height:1.3;color:var(--crk-color-text-secondary);background:var(--crk-color-bg-subtle);border:var(--crk-border-width) solid var(--crk-color-border);border-radius:var(--crk-border-radius-full);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--crk-transition-fast)}.crk-chip-NYeqm:hover:not(:disabled){border-color:var(--crk-color-border-hover);color:var(--crk-color-text)}.crk-chip-NYeqm:focus-visible{outline:none;box-shadow:var(--crk-shadow-ring)}.crk-chip-NYeqm:disabled{opacity:.5;cursor:not-allowed}.crk-chipPill-DfnpS{border-radius:var(--crk-border-radius-full)}.crk-chipRounded-oi-hI{border-radius:var(--crk-border-radius-md)}.crk-chipSquare-ZcbQB{border-radius:var(--crk-border-radius-sm)}.crk-chipCheck-4nqaQ{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:0;margin-right:0;opacity:0;overflow:hidden;transition:width var(--crk-transition-fast),margin-right var(--crk-transition-fast),opacity var(--crk-transition-fast)}.crk-chipCheck-4nqaQ:before{content:"✓";font-size:.85em;line-height:1}.crk-chipCheckVisible-nGulJ{width:var(--crk-chip-check-width);margin-right:var(--crk-chip-check-gap);opacity:1}.crk-chipChecked-4h2bc{padding-left:calc(var(--crk-chip-pad-x) - var(--crk-chip-check-inset));padding-right:calc(var(--crk-chip-pad-x) - var(--crk-chip-check-inset))}.crk-chipSelected-qbOpf{color:var(--crk-color-primary);background:var(--crk-color-primary-light);border-color:var(--crk-color-primary)}.crk-chipSelected-qbOpf:hover:not(:disabled){color:var(--crk-color-primary-hover);border-color:var(--crk-color-primary-hover)}.crk-error-phPRL.crk-chipsGroup-jyDEd .crk-chip-NYeqm{border-color:var(--crk-color-danger)}.crk-group-NNwCD{display:flex;flex-direction:column;gap:var(--crk-spacing-sm);outline:none}.crk-root-7fGik{display:inline-flex;align-items:center;gap:var(--crk-spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.crk-input-43PQW{appearance:none;width:18px;height:18px;border:1.5px solid var(--crk-border-color);border-radius:50%;background:#fff;cursor:pointer;transition:all var(--crk-transition-fast);flex-shrink:0;display:grid;place-content:center}.crk-input-43PQW:after{content:"";width:8px;height:8px;border-radius:50%;background-color:var(--crk-color-primary);transition:transform var(--crk-transition-spring);transform:scale(0)}.crk-input-43PQW:checked{border-color:var(--crk-color-primary)}.crk-input-43PQW:checked:after{transform:scale(1)}.crk-input-43PQW:hover:not(:disabled){border-color:var(--crk-color-border-hover)}.crk-input-43PQW:focus-visible{outline:none;box-shadow:var(--crk-shadow-ring)}.crk-input-43PQW:disabled{opacity:.5;cursor:not-allowed}.crk-label-aW30x{font-size:var(--crk-font-size-md);color:var(--crk-color-text-secondary);cursor:pointer}.crk-root-IGgdn{--crk-textarea-min-height: 80px;--crk-input-font-family: var(--crk-font-family);--crk-input-font-size: var(--crk-font-size-md);--crk-input-letter-spacing: var(--crk-letter-spacing-normal);--crk-input-color: var(--crk-color-text);--crk-input-bg: var(--crk-color-bg);--crk-input-border-color: var(--crk-border-color);--crk-input-border-radius: var(--crk-border-radius-md);--crk-input-shadow: var(--crk-shadow-xs);--crk-input-transition: var(--crk-transition-fast);--crk-input-disabled-opacity: .5;box-sizing:border-box;font-family:var(--crk-input-font-family);font-size:var(--crk-input-font-size);letter-spacing:var(--crk-input-letter-spacing);color:var(--crk-input-color);background:var(--crk-input-bg);border:var(--crk-border-width) solid var(--crk-input-border-color);border-radius:var(--crk-input-border-radius);box-shadow:var(--crk-input-shadow);transition:border-color var(--crk-input-transition),box-shadow var(--crk-input-transition),background-color var(--crk-input-transition)}.crk-root-IGgdn::placeholder{color:var(--crk-color-text-muted)}.crk-root-IGgdn:hover:not(:disabled):not(:focus){border-color:var(--crk-color-border-hover)}.crk-root-IGgdn:focus{outline:none;border-color:var(--crk-color-primary);box-shadow:var(--crk-shadow-ring)}.crk-root-IGgdn:disabled{opacity:var(--crk-input-disabled-opacity);cursor:not-allowed;background:var(--crk-color-bg-subtle)}.crk-root-IGgdn{width:100%;display:block;min-height:var(--crk-textarea-min-height)}.crk-sm-N-5I2{padding:8px 10px;font-size:var(--crk-font-size-sm)}.crk-md-bbyFl{padding:8px 12px;font-size:var(--crk-font-size-md)}.crk-lg-Pd-Iq{padding:10px 16px;font-size:var(--crk-font-size-lg)}.crk-error-fyu3i{border-color:var(--crk-color-danger)}.crk-error-fyu3i:focus{box-shadow:0 0 0 3px var(--crk-color-danger-light)}.crk-resizeNone-SmNT4{resize:none}.crk-resizeVertical-oi8vP{resize:vertical}.crk-resizeHorizontal-riMLL{resize:horizontal}.crk-resizeBoth-NYSh4{resize:both}.crk-autoExpand-JWone{resize:none;overflow-y:hidden}.crk-root-uMSq0{position:relative;width:100%;font-family:var(--crk-font-family);font-size:var(--crk-font-size-sm);color:var(--crk-color-text);letter-spacing:var(--crk-letter-spacing-normal)}.crk-canvas-zhFr0{position:relative;width:100%}.crk-svg-waPLB{display:block;overflow:visible}.crk-gridLine-K2Gx9{stroke:var(--crk-chart-grid);stroke-width:1;shape-rendering:crispEdges;opacity:.7}.crk-axis-Zum8-{pointer-events:none}.crk-axisLabel-Ilv3u{fill:var(--crk-chart-axis);font-size:var(--crk-font-size-xs);font-family:inherit}.crk-cursorLine-iNHim{stroke:var(--crk-color-text-muted);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}.crk-linePath-E4eYA{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.crk-areaPath-ZwMc6{stroke:none;opacity:.18}.crk-point-DTAoa{stroke:var(--crk-color-bg);stroke-width:2}.crk-bar-9sYbq{transition:opacity var(--crk-transition-fast)}.crk-bar-9sYbq:hover{opacity:.85}.crk-barLabelInside-dlQh5{fill:var(--crk-chart-label-inside);font-weight:var(--crk-font-weight-medium)}.crk-activeBar-FJhPJ{opacity:.78}.crk-interactionLayer-dHNAG{fill:transparent;cursor:crosshair}.crk-legend-JL6YI{display:flex;flex-wrap:wrap;gap:var(--crk-spacing-md);padding-top:var(--crk-spacing-md);font-size:var(--crk-font-size-sm);color:var(--crk-color-text-secondary)}.crk-legendItem-rcdvO{display:inline-flex;align-items:center;gap:var(--crk-spacing-xs)}.crk-legendSwatch-eJBsF{display:inline-block;width:.625rem;height:.625rem;border-radius:var(--crk-border-radius-sm);flex-shrink:0}.crk-legendIcon-6gzcO{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.crk-legendIcon-6gzcO svg{width:1em;height:1em;display:block}.crk-legendLabel-C-eu3{color:var(--crk-color-text)}.crk-tooltip-m55-N{position:absolute;pointer-events:none;background:var(--crk-chart-tooltip-bg);color:var(--crk-chart-tooltip-text);padding:var(--crk-spacing-sm) var(--crk-spacing-md);border-radius:var(--crk-border-radius-md);box-shadow:var(--crk-shadow-md);font-size:var(--crk-font-size-xs);line-height:var(--crk-line-height-normal);z-index:1}.crk-tooltipTitle-0EfoX{font-weight:var(--crk-font-weight-semibold);margin-bottom:var(--crk-spacing-xs)}.crk-tooltipRows-MC0wM{display:flex;flex-direction:column;gap:2px}.crk-tooltipRow-ZQomr{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--crk-spacing-xs)}.crk-tooltipLabel-s4OKX{opacity:.85}.crk-tooltipValue-iwj1s{font-variant-numeric:tabular-nums;font-weight:var(--crk-font-weight-medium)}.crk-empty-aa4vk{display:flex;align-items:center;justify-content:center;height:100%;width:100%;color:var(--crk-color-text-muted);font-size:var(--crk-font-size-sm)}.crk-sparkline-3-eRc{display:inline-block;vertical-align:middle;line-height:0}.crk-tradingHeader-Pb9wS{font-family:var(--crk-font-family);font-size:var(--crk-font-size-sm);color:var(--crk-color-text);letter-spacing:var(--crk-letter-spacing-normal)}
4
+
5
+ }
package/llms.txt CHANGED
@@ -23,6 +23,21 @@ Override CSS custom properties on `:root` to theme:
23
23
 
24
24
  All components forward `className` and `style`. Most also accept a `classes` object to override internal element classNames (see `*Classes` types per component).
25
25
 
26
+ ### Making your overrides always win (CSS ordering)
27
+
28
+ `className` / `classes.*` overrides are plain CSS classes, so they only beat the toolkit's built-in class if your stylesheet is inserted **after** the toolkit's — which depends on your bundler and isn't guaranteed. Two ways to make overrides deterministic:
29
+
30
+ 1. **Import the layered stylesheet** (recommended). The package ships a twin wrapped in a CSS cascade layer:
31
+ ```ts
32
+ import '@overdoser/react-toolkit/theme.layered.css'; // instead of theme.css
33
+ ```
34
+ Everything the toolkit ships lives in the `crk` layer, so any of your own *unlayered* rules (including `classes.*`) always win, regardless of import order. Caveat: unlayered rules in your app (e.g. a global CSS reset on bare element selectors) will also win over the toolkit's base styles — if you use an aggressive reset, put it in its own earlier layer.
35
+ 2. **Layer it yourself at import** (if you import CSS from a `.css` entry): `@import '@overdoser/react-toolkit/theme.css' layer(crk);` as the first line. Same effect as option 1.
36
+
37
+ If you don't need guaranteed precedence, keep importing `theme.css` and simply ensure the toolkit CSS is imported before your own overrides.
38
+
39
+ `theme.css` and `theme.layered.css` have identical content (same rules, same hashed class names, same `--crk-*` tokens) — the layered twin just wraps everything in `@layer crk`. Import exactly ONE of them, never both. `--crk-*` token theming on `:root` works the same in either.
40
+
26
41
  ## Components
27
42
 
28
43
  ### Button
@@ -52,6 +67,7 @@ Element: `<a>` (forwards ref, accepts all native anchor props).
52
67
  Props:
53
68
  - `variant?: 'default' | 'muted' | 'danger'` — default `'default'`
54
69
  - `external?: boolean` — default `false`. When `true`, sets `target="_blank" rel="noopener noreferrer"` and adds a visually-hidden " (opens in a new tab)" suffix.
70
+ - `hideExternalIcon?: boolean` — default `false`. When a link opens in a new tab (via `external`, or a manual `target="_blank"`) an inline ↗ icon is rendered to the right by default; set this to hide it. The screen-reader suffix is kept regardless.
55
71
 
56
72
  Example:
57
73
  ```tsx
@@ -242,7 +258,8 @@ Props:
242
258
  - `trigger: ReactNode` — required. By default, wrapped in an internal `<button>` (so a plain `'Help'` string or an icon is fine).
243
259
  - `asChild?: boolean` — default `false`. When `true` and `trigger` is a single React element, the trigger is rendered **as-is** with click/aria/ref merged into it via `cloneElement` (no wrapping `<button>`). Use this when you want to pass your own interactive element (e.g. a `<Button>`) without producing `<button>` nested inside `<button>` (a hydration error).
244
260
  - `content: ReactNode` — required. Rendered inside an `[role="dialog"]` panel when open.
245
- - `position?: 'top' | 'bottom' | 'left' | 'right'` — default `'bottom'`
261
+ - `position?: 'top' | 'bottom' | 'left' | 'right'` — default `'bottom'`. The *requested* side; honored whenever it fits.
262
+ - `autoPosition?: boolean` — default `true`. Keeps the panel inside the viewport: flips to the opposite side when the requested one would overflow, and shifts along the cross-axis near a screen edge. Set `false` to pin strictly to `position`.
246
263
  - `open?: boolean` — controlled.
247
264
  - `onOpenChange?: (open: boolean) => void`
248
265
  - `classes?: Partial<PopoverClasses>` where `PopoverClasses = { root, trigger, popover }`
@@ -309,20 +326,26 @@ Imports: `import { Form, FormField, FormRow } from '@overdoser/react-toolkit'`
309
326
  - `form: UseFormReturn<T>` — pass the result of `useForm()`.
310
327
  - `onSubmit: SubmitHandler<T>` — passed through `form.handleSubmit`.
311
328
  - `errors?: ReactNode[]` — top-of-form error list (rendered above children with `role="alert"`).
329
+ - `reserveErrorSpace?: boolean | number | string` — default `true`. Form-wide default for every `FormField`'s `reserveErrorSpace` (each field can still override its own). Same accepted values as the field prop.
330
+ - `fieldClasses?: Partial<FormFieldClasses>` — default `classes` applied to every `FormField`, *merged* with each field's own `classes` (both class names apply; fields add rather than replace). Keys: `{ field, label, message, error, helperText }`.
312
331
 
313
332
  `FormField` props:
314
333
  - `name: string` — required. Becomes the field id.
315
334
  - `label?: ReactNode`
316
- - `helperText?: ReactNode`
335
+ - `helperText?: ReactNode` — description below the input. Stays visible on error; the error message appears *above* it (between the input and the description), it does not replace it.
317
336
  - `required?: boolean` — adds a "*" indicator next to the label.
318
337
  - `rules?: Record<string, unknown>` — react-hook-form rules.
338
+ - `reserveErrorSpace?: boolean | number | string` — default `true`. Reserves a line of space *after the description* so the field's outer height stays constant when an error toggles (the error appears between the input and the description, and the reserved spacer collapses 1:1, so fields below don't reflow — only the description shifts down within the field). `true` reserves one line (via the `--crk-field-error-min-height` token); `false` = no reservation (the error pushes content down); a `number` is pixels; a `string` is any CSS length. Best results when the reserved height matches a one-line error.
319
339
  - `children: ReactElement` — exactly one child input. The child does NOT need `value`/`onChange`/`name` — `FormField` injects them via `cloneElement`.
320
- - `classes?: Partial<FormFieldClasses>` where `FormFieldClasses = { field, label, error, helperText }`
340
+ - `classes?: Partial<FormFieldClasses>` where `FormFieldClasses = { field, label, message, error, helperText }`
321
341
 
322
342
  `FormField` injects bridges so these inputs work without manual wiring:
323
- - `Input`, `Textarea`, `Select`, `Dropdown` (Mode B), `Checkbox`, `Radio`/`RadioGroup`
343
+ - `Input`, `Textarea`, `Select`, `Dropdown` (Mode B), `Checkbox`, `Radio`/`RadioGroup`, `CheckboxGroup`
324
344
  - For `Select` (multi/searchable) / `Dropdown` (Mode B): bridges `onChange` → `onValueChange`/`onValuesChange`.
325
345
  - For `Checkbox`: bridges `value` → `checked` when value is boolean.
346
+ - `CheckboxGroup` works directly — its `value: string[]` / `onChange(values)` bind to the field with no extra bridge.
347
+
348
+ Note: the inter-field gap is intentionally compact because each field reserves a message line; the overall rhythm stays even without jumping on error.
326
349
 
327
350
  `FormRow` props: `children`, `className`, `style`. Wraps fields in a horizontal flex row.
328
351
 
@@ -426,6 +449,35 @@ Example:
426
449
  <Checkbox label="Remember me" checked={remember} onChange={(e) => setRemember(e.target.checked)} />
427
450
  ```
428
451
 
452
+ ### CheckboxGroup
453
+ Import: `import { CheckboxGroup } from '@overdoser/react-toolkit'`
454
+ Element: a `[role="group"]` `<div>` (forwards ref to it). Multi-value selection from a fixed option set.
455
+
456
+ Props:
457
+ - `options: { value: string; label: ReactNode; disabled?: boolean }[]` — required.
458
+ - `value?: string[]` — controlled selected values. Default `[]`.
459
+ - `onChange?: (values: string[]) => void` — fires with the next array on each toggle.
460
+ - `variant?: 'checkbox' | 'chips'` — default `'checkbox'`. `'chips'` renders toggleable buttons (`role="checkbox"`, `aria-checked`) laid out one after another.
461
+ - `chipShape?: 'pill' | 'rounded' | 'square'` — default `'pill'`. Chip corner style (`chips` only); `'square'` is the most rectangular.
462
+ - `chipCheckmark?: boolean` — default `true`. Show a leading checkmark on selected chips (`chips` only). The chip's total width stays constant — when checked, horizontal padding shrinks on both sides by exactly half the mark+gap, so the freed space fits the mark and the centered content does not jump.
463
+ - `orientation?: 'vertical' | 'horizontal'` — defaults to `'vertical'` for `checkbox`, `'horizontal'` (wrapping) for `chips`.
464
+ - `disabled?: boolean` — disables every option. (Per-option via `options[].disabled`.)
465
+ - `error?: boolean` — default `false`. Error styling (e.g. an empty required group).
466
+ - `name?: string` — shared name for the underlying checkboxes.
467
+ - `required?: boolean` — sets `aria-required` on the group.
468
+ - `classes?: Partial<CheckboxGroupClasses>` where `CheckboxGroupClasses = { group, option, chip, chipSelected }`
469
+ - Also accepts `id`, `aria-label`, `aria-labelledby`, `aria-describedby`, `aria-invalid`.
470
+
471
+ Works inside `<FormField>` directly (its `value: string[]` / `onChange(values)` bind to the field — no bridge needed).
472
+
473
+ Example:
474
+ ```tsx
475
+ // Checkboxes
476
+ <CheckboxGroup options={topics} value={picked} onChange={setPicked} aria-label="Topics" />
477
+ // Chips
478
+ <CheckboxGroup variant="chips" options={tags} value={picked} onChange={setPicked} aria-label="Tags" />
479
+ ```
480
+
429
481
  ### Radio / RadioGroup
430
482
  Import: `import { Radio, RadioGroup } from '@overdoser/react-toolkit'`
431
483