@sortsys/ui 0.1.0 → 0.1.2

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 @@
1
+ :root{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;--bg-page: #f5f5f7;--bg-surface: #ffffff;--bg-surface-subtle: #f3f4f6;--shell-bg: radial-gradient(circle at top left, #eef2ff 0, #f5f5f7 38%, #f3f4f6 100%);--shell-header-bg: rgba(255, 255, 255, .85);--shell-header-border: rgba(209, 213, 219, .8);--shell-nav-bg: rgba(255, 255, 255, .92);--shell-nav-border: rgba(209, 213, 219, .85);--fg-primary: #0f172a;--fg-secondary: #4b5563;--fg-muted: #6b7280;--fg-inverse: #ffffff;--border-subtle: #e5e7eb;--border-strong: #d1d5db;--card-accent: #2563eb;--input-bg: #ffffff;--input-fg: var(--fg-primary);--input-border: #d1d5db;--input-border-hover: #9ca3af;--input-border-disabled: #e5e7eb;--input-bg-disabled: #f3f4f6;--input-fg-disabled: #9ca3af;--input-bg-hover: #f9fafb;--input-bg-focus: #ffffff;--scrollbar-thumb: rgba(15, 23, 42, .24);--primary: #2563eb;--primary-soft: #e0ecff;--primary-soft-stronger: #d1e1ff;--on-primary: #ffffff;--error: #dc2626;--on-error: #ffffff;--error-strong: #b91c1c;--disabled: #9ca3af;--on-disabled: #f9fafb;--suggestion-bg: var(--bg-surface);--suggestion-hover-bg: #f3f4ff;--suggestion-focus-bg: #e0ebff;--suggestion-selected-bg: #e0ebff;--suggestion-indicator: #2563eb;--btn-primary-bg: var(--primary);--btn-primary-border: #1d4ed8;--btn-primary-bg-hover: #1d4ed8;--btn-primary-border-hover: #1e40af;--btn-secondary-bg: #eef1f7;--btn-secondary-border: #d1d5db;--btn-secondary-bg-hover: #e0e3ec;--btn-secondary-border-hover: #cbd0dd;--btn-tertiary-bg: transparent;--btn-tertiary-border: var(--border-subtle);--btn-tertiary-bg-hover: #e9effa;--btn-tertiary-border-hover: var(--border-strong);--clear-bg: #edeff4;--clear-border: #e2e4ec;--clear-bg-hover: #e1e4ee;--clear-border-hover: #cbd0dd;--clear-fg: #4b5563;--token-bg: #eef2ff;--token-fg: #1f2937;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-pill: 999px;--focus-ring: 0 0 0 1px rgba(37, 99, 235, .75), 0 0 0 4px rgba(191, 219, 254, .9);--focus-ring-error: 0 0 0 1px rgba(220, 38, 38, .85), 0 0 0 4px rgba(254, 202, 202, .85);--shadow-soft: 0 10px 30px rgba(15, 23, 42, .06);--btn-shadow: 0 6px 18px rgba(15, 23, 42, .16);--btn-shadow-hover: 0 10px 30px rgba(15, 23, 42, .18)}@media (prefers-color-scheme: dark){:root{--bg-page: #0f1115;--bg-surface: #14171c;--bg-surface-subtle: #1a1e24;--fg-primary: #e7e9ee;--fg-secondary: #c7cbd4;--fg-muted: #9ca3af;--fg-inverse: #0f1115;--border-subtle: #2a2f36;--border-strong: #3a4048;--card-accent: #94a3b8;--input-bg: #14171c;--input-fg: var(--fg-primary);--input-border: #2a2f36;--input-border-hover: #3a4048;--input-border-disabled: #111827;--input-bg-disabled: #14171c;--input-fg-disabled: #6b7280;--input-bg-hover: #1a1e24;--input-bg-focus: #20252c;--scrollbar-thumb: rgba(156, 163, 175, .38);--primary: #3b82f6;--primary-soft: #172554;--primary-soft-stronger: #1d4ed8;--on-primary: #ffffff;--error: #fb7185;--on-error: #0f1115;--error-strong: #f43f5e;--suggestion-bg: #14171c;--suggestion-hover-bg: #1b2027;--suggestion-focus-bg: #21262e;--suggestion-selected-bg: #262c35;--suggestion-indicator: #94a3b8;--btn-primary-bg: var(--primary);--btn-primary-border: #1d4ed8;--btn-primary-bg-hover: #1d4ed8;--btn-primary-border-hover: #1e3a8a;--btn-secondary-bg: #1a1e24;--btn-secondary-border: #2f353e;--btn-secondary-bg-hover: #232831;--btn-secondary-border-hover: #3a4048;--btn-tertiary-bg: transparent;--btn-tertiary-border: #2f353e;--btn-tertiary-bg-hover: #232831;--btn-tertiary-border-hover: #3a4048;--clear-bg: #1a1e24;--clear-border: #2f353e;--clear-bg-hover: #232831;--clear-border-hover: #3a4048;--clear-fg: #e5e7eb;--token-bg: #232831;--token-fg: #e5e7eb;--shadow-soft: 0 18px 50px rgba(0, 0, 0, .75);--btn-shadow: 0 12px 30px rgba(0, 0, 0, .65);--btn-shadow-hover: 0 16px 40px rgba(0, 0, 0, .85);--shell-bg: radial-gradient(circle at top left, #1c2129 0, #0f1115 45%, #12161b 100%);--shell-header-bg: rgba(20, 23, 28, .92);--shell-header-border: rgba(58, 64, 72, .9);--shell-nav-bg: rgba(20, 23, 28, .96);--shell-nav-border: rgba(58, 64, 72, .92)}}@keyframes input-alert-appear{0%{opacity:0;transform:translateY(-1px)}to{opacity:1;transform:translateY(0)}}*,*:before,*:after{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:inherit;color:var(--fg-primary);background-color:var(--bg-page);font-size:14px}html,body,#root{height:100%;position:relative}.ss_form{max-width:48rem;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1rem;padding:.5rem 0}.ss__suggestions{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:10;display:flex;flex-direction:column;max-height:clamp(7rem,35vh,14rem);margin:0;padding:.25rem 0;list-style-type:none;background-color:var(--suggestion-bg);border-width:1px;border-style:solid;border-color:var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);overflow-y:auto;overflow-x:hidden;li{display:flex;align-items:flex-start;gap:.4rem;padding:.45rem .8rem;font-size:.9rem;line-height:1.45;color:var(--fg-primary);cursor:pointer;user-select:none;outline:none;+li{border-top:1px solid var(--border-subtle)}&:hover{background-color:var(--suggestion-hover-bg)}&:focus{background-color:var(--suggestion-focus-bg)}&.ss__hovered{background-color:var(--suggestion-focus-bg)}&.ss__selected{font-weight:500;background-color:var(--suggestion-selected-bg);box-shadow:inset 2px 0 0 var(--suggestion-indicator)}&.ss__selected.ss__hovered,&.ss__selected:hover{background-color:#2563eb14}.ss__title{font-weight:500}.ss__description{font-size:.8rem;color:var(--fg-muted)}}&::-webkit-scrollbar{width:6px}&::-webkit-scrollbar-track{background:transparent}&::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:999px}}.ss_form_input,.ss_form_date{display:flex;flex-direction:column;gap:.35rem;label{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--fg-muted)}.ss__wrapper{position:relative;display:inline-block;width:100%}input{display:block;width:100%;min-width:0;padding:.55rem .7rem;font-size:.95rem;line-height:1.4;color:var(--input-fg);background-color:var(--input-bg);border-width:1px;border-style:solid;border-color:var(--input-border);border-radius:var(--radius-md);outline:none;box-shadow:none;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease,transform 80ms ease;&:hover:not([disabled]){border-color:var(--input-border-hover);background-color:var(--input-bg-hover)}&:focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring);background-color:var(--input-bg-focus)}&[disabled]{cursor:not-allowed;color:var(--input-fg-disabled);background-color:var(--input-bg-disabled);border-color:var(--input-border-disabled)}}.ss__suggestions{max-height:clamp(7rem,30vh,12rem)}&:not(:focus-within){.ss__suggestions{display:none}}&:has([role=alert]){input{border-color:var(--error);box-shadow:var(--focus-ring-error)}}[role=alert]{margin-top:.15rem;font-size:.8rem;line-height:1.4;color:var(--error);animation:.12s input-alert-appear ease-out}}.ss_form_date{position:relative;input{padding-right:2.1rem}input::-webkit-calendar-picker-indicator{opacity:0;display:none}}.ss_form_date__icon{position:absolute;right:.7rem;top:50%;width:1rem;height:1rem;transform:translateY(-50%);color:var(--fg-muted);padding:0;border:none;background:transparent;cursor:pointer;&:disabled{cursor:not-allowed;color:var(--input-fg-disabled)}svg{width:100%;height:100%;display:block}}.ss_form_date__picker{position:absolute;top:calc(100% + .35rem);left:0;z-index:10;width:min(18rem,100%);padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-soft)}.ss_form_date__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.ss_form_date__nav_group{display:flex;align-items:center;gap:.35rem}.ss_form_date__title{font-size:.9rem;font-weight:600;color:var(--fg-primary);text-transform:capitalize}.ss_form_date__nav{width:1.8rem;height:1.8rem;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-surface-subtle);color:var(--fg-primary);cursor:pointer;transition:background-color .12s ease,border-color .12s ease;&:hover{border-color:var(--border-strong)}}.ss_form_date__nav svg{width:1rem;height:1rem;display:block;margin:0 auto}.ss_form_date__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem;margin-bottom:.35rem;font-size:.75rem;color:var(--fg-muted);text-align:center}.ss_form_date__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem}.ss_form_date__day{height:2rem;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--fg-primary);cursor:pointer;transition:background-color .12s ease,border-color .12s ease;&:hover{background:var(--bg-surface-subtle)}&.is-selected{background:var(--primary-soft);border-color:var(--primary);color:var(--fg-primary);font-weight:600}&.is-today:not(.is-selected){border-color:var(--border-strong);background:var(--bg-surface-subtle);color:var(--fg-primary);font-weight:500}}.ss_form_date__day.is-empty{border:none;background:transparent;cursor:default}.ss_form_checkbox{display:flex;flex-direction:column;gap:.3rem;width:100%;font-size:.9rem;color:var(--fg-secondary);.ss__wrapper{display:inline-flex;align-items:flex-start;gap:.55rem;padding:.15rem .05rem;font-size:.9rem;line-height:1.5;color:var(--fg-secondary);background-color:transparent;border:none;outline:none}input[type=checkbox]{margin-top:.12rem;width:1.05rem;height:1.05rem;flex-shrink:0;position:relative;appearance:none;-webkit-appearance:none;-moz-appearance:none;accent-color:initial;border-radius:calc(var(--radius-sm) * .9);border:1px solid var(--border-strong);background-color:var(--bg-surface);box-shadow:0 1px 1px #0f172a0f;cursor:pointer;outline:none;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,transform 80ms ease;&:hover:not(:disabled){border-color:var(--input-border-hover);background-color:var(--input-bg-hover)}&:active:not(:disabled){transform:translateY(1px)}&:after{content:"";position:absolute;inset:0;margin:auto;width:.55rem;height:.3rem;border-left:2px solid var(--on-primary);border-bottom:2px solid var(--on-primary);transform-origin:center;transform:translateY(-1px) rotate(-45deg) scale(.2);opacity:0;transition:transform .12s ease-out,opacity .12s ease-out}&:checked,&[aria-checked=true]{background-color:var(--primary)!important;border-color:var(--primary)!important;&:after{opacity:1;transform:translateY(-1px) rotate(-45deg) scale(1)}}&:checked[disabled],&[aria-checked=true][disabled]{background-color:color-mix(in srgb,var(--input-bg-disabled) 70%,var(--fg-primary))!important;border-color:var(--input-border-disabled)!important}&[disabled]{cursor:not-allowed;background-color:var(--input-bg-disabled);border-color:var(--input-border-disabled);box-shadow:none;opacity:.75;&:after{border-color:#fff}}}&:has(input[type=checkbox]:focus-visible){input[type=checkbox]{outline:none;box-shadow:var(--focus-ring)}}label{margin:0;font-size:.9rem;line-height:1.5;color:var(--fg-primary);cursor:pointer;user-select:none}&:has(input[type=checkbox][disabled]){color:var(--input-fg-disabled);user-select:none;label{cursor:not-allowed;color:var(--input-fg-disabled)}}[role=alert]{font-size:.8rem;color:var(--error);animation:.12s input-alert-appear ease-out}}.ss_form_select{display:flex;flex-direction:column;gap:.35rem;width:100%;label{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--fg-muted)}select{display:block;width:100%;padding:.55rem 2.1rem .55rem .7rem;font-size:.95rem;line-height:1.4;color:var(--input-fg);background-color:var(--input-bg);background-image:none;border-width:1px;border-style:solid;border-color:var(--input-border);border-radius:var(--radius-md);outline:none;appearance:none;box-shadow:none;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;&:hover:not([disabled]){border-color:var(--input-border-hover);background-color:var(--input-bg-hover)}&:focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring);background-color:var(--input-bg-focus)}&:has(+[role=alert]){border-color:var(--error);box-shadow:var(--focus-ring-error)}&[disabled]{cursor:not-allowed;color:var(--input-fg-disabled);background-color:var(--input-bg-disabled);border-color:var(--input-border-disabled)}}.ss_form_select__field{position:relative}.ss_form_select__icon{position:absolute;right:.7rem;top:50%;width:1rem;height:1rem;transform:translateY(-50%);color:var(--fg-muted);pointer-events:none}.ss_form_select__icon svg{width:100%;height:100%;display:block}[role=alert]{font-size:.8rem;color:var(--error);animation:.12s input-alert-appear ease-out}}.ss_form_ac_select{display:flex;flex-direction:column;gap:.35rem;label{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--fg-muted)}.ss__wrapper{position:relative;display:inline-block;width:100%}.ss__input_row{display:flex;align-items:center;gap:.4rem;width:100%;min-width:0;padding:.5rem .65rem;font-size:.95rem;line-height:1.4;color:var(--input-fg);background-color:var(--input-bg);border-width:1px;border-style:solid;border-color:var(--input-border);border-radius:var(--radius-md);outline:none;box-shadow:none;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;&:hover:not(:has([disabled])){border-color:var(--input-border-hover);background-color:var(--input-bg-hover)}&:has([disabled]){cursor:not-allowed;color:var(--input-fg-disabled);background-color:var(--input-bg-disabled);border-color:var(--input-border-disabled)}input{flex-grow:1;min-width:0;padding:0;font-size:inherit;line-height:inherit;color:inherit;background-color:transparent;border:none;outline:none}.ss__prefix{flex-shrink:0;padding:.2rem .6rem;font-size:.78rem;line-height:1.3;white-space:nowrap;color:var(--token-fg);background-color:var(--token-bg);border-radius:var(--radius-pill);cursor:pointer;user-select:none;border:1px solid rgba(37,99,235,.18);transition:background-color .1s ease,border-color .1s ease,transform 80ms ease,box-shadow .1s ease;&:hover{background-color:#2563eb0f;border-color:#2563eb59;box-shadow:0 0 0 1px #bfdbfecc}&:active{transform:translateY(1px)}}.ss__prefix[aria-disabled=true]{cursor:not-allowed;opacity:.6;pointer-events:none}.ss__suffix{flex-shrink:0}}.ss__selection{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0;padding:.5rem .65rem;font-size:.95rem;line-height:1.4;color:var(--input-fg);background-color:var(--input-bg);border-width:1px;border-style:solid;border-color:var(--input-border);border-radius:var(--radius-md);outline:none;box-shadow:none;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;&:has(.ss__clear[disabled]){cursor:not-allowed;color:var(--input-fg-disabled);background-color:var(--input-bg-disabled);border-color:var(--input-border-disabled)}}.ss__content{flex:1;min-width:0}.ss__clear{flex-shrink:0;width:1.7rem;height:1.7rem;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;line-height:1;color:var(--clear-fg);background:var(--clear-bg);border-width:1px;border-style:solid;border-color:var(--clear-border);border-radius:var(--radius-pill);cursor:pointer;user-select:none;transition:background-color .1s ease,border-color .1s ease,transform 80ms ease;&:hover:not([disabled]){border-color:var(--clear-border-hover);background-color:var(--clear-bg-hover)}&:active:not([disabled]){transform:translateY(1px)}&[disabled]{cursor:not-allowed;opacity:.55}}.ss__suggestions{max-height:clamp(8rem,40vh,16rem);li{padding-inline:.85rem}}&:not(:focus-within){.ss__suggestions{display:none}}&:focus-within{.ss__input_row,.ss__selection{border-color:var(--primary);box-shadow:var(--focus-ring);background-color:var(--input-bg-focus)}}&:has([role=alert]){.ss__input_row,.ss__selection{border-color:var(--error);box-shadow:var(--focus-ring-error)}}[role=alert]{font-size:.8rem;color:var(--error);animation:.12s input-alert-appear ease-out}}.ss_button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1.05rem;font-size:.9rem;font-weight:600;text-transform:none;text-align:center;letter-spacing:.01em;color:var(--on-primary);background:var(--btn-primary-bg);border:1px solid var(--btn-primary-border);border-radius:var(--radius-pill);outline:none;cursor:pointer;user-select:none;transition:background-color .12s ease,border-color .12s ease,opacity 80ms ease,transform 80ms ease,color .1s ease;&.secondary{color:var(--fg-primary);background:var(--btn-secondary-bg);border-color:var(--btn-secondary-border);box-shadow:none}&.tertiary{color:var(--fg-secondary);background:var(--btn-tertiary-bg);border-color:var(--btn-tertiary-border);box-shadow:none}&.danger{color:var(--on-error);background:var(--error);border-color:var(--error)}&:hover:not([disabled]){background-color:var(--btn-primary-bg-hover);border-color:var(--btn-primary-border-hover);&.secondary{background-color:var(--btn-secondary-bg-hover);border-color:var(--btn-secondary-border-hover)}&.tertiary{background-color:var(--btn-tertiary-bg-hover);border-color:var(--btn-tertiary-border-hover)}&.danger{background-color:var(--error-strong);border-color:var(--error-strong)}}&:active:not([disabled]){transform:translateY(1px)}&:focus-visible{outline:none;box-shadow:var(--focus-ring)}&[disabled]{cursor:not-allowed;color:var(--on-disabled);background:var(--disabled);border-color:var(--disabled);opacity:.9}}.ss_button--icon{width:2.1rem;height:2.1rem;padding:0;font-size:1.1rem;line-height:1;color:var(--fg-primary);background:transparent;border-color:transparent;border-radius:var(--radius-pill);box-shadow:none;transition:background-color .1s ease,border-color .1s ease,transform 80ms ease;&:hover:not([disabled]){background-color:var(--btn-tertiary-bg-hover);border-color:var(--btn-tertiary-border-hover)}&:active:not([disabled]){transform:translateY(1px)}&[disabled]{opacity:.5}}.ss_callout{--ss-callout-accent: var(--primary);--ss-callout-accent-soft: color-mix(in srgb, var(--ss-callout-accent) 22%, transparent);position:relative;display:flex;align-items:center;gap:1rem;width:100%;padding:1.15rem 1.4rem;font-size:.95rem;line-height:1.55;color:var(--fg-secondary);background:radial-gradient(circle at top left,var(--ss-callout-accent-soft) 0%,color-mix(in srgb,var(--ss-callout-accent-soft) 80%,var(--bg-surface) 20%) 28%,color-mix(in srgb,var(--ss-callout-accent-soft) 40%,var(--bg-surface) 60%) 62%,color-mix(in srgb,var(--ss-callout-accent-soft) 12%,var(--bg-surface) 88%) 82%,var(--bg-surface-subtle) 100%),var(--bg-surface);border-radius:calc(var(--radius-md) * 1.2);border:1px solid color-mix(in srgb,var(--border-subtle) 60%,var(--ss-callout-accent) 40%);.ss_callout__icon{flex-shrink:0;color:var(--ss-callout-accent);svg{width:1.6rem;height:1.6rem;display:block}}.ss_callout__content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.ss_callout__title{margin:0;font-size:1rem;font-weight:600;color:var(--fg-primary);line-height:1.45}.ss_callout__body{margin:.25rem 0 0;color:var(--fg-secondary)}.ss_callout__actions{margin-top:.65rem;display:inline-flex;gap:.65rem;font-size:.9rem;button,.ss_callout__link{padding:0;border:none;background:none;font:inherit;cursor:pointer;text-decoration:none;color:color-mix(in srgb,var(--ss-callout-accent) 80%,var(--fg-primary) 20%);&:hover{text-decoration:underline}}}&.ss_callout--subtle{box-shadow:none;border-color:var(--border-subtle);background:color-mix(in srgb,var(--bg-surface-subtle) 85%,var(--ss-callout-accent-soft) 15%)}}.ss_callout--red{--ss-callout-accent: #E53935}.ss_callout--pink{--ss-callout-accent: #D81B60}.ss_callout--purple{--ss-callout-accent: #8E24AA}.ss_callout--deep-purple{--ss-callout-accent: #5E35B1}.ss_callout--indigo{--ss-callout-accent: #3949AB}.ss_callout--blue{--ss-callout-accent: #1E88E5}.ss_callout--light-blue{--ss-callout-accent: #039BE5}.ss_callout--cyan{--ss-callout-accent: #00ACC1}.ss_callout--teal{--ss-callout-accent: #00897B}.ss_callout--green{--ss-callout-accent: #43A047}.ss_callout--light-green{--ss-callout-accent: #7CB342}.ss_callout--lime{--ss-callout-accent: #C0CA33}.ss_callout--yellow{--ss-callout-accent: #FDD835}.ss_callout--amber{--ss-callout-accent: #FFB300}.ss_callout--orange{--ss-callout-accent: #FB8C00}.ss_callout--deep-orange{--ss-callout-accent: #F4511E}.ss_callout--brown{--ss-callout-accent: #6D4C41}.ss_callout--grey{--ss-callout-accent: #757575}.ss_callout--blue-grey{--ss-callout-accent: #546E7A}.ss_dropdown{position:relative;display:inline-flex}.ss_dropdown__trigger{justify-content:center}.ss_dropdown__menu{position:absolute;top:calc(100% + .4rem);right:0;z-index:30;min-width:12rem;padding:.4rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);opacity:0;transform:translateY(-6px) scale(.98);transition:opacity .14s ease,transform .16s ease;&[data-state=open]{opacity:1;transform:translateY(0) scale(1)}&[data-state=closed]{opacity:0;transform:translateY(-6px) scale(.98)}}.ss_dropdown__item{width:100%;display:flex;align-items:center;gap:.6rem;padding:.45rem .55rem;border-radius:var(--radius-md);border:none;background:transparent;color:var(--fg-primary);cursor:pointer;text-align:left;transition:background-color .12s ease,color .12s ease;&:hover{background:var(--bg-surface-subtle)}}.ss_dropdown__item_icon{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;color:var(--fg-muted);svg{width:100%;height:100%}}.ss_dropdown__item_label{flex:1;min-width:0;font-size:.9rem}.ss_dropdown__item_check{display:inline-flex;align-items:center;justify-content:center;color:var(--primary);svg{width:1rem;height:1rem}}.ss_chip{--ss-chip-accent: var(--primary);--ss-chip-accent-soft: color-mix(in srgb, var(--ss-chip-accent) 16%, transparent);display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--ss-chip-accent) 45%,var(--border-subtle) 55%);background:color-mix(in srgb,var(--ss-chip-accent-soft) 60%,var(--bg-surface) 40%);color:var(--fg-primary);font-size:.82rem;line-height:1.3}.ss_chip--clickable{cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform 80ms ease;&:hover{border-color:color-mix(in srgb,var(--ss-chip-accent) 65%,var(--border-strong) 35%);background:color-mix(in srgb,var(--ss-chip-accent-soft) 75%,var(--bg-surface) 25%)}&:active{transform:translateY(1px)}}.ss_chip__label{white-space:nowrap}.ss_chip__dismiss{width:1.3rem;height:1.3rem;padding:0;border:none;background:transparent;color:var(--fg-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;svg{width:.9rem;height:.9rem}&:hover{color:var(--fg-primary)}}.ss_chip--red{--ss-chip-accent: #E53935}.ss_chip--pink{--ss-chip-accent: #D81B60}.ss_chip--purple{--ss-chip-accent: #8E24AA}.ss_chip--deep-purple{--ss-chip-accent: #5E35B1}.ss_chip--indigo{--ss-chip-accent: #3949AB}.ss_chip--blue{--ss-chip-accent: #1E88E5}.ss_chip--light-blue{--ss-chip-accent: #039BE5}.ss_chip--cyan{--ss-chip-accent: #00ACC1}.ss_chip--teal{--ss-chip-accent: #00897B}.ss_chip--green{--ss-chip-accent: #43A047}.ss_chip--light-green{--ss-chip-accent: #7CB342}.ss_chip--lime{--ss-chip-accent: #C0CA33}.ss_chip--yellow{--ss-chip-accent: #FDD835}.ss_chip--amber{--ss-chip-accent: #FFB300}.ss_chip--orange{--ss-chip-accent: #FB8C00}.ss_chip--deep-orange{--ss-chip-accent: #F4511E}.ss_chip--brown{--ss-chip-accent: #6D4C41}.ss_chip--grey{--ss-chip-accent: #757575}.ss_chip--blue-grey{--ss-chip-accent: #546E7A}.ss_table{width:100%;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-soft);overflow:hidden}.ss_table__scroll{overflow:auto}.ss_table table{width:100%;border-collapse:collapse;min-width:32rem}.ss_table th{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);background:color-mix(in srgb,var(--bg-surface-subtle) 80%,var(--bg-surface) 20%);border-bottom:1px solid var(--border-subtle);padding:.75rem .9rem}.ss_table__header_label{display:inline-flex;align-items:center;gap:.35rem}.ss_table__sort_button{border:none;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.ss_table__sort_icon{display:inline-flex;align-items:center;justify-content:center;color:currentColor;opacity:.7}.ss_table__sort_icon svg{width:1rem;height:1rem}.ss_table td{padding:.8rem .9rem;border-bottom:1px solid var(--border-subtle);color:var(--fg-primary);font-size:.9rem}.ss_table tbody tr:last-child td{border-bottom:none}.ss_table__pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem .9rem;border-top:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-surface-subtle) 80%,var(--bg-surface) 20%)}.ss_table--pagination-top .ss_table__pagination{border-top:none;border-bottom:1px solid var(--border-subtle)}.ss_table__page_button{border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--fg-primary);border-radius:var(--radius-pill);width:2rem;height:2rem;padding:0;font-size:.85rem;cursor:pointer;transition:background-color .12s ease,border-color .12s ease;&:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-surface)}&:disabled{cursor:not-allowed;color:var(--fg-muted);border-color:var(--border-subtle);background:var(--bg-surface);opacity:.6}}.ss_table__page_info{font-size:.85rem;color:var(--fg-muted)}.ss_table__page_button svg{width:1rem;height:1rem;display:block;margin:0 auto}.ss_table td>div{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.ss_table tbody tr[data-clickable=true]{cursor:pointer;transition:background-color .12s ease}.ss_table tbody tr[data-clickable=true]:hover{background:var(--bg-surface-subtle)}.ss_expandable{width:100%;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);overflow:hidden;.ss_expandable__header{width:100%;display:flex;align-items:center;gap:.6rem;padding:.9rem 1rem;text-align:left;background:var(--bg-surface);border:none;color:var(--fg-primary);cursor:pointer;user-select:none;transition:background-color .12s ease;&:hover{background:var(--bg-surface-subtle)}&:focus-visible{outline:none;box-shadow:var(--focus-ring)}}.ss_expandable__icon{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;color:var(--fg-muted);svg{width:1.1rem;height:1.1rem}}.ss_expandable__title{font-size:.96rem;font-weight:600;color:inherit}.ss_expandable__content{overflow:hidden;padding:0;background:var(--bg-surface);transition-property:height}.ss_expandable__divider_wrapper{padding:0 1rem 1rem}.ss_expandable__divider{height:1px;margin:.75rem 0 .8rem;background:var(--border-subtle)}}.ss_divider{width:100%;height:1px;background:var(--border-subtle)}.ss_divider--vertical{width:1px;height:100%}.ss_surface{width:100%;padding:1rem 1.25rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.ss_tile{width:100%;padding:.9rem 1rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.ss_tile__row{display:flex;align-items:center;gap:.5rem}.ss_tile__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--fg-muted);svg{width:1.25rem;height:1.25rem}}.ss_tile__content{flex:1;min-width:0}.ss_tile__trailing{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--fg-muted);font-size:.8rem}.ss_tile__title{margin:0;font-size:.95rem;font-weight:600;color:var(--fg-primary)}.ss_tile__link,.ss_tile__text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss_tile__link{color:inherit;text-decoration:none;&:hover{text-decoration:underline}}.ss_tile__subtitle{margin-top:.2rem;font-size:.82rem;color:var(--fg-secondary)}.ss_header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem}.ss_header__text{min-width:0}.ss_header__title{margin:0;font-size:1.8rem;font-weight:600;color:var(--fg-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss_header__subtitle{margin:-.35rem 0 0;font-size:1rem;font-weight:500;color:var(--fg-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss_header__actions{flex-shrink:0;display:inline-flex;align-items:center;gap:.5rem}.ss_shell{height:100%;overflow:hidden;display:flex;flex-direction:column;background:var(--shell-bg);color:var(--fg-primary);.ss_shell__drawer_toggle_input{position:absolute;opacity:0;pointer-events:none}.ss_shell__header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .9rem;background:var(--shell-header-bg);backdrop-filter:blur(18px);border-bottom:1px solid var(--shell-header-border)}.ss_shell__header_left{display:flex;align-items:center;gap:.75rem}.ss_shell__drawer_toggle{display:none}.ss_shell__title{font-size:1rem;font-weight:700;letter-spacing:.02em;color:var(--fg-primary)}.ss_shell__actions{display:flex;align-items:center;gap:.4rem}.ss_shell__body{flex:1 1 auto;min-height:0;display:flex;position:relative;overflow:hidden}.ss_shell__nav{flex:0 0 16rem;max-width:16rem;background:var(--shell-nav-bg);backdrop-filter:blur(12px);border-right:1px solid var(--shell-nav-border);overflow:auto}.ss_shell__nav_inner{padding:.75rem .7rem 1rem}.ss_shell__main{flex:1 1 auto;min-width:0;overflow:auto;padding:1.25rem 1.3rem 1.6rem}.ss_shell__scrim{display:none}.ss_shell__nav_list{display:flex;flex-direction:column;gap:.25rem}.ss_shell__nav_item{display:flex;align-items:center;gap:.55rem;padding:.4rem .55rem;border-radius:var(--radius-md);color:var(--fg-primary);text-decoration:none;background:transparent;border:none;cursor:pointer;transition:background-color .12s ease,color .12s ease;&:hover{background:#2563eb0f}}.ss_shell__nav_item--active{background:#2563eb24;color:var(--fg-primary)}.ss_shell__nav_icon{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;color:var(--fg-muted)}.ss_shell__nav_label{font-size:.9rem;color:inherit}.ss_shell__nav_group{border:none;>summary{list-style:none;&::-webkit-details-marker{display:none}}}.ss_shell__nav_group_header{display:flex;align-items:center;gap:.55rem;padding:.4rem .55rem;cursor:pointer;user-select:none;background:transparent;border-radius:var(--radius-md);transition:background-color .12s ease,color .12s ease;&:hover{background:#2563eb0f}}.ss_shell__nav_group_chevron{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--fg-muted)}.ss_shell__nav_group_chevron_svg{width:1rem;height:1rem}.ss_shell__nav_group[open]{.ss_shell__nav_group_chevron_svg{transform:rotate(90deg)}}.ss_shell__nav_group_items{padding-left:1.1rem;margin-top:.15rem;display:flex;flex-direction:column;gap:.2rem}@media (max-width: 55rem){.ss_shell__drawer_toggle{display:inline-flex}.ss_shell__nav{position:absolute;top:0;bottom:0;left:0;z-index:20;width:min(80vw,18rem);max-width:18rem;transform:translate(-100%);transition:transform .16s ease-out;box-shadow:var(--shadow-soft)}.ss_shell__main{padding:1.25rem}.ss_shell__scrim{display:block;position:absolute;inset:0;background:#02061766;opacity:0;pointer-events:none;transition:opacity .16s ease}.ss_shell__drawer_toggle_input:checked~.ss_shell__body{.ss_shell__nav{transform:translate(0)}.ss_shell__scrim{opacity:1;pointer-events:auto}}}}.ss_modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;&[data-state=closed]{pointer-events:none}.ss_modal__backdrop{position:absolute;inset:0;background:#0206178c;opacity:0;transition:opacity .16s ease}.ss_modal__panel{position:relative;z-index:1;width:min(92vw,46rem);max-height:min(85vh,720px);display:flex;flex-direction:column;gap:0;padding:0;background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);opacity:0;transform:translateY(10px) scale(.985);transition:transform .18s ease,opacity .16s ease;outline:none}.ss_modal__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.3rem 1.5rem .75rem}.ss_modal__title{margin:0;font-size:1.08rem;font-weight:700;color:var(--fg-primary)}.ss_modal__close{flex-shrink:0;width:2rem;height:2rem;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;line-height:1;color:var(--clear-fg);background:var(--clear-bg);border:1px solid var(--clear-border);border-radius:var(--radius-pill);cursor:pointer;user-select:none;transition:background-color .1s ease,border-color .1s ease,transform 80ms ease;&:hover{background:var(--clear-bg-hover);border-color:var(--clear-border-hover)}&:focus-visible{outline:none;box-shadow:var(--focus-ring)}&:active{transform:translateY(1px)}}.ss_modal__body{color:var(--fg-secondary);line-height:1.6;overflow:auto}.ss_modal__body_inner{padding:0 1.5rem 1rem}.ss_modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:0 1.5rem 1.25rem}&[data-state=open]{.ss_modal__backdrop{opacity:1}.ss_modal__panel{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 40rem){padding:0;.ss_modal__panel:not(.ss_modal__panel--no-fullscreen){width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none;.ss_modal__body{flex:1;min-height:0;overflow:auto}.ss_modal__footer{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border-subtle);background:var(--bg-surface)}}}}.ss_modal__panel--sm{width:min(90vw,26rem)}.ss_modal__panel--lg{width:min(92vw,48rem)}.ss_modal__panel--fullscreen{width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none}.ss_modal__panel--fullscreen .ss_modal__body{flex:1;min-height:0;overflow:auto}.ss_modal__panel--fullscreen .ss_modal__footer{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border-subtle);background:var(--bg-surface)}@media (prefers-reduced-motion: reduce){*{animation-duration:0ms!important;transition-duration:0ms!important}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sortsys/ui",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Simple and beautiful UI library for sortsys",
5
5
  "license": "MIT",
6
6
  "author": "Ludwig Lehnert",
@@ -24,25 +24,28 @@
24
24
  "types": "./dist/index.d.ts",
25
25
  "browser": {},
26
26
  "exports": {
27
- "solid": {
28
- "development": "./dist/dev.jsx",
29
- "import": "./dist/index.jsx"
30
- },
31
- "development": {
27
+ ".": {
28
+ "solid": {
29
+ "development": "./dist/dev.jsx",
30
+ "import": "./dist/index.jsx"
31
+ },
32
+ "development": {
33
+ "import": {
34
+ "types": "./dist/index.d.ts",
35
+ "default": "./dist/dev.js"
36
+ }
37
+ },
32
38
  "import": {
33
39
  "types": "./dist/index.d.ts",
34
- "default": "./dist/dev.js"
40
+ "default": "./dist/index.js"
35
41
  }
36
42
  },
37
- "import": {
38
- "types": "./dist/index.d.ts",
39
- "default": "./dist/index.js"
40
- }
43
+ "./styles/*": "./dist/styles/*"
41
44
  },
42
45
  "typesVersions": {},
43
46
  "scripts": {
44
47
  "dev": "vite serve dev",
45
- "build": "tsup",
48
+ "build": "tsup && esbuild src/styles/default.css --minify --outfile=dist/styles/default.css",
46
49
  "test": "concurrently pnpm:test:*",
47
50
  "test:client": "vitest",
48
51
  "test:ssr": "npm run test:client --mode ssr",