@construct-space/ui 0.3.0 → 0.3.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.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Toolbar3D — Construct UI
3
3
  * 3D rotating toolbar that flips on page transitions.
4
- * Shows breadcrumb + action buttons on front, new page content on bottom.
4
+ * Rounded-right-only, inset margins, surface background.
5
5
  */
6
6
  export interface ToolbarAction {
7
7
  id: string;
@@ -31,13 +31,15 @@ type __VLS_Props = {
31
31
  /** Space accent color */
32
32
  spaceColor?: string;
33
33
  };
34
- declare var __VLS_5: {}, __VLS_7: {}, __VLS_13: {};
34
+ declare var __VLS_1: {}, __VLS_7: {}, __VLS_9: {}, __VLS_15: {};
35
35
  type __VLS_Slots = {} & {
36
- left?: (props: typeof __VLS_5) => any;
36
+ 'space-icon'?: (props: typeof __VLS_1) => any;
37
37
  } & {
38
- center?: (props: typeof __VLS_7) => any;
38
+ left?: (props: typeof __VLS_7) => any;
39
39
  } & {
40
- right?: (props: typeof __VLS_13) => any;
40
+ center?: (props: typeof __VLS_9) => any;
41
+ } & {
42
+ right?: (props: typeof __VLS_15) => any;
41
43
  };
42
44
  declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
43
45
  "action-click": (action: ToolbarAction) => any;
@@ -15333,10 +15333,7 @@ var Gm = { class: "fixed top-4 right-4 z-[100] flex flex-col gap-2 w-80" }, Km =
15333
15333
  onClick: (e) => s(t.value)
15334
15334
  }, z(t.label), 11, __))), 128))]));
15335
15335
  }
15336
- }), y_ = /* @__PURE__ */ q({ default: () => b_ }), b_ = v_, x_ = {
15337
- class: "toolbar-panel absolute inset-0 w-full h-11 px-4 flex items-center gap-2 rounded-r-xl border bg-[var(--app-card-bg)]",
15338
- style: { "border-color": "var(--app-border)" }
15339
- }, S_ = { class: "flex items-center gap-1.5 text-sm" }, C_ = {
15336
+ }), y_ = /* @__PURE__ */ q({ default: () => b_ }), b_ = v_, x_ = { class: "toolbar-panel absolute inset-0 w-full h-11 px-4 flex items-center gap-2 rounded-r-xl border border-[var(--app-border)] bg-[var(--app-surface,var(--app-card-bg))]" }, S_ = { class: "flex items-center gap-1.5 text-sm ml-1" }, C_ = {
15340
15337
  key: 0,
15341
15338
  class: "size-3 shrink-0",
15342
15339
  style: { color: "var(--app-muted)" },
@@ -15352,10 +15349,7 @@ var Gm = { class: "fixed top-4 right-4 z-[100] flex flex-col gap-2 w-80" }, Km =
15352
15349
  "disabled",
15353
15350
  "title",
15354
15351
  "onClick"
15355
- ], O_ = {
15356
- class: "toolbar-panel toolbar-panel--bottom absolute inset-0 w-full h-11 px-4 flex items-center gap-2 rounded-r-xl border bg-[var(--app-card-bg)]",
15357
- style: { "border-color": "var(--app-border)" }
15358
- }, k_ = { class: "flex items-center gap-1.5 text-sm" }, A_ = {
15352
+ ], O_ = { class: "toolbar-panel toolbar-panel--bottom absolute inset-0 w-full h-11 px-4 flex items-center gap-2 rounded-r-xl border border-[var(--app-border)] bg-[var(--app-surface,var(--app-card-bg))]" }, k_ = { class: "flex items-center gap-1.5 text-sm ml-1" }, A_ = {
15359
15353
  key: 0,
15360
15354
  class: "size-3 shrink-0",
15361
15355
  style: { color: "var(--app-muted)" },
@@ -15381,21 +15375,25 @@ var Gm = { class: "fixed top-4 right-4 z-[100] flex flex-col gap-2 w-80" }, Km =
15381
15375
  setup(e, { emit: t }) {
15382
15376
  let r = t;
15383
15377
  return (t, i) => (P(), d("div", {
15384
- class: "relative h-11 select-none ml-[22px] mr-[22px] mt-3 perspective-[1000px]",
15378
+ class: "relative h-11 select-none ml-[22px] mr-[22px] mt-3",
15379
+ style: { perspective: "1000px" },
15385
15380
  onContextmenu: i[0] ||= K(() => {}, ["prevent"])
15386
15381
  }, [f("div", {
15387
- class: k(["w-full h-full relative transform-3d", e.rotating ? "transition-transform duration-500 ease-in" : ""]),
15388
- style: j({ transform: e.rotating ? "rotateX(-90deg)" : "rotateX(0deg)" })
15382
+ class: k(["w-full h-full relative", e.rotating ? "transition-transform duration-500 ease-in" : ""]),
15383
+ style: j({
15384
+ transformStyle: "preserve-3d",
15385
+ transform: e.rotating ? "rotateX(-90deg)" : "rotateX(0deg)"
15386
+ })
15389
15387
  }, [f("div", x_, [
15390
15388
  e.spaceIcon ? (P(), d("div", {
15391
15389
  key: 0,
15392
15390
  class: "size-5 rounded flex items-center justify-center shrink-0",
15393
15391
  style: j(`background: color-mix(in srgb, ${e.spaceColor || "var(--app-accent)"} 15%, transparent)`)
15394
- }, [(P(), l(oe("Icon"), {
15392
+ }, [R(t.$slots, "space-icon", {}, () => [(P(), l(oe("Icon"), {
15395
15393
  name: e.spaceIcon,
15396
15394
  class: "size-3.5",
15397
15395
  style: j(`color: ${e.spaceColor || "var(--app-accent)"}`)
15398
- }, null, 8, ["name", "style"]))], 4)) : u("", !0),
15396
+ }, null, 8, ["name", "style"]))], !0)], 4)) : u("", !0),
15399
15397
  f("nav", S_, [(P(!0), d(n, null, L(e.breadcrumbs, (e, t) => (P(), d(n, { key: t }, [t > 0 ? (P(), d("svg", C_, [...i[1] ||= [f("path", {
15400
15398
  "stroke-linecap": "round",
15401
15399
  "stroke-linejoin": "round",
@@ -15410,10 +15408,7 @@ var Gm = { class: "fixed top-4 right-4 z-[100] flex flex-col gap-2 w-80" }, Km =
15410
15408
  i[3] ||= f("div", { class: "flex-1" }, null, -1),
15411
15409
  R(t.$slots, "center", {}, void 0, !0),
15412
15410
  i[4] ||= f("div", { class: "flex-1" }, null, -1),
15413
- e.actions.length ? (P(), d(n, { key: 1 }, [i[2] ||= f("div", {
15414
- class: "w-px h-5",
15415
- style: { background: "var(--app-border)" }
15416
- }, null, -1), f("div", E_, [(P(!0), d(n, null, L(e.actions, (e) => (P(), d("button", {
15411
+ e.actions.length ? (P(), d(n, { key: 1 }, [i[2] ||= f("div", { class: "w-px h-5 bg-[var(--app-border)]" }, null, -1), f("div", E_, [(P(!0), d(n, null, L(e.actions, (e) => (P(), d("button", {
15417
15412
  key: e.id,
15418
15413
  class: k(["toolbar-btn", e.active ? "active" : ""]),
15419
15414
  disabled: e.disabled,
@@ -15431,10 +15426,7 @@ var Gm = { class: "fixed top-4 right-4 z-[100] flex flex-col gap-2 w-80" }, Km =
15431
15426
  d: "M9 5l7 7-7 7"
15432
15427
  }, null, -1)]])) : u("", !0), f("span", { style: j(r === e.nextBreadcrumbs.length - 1 ? "color: var(--app-foreground); font-weight: 500" : "color: var(--app-muted)") }, z(t.label), 5)], 64))), 128))]),
15433
15428
  i[7] ||= f("div", { class: "flex-1" }, null, -1),
15434
- e.nextActions.length ? (P(), d(n, { key: 0 }, [i[6] ||= f("div", {
15435
- class: "w-px h-5",
15436
- style: { background: "var(--app-border)" }
15437
- }, null, -1), f("div", j_, [(P(!0), d(n, null, L(e.nextActions, (e) => (P(), d("button", {
15429
+ e.nextActions.length ? (P(), d(n, { key: 0 }, [i[6] ||= f("div", { class: "w-px h-5 bg-[var(--app-border)]" }, null, -1), f("div", j_, [(P(!0), d(n, null, L(e.nextActions, (e) => (P(), d("button", {
15438
15430
  key: e.id,
15439
15431
  class: k(["toolbar-btn", e.active ? "active" : ""]),
15440
15432
  title: e.label
@@ -15444,7 +15436,7 @@ var Gm = { class: "fixed top-4 right-4 z-[100] flex flex-col gap-2 w-80" }, Km =
15444
15436
  }, null, 8, ["name"]))], 10, M_))), 128))])], 64)) : u("", !0)
15445
15437
  ])], 6)], 32));
15446
15438
  }
15447
- }), P_ = /* @__PURE__ */ q({ default: () => F_ }), F_ = /* @__PURE__ */ Nd(N_, [["__scopeId", "data-v-c460d887"]]), I_ = /* @__PURE__ */ _({
15439
+ }), P_ = /* @__PURE__ */ q({ default: () => F_ }), F_ = /* @__PURE__ */ Nd(N_, [["__scopeId", "data-v-58c96c79"]]), I_ = /* @__PURE__ */ _({
15448
15440
  __name: "Tooltip",
15449
15441
  props: {
15450
15442
  text: { default: "" },
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
- @import "https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700&display=swap";.dropdown-enter-active[data-v-f73b78ff]{transition:all .15s ease-out}.dropdown-leave-active[data-v-f73b78ff]{transition:all .1s ease-in}.dropdown-enter-from[data-v-f73b78ff],.dropdown-leave-to[data-v-f73b78ff]{opacity:0;transform:translateY(-4px)}.dropdown-enter-active[data-v-906e2053]{transition:all .15s ease-out}.dropdown-leave-active[data-v-906e2053]{transition:all .1s ease-in}.dropdown-enter-from[data-v-906e2053],.dropdown-leave-to[data-v-906e2053]{opacity:0;transform:translateY(-4px)}.dropdown-enter-active[data-v-fa1a0566]{transition:all .15s ease-out}.dropdown-leave-active[data-v-fa1a0566]{transition:all .1s ease-in}.dropdown-enter-from[data-v-fa1a0566],.dropdown-leave-to[data-v-fa1a0566]{opacity:0;transform:translateY(-4px)}.toast-enter-active[data-v-2c277680]{transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-leave-active[data-v-2c277680]{transition:all .2s cubic-bezier(.4,0,1,1)}.toast-enter-from[data-v-2c277680],.toast-leave-to[data-v-2c277680]{opacity:0;transform:translate(100%)}.toast-move[data-v-2c277680]{transition:transform .3s cubic-bezier(.4,0,.2,1)}@keyframes progress-indeterminate-f944cf9d{0%{transform:translate(-100%)}to{transform:translate(350%)}}.animate-progress-indeterminate[data-v-f944cf9d]{animation:1.5s ease-in-out infinite progress-indeterminate-f944cf9d}.sidebar-btn[data-v-84231c4b]{cursor:pointer;width:42px;height:42px;color:var(--app-muted);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .15s;display:flex}.sidebar-btn[data-v-84231c4b]:hover{background:color-mix(in srgb, var(--app-muted) 10%, transparent);color:var(--app-foreground)}.sidebar-btn.active[data-v-84231c4b]{background:color-mix(in srgb, var(--item-color,var(--app-accent)) 15%, transparent);color:var(--item-color,var(--app-accent))}.toolbar-panel[data-v-c460d887]{backface-visibility:hidden;transform:translateZ(22px)}.toolbar-panel--bottom[data-v-c460d887]{transform:rotateX(-90deg)translateZ(22px)}.toolbar-btn[data-v-c460d887]{cursor:pointer;width:32px;height:32px;color:var(--app-muted);background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.toolbar-btn[data-v-c460d887]:hover{background:var(--app-input-bg,color-mix(in srgb, var(--app-muted) 10%, transparent));color:var(--app-foreground)}.toolbar-btn.active[data-v-c460d887]{background:color-mix(in srgb, var(--app-accent) 15%, transparent);color:var(--app-accent)}.toolbar-btn[data-v-c460d887]:disabled{opacity:.4;cursor:not-allowed}.tree-root[data-v-9be5dd89]:focus-visible{outline:none}.cui-sidebar-layout{min-height:100vh;display:flex}.cui-sidebar{background:var(--app-background,#18181b);border-right:1px solid var(--app-border,#27272a);z-index:100;flex-direction:column;align-items:center;width:60px;padding:16px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.cui-sidebar-logo{color:var(--app-foreground,#fafafa);margin-bottom:24px;font-size:20px;font-weight:700}.cui-sidebar-logo-text{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.cui-sidebar-nav{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.cui-sidebar-nav-item{cursor:pointer;width:40px;height:40px;color:var(--app-muted,#71717a);border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative}.cui-sidebar-nav-item:hover{color:var(--app-foreground,#fafafa);background:#ffffff0f}.cui-sidebar-nav-item.active{color:var(--app-accent,#ff2d55);background:#ffffff0f}.cui-sidebar-tooltip{background:var(--app-foreground,#fafafa);color:var(--app-background,#18181b);white-space:nowrap;pointer-events:none;z-index:200;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:500;position:absolute;top:50%;left:52px;transform:translateY(-50%)}.cui-sidebar-user{position:relative}.cui-sidebar-avatar{color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.cui-sidebar-avatar img{object-fit:cover;width:100%;height:100%}.cui-sidebar-user-menu{background:var(--app-background,#18181b);border:1px solid var(--app-border,#27272a);z-index:200;border-radius:8px;min-width:160px;padding:4px;position:absolute;bottom:0;left:52px}.cui-sidebar-user-menu-item{color:var(--app-foreground,#fafafa);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:13px;transition:background .15s}.cui-sidebar-user-menu-item:hover{background:#ffffff0f}.cui-sidebar-main{flex:1;min-height:100vh;margin-left:60px}.cui-header-layout{flex-direction:column;min-height:100vh;display:flex}.cui-header{border-bottom:1px solid var(--app-border,#27272a);z-index:100;background:color-mix(in srgb, var(--app-background) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:14px 0;position:sticky;top:0}.cui-header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.cui-header-left{align-items:center;gap:24px;display:flex}.cui-header-logo{color:var(--app-foreground,#fafafa);cursor:pointer;letter-spacing:.02em;font-size:16px;font-weight:700}.cui-header-logo-sub{color:var(--app-muted,#71717a);font-weight:400}.cui-header-nav{align-items:center;gap:16px;display:flex}.cui-header-nav a{color:var(--app-muted,#71717a);cursor:pointer;font-size:13px;text-decoration:none;transition:color .15s}.cui-header-nav a:hover,.cui-header-nav a.active{color:var(--app-foreground,#fafafa)}.cui-header-right{align-items:center;gap:12px;display:flex}.cui-header-avatar{color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.cui-header-avatar img{object-fit:cover;width:100%;height:100%}.cui-header-signin{background:var(--app-accent,#ff2d55);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:opacity .15s}.cui-header-signin:hover{opacity:.9}.cui-header-main{flex:1}:root{--app-background:#fff;--app-foreground:#1e293b;--app-muted:#94a3b8;--app-accent:#ff2d55;--app-accent-hover:#ff1744;--app-accent-foreground:#fff;--app-border:#e2e8f0;--app-canvas-bg:#f1f5f9;--app-status-bg:#f8fafc;--app-card-bg:#fff;--app-card-hover:#f8fafc;--app-input-bg:#fff;--green:#22c55e;--green-bg:#22c55e1a;--red:#ef4444;--red-bg:#ef44441a;--yellow:#eab308;--radius:8px;--radius-lg:12px;--radius-xl:16px;--font-sans:"Rubik", ui-sans-serif, system-ui, sans-serif}.dark,:root.dark,[data-theme=dark]{--app-background:#18181b;--app-foreground:#fafafa;--app-muted:#71717a;--app-accent:#ff2d55;--app-accent-hover:#ff1744;--app-accent-foreground:#fff;--app-border:#27272a;--app-canvas-bg:#09090b;--app-status-bg:#18181b;--app-card-bg:#1e1e22;--app-card-hover:#27272b;--app-input-bg:#18181b}@media (prefers-color-scheme:dark){:root:not(.light):not([data-theme=light]){--app-background:#18181b;--app-foreground:#fafafa;--app-muted:#71717a;--app-accent:#ff2d55;--app-accent-hover:#ff1744;--app-accent-foreground:#fff;--app-border:#27272a;--app-canvas-bg:#09090b;--app-status-bg:#18181b;--app-card-bg:#1e1e22;--app-card-hover:#27272b;--app-input-bg:#18181b}}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-state=checked].bg-primary,[data-state=checked].bg-neutral,button[role=switch][data-state=checked]{background-color:var(--app-accent)!important}button[role=checkbox][data-state=checked],[role=checkbox][data-state=checked]{background-color:var(--app-accent)!important;border-color:var(--app-accent)!important}[data-radix-slider-range],[role=slider] [data-orientation]>span:first-child{background-color:var(--app-accent)!important}[data-radix-slider-thumb],[role=slider] span[role=slider]{border-color:var(--app-accent)!important}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--app-accent)!important;outline:none!important}.cui-label{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{color:var(--app-foreground)!important;caret-color:var(--app-foreground)!important}input::placeholder,textarea::placeholder{color:var(--app-muted)!important;opacity:1!important}.btn{border:1px solid var(--app-border);border-radius:var(--radius);background:var(--app-input-bg);color:var(--app-foreground);cursor:pointer;align-items:center;gap:6px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{background:var(--app-card-hover);border-color:var(--app-muted)}.btn-primary{background:var(--app-accent);border-color:var(--app-accent);color:#fff}.btn-primary:hover{background:var(--app-accent-hover);border-color:var(--app-accent-hover)}.btn-sm{padding:5px 12px;font-size:12px}.btn-lg{border-radius:var(--radius-lg);padding:12px 28px;font-size:15px;font-weight:600}.btn-ghost{color:var(--app-muted);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--app-foreground);background:var(--app-card-bg)}.btn-icon{color:var(--app-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:6px;font-size:14px}.btn-icon:hover{background:var(--app-card-hover);color:var(--app-foreground)}.btn-danger{color:var(--red)}.btn-danger:hover{background:var(--red-bg);color:var(--red)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.page{padding:32px 0}.page-title{letter-spacing:-.02em;margin-bottom:4px;font-size:22px;font-weight:600}.page-subtitle{color:var(--app-muted);margin-bottom:28px;font-size:14px}.card{background:var(--app-card-bg);border:1px solid var(--app-border);border-radius:var(--radius-lg);overflow:hidden}.card-header{border-bottom:1px solid var(--app-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-title{font-size:14px;font-weight:600}.card-body{padding:20px}.form-group{margin-bottom:16px}.form-label{color:var(--app-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.form-input{background:var(--app-input-bg);border:1px solid var(--app-border);border-radius:var(--radius);width:100%;color:var(--app-foreground);outline:none;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.form-input:focus{border-color:var(--app-accent)}.form-input::placeholder{color:var(--app-muted)}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.spinner{border:2px solid var(--app-border);border-top-color:var(--app-accent);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite cui-spin;display:inline-block}@keyframes cui-spin{to{transform:rotate(360deg)}}.loading-state{color:var(--app-muted);justify-content:center;align-items:center;gap:10px;padding:60px 0;font-size:14px;display:flex}.empty-state{text-align:center;color:var(--app-muted);padding:60px 20px}.empty-state p{margin-bottom:16px;font-size:14px}.cui-toast{background:var(--app-card-bg);border:1px solid var(--app-border);border-radius:var(--radius);z-index:2000;padding:12px 20px;font-size:13px;animation:.2s cui-slideUp;position:fixed;bottom:24px;right:24px}.cui-toast.error{border-color:var(--red);color:var(--red)}.cui-toast.success{border-color:var(--green);color:var(--green)}@keyframes cui-slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tabs{border-bottom:1px solid var(--app-border);margin-bottom:24px;display:flex}.tab{color:var(--app-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.tab:hover{color:var(--app-foreground)}.tab.active{color:var(--app-foreground);border-bottom-color:var(--app-accent)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--app-card-bg);border:1px solid var(--app-border);border-radius:var(--radius-lg);width:480px;max-width:90vw;max-height:85vh;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{font-size:16px;font-weight:600}.modal-body{padding:0 24px 24px}.modal-footer{border-top:1px solid var(--app-border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.info-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.info-item{background:var(--app-input-bg);border-radius:var(--radius);padding:16px}.info-label{text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted);margin-bottom:6px;font-size:11px;font-weight:600}.info-value{font-size:14px;font-weight:500}.toggle{background:var(--app-border);cursor:pointer;border:none;border-radius:11px;width:40px;height:22px;transition:background .2s;position:relative}.toggle.active{background:var(--app-accent)}.toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle.active:after{transform:translate(18px)}.badge-a{color:#60a5fa;background:#60a5fa1f}.badge-aaaa{color:#a78bfa;background:#a78bfa1f}.badge-cname{color:#34d399;background:#34d3991f}.badge-mx{color:#fbbf24;background:#fbbf241f}.badge-txt{color:#f87171;background:#f871711f}.badge-ns{color:#38bdf8;background:#38bdf81f}.badge-srv{color:#fb923c;background:#fb923c1f}.badge-default{color:var(--app-muted);background:#8888a01f}.dns-table{border-collapse:collapse;width:100%}.dns-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted);border-bottom:1px solid var(--app-border);padding:10px 16px;font-size:11px;font-weight:600}.dns-table td{border-bottom:1px solid var(--app-border);vertical-align:middle;padding:12px 16px;font-size:13px}.dns-table tr:last-child td{border-bottom:none}.dns-table tr:hover td{background:var(--app-card-hover)}.back-link{color:var(--app-muted);align-items:center;gap:6px;margin-bottom:20px;font-size:13px;text-decoration:none;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--app-foreground)}@media (width<=768px){.form-row,.info-grid{grid-template-columns:1fr}}
1
+ @import "https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700&display=swap";.dropdown-enter-active[data-v-f73b78ff]{transition:all .15s ease-out}.dropdown-leave-active[data-v-f73b78ff]{transition:all .1s ease-in}.dropdown-enter-from[data-v-f73b78ff],.dropdown-leave-to[data-v-f73b78ff]{opacity:0;transform:translateY(-4px)}.dropdown-enter-active[data-v-906e2053]{transition:all .15s ease-out}.dropdown-leave-active[data-v-906e2053]{transition:all .1s ease-in}.dropdown-enter-from[data-v-906e2053],.dropdown-leave-to[data-v-906e2053]{opacity:0;transform:translateY(-4px)}.dropdown-enter-active[data-v-fa1a0566]{transition:all .15s ease-out}.dropdown-leave-active[data-v-fa1a0566]{transition:all .1s ease-in}.dropdown-enter-from[data-v-fa1a0566],.dropdown-leave-to[data-v-fa1a0566]{opacity:0;transform:translateY(-4px)}.toast-enter-active[data-v-2c277680]{transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-leave-active[data-v-2c277680]{transition:all .2s cubic-bezier(.4,0,1,1)}.toast-enter-from[data-v-2c277680],.toast-leave-to[data-v-2c277680]{opacity:0;transform:translate(100%)}.toast-move[data-v-2c277680]{transition:transform .3s cubic-bezier(.4,0,.2,1)}@keyframes progress-indeterminate-f944cf9d{0%{transform:translate(-100%)}to{transform:translate(350%)}}.animate-progress-indeterminate[data-v-f944cf9d]{animation:1.5s ease-in-out infinite progress-indeterminate-f944cf9d}.sidebar-btn[data-v-84231c4b]{cursor:pointer;width:42px;height:42px;color:var(--app-muted);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .15s;display:flex}.sidebar-btn[data-v-84231c4b]:hover{background:color-mix(in srgb, var(--app-muted) 10%, transparent);color:var(--app-foreground)}.sidebar-btn.active[data-v-84231c4b]{background:color-mix(in srgb, var(--item-color,var(--app-accent)) 15%, transparent);color:var(--item-color,var(--app-accent))}.toolbar-panel[data-v-58c96c79]{backface-visibility:hidden;transform:translateZ(22px)}.toolbar-panel--bottom[data-v-58c96c79]{transform:rotateX(-90deg)translateZ(22px)}.toolbar-btn[data-v-58c96c79]{cursor:pointer;width:32px;height:32px;color:var(--app-muted);background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.toolbar-btn[data-v-58c96c79]:hover{background:var(--app-input-bg,color-mix(in srgb, var(--app-muted) 10%, transparent));color:var(--app-foreground)}.toolbar-btn.active[data-v-58c96c79]{background:color-mix(in srgb, var(--app-accent) 15%, transparent);color:var(--app-accent)}.toolbar-btn[data-v-58c96c79]:disabled{opacity:.4;cursor:not-allowed}.tree-root[data-v-9be5dd89]:focus-visible{outline:none}.cui-sidebar-layout{min-height:100vh;display:flex}.cui-sidebar{background:var(--app-background,#18181b);border-right:1px solid var(--app-border,#27272a);z-index:100;flex-direction:column;align-items:center;width:60px;padding:16px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.cui-sidebar-logo{color:var(--app-foreground,#fafafa);margin-bottom:24px;font-size:20px;font-weight:700}.cui-sidebar-logo-text{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.cui-sidebar-nav{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.cui-sidebar-nav-item{cursor:pointer;width:40px;height:40px;color:var(--app-muted,#71717a);border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative}.cui-sidebar-nav-item:hover{color:var(--app-foreground,#fafafa);background:#ffffff0f}.cui-sidebar-nav-item.active{color:var(--app-accent,#ff2d55);background:#ffffff0f}.cui-sidebar-tooltip{background:var(--app-foreground,#fafafa);color:var(--app-background,#18181b);white-space:nowrap;pointer-events:none;z-index:200;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:500;position:absolute;top:50%;left:52px;transform:translateY(-50%)}.cui-sidebar-user{position:relative}.cui-sidebar-avatar{color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.cui-sidebar-avatar img{object-fit:cover;width:100%;height:100%}.cui-sidebar-user-menu{background:var(--app-background,#18181b);border:1px solid var(--app-border,#27272a);z-index:200;border-radius:8px;min-width:160px;padding:4px;position:absolute;bottom:0;left:52px}.cui-sidebar-user-menu-item{color:var(--app-foreground,#fafafa);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:13px;transition:background .15s}.cui-sidebar-user-menu-item:hover{background:#ffffff0f}.cui-sidebar-main{flex:1;min-height:100vh;margin-left:60px}.cui-header-layout{flex-direction:column;min-height:100vh;display:flex}.cui-header{border-bottom:1px solid var(--app-border,#27272a);z-index:100;background:color-mix(in srgb, var(--app-background) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:14px 0;position:sticky;top:0}.cui-header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.cui-header-left{align-items:center;gap:24px;display:flex}.cui-header-logo{color:var(--app-foreground,#fafafa);cursor:pointer;letter-spacing:.02em;font-size:16px;font-weight:700}.cui-header-logo-sub{color:var(--app-muted,#71717a);font-weight:400}.cui-header-nav{align-items:center;gap:16px;display:flex}.cui-header-nav a{color:var(--app-muted,#71717a);cursor:pointer;font-size:13px;text-decoration:none;transition:color .15s}.cui-header-nav a:hover,.cui-header-nav a.active{color:var(--app-foreground,#fafafa)}.cui-header-right{align-items:center;gap:12px;display:flex}.cui-header-avatar{color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.cui-header-avatar img{object-fit:cover;width:100%;height:100%}.cui-header-signin{background:var(--app-accent,#ff2d55);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:opacity .15s}.cui-header-signin:hover{opacity:.9}.cui-header-main{flex:1}:root{--app-background:#fff;--app-foreground:#1e293b;--app-muted:#94a3b8;--app-accent:#ff2d55;--app-accent-hover:#ff1744;--app-accent-foreground:#fff;--app-border:#e2e8f0;--app-canvas-bg:#f1f5f9;--app-status-bg:#f8fafc;--app-card-bg:#fff;--app-card-hover:#f8fafc;--app-input-bg:#fff;--green:#22c55e;--green-bg:#22c55e1a;--red:#ef4444;--red-bg:#ef44441a;--yellow:#eab308;--radius:8px;--radius-lg:12px;--radius-xl:16px;--font-sans:"Rubik", ui-sans-serif, system-ui, sans-serif}.dark,:root.dark,[data-theme=dark]{--app-background:#18181b;--app-foreground:#fafafa;--app-muted:#71717a;--app-accent:#ff2d55;--app-accent-hover:#ff1744;--app-accent-foreground:#fff;--app-border:#27272a;--app-canvas-bg:#09090b;--app-status-bg:#18181b;--app-card-bg:#1e1e22;--app-card-hover:#27272b;--app-input-bg:#18181b}@media (prefers-color-scheme:dark){:root:not(.light):not([data-theme=light]){--app-background:#18181b;--app-foreground:#fafafa;--app-muted:#71717a;--app-accent:#ff2d55;--app-accent-hover:#ff1744;--app-accent-foreground:#fff;--app-border:#27272a;--app-canvas-bg:#09090b;--app-status-bg:#18181b;--app-card-bg:#1e1e22;--app-card-hover:#27272b;--app-input-bg:#18181b}}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-state=checked].bg-primary,[data-state=checked].bg-neutral,button[role=switch][data-state=checked]{background-color:var(--app-accent)!important}button[role=checkbox][data-state=checked],[role=checkbox][data-state=checked]{background-color:var(--app-accent)!important;border-color:var(--app-accent)!important}[data-radix-slider-range],[role=slider] [data-orientation]>span:first-child{background-color:var(--app-accent)!important}[data-radix-slider-thumb],[role=slider] span[role=slider]{border-color:var(--app-accent)!important}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--app-accent)!important;outline:none!important}.cui-label{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{color:var(--app-foreground)!important;caret-color:var(--app-foreground)!important}input::placeholder,textarea::placeholder{color:var(--app-muted)!important;opacity:1!important}.btn{border:1px solid var(--app-border);border-radius:var(--radius);background:var(--app-input-bg);color:var(--app-foreground);cursor:pointer;align-items:center;gap:6px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{background:var(--app-card-hover);border-color:var(--app-muted)}.btn-primary{background:var(--app-accent);border-color:var(--app-accent);color:#fff}.btn-primary:hover{background:var(--app-accent-hover);border-color:var(--app-accent-hover)}.btn-sm{padding:5px 12px;font-size:12px}.btn-lg{border-radius:var(--radius-lg);padding:12px 28px;font-size:15px;font-weight:600}.btn-ghost{color:var(--app-muted);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--app-foreground);background:var(--app-card-bg)}.btn-icon{color:var(--app-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:6px;font-size:14px}.btn-icon:hover{background:var(--app-card-hover);color:var(--app-foreground)}.btn-danger{color:var(--red)}.btn-danger:hover{background:var(--red-bg);color:var(--red)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.page{padding:32px 0}.page-title{letter-spacing:-.02em;margin-bottom:4px;font-size:22px;font-weight:600}.page-subtitle{color:var(--app-muted);margin-bottom:28px;font-size:14px}.card{background:var(--app-card-bg);border:1px solid var(--app-border);border-radius:var(--radius-lg);overflow:hidden}.card-header{border-bottom:1px solid var(--app-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-title{font-size:14px;font-weight:600}.card-body{padding:20px}.form-group{margin-bottom:16px}.form-label{color:var(--app-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.form-input{background:var(--app-input-bg);border:1px solid var(--app-border);border-radius:var(--radius);width:100%;color:var(--app-foreground);outline:none;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.form-input:focus{border-color:var(--app-accent)}.form-input::placeholder{color:var(--app-muted)}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.spinner{border:2px solid var(--app-border);border-top-color:var(--app-accent);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite cui-spin;display:inline-block}@keyframes cui-spin{to{transform:rotate(360deg)}}.loading-state{color:var(--app-muted);justify-content:center;align-items:center;gap:10px;padding:60px 0;font-size:14px;display:flex}.empty-state{text-align:center;color:var(--app-muted);padding:60px 20px}.empty-state p{margin-bottom:16px;font-size:14px}.cui-toast{background:var(--app-card-bg);border:1px solid var(--app-border);border-radius:var(--radius);z-index:2000;padding:12px 20px;font-size:13px;animation:.2s cui-slideUp;position:fixed;bottom:24px;right:24px}.cui-toast.error{border-color:var(--red);color:var(--red)}.cui-toast.success{border-color:var(--green);color:var(--green)}@keyframes cui-slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tabs{border-bottom:1px solid var(--app-border);margin-bottom:24px;display:flex}.tab{color:var(--app-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.tab:hover{color:var(--app-foreground)}.tab.active{color:var(--app-foreground);border-bottom-color:var(--app-accent)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--app-card-bg);border:1px solid var(--app-border);border-radius:var(--radius-lg);width:480px;max-width:90vw;max-height:85vh;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{font-size:16px;font-weight:600}.modal-body{padding:0 24px 24px}.modal-footer{border-top:1px solid var(--app-border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.info-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.info-item{background:var(--app-input-bg);border-radius:var(--radius);padding:16px}.info-label{text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted);margin-bottom:6px;font-size:11px;font-weight:600}.info-value{font-size:14px;font-weight:500}.toggle{background:var(--app-border);cursor:pointer;border:none;border-radius:11px;width:40px;height:22px;transition:background .2s;position:relative}.toggle.active{background:var(--app-accent)}.toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle.active:after{transform:translate(18px)}.badge-a{color:#60a5fa;background:#60a5fa1f}.badge-aaaa{color:#a78bfa;background:#a78bfa1f}.badge-cname{color:#34d399;background:#34d3991f}.badge-mx{color:#fbbf24;background:#fbbf241f}.badge-txt{color:#f87171;background:#f871711f}.badge-ns{color:#38bdf8;background:#38bdf81f}.badge-srv{color:#fb923c;background:#fb923c1f}.badge-default{color:var(--app-muted);background:#8888a01f}.dns-table{border-collapse:collapse;width:100%}.dns-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted);border-bottom:1px solid var(--app-border);padding:10px 16px;font-size:11px;font-weight:600}.dns-table td{border-bottom:1px solid var(--app-border);vertical-align:middle;padding:12px 16px;font-size:13px}.dns-table tr:last-child td{border-bottom:none}.dns-table tr:hover td{background:var(--app-card-hover)}.back-link{color:var(--app-muted);align-items:center;gap:6px;margin-bottom:20px;font-size:13px;text-decoration:none;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--app-foreground)}@media (width<=768px){.form-row,.info-grid{grid-template-columns:1fr}}
2
2
  /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@construct-space/ui",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Construct UI — Vue 3 component library for Construct services",
5
5
  "type": "module",
6
6
  "main": "./dist/construct-ui.js",