seam-react 0.1.1 → 0.3.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.
- package/README.md +5 -4
- package/dist/Dialog.d.ts +62 -5
- package/dist/Tooltip.d.ts +112 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1156 -390
- package/dist/index.js.map +1 -1
- package/dist/motion.d.ts +14 -0
- package/dist/styles.cjs +171 -175
- package/dist/styles.cjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.js +172 -176
- package/dist/styles.js.map +1 -1
- package/package.json +8 -4
- package/dist/Toast.d.ts +0 -43
package/dist/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../src/styles.generated.ts","../src/SeamStyles.tsx"],"sourcesContent":["// Generated by scripts/generate-styles.mjs. Do not edit.\nexport const UI_CSS: string =\n '@layer uk.tokens {\\n :root {\\n color-scheme: light dark;\\n\\n --uk-bg: light-dark(#ffffff, #0b0d12);\\n --uk-surface: light-dark(#f6f7fb, #141821);\\n --uk-surface-raised: light-dark(#ffffff, #1a1f2b);\\n --uk-text: light-dark(#0f172a, #e7eaf0);\\n --uk-text-muted: light-dark(#64748b, #98a2b3);\\n --uk-border: light-dark(#e2e8f0, #2a3141);\\n --uk-border-strong: light-dark(#cbd5e1, #3b4457);\\n\\n --uk-primary: light-dark(#4338ca, #a5b4fc);\\n --uk-primary-solid: light-dark(#4338ca, #4f46e5);\\n --uk-primary-solid-hover: light-dark(#3730a3, #6366f1);\\n --uk-primary-contrast: #ffffff;\\n --uk-danger: light-dark(#b91c1c, #fca5a5);\\n --uk-danger-solid: light-dark(#b91c1c, #b91c1c);\\n --uk-danger-solid-hover: light-dark(#991b1b, #991b1b);\\n --uk-danger-contrast: #ffffff;\\n --uk-success: light-dark(#15803d, #86efac);\\n --uk-warning: light-dark(#b45309, #fcd34d);\\n --uk-info: light-dark(#0369a1, #7dd3fc);\\n\\n --uk-focus-ring: light-dark(#6366f1, #a5b4fc);\\n --uk-overlay: light-dark(rgb(15 23 42 / 0.45), rgb(0 0 0 / 0.65));\\n\\n --uk-space-1: 0.25rem;\\n --uk-space-2: 0.5rem;\\n --uk-space-3: 0.75rem;\\n --uk-space-4: 1rem;\\n --uk-space-5: 1.25rem;\\n --uk-space-6: 1.5rem;\\n --uk-space-8: 2rem;\\n\\n --uk-radius-sm: 0.375rem;\\n --uk-radius-md: 0.625rem;\\n --uk-radius-lg: 0.875rem;\\n --uk-radius-full: 9999px;\\n\\n --uk-font-sans:\\n -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\",\\n \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif;\\n --uk-font-mono: ui-monospace, \"SFMono-Regular\", Consolas, monospace;\\n\\n --uk-text-xs: 0.75rem;\\n --uk-text-sm: 0.8125rem;\\n --uk-text-md: 0.875rem;\\n --uk-text-lg: 1rem;\\n --uk-text-xl: 1.125rem;\\n\\n --uk-shadow-sm: 0 1px 2px rgb(15 23 42 / 0.08);\\n --uk-shadow-md: 0 6px 16px -6px rgb(15 23 42 / 0.24);\\n --uk-shadow-lg:\\n 0 24px 48px -16px rgb(15 23 42 / 0.32), 0 2px 6px rgb(15 23 42 / 0.08);\\n\\n --uk-transition: 160ms cubic-bezier(0.2, 0.8, 0.2, 1);\\n\\n --uk-z-dialog: 1000;\\n --uk-z-toast: 1100;\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n :root {\\n --uk-transition: 0ms;\\n }\\n }\\n}\\n\\n@layer uk.components {\\n .uk-button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n gap: var(--uk-space-2);\\n border: 1px solid transparent;\\n border-radius: var(--uk-button-radius, var(--uk-radius-md));\\n font-family: var(--uk-font-sans);\\n font-weight: var(--uk-button-font-weight, 600);\\n line-height: 1;\\n white-space: nowrap;\\n cursor: pointer;\\n user-select: none;\\n text-decoration: none;\\n transition:\\n background-color var(--uk-transition),\\n border-color var(--uk-transition),\\n color var(--uk-transition),\\n box-shadow var(--uk-transition);\\n }\\n\\n .uk-button:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n }\\n\\n .uk-button:disabled,\\n .uk-button[data-loading=\"true\"] {\\n cursor: not-allowed;\\n opacity: 0.6;\\n }\\n\\n .uk-button[data-size=\"sm\"] {\\n height: var(--uk-button-height-sm, 2rem);\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-sm);\\n }\\n\\n .uk-button[data-size=\"md\"] {\\n height: var(--uk-button-height-md, 2.5rem);\\n padding: 0 var(--uk-space-4);\\n font-size: var(--uk-text-md);\\n }\\n\\n .uk-button[data-size=\"lg\"] {\\n height: var(--uk-button-height-lg, 3rem);\\n padding: 0 var(--uk-space-5);\\n font-size: var(--uk-text-lg);\\n }\\n\\n .uk-button[data-icon-only=\"true\"] {\\n aspect-ratio: 1;\\n padding: 0;\\n }\\n\\n .uk-button[data-variant=\"primary\"] {\\n background: var(--uk-primary-solid);\\n color: var(--uk-primary-contrast);\\n }\\n\\n .uk-button[data-variant=\"primary\"]:hover:not(:disabled) {\\n background: var(--uk-primary-solid-hover);\\n }\\n\\n .uk-button[data-variant=\"secondary\"] {\\n background: var(--uk-surface);\\n border-color: var(--uk-border);\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"secondary\"]:hover:not(:disabled) {\\n border-color: var(--uk-border-strong);\\n }\\n\\n .uk-button[data-variant=\"outline\"] {\\n background: transparent;\\n border-color: var(--uk-border-strong);\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"outline\"]:hover:not(:disabled) {\\n background: var(--uk-surface);\\n }\\n\\n .uk-button[data-variant=\"ghost\"] {\\n background: transparent;\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"ghost\"]:hover:not(:disabled) {\\n background: var(--uk-surface);\\n }\\n\\n .uk-button[data-variant=\"danger\"] {\\n background: var(--uk-danger-solid);\\n color: var(--uk-danger-contrast);\\n }\\n\\n .uk-button[data-variant=\"danger\"]:hover:not(:disabled) {\\n background: var(--uk-danger-solid-hover);\\n }\\n\\n .uk-button__spinner {\\n width: 1em;\\n height: 1em;\\n flex: none;\\n border: 2px solid currentColor;\\n border-right-color: transparent;\\n border-radius: 50%;\\n animation: uk-button-spin 0.6s linear infinite;\\n }\\n\\n @keyframes uk-button-spin {\\n to {\\n transform: rotate(360deg);\\n }\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n .uk-button__spinner {\\n animation-duration: 1.6s;\\n }\\n }\\n}\\n\\n@layer uk.components {\\n .uk-input {\\n width: 100%;\\n border: 1px solid var(--uk-border-strong);\\n border-radius: var(--uk-input-radius, var(--uk-radius-md));\\n background: var(--uk-bg);\\n color: var(--uk-text);\\n font-family: var(--uk-font-sans);\\n transition:\\n border-color var(--uk-transition),\\n box-shadow var(--uk-transition);\\n }\\n\\n .uk-input[data-size=\"sm\"] {\\n height: 2rem;\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-sm);\\n }\\n\\n .uk-input[data-size=\"md\"] {\\n height: 2.5rem;\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-md);\\n }\\n\\n .uk-input[data-size=\"lg\"] {\\n height: 3rem;\\n padding: 0 var(--uk-space-4);\\n font-size: var(--uk-text-lg);\\n }\\n\\n .uk-input::placeholder {\\n color: var(--uk-text-muted);\\n }\\n\\n .uk-input:hover:not(:disabled) {\\n border-color: var(--uk-border-strong);\\n }\\n\\n .uk-input:focus-visible {\\n outline: none;\\n border-color: var(--uk-primary);\\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--uk-primary) 24%, transparent);\\n }\\n\\n .uk-input:disabled {\\n cursor: not-allowed;\\n opacity: 0.6;\\n background: var(--uk-surface);\\n }\\n\\n .uk-input[aria-invalid=\"true\"] {\\n border-color: var(--uk-danger);\\n }\\n\\n .uk-input[aria-invalid=\"true\"]:focus-visible {\\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--uk-danger) 24%, transparent);\\n }\\n}\\n\\n@layer uk.components {\\n .uk-switch {\\n display: inline-flex;\\n align-items: center;\\n gap: var(--uk-space-3);\\n color: var(--uk-text);\\n font-family: var(--uk-font-sans);\\n font-size: var(--uk-text-md);\\n cursor: pointer;\\n user-select: none;\\n }\\n\\n .uk-switch__input {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n margin: -1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0 0 0 0);\\n white-space: nowrap;\\n border: 0;\\n }\\n\\n .uk-switch__track {\\n position: relative;\\n flex: none;\\n width: 2.5rem;\\n height: 1.5rem;\\n border-radius: var(--uk-radius-full);\\n background: var(--uk-switch-track, var(--uk-border-strong));\\n transition: background-color var(--uk-transition);\\n }\\n\\n .uk-switch__thumb {\\n position: absolute;\\n top: 2px;\\n left: 2px;\\n width: 1.25rem;\\n height: 1.25rem;\\n border-radius: 50%;\\n background: var(--uk-switch-thumb, #ffffff);\\n box-shadow: var(--uk-shadow-sm);\\n transition: transform var(--uk-transition);\\n }\\n\\n .uk-switch__input:checked + .uk-switch__track {\\n background: var(--uk-switch-track-checked, var(--uk-primary-solid));\\n }\\n\\n .uk-switch__input:checked + .uk-switch__track .uk-switch__thumb {\\n transform: translateX(1rem);\\n }\\n\\n .uk-switch__input:focus-visible + .uk-switch__track {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n }\\n\\n .uk-switch[data-disabled=\"true\"] {\\n cursor: not-allowed;\\n opacity: 0.6;\\n }\\n}\\n\\n@layer uk.components {\\n .uk-tabs {\\n font-family: var(--uk-font-sans);\\n color: var(--uk-text);\\n }\\n\\n .uk-tabs__list {\\n display: flex;\\n gap: var(--uk-space-1);\\n border-bottom: 1px solid var(--uk-border);\\n }\\n\\n .uk-tabs__trigger {\\n position: relative;\\n appearance: none;\\n border: 0;\\n background: transparent;\\n color: var(--uk-text-muted);\\n font: inherit;\\n font-size: var(--uk-text-md);\\n font-weight: 500;\\n padding: var(--uk-space-2) var(--uk-space-3);\\n border-radius: var(--uk-radius-sm) var(--uk-radius-sm) 0 0;\\n cursor: pointer;\\n transition:\\n color var(--uk-transition),\\n background-color var(--uk-transition);\\n }\\n\\n .uk-tabs__trigger:hover:not(:disabled) {\\n color: var(--uk-text);\\n background: var(--uk-surface);\\n }\\n\\n .uk-tabs__trigger[data-state=\"active\"] {\\n color: var(--uk-primary);\\n }\\n\\n .uk-tabs__trigger[data-state=\"active\"]::after {\\n content: \"\";\\n position: absolute;\\n right: var(--uk-space-2);\\n bottom: -1px;\\n left: var(--uk-space-2);\\n height: var(--uk-tabs-indicator-size, 2px);\\n border-radius: 2px;\\n background: var(--uk-tabs-indicator, var(--uk-primary));\\n }\\n\\n .uk-tabs__trigger:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: -2px;\\n }\\n\\n .uk-tabs__trigger:disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n\\n .uk-tabs__panel {\\n padding-top: var(--uk-space-4);\\n color: var(--uk-text);\\n }\\n\\n .uk-tabs__panel:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n border-radius: var(--uk-radius-sm);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] {\\n display: flex;\\n gap: var(--uk-space-4);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__list {\\n flex-direction: column;\\n border-bottom: 0;\\n border-inline-end: 1px solid var(--uk-border);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__trigger {\\n text-align: start;\\n border-radius: var(--uk-radius-sm) 0 0 var(--uk-radius-sm);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"]\\n .uk-tabs__trigger[data-state=\"active\"]::after {\\n top: var(--uk-space-2);\\n right: -1px;\\n bottom: var(--uk-space-2);\\n left: auto;\\n width: var(--uk-tabs-indicator-size, 2px);\\n height: auto;\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__panel {\\n flex: 1;\\n padding-top: 0;\\n }\\n}\\n\\n@layer uk.components {\\n .uk-dialog {\\n width: min(var(--uk-dialog-width, 32rem), calc(100vw - var(--uk-space-8)));\\n max-width: none;\\n max-height: none;\\n margin: auto;\\n padding: 0;\\n border: 0;\\n background: transparent;\\n color: var(--uk-text);\\n z-index: var(--uk-z-dialog);\\n }\\n\\n .uk-dialog::backdrop {\\n background: var(--uk-overlay);\\n backdrop-filter: blur(2px);\\n }\\n\\n .uk-dialog[open] {\\n animation: uk-dialog-in 180ms cubic-bezier(0.2, 0.8, 0.2, 1);\\n }\\n\\n .uk-dialog__panel {\\n display: flex;\\n flex-direction: column;\\n max-height: min(85vh, 42rem);\\n border: 1px solid var(--uk-border);\\n border-radius: var(--uk-dialog-radius, var(--uk-radius-lg));\\n background: var(--uk-surface-raised);\\n box-shadow: var(--uk-shadow-lg);\\n font-family: var(--uk-font-sans);\\n overflow: hidden;\\n }\\n\\n .uk-dialog__header {\\n display: flex;\\n align-items: flex-start;\\n gap: var(--uk-space-4);\\n padding: var(--uk-space-5);\\n border-bottom: 1px solid var(--uk-border);\\n }\\n\\n .uk-dialog__heading {\\n flex: 1;\\n min-width: 0;\\n }\\n\\n .uk-dialog__title {\\n margin: 0;\\n color: var(--uk-text);\\n font-size: var(--uk-text-xl);\\n font-weight: 600;\\n line-height: 1.3;\\n }\\n\\n .uk-dialog__description {\\n margin: var(--uk-space-1) 0 0;\\n color: var(--uk-text-muted);\\n font-size: var(--uk-text-md);\\n line-height: 1.5;\\n }\\n\\n .uk-dialog__close {\\n flex: none;\\n }\\n\\n .uk-dialog__body {\\n padding: var(--uk-space-5);\\n overflow-y: auto;\\n font-size: var(--uk-text-md);\\n line-height: 1.6;\\n }\\n\\n .uk-dialog__footer {\\n display: flex;\\n justify-content: flex-end;\\n gap: var(--uk-space-2);\\n padding: var(--uk-space-4) var(--uk-space-5);\\n border-top: 1px solid var(--uk-border);\\n background: var(--uk-surface);\\n }\\n\\n @keyframes uk-dialog-in {\\n from {\\n opacity: 0;\\n transform: translateY(8px) scale(0.98);\\n }\\n\\n to {\\n opacity: 1;\\n transform: translateY(0) scale(1);\\n }\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n .uk-dialog[open] {\\n animation: none;\\n }\\n }\\n}\\n\\n@layer uk.components {\\n .uk-toast-viewport {\\n position: fixed;\\n z-index: var(--uk-z-toast);\\n display: flex;\\n flex-direction: column;\\n gap: var(--uk-space-2);\\n width: min(var(--uk-toast-width, 22rem), calc(100vw - var(--uk-space-8)));\\n padding: var(--uk-space-4);\\n pointer-events: none;\\n font-family: var(--uk-font-sans);\\n }\\n\\n .uk-toast-viewport[data-placement=\"top-right\"] {\\n top: 0;\\n right: 0;\\n }\\n\\n .uk-toast-viewport[data-placement=\"top-center\"] {\\n top: 0;\\n left: 50%;\\n transform: translateX(-50%);\\n }\\n\\n .uk-toast-viewport[data-placement=\"bottom-right\"] {\\n right: 0;\\n bottom: 0;\\n flex-direction: column-reverse;\\n }\\n\\n .uk-toast-viewport[data-placement=\"bottom-center\"] {\\n bottom: 0;\\n left: 50%;\\n flex-direction: column-reverse;\\n transform: translateX(-50%);\\n }\\n\\n .uk-toast {\\n display: flex;\\n align-items: flex-start;\\n gap: var(--uk-space-3);\\n padding: var(--uk-space-3) var(--uk-space-4);\\n border: 1px solid var(--uk-border);\\n border-inline-start: 3px solid var(--uk-toast-accent, var(--uk-info));\\n border-radius: var(--uk-toast-radius, var(--uk-radius-md));\\n background: var(--uk-surface-raised);\\n color: var(--uk-text);\\n box-shadow: var(--uk-shadow-md);\\n pointer-events: auto;\\n font-size: var(--uk-text-md);\\n line-height: 1.5;\\n }\\n\\n .uk-toast[data-variant=\"info\"] {\\n --uk-toast-accent: var(--uk-info);\\n }\\n\\n .uk-toast[data-variant=\"success\"] {\\n --uk-toast-accent: var(--uk-success);\\n }\\n\\n .uk-toast[data-variant=\"warning\"] {\\n --uk-toast-accent: var(--uk-warning);\\n }\\n\\n .uk-toast[data-variant=\"danger\"] {\\n --uk-toast-accent: var(--uk-danger);\\n }\\n\\n .uk-toast[data-state=\"open\"] {\\n animation: uk-toast-in 180ms cubic-bezier(0.2, 0.8, 0.2, 1);\\n }\\n\\n .uk-toast[data-state=\"closed\"] {\\n animation: uk-toast-out 180ms cubic-bezier(0.4, 0, 1, 1) forwards;\\n }\\n\\n .uk-toast__body {\\n flex: 1;\\n min-width: 0;\\n }\\n\\n .uk-toast__title {\\n color: var(--uk-text);\\n font-weight: 600;\\n }\\n\\n .uk-toast__description {\\n margin-top: 2px;\\n color: var(--uk-text-muted);\\n }\\n\\n .uk-toast__title + .uk-toast__description {\\n margin-top: var(--uk-space-1);\\n }\\n\\n .uk-toast__close {\\n flex: none;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n width: 1.5rem;\\n height: 1.5rem;\\n margin: -2px -4px 0 0;\\n padding: 0;\\n border: 0;\\n border-radius: var(--uk-radius-sm);\\n background: transparent;\\n color: var(--uk-text-muted);\\n cursor: pointer;\\n }\\n\\n .uk-toast__close:hover {\\n color: var(--uk-text);\\n background: var(--uk-surface);\\n }\\n\\n .uk-toast__close:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 1px;\\n }\\n\\n @keyframes uk-toast-in {\\n from {\\n opacity: 0;\\n transform: translateY(-6px) scale(0.98);\\n }\\n\\n to {\\n opacity: 1;\\n transform: translateY(0) scale(1);\\n }\\n }\\n\\n @keyframes uk-toast-out {\\n from {\\n opacity: 1;\\n transform: translateY(0) scale(1);\\n }\\n\\n to {\\n opacity: 0;\\n transform: translateY(-4px) scale(0.98);\\n }\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n .uk-toast[data-state=\"open\"],\\n .uk-toast[data-state=\"closed\"] {\\n animation: none;\\n }\\n }\\n}';\n","import type { ReactElement } from \"react\";\nimport { UI_CSS } from \"./styles.generated\";\n\nexport interface SeamStylesProps {\n /** 与 Content Security Policy 的 style-src nonce 保持一致。 */\n nonce?: string;\n}\n\n/**\n * JSR 不支持 CSS package exports,因此将样式以内联 style 标签提供。\n *\n * 在应用根部渲染一次即可。使用 npm 构建时仍可继续导入 styles.css。\n */\nexport function SeamStyles({ nonce }: SeamStylesProps): ReactElement {\n return (\n <style data-seam-ui=\"\" nonce={nonce}>\n {UI_CSS}\n </style>\n );\n}\n"],"names":["UI_CSS","SeamStyles","nonce","jsx"],"mappings":";AACO,MAAMA,IACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACWK,SAASC,EAAW,EAAE,OAAAC,KAAwC;AACnE,SACE,gBAAAC,EAAC,SAAA,EAAM,gBAAa,IAAG,OAAAD,GACpB,UAAAF,GACH;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../src/styles.generated.ts","../src/SeamStyles.tsx"],"sourcesContent":["// Generated by scripts/generate-styles.mjs. Do not edit.\nexport const UI_CSS: string =\n '@layer uk.tokens {\\n :root {\\n color-scheme: light dark;\\n\\n --uk-bg: light-dark(#ffffff, #0b0d12);\\n --uk-surface: light-dark(#f6f7fb, #141821);\\n --uk-surface-raised: light-dark(#ffffff, #1a1f2b);\\n --uk-text: light-dark(#0f172a, #e7eaf0);\\n --uk-text-muted: light-dark(#64748b, #98a2b3);\\n --uk-border: light-dark(#e2e8f0, #2a3141);\\n --uk-border-strong: light-dark(#cbd5e1, #3b4457);\\n\\n --uk-primary: light-dark(#4338ca, #a5b4fc);\\n --uk-primary-solid: light-dark(#4338ca, #4f46e5);\\n --uk-primary-solid-hover: light-dark(#3730a3, #6366f1);\\n --uk-primary-contrast: #ffffff;\\n --uk-danger: light-dark(#b91c1c, #fca5a5);\\n --uk-danger-solid: light-dark(#b91c1c, #b91c1c);\\n --uk-danger-solid-hover: light-dark(#991b1b, #991b1b);\\n --uk-danger-contrast: #ffffff;\\n --uk-success: light-dark(#15803d, #86efac);\\n --uk-warning: light-dark(#b45309, #fcd34d);\\n --uk-info: light-dark(#0369a1, #7dd3fc);\\n\\n --uk-focus-ring: light-dark(#6366f1, #a5b4fc);\\n --uk-overlay: light-dark(rgb(15 23 42 / 0.45), rgb(0 0 0 / 0.65));\\n\\n --uk-space-1: 0.25rem;\\n --uk-space-2: 0.5rem;\\n --uk-space-3: 0.75rem;\\n --uk-space-4: 1rem;\\n --uk-space-5: 1.25rem;\\n --uk-space-6: 1.5rem;\\n --uk-space-8: 2rem;\\n\\n --uk-radius-sm: 0.375rem;\\n --uk-radius-md: 0.625rem;\\n --uk-radius-lg: 0.875rem;\\n --uk-radius-full: 9999px;\\n\\n --uk-font-sans:\\n -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\",\\n \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif;\\n --uk-font-mono: ui-monospace, \"SFMono-Regular\", Consolas, monospace;\\n\\n --uk-text-xs: 0.75rem;\\n --uk-text-sm: 0.8125rem;\\n --uk-text-md: 0.875rem;\\n --uk-text-lg: 1rem;\\n --uk-text-xl: 1.125rem;\\n\\n --uk-shadow-sm: 0 1px 2px rgb(15 23 42 / 0.08);\\n --uk-shadow-md: 0 6px 16px -6px rgb(15 23 42 / 0.24);\\n --uk-shadow-lg:\\n 0 24px 48px -16px rgb(15 23 42 / 0.32), 0 2px 6px rgb(15 23 42 / 0.08);\\n\\n --uk-duration-fast: 120ms;\\n --uk-duration-base: 160ms;\\n --uk-duration-control: 200ms;\\n --uk-duration-overlay: 240ms;\\n --uk-duration-exit: 180ms;\\n --uk-ease-out: cubic-bezier(0.23, 1, 0.32, 1);\\n --uk-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);\\n --uk-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);\\n --uk-transition: var(--uk-duration-base) var(--uk-ease-out);\\n --uk-scale-press: 0.97;\\n\\n --uk-z-dialog: 1000;\\n --uk-z-tooltip: 1100;\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n :root {\\n --uk-duration-fast: 100ms;\\n --uk-duration-base: 100ms;\\n --uk-duration-control: 100ms;\\n --uk-duration-overlay: 100ms;\\n --uk-duration-exit: 100ms;\\n --uk-transition: 100ms ease;\\n }\\n }\\n}\\n\\n@layer uk.components {\\n .uk-button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n gap: var(--uk-space-2);\\n border: 1px solid transparent;\\n border-radius: var(--uk-button-radius, var(--uk-radius-md));\\n font-family: var(--uk-font-sans);\\n font-weight: var(--uk-button-font-weight, 600);\\n line-height: 1;\\n white-space: nowrap;\\n cursor: pointer;\\n user-select: none;\\n text-decoration: none;\\n transition:\\n background-color var(--uk-transition),\\n border-color var(--uk-transition),\\n color var(--uk-transition),\\n box-shadow var(--uk-transition),\\n transform var(--uk-duration-fast) var(--uk-ease-out);\\n }\\n\\n .uk-button:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n }\\n\\n .uk-button:active:not(:disabled) {\\n transform: scale(var(--uk-scale-press));\\n }\\n\\n .uk-button:disabled,\\n .uk-button[data-loading=\"true\"] {\\n cursor: not-allowed;\\n opacity: 0.6;\\n }\\n\\n .uk-button[data-size=\"sm\"] {\\n height: var(--uk-button-height-sm, 2rem);\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-sm);\\n }\\n\\n .uk-button[data-size=\"md\"] {\\n height: var(--uk-button-height-md, 2.5rem);\\n padding: 0 var(--uk-space-4);\\n font-size: var(--uk-text-md);\\n }\\n\\n .uk-button[data-size=\"lg\"] {\\n height: var(--uk-button-height-lg, 3rem);\\n padding: 0 var(--uk-space-5);\\n font-size: var(--uk-text-lg);\\n }\\n\\n .uk-button[data-icon-only=\"true\"] {\\n aspect-ratio: 1;\\n padding: 0;\\n }\\n\\n .uk-button[data-variant=\"primary\"] {\\n background: var(--uk-primary-solid);\\n color: var(--uk-primary-contrast);\\n }\\n\\n .uk-button[data-variant=\"secondary\"] {\\n background: var(--uk-surface);\\n border-color: var(--uk-border);\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"outline\"] {\\n background: transparent;\\n border-color: var(--uk-border-strong);\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"ghost\"] {\\n background: transparent;\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"danger\"] {\\n background: var(--uk-danger-solid);\\n color: var(--uk-danger-contrast);\\n }\\n\\n @media (hover: hover) and (pointer: fine) {\\n .uk-button[data-variant=\"primary\"]:hover:not(:disabled) {\\n background: var(--uk-primary-solid-hover);\\n }\\n\\n .uk-button[data-variant=\"secondary\"]:hover:not(:disabled) {\\n border-color: var(--uk-border-strong);\\n }\\n\\n .uk-button[data-variant=\"outline\"]:hover:not(:disabled) {\\n background: var(--uk-surface);\\n }\\n\\n .uk-button[data-variant=\"ghost\"]:hover:not(:disabled) {\\n background: var(--uk-surface);\\n }\\n\\n .uk-button[data-variant=\"danger\"]:hover:not(:disabled) {\\n background: var(--uk-danger-solid-hover);\\n }\\n }\\n\\n .uk-button__spinner {\\n width: 1em;\\n height: 1em;\\n flex: none;\\n border: 2px solid currentColor;\\n border-right-color: transparent;\\n border-radius: 50%;\\n animation: uk-button-spin 0.6s linear infinite;\\n }\\n\\n @keyframes uk-button-spin {\\n to {\\n transform: rotate(360deg);\\n }\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n .uk-button:active:not(:disabled) {\\n transform: none;\\n }\\n\\n .uk-button__spinner {\\n animation-duration: 1.6s;\\n }\\n }\\n}\\n\\n@layer uk.components {\\n .uk-input {\\n width: 100%;\\n border: 1px solid var(--uk-border-strong);\\n border-radius: var(--uk-input-radius, var(--uk-radius-md));\\n background: var(--uk-bg);\\n color: var(--uk-text);\\n font-family: var(--uk-font-sans);\\n transition:\\n border-color var(--uk-transition),\\n box-shadow var(--uk-transition);\\n }\\n\\n .uk-input[data-size=\"sm\"] {\\n height: 2rem;\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-sm);\\n }\\n\\n .uk-input[data-size=\"md\"] {\\n height: 2.5rem;\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-md);\\n }\\n\\n .uk-input[data-size=\"lg\"] {\\n height: 3rem;\\n padding: 0 var(--uk-space-4);\\n font-size: var(--uk-text-lg);\\n }\\n\\n .uk-input::placeholder {\\n color: var(--uk-text-muted);\\n }\\n\\n .uk-input:hover:not(:disabled) {\\n border-color: var(--uk-border-strong);\\n }\\n\\n .uk-input:focus-visible {\\n outline: none;\\n border-color: var(--uk-primary);\\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--uk-primary) 24%, transparent);\\n }\\n\\n .uk-input:disabled {\\n cursor: not-allowed;\\n opacity: 0.6;\\n background: var(--uk-surface);\\n }\\n\\n .uk-input[aria-invalid=\"true\"] {\\n border-color: var(--uk-danger);\\n }\\n\\n .uk-input[aria-invalid=\"true\"]:focus-visible {\\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--uk-danger) 24%, transparent);\\n }\\n}\\n\\n@layer uk.components {\\n .uk-switch {\\n display: inline-flex;\\n align-items: center;\\n gap: var(--uk-space-3);\\n color: var(--uk-text);\\n font-family: var(--uk-font-sans);\\n font-size: var(--uk-text-md);\\n cursor: pointer;\\n user-select: none;\\n }\\n\\n .uk-switch__input {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n margin: -1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0 0 0 0);\\n white-space: nowrap;\\n border: 0;\\n }\\n\\n .uk-switch__track {\\n position: relative;\\n flex: none;\\n width: 2.5rem;\\n height: 1.5rem;\\n border-radius: var(--uk-radius-full);\\n background: var(--uk-switch-track, var(--uk-border-strong));\\n cursor: pointer;\\n touch-action: none;\\n user-select: none;\\n transition: background-color var(--uk-transition);\\n }\\n\\n .uk-switch__thumb {\\n position: absolute;\\n top: 2px;\\n left: 2px;\\n width: 1.25rem;\\n height: 1.25rem;\\n border-radius: 50%;\\n background: var(--uk-switch-thumb, #ffffff);\\n box-shadow: var(--uk-shadow-sm);\\n }\\n\\n .uk-switch__input:checked + .uk-switch__track {\\n background: var(--uk-switch-track-checked, var(--uk-primary-solid));\\n }\\n\\n .uk-switch__input:focus-visible + .uk-switch__track {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n }\\n\\n .uk-switch[data-disabled=\"true\"] {\\n cursor: not-allowed;\\n opacity: 0.6;\\n }\\n\\n .uk-switch[data-disabled=\"true\"] .uk-switch__track {\\n cursor: not-allowed;\\n }\\n}\\n\\n@layer uk.components {\\n .uk-tabs {\\n font-family: var(--uk-font-sans);\\n color: var(--uk-text);\\n }\\n\\n .uk-tabs__list {\\n display: flex;\\n gap: var(--uk-space-1);\\n border-bottom: 1px solid var(--uk-border);\\n }\\n\\n .uk-tabs__trigger {\\n position: relative;\\n appearance: none;\\n border: 0;\\n background: transparent;\\n color: var(--uk-text-muted);\\n font: inherit;\\n font-size: var(--uk-text-md);\\n font-weight: 500;\\n padding: var(--uk-space-2) var(--uk-space-3);\\n border-radius: var(--uk-radius-sm) var(--uk-radius-sm) 0 0;\\n cursor: pointer;\\n transition:\\n color var(--uk-transition),\\n background-color var(--uk-transition);\\n }\\n\\n .uk-tabs__trigger:hover:not(:disabled) {\\n color: var(--uk-text);\\n background: var(--uk-surface);\\n }\\n\\n .uk-tabs__trigger[data-state=\"active\"] {\\n color: var(--uk-primary);\\n }\\n\\n .uk-tabs__indicator {\\n position: absolute;\\n right: var(--uk-space-2);\\n bottom: -1px;\\n left: var(--uk-space-2);\\n height: var(--uk-tabs-indicator-size, 2px);\\n border-radius: 2px;\\n background: var(--uk-tabs-indicator, var(--uk-primary));\\n pointer-events: none;\\n }\\n\\n .uk-tabs__trigger:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: -2px;\\n }\\n\\n .uk-tabs__trigger:disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n\\n .uk-tabs__panel {\\n padding-top: var(--uk-space-4);\\n color: var(--uk-text);\\n }\\n\\n .uk-tabs__panel:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n border-radius: var(--uk-radius-sm);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] {\\n display: flex;\\n gap: var(--uk-space-4);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__list {\\n flex-direction: column;\\n border-bottom: 0;\\n border-inline-end: 1px solid var(--uk-border);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__trigger {\\n text-align: start;\\n border-radius: var(--uk-radius-sm) 0 0 var(--uk-radius-sm);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__indicator {\\n top: var(--uk-space-2);\\n right: -1px;\\n bottom: var(--uk-space-2);\\n left: auto;\\n width: var(--uk-tabs-indicator-size, 2px);\\n height: auto;\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__panel {\\n flex: 1;\\n padding-top: 0;\\n }\\n}\\n\\n@layer uk.components {\\n .uk-dialog {\\n width: min(var(--uk-dialog-width, 32rem), calc(100vw - var(--uk-space-8)));\\n max-width: none;\\n max-height: none;\\n margin: auto;\\n padding: 0;\\n border: 0;\\n background: transparent;\\n color: var(--uk-text);\\n z-index: var(--uk-z-dialog);\\n }\\n\\n .uk-dialog::backdrop {\\n background: var(--uk-overlay);\\n backdrop-filter: blur(8px) saturate(125%);\\n opacity: 1;\\n transition: opacity var(--uk-duration-exit) var(--uk-ease-out);\\n }\\n\\n .uk-dialog[data-state=\"closed\"]::backdrop {\\n opacity: 0;\\n transition-delay: 220ms;\\n }\\n\\n .uk-dialog[data-state=\"closed\"] {\\n pointer-events: none;\\n }\\n\\n @starting-style {\\n .uk-dialog[data-state=\"open\"]::backdrop {\\n opacity: 0;\\n }\\n }\\n\\n .uk-dialog__panel {\\n display: flex;\\n flex-direction: column;\\n max-height: min(85vh, 42rem);\\n border: 1px solid var(--uk-border);\\n border-radius: var(--uk-dialog-radius, var(--uk-radius-lg));\\n background: var(--uk-surface-raised);\\n box-shadow: var(--uk-shadow-lg);\\n font-family: var(--uk-font-sans);\\n overflow: hidden;\\n transform-origin: center;\\n }\\n\\n .uk-dialog__header {\\n display: grid;\\n grid-template-columns: minmax(0, 1fr) auto;\\n align-items: flex-start;\\n column-gap: var(--uk-space-4);\\n row-gap: 0;\\n padding: var(--uk-space-5);\\n border-bottom: 1px solid var(--uk-border);\\n }\\n\\n .uk-dialog__header > .uk-dialog__title,\\n .uk-dialog__header > .uk-dialog__description {\\n grid-column: 1;\\n }\\n\\n .uk-dialog__header > .uk-dialog__description {\\n grid-row: 2;\\n }\\n\\n .uk-dialog__header > .uk-dialog__close {\\n grid-column: 2;\\n grid-row: 1 / span 2;\\n }\\n\\n .uk-dialog__heading {\\n flex: 1;\\n min-width: 0;\\n }\\n\\n .uk-dialog__title {\\n margin: 0;\\n color: var(--uk-text);\\n font-size: var(--uk-text-xl);\\n font-weight: 600;\\n line-height: 1.3;\\n }\\n\\n .uk-dialog__description {\\n margin: var(--uk-space-1) 0 0;\\n color: var(--uk-text-muted);\\n font-size: var(--uk-text-md);\\n line-height: 1.5;\\n }\\n\\n .uk-dialog__close {\\n flex: none;\\n }\\n\\n .uk-dialog__body {\\n padding: var(--uk-space-5);\\n overflow-y: auto;\\n font-size: var(--uk-text-md);\\n line-height: 1.6;\\n }\\n\\n .uk-dialog__footer {\\n display: flex;\\n justify-content: flex-end;\\n gap: var(--uk-space-2);\\n padding: var(--uk-space-4) var(--uk-space-5);\\n border-top: 1px solid var(--uk-border);\\n background: transparent;\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n .uk-dialog::backdrop {\\n transition-duration: var(--uk-duration-fast);\\n transition-timing-function: ease;\\n transition-delay: 0ms;\\n }\\n }\\n\\n @media (prefers-reduced-transparency: reduce) {\\n .uk-dialog::backdrop {\\n backdrop-filter: none;\\n }\\n }\\n\\n @media (prefers-contrast: more) {\\n .uk-dialog__panel {\\n border-color: var(--uk-text-muted);\\n background: var(--uk-surface-raised);\\n backdrop-filter: none;\\n }\\n }\\n}\\n\\n@layer uk.components {\\n .uk-tooltip {\\n position: fixed;\\n z-index: var(--uk-z-tooltip);\\n pointer-events: none;\\n }\\n\\n .uk-tooltip__surface {\\n position: relative;\\n width: max-content;\\n max-width: min(\\n var(--uk-tooltip-max-width, 20rem),\\n calc(100vw - var(--uk-space-4))\\n );\\n padding: var(--uk-space-2) var(--uk-space-3);\\n border: 1px solid var(--uk-tooltip-border, var(--uk-border-strong));\\n border-radius: var(--uk-tooltip-radius, var(--uk-radius-sm));\\n background: var(--uk-tooltip-background, var(--uk-surface-raised));\\n color: var(--uk-tooltip-text, var(--uk-text));\\n box-shadow: var(--uk-shadow-md);\\n font-family: var(--uk-font-sans);\\n font-size: var(--uk-text-xs);\\n font-weight: 500;\\n line-height: 1.45;\\n overflow-wrap: anywhere;\\n pointer-events: none;\\n user-select: none;\\n }\\n\\n .uk-tooltip--group {\\n position: fixed;\\n }\\n\\n .uk-tooltip__content {\\n display: block;\\n }\\n\\n .uk-tooltip__arrow {\\n position: absolute;\\n width: 8px;\\n height: 8px;\\n border: 1px solid var(--uk-tooltip-border, var(--uk-border-strong));\\n background: var(--uk-tooltip-background, var(--uk-surface-raised));\\n transform: rotate(45deg);\\n pointer-events: none;\\n }\\n\\n .uk-tooltip[data-side=\"top\"] .uk-tooltip__arrow {\\n bottom: -5px;\\n left: var(--uk-tooltip-arrow-offset);\\n border-top: 0;\\n border-left: 0;\\n translate: -50% 0;\\n }\\n\\n .uk-tooltip[data-side=\"bottom\"] .uk-tooltip__arrow {\\n top: -5px;\\n left: var(--uk-tooltip-arrow-offset);\\n border-right: 0;\\n border-bottom: 0;\\n translate: -50% 0;\\n }\\n\\n .uk-tooltip[data-side=\"left\"] .uk-tooltip__arrow {\\n top: var(--uk-tooltip-arrow-offset);\\n right: -5px;\\n border-bottom: 0;\\n border-left: 0;\\n translate: 0 -50%;\\n }\\n\\n .uk-tooltip[data-side=\"right\"] .uk-tooltip__arrow {\\n top: var(--uk-tooltip-arrow-offset);\\n left: -5px;\\n border-top: 0;\\n border-right: 0;\\n translate: 0 -50%;\\n }\\n\\n @media (prefers-contrast: more) {\\n .uk-tooltip__surface {\\n border-color: currentColor;\\n }\\n\\n .uk-tooltip__arrow {\\n border-color: currentColor;\\n }\\n }\\n}';\n","import type { ReactElement } from \"react\";\nimport { UI_CSS } from \"./styles.generated\";\n\nexport interface SeamStylesProps {\n /** 与 Content Security Policy 的 style-src nonce 保持一致。 */\n nonce?: string;\n}\n\n/**\n * JSR 不支持 CSS package exports,因此将样式以内联 style 标签提供。\n *\n * 在应用根部渲染一次即可。使用 npm 构建时仍可继续导入 styles.css。\n */\nexport function SeamStyles({ nonce }: SeamStylesProps): ReactElement {\n return (\n <style data-seam-ui=\"\" nonce={nonce}>\n {UI_CSS}\n </style>\n );\n}\n"],"names":["UI_CSS","SeamStyles","nonce","jsx"],"mappings":";AACO,MAAMA,IACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACWK,SAASC,EAAW,EAAE,OAAAC,KAAwC;AACnE,SACE,gBAAAC,EAAC,SAAA,EAAM,gBAAa,IAAG,OAAAD,GACpB,UAAAF,GACH;AAEJ;"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "seam-react",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "基于 seam-hooks 的 React
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "基于 seam-hooks 与 Motion 的 Fluid React 组件库",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"component-library",
|
|
7
7
|
"dialog",
|
|
8
|
+
"fluid",
|
|
9
|
+
"motion",
|
|
8
10
|
"react",
|
|
9
11
|
"tabs",
|
|
12
|
+
"tooltip",
|
|
10
13
|
"typescript",
|
|
11
14
|
"ui"
|
|
12
15
|
],
|
|
@@ -45,6 +48,7 @@
|
|
|
45
48
|
"./styles.css": "./dist/styles.css"
|
|
46
49
|
},
|
|
47
50
|
"dependencies": {
|
|
51
|
+
"motion": "^14.4.0",
|
|
48
52
|
"seam-hooks": "0.1.1"
|
|
49
53
|
},
|
|
50
54
|
"devDependencies": {
|
|
@@ -61,8 +65,8 @@
|
|
|
61
65
|
"vitest": "^2.1.4"
|
|
62
66
|
},
|
|
63
67
|
"peerDependencies": {
|
|
64
|
-
"react": ">=18",
|
|
65
|
-
"react-dom": ">=18"
|
|
68
|
+
"react": ">=18.2",
|
|
69
|
+
"react-dom": ">=18.2"
|
|
66
70
|
},
|
|
67
71
|
"engines": {
|
|
68
72
|
"node": ">=18"
|
package/dist/Toast.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { type ReactElement, type ReactNode } from "react";
|
|
2
|
-
export type ToastVariant = "info" | "success" | "warning" | "danger";
|
|
3
|
-
export type ToastPlacement = "top-right" | "top-center" | "bottom-right" | "bottom-center";
|
|
4
|
-
export interface ToastOptions {
|
|
5
|
-
title?: ReactNode;
|
|
6
|
-
description?: ReactNode;
|
|
7
|
-
/** 视觉变体,默认 info。 */
|
|
8
|
-
variant?: ToastVariant;
|
|
9
|
-
/** 自动关闭时间(毫秒),0 表示常驻;默认取 Provider 配置。 */
|
|
10
|
-
duration?: number;
|
|
11
|
-
}
|
|
12
|
-
export interface ToastApi {
|
|
13
|
-
/** 弹出一条提示,返回其 id。 */
|
|
14
|
-
toast: (options: ToastOptions) => string;
|
|
15
|
-
/** 关闭指定提示。 */
|
|
16
|
-
dismiss: (id: string) => void;
|
|
17
|
-
/** 关闭当前所有提示。 */
|
|
18
|
-
dismissAll: () => void;
|
|
19
|
-
}
|
|
20
|
-
export interface ToastProviderProps {
|
|
21
|
-
children: ReactNode;
|
|
22
|
-
/** 提示出现的位置,默认 top-right。 */
|
|
23
|
-
placement?: ToastPlacement;
|
|
24
|
-
/** 默认自动关闭时间,默认 4000ms。 */
|
|
25
|
-
duration?: number;
|
|
26
|
-
/** 同屏最多保留的提示数量,默认 4。 */
|
|
27
|
-
maxToasts?: number;
|
|
28
|
-
/** 提示区域的屏幕阅读器名称。 */
|
|
29
|
-
label?: string;
|
|
30
|
-
/** 关闭按钮的无障碍名称,默认 Close。 */
|
|
31
|
-
closeLabel?: string;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Toast 上下文。
|
|
35
|
-
*
|
|
36
|
-
* 负责队列、自动关闭、悬停/聚焦暂停、退出动画和 portal 渲染。
|
|
37
|
-
* 必须包在应用外层,子组件通过 useToast() 获取 toast()。
|
|
38
|
-
*/
|
|
39
|
-
export declare function ToastProvider({ children, placement, duration, maxToasts, label, closeLabel, }: ToastProviderProps): ReactElement;
|
|
40
|
-
/**
|
|
41
|
-
* 获取 toast API。必须在 <ToastProvider> 内使用。
|
|
42
|
-
*/
|
|
43
|
-
export declare function useToast(): ToastApi;
|