@vustcc/react 0.1.0-alpha.1

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/LICENSE +21 -0
  3. package/README.md +85 -0
  4. package/dist/components/VustActionMenu/VustActionMenu.d.ts +20 -0
  5. package/dist/components/VustAlert/VustAlert.d.ts +20 -0
  6. package/dist/components/VustBreadcrumb/VustBreadcrumb.d.ts +7 -0
  7. package/dist/components/VustBreadcrumbItem/VustBreadcrumbItem.d.ts +6 -0
  8. package/dist/components/VustButton/VustButton.d.ts +10 -0
  9. package/dist/components/VustCard/VustCard.d.ts +16 -0
  10. package/dist/components/VustCheckbox/VustCheckbox.d.ts +16 -0
  11. package/dist/components/VustDateTimeRangePicker/VustDateTimeRangePicker.d.ts +44 -0
  12. package/dist/components/VustDescriptions/VustDescriptions.d.ts +23 -0
  13. package/dist/components/VustDialog/VustDialog.d.ts +20 -0
  14. package/dist/components/VustDrawer/VustDrawer.d.ts +18 -0
  15. package/dist/components/VustEmpty/VustEmpty.d.ts +14 -0
  16. package/dist/components/VustFormItem/VustFormItem.d.ts +15 -0
  17. package/dist/components/VustIcon/VustIcon.d.ts +10 -0
  18. package/dist/components/VustInput/VustInput.d.ts +40 -0
  19. package/dist/components/VustLoading/VustLoading.d.ts +10 -0
  20. package/dist/components/VustMenu/VustMenu.d.ts +19 -0
  21. package/dist/components/VustModal/VustModal.d.ts +20 -0
  22. package/dist/components/VustPagination/VustPagination.d.ts +15 -0
  23. package/dist/components/VustSelect/VustSelect.d.ts +33 -0
  24. package/dist/components/VustSelectionBar/VustSelectionBar.d.ts +18 -0
  25. package/dist/components/VustSwitch/VustSwitch.d.ts +8 -0
  26. package/dist/components/VustTable/VustTable.d.ts +59 -0
  27. package/dist/components/VustTabs/VustTabs.d.ts +15 -0
  28. package/dist/components/VustTag/VustTag.d.ts +8 -0
  29. package/dist/components/VustToast/VustToast.d.ts +16 -0
  30. package/dist/components/VustTooltip/VustTooltip.d.ts +15 -0
  31. package/dist/index.d.ts +54 -0
  32. package/dist/index.js +1513 -0
  33. package/dist/internal/floating-position.d.ts +15 -0
  34. package/dist/internal/modal-lifecycle.d.ts +1 -0
  35. package/dist/style.css +2 -0
  36. package/package.json +50 -0
@@ -0,0 +1,15 @@
1
+ export type FloatingPlacement = "top" | "bottom";
2
+ interface FloatingPositionOptions {
3
+ anchor: HTMLElement;
4
+ floating: HTMLElement;
5
+ preferred?: FloatingPlacement;
6
+ gap?: number;
7
+ margin?: number;
8
+ maxHeight?: number;
9
+ matchWidth?: boolean;
10
+ }
11
+ export declare function computeFloatingPosition({ anchor, floating, preferred, gap, margin, maxHeight, matchWidth, }: FloatingPositionOptions): {
12
+ placement: FloatingPlacement;
13
+ style: React.CSSProperties;
14
+ };
15
+ export {};
@@ -0,0 +1 @@
1
+ export declare function activateModalLifecycle(container: HTMLElement, close: () => void): () => void;
package/dist/style.css ADDED
@@ -0,0 +1,2 @@
1
+ .vl-icon{width:var(--vl-icon-size);height:var(--vl-icon-size);color:currentColor;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.vl-icon svg{width:100%;height:100%;display:block}.vl-button{box-sizing:border-box;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;vertical-align:middle;font-family:var(--vdl-font-family);border:1px solid #0000;outline:none;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}.vl-button:disabled{cursor:not-allowed;opacity:.5}.vl-button--default{height:32px;padding:0 var(--vdl-space-3);font-size:var(--vdl-font-body-sm);border-radius:var(--vdl-radius-md)}.vl-button--small{height:24px;padding:0 var(--vdl-space-2);font-size:var(--vdl-font-caption);border-radius:var(--vdl-radius-sm)}.vl-button--large{height:40px;padding:0 var(--vdl-space-5);font-size:var(--vdl-font-body);border-radius:var(--vdl-radius-md)}.vl-button--primary{background-color:var(--vdl-primary);border-color:var(--vdl-primary);color:var(--vdl-text-inverse)}.vl-button--primary:not(:disabled):hover{background-color:var(--vdl-primary-hover);border-color:var(--vdl-primary-hover);box-shadow:0 4px 12px #00c8ff40}.vl-button--primary:not(:disabled):active{background-color:var(--vdl-primary-active);border-color:var(--vdl-primary-active)}.vl-button--secondary{background-color:var(--vdl-bg-muted);border-color:var(--vdl-border-default);color:var(--vdl-text-secondary)}.vl-button--secondary:not(:disabled):hover{background-color:var(--vdl-bg-hover);border-color:var(--vdl-border-brand);color:var(--vdl-text-primary)}.vl-button--danger{background-color:var(--vdl-danger);border-color:var(--vdl-danger);color:var(--vdl-text-on-danger)}.vl-button--danger:not(:disabled):hover{opacity:.9;filter:brightness(1.1)}.vl-button--warning{background-color:var(--vdl-warning);border-color:var(--vdl-warning);color:var(--vdl-text-inverse)}.vl-button--info{color:var(--vdl-text-muted);background-color:#91a2b81a;border-color:#91a2b833}.vl-button--info:not(:disabled):hover{color:var(--vdl-text-secondary);background-color:#91a2b833}.vl-button-loading-icon{align-items:center;margin-right:8px;display:flex}.vl-button-loading-icon .vl-spinner{width:14px;height:14px;animation:2s linear infinite rotate}.vl-button-loading-icon .vl-spinner .path{stroke:currentColor;stroke-linecap:round;animation:1.5s ease-in-out infinite dash}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}.vl-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:var(--vdl-space-2);font:inherit;background:0 0;border:0;padding:0;display:inline-flex}.vl-switch:focus-visible{box-shadow:var(--vdl-focus-ring);border-radius:var(--vdl-radius-pill);outline:none}.vl-switch.is-disabled{cursor:not-allowed;opacity:.6}.vl-switch-track{background-color:var(--vdl-bg-muted);border:1px solid var(--vdl-border-default);border-radius:var(--vdl-radius-pill);width:40px;height:20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.vl-switch.is-active .vl-switch-track{background-color:var(--vdl-primary);border-color:var(--vdl-primary)}.vl-switch-handle{background-color:var(--vdl-text-primary);border-radius:50%;width:14px;height:14px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px}.vl-switch.is-active .vl-switch-handle{background-color:var(--vdl-text-inverse);transform:translate(20px)}.vl-switch-label{font-size:var(--vdl-font-body-sm);color:var(--vdl-text-secondary)}.vl-switch.is-active .vl-switch-label{color:var(--vdl-text-primary)}.vl-alert{width:100%;padding:var(--vdl-space-2) var(--vdl-space-4);border-radius:var(--vdl-radius-md);box-sizing:border-box;margin-bottom:var(--vdl-space-3);font-family:var(--vdl-font-family);border:1px solid #0000;align-items:flex-start;display:flex}.vl-alert-icon{margin-right:var(--vdl-space-3);font-size:16px;line-height:1.6}.vl-alert-content{flex:1;min-width:0}.vl-alert-title{font-size:var(--vdl-font-body);margin:0;font-weight:600;line-height:1.6}.vl-alert-description{font-size:var(--vdl-font-body-sm);line-height:1.6}.vl-alert-close{cursor:pointer;color:inherit;opacity:.6;margin-left:var(--vdl-space-3);background:0 0;border:none;font-size:18px;line-height:1;transition:opacity .2s}.vl-alert-close:hover{opacity:1}.vl-alert-close:focus-visible{border-radius:var(--vdl-radius-xs);box-shadow:var(--vdl-focus-ring);outline:none}.is-info{background-color:var(--vdl-info-soft);color:var(--vdl-info);border-color:#00c8ff33}.is-success{background-color:var(--vdl-success-soft);color:var(--vdl-success);border-color:#00d27a33}.is-warning{background-color:var(--vdl-warning-soft);color:var(--vdl-warning);border-color:#ffb54733}.is-error{background-color:var(--vdl-danger-soft);color:var(--vdl-danger);border-color:#ff5e7a33}.vl-alert-fade-enter-active,.vl-alert-fade-leave-active{transition:opacity .3s}.vl-alert-fade-enter-from,.vl-alert-fade-leave-to{opacity:0}.vl-card{border-radius:var(--vdl-radius-lg);border:1px solid var(--vdl-border-default);background-color:var(--vdl-bg-card);color:var(--vdl-text-primary);flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.vl-card-header{padding:var(--vdl-space-4);border-bottom:1px solid var(--vdl-border-subtle);background-color:var(--vdl-bg-muted);flex-shrink:0}.vl-card-content{padding:var(--vdl-space-4);flex:1;min-height:0}.vl-card-content.is-full-height{flex-direction:column;padding:0;display:flex}.vl-card.is-full-height{height:100%}.is-shadow-always{box-shadow:var(--vdl-shadow-panel)}.is-shadow-hover:hover{box-shadow:var(--vdl-shadow-panel);border-color:var(--vdl-border-brand)}.is-shadow-never{box-shadow:none}.vl-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--vdl-font-body-sm);color:var(--vdl-text-primary);align-items:center;gap:var(--vdl-space-2);display:inline-flex}.vl-checkbox.is-disabled{cursor:not-allowed;opacity:.6}.vl-checkbox-input{flex-shrink:0;width:16px;height:16px;display:inline-block;position:relative}.vl-checkbox-original{opacity:0;z-index:-1;outline:none;width:0;height:0;margin:0;position:absolute}.vl-checkbox-inner{border:1px solid var(--vdl-border-default);box-sizing:border-box;background-color:var(--vdl-bg-input);z-index:1;border-radius:2px;width:16px;height:16px;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);display:inline-block;position:relative}.vl-checkbox-inner:after{box-sizing:content-box;content:"";border:2px solid var(--vdl-text-inverse);transform-origin:50%;border-top:0;border-left:0;width:3px;height:8px;transition:transform .15s ease-in 50ms;position:absolute;top:1px;left:5px;transform:rotate(45deg)scaleY(0)}.vl-checkbox-inner:before{box-sizing:border-box;content:"";border-radius:var(--vdl-radius-pill);background-color:var(--vdl-text-inverse);height:2px;transition:transform .15s ease-in;position:absolute;top:6px;left:3px;right:3px;transform:scaleX(0)}.vl-checkbox.is-active .vl-checkbox-inner{background-color:var(--vdl-primary);border-color:var(--vdl-primary)}.vl-checkbox.is-active .vl-checkbox-inner:after{transform:rotate(45deg)scaleY(1)}.vl-checkbox.is-indeterminate .vl-checkbox-inner{background-color:var(--vdl-primary);border-color:var(--vdl-primary)}.vl-checkbox.is-indeterminate .vl-checkbox-inner:before{transform:scaleX(1)}.vl-checkbox.is-indeterminate .vl-checkbox-inner:after{transform:rotate(45deg)scaleY(0)}.vl-checkbox:hover:not(.is-disabled) .vl-checkbox-inner{border-color:var(--vdl-primary)}.vl-checkbox-original:focus-visible+.vl-checkbox-inner{box-shadow:var(--vdl-focus-ring);border-color:var(--vdl-primary)}.vl-checkbox-label{line-height:1}.vl-empty{padding:var(--vdl-space-8) var(--vdl-space-4);text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;display:flex}.vl-empty-icon{color:var(--vdl-text-muted);margin-bottom:var(--vdl-space-4);opacity:.8;line-height:1}.vl-empty-description{font-size:var(--vdl-font-body);color:var(--vdl-text-muted);margin:0}.vl-empty-extra{margin-top:var(--vdl-space-4)}.vl-form-item{margin-bottom:var(--vdl-space-4);gap:var(--vdl-space-2);flex-direction:column;display:flex}.vl-form-item-label{font-size:var(--vdl-font-body-sm);color:var(--vdl-text-secondary);-webkit-user-select:none;user-select:none;font-weight:600;line-height:1.4}.vl-form-item-required{color:var(--vdl-danger);margin-right:4px}.vl-form-item-content{width:100%;position:relative}.vl-form-item-hint{margin-top:var(--vdl-space-1);font-size:var(--vdl-font-caption);color:var(--vdl-text-muted);line-height:1.4}.vl-form-item-error{margin-top:var(--vdl-space-1);color:var(--vdl-danger);font-size:var(--vdl-font-caption)}.vl-loading-host{width:100%;min-width:0;position:relative}.vl-loading-host.is-loading{min-height:120px}.vl-loading-host.is-cover{pointer-events:none;min-height:0;position:absolute;inset:0}.vl-loading-host.is-cover.is-loading{pointer-events:auto;z-index:var(--vdl-z-index-window)}.vl-loading-mask{background-color:var(--vdl-bg-backdrop);z-index:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vl-loading-spinner{align-items:center;gap:var(--vdl-space-3);flex-direction:column;display:flex}.vl-loading-spinner .vl-spinner{width:42px;height:42px;color:var(--vdl-primary);animation:2s linear infinite rotate}.vl-loading-spinner .vl-spinner .path{stroke:currentColor;stroke-linecap:round;animation:1.5s ease-in-out infinite dash}.vl-loading-text{font-size:var(--vdl-font-body-sm);color:var(--vdl-text-primary);white-space:nowrap;margin:0;font-weight:500}.vl-loading-fade-enter-active,.vl-loading-fade-leave-active{transition:opacity .3s}.vl-loading-fade-enter-from,.vl-loading-fade-leave-to{opacity:0}.vl-tag{height:24px;padding:0 var(--vdl-space-2);font-size:var(--vdl-font-caption);border-radius:var(--vdl-radius-sm);white-space:nowrap;box-sizing:border-box;border:1px solid #0000;justify-content:center;align-items:center;line-height:1;display:inline-flex}.vl-tag--default.vl-tag--light{background-color:var(--vdl-neutral-soft);color:var(--vdl-text-secondary);border-color:var(--vdl-border-subtle)}.vl-tag--success.vl-tag--light{background-color:var(--vdl-success-soft);color:var(--vdl-success);border-color:var(--vdl-success-soft)}.vl-tag--warning.vl-tag--light{background-color:var(--vdl-warning-soft);color:var(--vdl-warning);border-color:var(--vdl-warning-soft)}.vl-tag--danger.vl-tag--light{background-color:var(--vdl-danger-soft);color:var(--vdl-danger);border-color:var(--vdl-danger-soft)}.vl-tag--info.vl-tag--light{background-color:var(--vdl-info-soft);color:var(--vdl-info);border-color:var(--vdl-info-soft)}.vl-tag--primary.vl-tag--light{background-color:var(--vdl-bg-active);color:var(--vdl-primary);border-color:var(--vdl-border-brand)}.vl-breadcrumb{font-size:var(--vdl-font-body-sm);color:var(--vdl-text-muted);flex-wrap:wrap;align-items:center;gap:0;display:flex}.vl-breadcrumb-item{align-items:center;display:inline-flex}.vl-breadcrumb-item:last-child .vl-breadcrumb-separator{display:none}.vl-breadcrumb-label{color:var(--vdl-text-secondary);transition:color .2s}.vl-breadcrumb-label:hover{color:var(--vdl-primary)}.vl-breadcrumb-separator{margin:0 var(--vdl-space-2);color:var(--vdl-text-muted);-webkit-user-select:none;user-select:none}.vl-input-wrapper{width:100%;font-family:var(--vdl-font-family);position:relative}.vl-input-inner-wrapper{background-color:var(--vdl-bg-input);border:1px solid var(--vdl-border-default);border-radius:var(--vdl-radius-md);align-items:center;width:100%;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.vl-input-inner-wrapper:focus-within{border-color:var(--vdl-primary);box-shadow:var(--vdl-focus-ring)}.vl-input{height:36px;padding:0 var(--vdl-space-3);color:var(--vdl-text-primary);font-size:var(--vdl-font-body);box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;width:100%}.vl-textarea{background-color:var(--vdl-bg-input);border:1px solid var(--vdl-border-default);border-radius:var(--vdl-radius-md);width:100%;padding:var(--vdl-space-2) var(--vdl-space-3);color:var(--vdl-text-primary);font-size:var(--vdl-font-body);resize:vertical;outline:none;font-family:inherit;transition:all .2s;display:block}.vl-textarea:focus{border-color:var(--vdl-primary);box-shadow:var(--vdl-focus-ring)}.vl-input-wrapper.is-disabled .vl-input-inner-wrapper,.vl-input-wrapper.is-disabled .vl-textarea{background-color:var(--vdl-bg-muted);cursor:not-allowed;opacity:.6}.vl-input:disabled,.vl-textarea:disabled{cursor:not-allowed}.vl-input-password-toggle{padding:0 var(--vdl-space-2);cursor:pointer;color:var(--vdl-text-muted);background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;transition:color .2s;display:flex}.vl-input-password-toggle:hover{color:var(--vdl-text-primary)}.vl-input::placeholder,.vl-textarea::placeholder{color:var(--vdl-text-subtle)}.vl-menu{gap:var(--vdl-space-5);width:100%;font-family:var(--vdl-font-family);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.vl-menu-group{gap:var(--vdl-space-2);flex-direction:column;display:flex}.vl-menu-group-title{padding:0 var(--vdl-space-2);font-size:var(--vdl-font-caption);color:var(--vdl-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.vl-menu-items{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.vl-menu-item{height:38px;padding:0 var(--vdl-space-4);border-radius:var(--vdl-radius-md);color:var(--vdl-text-secondary);cursor:pointer;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.vl-menu-item-button{width:100%;height:100%;color:inherit;text-align:left;cursor:inherit;font:inherit;background:0 0;border:0;padding:0}.vl-menu-item-button:focus-visible{box-shadow:var(--vdl-focus-ring);border-radius:var(--vdl-radius-md);outline:none}.vl-menu-item:hover{background-color:var(--vdl-bg-hover);color:var(--vdl-text-primary)}.vl-menu-item.is-active{background-color:var(--vdl-bg-active);color:var(--vdl-primary);font-weight:600}.vl-menu-item.is-active:before{content:"";border-radius:var(--vdl-radius-pill);background-color:var(--vdl-primary);width:3px;position:absolute;top:8px;bottom:8px;left:6px}.vl-menu-item-label{font-size:var(--vdl-font-body)}.vl-tabs{width:100%}.vl-tabs-nav{align-items:center;gap:var(--vdl-space-6);border-bottom:1px solid var(--vdl-border-subtle);padding:0 var(--vdl-space-1);display:flex}.vl-tabs-item{height:40px;font-size:var(--vdl-font-body);color:var(--vdl-text-secondary);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.vl-tabs-item:focus-visible{box-shadow:var(--vdl-focus-ring);outline:none}.vl-tabs-item:hover:not(.is-disabled){color:var(--vdl-text-primary)}.vl-tabs-item.is-active{color:var(--vdl-primary);font-weight:600}.vl-tabs-item.is-active:after{content:"";background-color:var(--vdl-primary);border-radius:var(--vdl-radius-pill) var(--vdl-radius-pill) 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.vl-tabs-item.is-disabled{cursor:not-allowed;opacity:.4}.vl-descriptions{width:100%;font-family:var(--vdl-font-family)}.vl-descriptions-title{margin-bottom:var(--vdl-space-3);font-size:var(--vdl-font-subtitle);color:var(--vdl-text-primary);font-weight:600}.vl-descriptions-grid{gap:0;width:100%;display:grid}.vl-descriptions-item{border-bottom:1px solid var(--vdl-border-subtle);min-height:40px;display:flex}.vl-descriptions-label{width:140px;padding:var(--vdl-space-2) var(--vdl-space-4);background-color:var(--vdl-bg-muted);color:var(--vdl-text-secondary);font-size:var(--vdl-font-body-sm);flex-shrink:0;align-items:center;font-weight:600;display:flex}.vl-descriptions-content{padding:var(--vdl-space-2) var(--vdl-space-4);color:var(--vdl-text-primary);font-size:var(--vdl-font-body-sm);word-break:break-all;flex:1;align-items:center;min-width:0;display:flex}.vl-descriptions.is-border{border:1px solid var(--vdl-border-default);border-radius:var(--vdl-radius-md);border-bottom:none;overflow:hidden}.vl-descriptions.is-border .vl-descriptions-label{border-right:1px solid var(--vdl-border-subtle)}.vl-tooltip-wrapper{display:inline-block}.vl-tooltip-content{z-index:var(--vdl-z-index-modal);background-color:var(--vdl-bg-panel);color:var(--vdl-text-primary);padding:var(--vdl-space-1) var(--vdl-space-3);border-radius:var(--vdl-radius-sm);font-size:var(--vdl-font-caption);white-space:nowrap;box-shadow:var(--vdl-shadow-panel);border:1px solid var(--vdl-border-strong);pointer-events:none;opacity:0;line-height:1.6;transition:opacity .2s;position:fixed}.vl-tooltip-content.is-visible{opacity:1}.vl-tooltip-arrow{border-style:solid;border-width:5px;width:0;height:0;position:absolute}.vl-tooltip-arrow[data-position=top]{border-color:var(--vdl-border-strong) transparent transparent transparent;top:100%;left:50%;transform:translate(-50%)}.vl-tooltip-arrow[data-position=bottom]{border-color:transparent transparent var(--vdl-border-strong) transparent;bottom:100%;left:50%;transform:translate(-50%)}.vl-tooltip-arrow[data-position=left]{border-color:transparent transparent transparent var(--vdl-border-strong);top:50%;left:100%;transform:translateY(-50%)}.vl-tooltip-arrow[data-position=right]{border-color:transparent var(--vdl-border-strong) transparent transparent;top:50%;right:100%;transform:translateY(-50%)}.vl-toast-container{top:var(--vdl-space-4);right:var(--vdl-space-4);width:min(320px, calc(100vw - var(--vdl-space-8)));z-index:var(--vdl-z-index-toast);gap:var(--vdl-space-3);pointer-events:none;flex-direction:column;display:flex;position:fixed}.vl-toast-item{pointer-events:auto;padding:var(--vdl-space-4);background-color:var(--vdl-bg-panel);border-radius:var(--vdl-radius-md);border:1px solid var(--vdl-border-strong);box-shadow:var(--vdl-shadow-panel);align-items:flex-start;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.vl-toast-item:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.vl-toast-item.is-success:before{background-color:var(--vdl-success)}.vl-toast-item.is-error:before{background-color:var(--vdl-danger)}.vl-toast-item.is-warning:before{background-color:var(--vdl-warning)}.vl-toast-item.is-info:before{background-color:var(--vdl-info)}.vl-toast-icon{margin-right:var(--vdl-space-3);flex-shrink:0;font-size:20px}.vl-toast-content{flex-grow:1;min-width:0}.vl-toast-title{margin:0 0 var(--vdl-space-1);font-size:var(--vdl-font-body);color:var(--vdl-text-primary);font-weight:600}.vl-toast-message{font-size:var(--vdl-font-body-sm);color:var(--vdl-text-secondary);margin:0;line-height:1.4}.vl-toast-close{color:var(--vdl-text-muted);cursor:pointer;margin-left:var(--vdl-space-2);background:0 0;border:none;font-size:20px;line-height:1}.vl-toast-close:hover{color:var(--vdl-text-primary)}.vl-toast-close:focus-visible{border-radius:var(--vdl-radius-xs);box-shadow:var(--vdl-focus-ring);outline:none}.vl-dialog-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--vdl-z-index-modal);background:#080c18a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.vl-dialog-card{background-color:var(--vdl-bg-panel);border-radius:var(--vdl-radius-lg);border:1px solid var(--vdl-border-strong);flex-direction:column;max-height:85%;animation:.22s cubic-bezier(.16,1,.3,1) forwards vl-dialog-pop;display:flex;overflow:hidden;box-shadow:0 16px 48px #0009}.vl-dialog-header{padding:var(--vdl-space-4) var(--vdl-space-4);background-color:var(--vdl-bg-muted);border-bottom:1px solid var(--vdl-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.vl-dialog-title{font-size:var(--vdl-font-subtitle);color:var(--vdl-text-primary);-webkit-user-select:none;user-select:none;font-weight:700}.vl-dialog-close-btn{color:var(--vdl-text-muted);cursor:pointer;padding:0 var(--vdl-space-1);background:0 0;border:none;font-size:22px;line-height:1;transition:color .15s}.vl-dialog-close-btn:hover{color:var(--vdl-text-primary)}.vl-dialog-body{padding:var(--vdl-space-4);color:var(--vdl-text-secondary);flex:1;overflow-y:auto}.vl-dialog-footer{padding:var(--vdl-space-4) var(--vdl-space-4);background-color:var(--vdl-bg-muted);border-top:1px solid var(--vdl-border-subtle);justify-content:flex-end;gap:var(--vdl-space-3);flex-shrink:0;display:flex}@keyframes vl-dialog-pop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.vl-drawer-overlay{background-color:var(--vdl-bg-backdrop);z-index:var(--vdl-z-index-modal);justify-content:flex-end;display:flex;position:fixed;inset:0}.vl-drawer-panel{background:var(--vdl-bg-panel);height:100%;box-shadow:var(--vdl-shadow-panel);border-left:1px solid var(--vdl-border-strong);flex-direction:column;animation:.25s cubic-bezier(.4,0,.2,1) forwards vl-drawer-slide-in;display:flex}.vl-drawer-header{padding:var(--vdl-space-4) var(--vdl-space-5);border-bottom:1px solid var(--vdl-border-subtle);background:var(--vdl-bg-muted);justify-content:space-between;align-items:center;display:flex}.vl-drawer-title{font-size:var(--vdl-font-subtitle);color:var(--vdl-text-primary);margin:0;font-weight:600}.vl-drawer-close-btn{cursor:pointer;color:var(--vdl-text-muted);background:0 0;border:none;font-size:24px;line-height:1;transition:color .2s}.vl-drawer-close-btn:hover{color:var(--vdl-text-primary)}.vl-drawer-body{padding:var(--vdl-space-5);color:var(--vdl-text-primary);flex:1;overflow-y:auto}.vl-drawer-footer{padding:var(--vdl-space-4) var(--vdl-space-5);border-top:1px solid var(--vdl-border-subtle);background:var(--vdl-bg-muted);justify-content:flex-end;gap:var(--vdl-space-3);display:flex}@keyframes vl-drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.vl-modal-overlay{background-color:var(--vdl-bg-backdrop);z-index:var(--vdl-z-index-modal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.vl-modal-card{background:var(--vdl-bg-panel);border-radius:var(--vdl-radius-lg);border:1px solid var(--vdl-border-strong);box-shadow:var(--vdl-shadow-window);width:90%;max-width:420px;animation:.3s cubic-bezier(.34,1.56,.64,1) vl-modal-pop;overflow:hidden}.vl-modal-header{padding:var(--vdl-space-4) var(--vdl-space-5);background-color:var(--vdl-bg-muted);border-bottom:1px solid var(--vdl-border-subtle)}.vl-modal-title{font-size:var(--vdl-font-subtitle);color:var(--vdl-text-primary);margin:0;font-weight:600}.vl-modal-body{padding:var(--vdl-space-6) var(--vdl-space-5);color:var(--vdl-text-secondary)}.vl-modal-message{line-height:1.6;font-size:var(--vdl-font-body);margin:0}.vl-modal-footer{padding:var(--vdl-space-4) var(--vdl-space-5);justify-content:flex-end;gap:var(--vdl-space-3);background-color:var(--vdl-bg-muted);border-top:1px solid var(--vdl-border-subtle);display:flex}.vl-modal-btn{min-width:88px;height:36px;padding:0 var(--vdl-space-4);border-radius:var(--vdl-radius-md);font-size:var(--vdl-font-body-sm);cursor:pointer;border:1px solid #0000;font-weight:600;transition:all .2s}.vl-modal-btn.is-cancel{border-color:var(--vdl-border-default);color:var(--vdl-text-secondary);background-color:#0000}.vl-modal-btn.is-cancel:hover{background-color:var(--vdl-bg-hover);color:var(--vdl-text-primary)}.vl-modal-btn.is-primary{background-color:var(--vdl-primary);color:var(--vdl-text-inverse)}.vl-modal-btn.is-primary:hover{background-color:var(--vdl-primary-hover)}.vl-modal-btn.is-danger{background-color:var(--vdl-danger);color:var(--vdl-text-on-danger)}.vl-modal-btn.is-danger:hover{filter:brightness(1.1)}@keyframes vl-modal-pop{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.vl-pagination{justify-content:center;align-items:center;gap:var(--vdl-space-2);display:flex}.vl-pagination-btn{min-width:32px;height:32px;padding:0 var(--vdl-space-2);border:1px solid var(--vdl-border-default);background-color:var(--vdl-bg-card);color:var(--vdl-text-secondary);cursor:pointer;border-radius:var(--vdl-radius-md);font-size:var(--vdl-font-body-sm);justify-content:center;align-items:center;transition:all .2s;display:flex}.vl-pagination-ellipsis{text-align:center;min-width:32px;color:var(--vdl-text-muted)}.vl-pagination-btn:focus-visible{box-shadow:var(--vdl-focus-ring);outline:none}.vl-pagination-btn:hover:not(:disabled){background-color:var(--vdl-bg-hover);border-color:var(--vdl-border-brand);color:var(--vdl-text-primary)}.vl-pagination-btn:disabled{cursor:not-allowed;opacity:.4}.vl-pagination-btn.active{background-color:var(--vdl-primary);color:var(--vdl-text-inverse);border-color:var(--vdl-primary);font-weight:600}.vl-pagination-btn.ellipsis{cursor:default;background-color:#0000;border:none}.vl-select{width:100%;font-size:var(--vdl-font-body);position:relative}.vl-select-trigger{padding:0 var(--vdl-space-3);border:1px solid var(--vdl-border-default);border-radius:var(--vdl-radius-md);background-color:var(--vdl-bg-input);height:36px;color:var(--vdl-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;width:100%;font:inherit;text-align:left;justify-content:space-between;align-items:center;transition:all .2s;display:flex}.vl-select.is-disabled .vl-select-trigger{background-color:var(--vdl-bg-muted);cursor:not-allowed;color:var(--vdl-text-subtle);border-color:var(--vdl-border-subtle)}.vl-select:not(.is-disabled) .vl-select-trigger:hover{border-color:var(--vdl-border-strong)}.vl-select.is-open .vl-select-trigger{border-color:var(--vdl-primary);box-shadow:var(--vdl-focus-ring)}.vl-select-arrow{border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid var(--vdl-text-muted);width:0;height:0;transition:transform .2s}.vl-select.is-open .vl-select-arrow{transform:rotate(180deg)}.vl-select-options{background-color:var(--vdl-bg-panel);border:1px solid var(--vdl-border-strong);border-radius:var(--vdl-radius-md);box-shadow:var(--vdl-shadow-panel);box-sizing:border-box;scrollbar-width:thin;width:max-content;padding:var(--vdl-space-1);z-index:calc(var(--vdl-z-index-modal) + 1);margin:0;list-style:none;position:fixed;overflow-y:auto}.vl-select-option{padding:var(--vdl-space-2) var(--vdl-space-3);border-radius:var(--vdl-radius-sm);cursor:pointer;color:var(--vdl-text-secondary);font-size:var(--vdl-font-body-sm);white-space:nowrap;transition:all .2s}.vl-select-option:hover{background-color:var(--vdl-bg-hover);color:var(--vdl-text-primary)}.vl-select-option[data-active=true]{background-color:var(--vdl-bg-hover)}.vl-select-trigger:focus-visible{box-shadow:var(--vdl-focus-ring);border-color:var(--vdl-primary);outline:none}.vl-select-option.selected{background-color:var(--vdl-bg-active);color:var(--vdl-primary);font-weight:600}.vl-select-option.disabled{color:var(--vdl-text-subtle);cursor:not-allowed}.vl-select-footer{padding:var(--vdl-space-2) var(--vdl-space-3);color:var(--vdl-text-subtle);font-size:var(--vdl-font-body-sm);list-style:none}.vl-action-menu{display:inline-block;position:relative}.vl-action-btn{background-color:var(--vdl-bg-muted);color:var(--vdl-text-primary);padding:0 var(--vdl-space-3);border:1px solid var(--vdl-border-default);border-radius:var(--vdl-radius-sm);cursor:pointer;height:32px;font-weight:500;font-size:var(--vdl-font-body-sm);font-family:var(--vdl-font-family);align-items:center;gap:var(--vdl-space-2);transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.vl-action-btn:hover{background-color:var(--vdl-bg-hover);border-color:var(--vdl-border-brand)}.vl-action-btn:focus-visible,.vl-dropdown-item:focus-visible{box-shadow:var(--vdl-focus-ring);outline:none}.vl-action-btn:disabled{opacity:.5;cursor:not-allowed}.vl-dropdown{background-color:var(--vdl-bg-panel);border:1px solid var(--vdl-border-strong);border-radius:var(--vdl-radius-md);box-shadow:var(--vdl-shadow-panel);z-index:calc(var(--vdl-z-index-modal) + 1);min-width:140px;padding:var(--vdl-space-1);max-height:260px;position:fixed;overflow-y:auto}.vl-dropdown:not(.is-positioned){visibility:hidden;pointer-events:none;top:0;left:0}.vl-dropdown-tooltip-wrapper{width:100%;display:block}.vl-dropdown-item{align-items:center;gap:var(--vdl-space-2);width:100%;padding:var(--vdl-space-2) var(--vdl-space-3);text-align:left;cursor:pointer;font-size:var(--vdl-font-body-sm);font-family:var(--vdl-font-family);color:var(--vdl-text-secondary);border-radius:var(--vdl-radius-sm);background:0 0;border:none;transition:all .2s;display:flex}.vl-dropdown-item:hover:not(:disabled){background-color:var(--vdl-bg-hover);color:var(--vdl-text-primary)}.vl-dropdown-item:disabled{opacity:.4;cursor:not-allowed}.vl-dropdown-icon{opacity:.8;width:20px}.vl-dropdown-item.app-btn-start{color:var(--vdl-primary)}.vl-dropdown-item.app-btn-stop{color:var(--vdl-warning)}.vl-dropdown-item.app-btn-delete{color:var(--vdl-danger)}.vl-table-container{border-radius:var(--vdl-radius-md);flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.vl-table-wrapper{scrollbar-width:thin;flex:1;width:100%;min-height:0;overflow:auto}.vl-table{border-spacing:0;border-collapse:separate;table-layout:auto;width:100%;min-width:max-content}.vl-table-header-cell{z-index:10;background-color:var(--vdl-bg-muted);color:var(--vdl-text-primary);font-size:var(--vdl-font-body-sm);padding:var(--vdl-space-3) 0;border-bottom:1px solid var(--vdl-border-default);white-space:nowrap;-webkit-user-select:none;user-select:none;font-weight:600;position:sticky;top:0}.vl-table-cell{color:var(--vdl-text-primary);font-size:var(--vdl-font-body-sm);padding:var(--vdl-space-2) 0;border-bottom:1px solid var(--vdl-border-default);background-color:#0000;font-weight:500;transition:background-color .2s}.vl-table-row.is-selected .vl-table-cell{background-color:var(--vdl-bg-active)}.vl-cell{padding:0 var(--vdl-space-3);box-sizing:border-box;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;overflow:hidden}.vl-table-selection-cell{box-sizing:border-box;padding-left:0;padding-right:0}.vl-table-selection-control{justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.vl-table-border{border:1px solid var(--vdl-border-default)}.vl-table-border .vl-table-header-cell,.vl-table-border .vl-table-cell{border-right:1px solid var(--vdl-border-default)}.vl-table-border .vl-table-header-cell:last-child,.vl-table-border .vl-table-cell:last-child{border-right:none}.is-fixed-right{z-index:20;background-color:var(--vdl-bg-panel);position:sticky;right:0}.is-fixed-left{z-index:20;background-color:var(--vdl-bg-panel);position:sticky;left:0}.vl-table-header-cell.is-fixed-left,.vl-table-header-cell.is-fixed-right{z-index:30}.vl-table-empty-cell{padding:var(--vdl-space-8) 0;text-align:center}.vl-table-empty{color:var(--vdl-text-muted);font-size:var(--vdl-font-body-sm)}.vl-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.vl-table-wrapper::-webkit-scrollbar-thumb{background:var(--vdl-scrollbar-thumb);border-radius:var(--vdl-radius-pill)}.vl-table-wrapper::-webkit-scrollbar-track{background:var(--vdl-scrollbar-track)}.vl-selection-bar{justify-content:space-between;align-items:center;gap:var(--vdl-space-3);box-sizing:border-box;min-height:40px;padding:var(--vdl-space-2) var(--vdl-space-3);border:1px solid var(--vdl-border-brand);border-radius:var(--vdl-radius-md);background-color:var(--vdl-bg-active);color:var(--vdl-text-primary);display:flex}.vl-selection-summary,.vl-selection-actions{align-items:center;gap:var(--vdl-space-2);display:flex}.vl-selection-label{color:var(--vdl-text-secondary);font-size:var(--vdl-font-body-sm);font-weight:600}.vl-selection-count{box-sizing:border-box;min-width:24px;height:24px;padding:0 var(--vdl-space-2);border-radius:var(--vdl-radius-pill);background-color:var(--vdl-primary);color:var(--vdl-text-inverse);font-size:var(--vdl-font-caption);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:700;display:inline-flex}@media (width<=640px){.vl-selection-bar{flex-direction:column;align-items:flex-start}.vl-selection-actions{flex-wrap:wrap;width:100%}}.vl-date-time-range-picker{width:100%}.range-trigger{width:100%;height:36px;padding:0 var(--vdl-space-3);border:1px solid var(--vdl-border-default);border-radius:var(--vdl-radius-md);background:var(--vdl-bg-input);color:var(--vdl-text-primary);font-family:var(--vdl-font-code);text-align:left;cursor:pointer;align-items:center;font-size:12px;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex}.range-trigger:hover:not(:disabled),.range-trigger:focus-visible{border-color:var(--vdl-primary);box-shadow:var(--vdl-focus-ring);outline:none}.range-trigger:disabled{cursor:not-allowed;opacity:.6}.range-trigger.is-placeholder{color:var(--vdl-text-subtle)}.trigger-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.range-panel{z-index:calc(var(--vdl-z-index-modal) + 1);gap:var(--vdl-space-3);padding:var(--vdl-space-3);border:1px solid var(--vdl-border-strong);border-radius:var(--vdl-radius-lg);background:var(--vdl-bg-panel);color:var(--vdl-text-primary);box-shadow:var(--vdl-shadow-panel);box-sizing:border-box;grid-template-rows:auto 48px;grid-template-columns:120px 1fr 116px;display:grid;position:fixed;overflow:auto}@media (width<=640px){.range-panel{grid-template-rows:auto;grid-template-columns:1fr}}.shortcut-column,.calendar-column,.time-column{min-width:0}.panel-title{margin-bottom:var(--vdl-space-2);color:var(--vdl-text-muted);font-size:var(--vdl-font-caption);font-weight:600}.shortcut-column{gap:var(--vdl-space-1);flex-direction:column;display:flex}.shortcut-button,.boundary-button,.month-button,.day-button,.time-option,.text-button,.confirm-button{font-family:var(--vdl-font-family);cursor:pointer;border:1px solid #0000}.shortcut-button{border-radius:var(--vdl-radius-sm);background:var(--vdl-bg-muted);height:30px;color:var(--vdl-text-secondary);font-size:var(--vdl-font-caption);text-align:left}.shortcut-button:hover{border-color:var(--vdl-border-brand);color:var(--vdl-text-primary)}.boundary-switch{gap:var(--vdl-space-2);margin-bottom:var(--vdl-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.boundary-button{min-width:0;padding:var(--vdl-space-2);border-radius:var(--vdl-radius-md);background:var(--vdl-bg-input);color:var(--vdl-text-muted);text-align:left;flex-direction:column;gap:2px;display:flex}.boundary-button strong{color:var(--vdl-text-primary);font-family:var(--vdl-font-code);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.boundary-button.is-active{border-color:var(--vdl-border-brand);box-shadow:inset 0 0 0 1px #00c8ff29}.calendar-header{height:30px;margin-bottom:var(--vdl-space-1);font-size:var(--vdl-font-body-sm);justify-content:space-between;align-items:center;font-weight:600;display:flex}.month-button{border-radius:var(--vdl-radius-sm);background:var(--vdl-bg-muted);width:28px;height:28px;color:var(--vdl-text-primary);font-size:18px}.week-grid,.day-grid{grid-template-columns:repeat(7,1fr);display:grid}.week-grid{margin-bottom:var(--vdl-space-1);color:var(--vdl-text-subtle);text-align:center;font-size:11px}.day-grid{gap:3px}.day-button{border-radius:var(--vdl-radius-sm);height:28px;color:var(--vdl-text-secondary);background:0 0;font-size:12px;position:relative}.day-button:hover{background:var(--vdl-bg-hover);color:var(--vdl-text-primary)}.day-button.is-muted{color:var(--vdl-text-subtle);opacity:.55}.day-button.is-today{border-color:var(--vdl-border-brand)}.day-button.is-in-range{background:#00c8ff14}.day-button.is-selected-start,.day-button.is-selected-end{background:var(--vdl-primary);color:var(--vdl-text-inverse)}.time-lists{gap:var(--vdl-space-2);grid-template-columns:repeat(2,1fr);display:grid}.time-list{border:1px solid var(--vdl-border-subtle);border-radius:var(--vdl-radius-md);background:var(--vdl-bg-input);height:284px;overflow-y:auto}.time-option{width:100%;height:28px;color:var(--vdl-text-secondary);font-family:var(--vdl-font-code);background:0 0;font-size:12px;display:block}.time-option:hover,.time-option.is-active{background:var(--vdl-bg-active);color:var(--vdl-text-primary)}.panel-actions{align-items:center;gap:var(--vdl-space-2);border-top:1px solid var(--vdl-border-subtle);padding-top:var(--vdl-space-3);grid-column:1/-1;display:flex}.action-spacer{flex:1}.text-button,.confirm-button{height:30px;padding:0 var(--vdl-space-3);border-radius:var(--vdl-radius-md);font-size:var(--vdl-font-body-sm)}.text-button{background:var(--vdl-bg-muted);color:var(--vdl-text-secondary)}.confirm-button{background:var(--vdl-primary);color:var(--vdl-text-inverse)}
2
+ /*$vite$:1*/
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@vustcc/react",
3
+ "version": "0.1.0-alpha.1",
4
+ "description": "VUST React 19 UI Component Library",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "module": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "style": "./dist/style.css",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ },
16
+ "./style.css": "./dist/style.css"
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "CHANGELOG.md"
21
+ ],
22
+ "sideEffects": [
23
+ "dist/style.css"
24
+ ],
25
+ "dependencies": {
26
+ "@vustcc/icons": "0.1.0-alpha.1",
27
+ "@vustcc/tokens": "0.1.0-alpha.1"
28
+ },
29
+ "peerDependencies": {
30
+ "react": "^19.0.0",
31
+ "react-dom": "^19.0.0"
32
+ },
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/vustcc/vust-ui.git",
36
+ "directory": "packages/react"
37
+ },
38
+ "publishConfig": {
39
+ "registry": "https://registry.npmjs.org",
40
+ "access": "public"
41
+ },
42
+ "devDependencies": {
43
+ "@vitejs/plugin-react": "^6.0.2"
44
+ },
45
+ "scripts": {
46
+ "build": "vite build",
47
+ "type-check": "tsc --noEmit -p tsconfig.json",
48
+ "lint": "oxlint"
49
+ }
50
+ }