@nightshadeui/core 2.0.0-dev.3

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/dist/core.css ADDED
@@ -0,0 +1 @@
1
+ .Btn[data-v-b5c1c5d3]{--Btn-size:var(--input-size);--Btn-padding:var(--sp1-5);--Btn-gap:var(--sp);--Btn-font-size:var(--font-size);--Btn-text-color:var(--input-surface-color-text);--Btn-text-shadow:var(--Btn-surface-bottom);--Btn-outline-color:transparent;--Btn-surface:var(--input-surface-color);--Btn-surface-top:var(--input-surface-color-top);--Btn-surface-bottom:var(--input-surface-color-bottom);--Btn-border-size:0;--Btn-border-color:transparent;--Btn-border-radius:var(--border-radius);--Btn-shadow-color:var(--input-shadow-color);--Btn-gradient-x:50%;--Btn-gradient-y:0%;--Btn-gradient-width:150%;--Btn-gradient-height:150%;appearance:none;z-index:var(--input-z);padding:0 var(--Btn-padding);height:var(--Btn-size);line-height:var(--Btn-size);box-sizing:border-box;justify-content:flex-start;align-items:center;gap:var(--Btn-gap);border:var(--Btn-border-size)solid var(--Btn-border-color);border-radius:var(--Btn-border-radius);color:var(--Btn-text-color);text-shadow:0 1px 1px var(--Btn-text-shadow);outline:var(--input-outline-size)solid var(--Btn-outline-color);outline-offset:var(--input-outline-offset);background:radial-gradient(var(--Btn-gradient-width)var(--Btn-gradient-height)at var(--Btn-gradient-x)var(--Btn-gradient-y),var(--Btn-surface-top),var(--Btn-surface-bottom));cursor:pointer;-webkit-user-select:none;user-select:none;font-family:inherit;font-size:var(--Btn-font-size);flex-shrink:0;margin:0;transition:color .3s,outline .3s,filter .3s,border-radius .3s;display:inline-flex;position:relative}.Btn[data-v-b5c1c5d3]:after{content:"";z-index:1;border-radius:var(--Btn-border-radius);mix-blend-mode:color-dodge;pointer-events:none;opacity:0;background:#7f7f7f0d;width:100%;height:100%;position:absolute;top:0;left:0}.Label[data-v-b5c1c5d3]{line-height:var(--Btn-size);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.Icon[data-v-b5c1c5d3]{width:var(--sp2);font-size:var(--Btn-font-size);justify-content:center;align-items:center;display:flex}.Btn-iconPos-right .Icon[data-v-b5c1c5d3]{order:100}.Btn[data-v-b5c1c5d3]:focus,.Btn[data-v-b5c1c5d3]:active,.Btn[data-v-b5c1c5d3]:hover{transition:none}.Btn[data-v-b5c1c5d3]:not(:disabled):hover:after,.Btn.Btn-force-hover[data-v-b5c1c5d3]:after{opacity:1}.Btn[data-v-b5c1c5d3]:not(:disabled):focus,.Btn.Btn-force-focus[data-v-b5c1c5d3]{z-index:10;--Btn-outline-color:var(--input-focus-light-color);--Btn-border-color:var(--input-focus-medium-color)}.Btn[data-v-b5c1c5d3]:not(:disabled):active,.Btn.Btn-force-active[data-v-b5c1c5d3]{box-shadow:0 6px 12px var(--shadow-color-light)inset,0 1px 2px var(--shadow-color-medium)inset;padding-top:1px}.Btn-disabled[data-v-b5c1c5d3]{opacity:.64;filter:saturate(40%);cursor:not-allowed}.Btn-round[data-v-b5c1c5d3]{--Btn-border-radius:var(--border-radius-m)}.Btn-ghost[data-v-b5c1c5d3]{--Btn-surface:transparent;--Btn-surface-top:transparent;--Btn-surface-bottom:transparent;--Btn-text-color:var(--input-text-color);--Btn-text-shadow:none;--Btn-shadow-color:var(--shadow-color-light)}.Btn-outline[data-v-b5c1c5d3]{--Btn-border-color:var(--input-border-color);--Btn-border-size:var(--input-border-size)}.Btn-flat[data-v-b5c1c5d3]{--Btn-surface-top:var(--Btn-surface);--Btn-surface-bottom:var(--Btn-surface);--Btn-text-shadow:none}.Btn-shadow[data-v-b5c1c5d3]{box-shadow:0 1px 1px var(--Btn-shadow-color),0 0 5px -1px var(--shadow-color-light)}.Btn-square[data-v-b5c1c5d3]{width:var(--Btn-size);justify-content:center;padding-left:0;padding-right:0}.Btn-block[data-v-b5c1c5d3]{flex:auto;justify-content:center;display:flex}.Btn-large[data-v-b5c1c5d3]{--Btn-size:var(--input-size-l);--Btn-font-size:var(--font-size-l);--Btn-padding:var(--sp2)}.Btn-small[data-v-b5c1c5d3]{--Btn-size:var(--input-size-s);--Btn-font-size:var(--font-size-s);--Btn-padding:var(--sp);--Btn-gap:var(--sp0-5)}.HGroup[data-v-73c7b415]{flex-flow:row;display:flex}.HGroup-align-stretch[data-v-73c7b415]{align-items:stretch}.HGroup-align-baseline[data-v-73c7b415]{align-items:baseline}.HGroup-align-center[data-v-73c7b415]{align-items:center}.HGroup-align-start[data-v-73c7b415]{align-items:flex-start}.HGroup-align-end[data-v-73c7b415]{align-items:flex-end}.HGroup-justify-center[data-v-73c7b415]{justify-content:center}.HGroup-justify-start[data-v-73c7b415]{justify-content:flex-start}.HGroup-justify-end[data-v-73c7b415]{justify-content:flex-end}.HGroup-justify-space-around[data-v-73c7b415]{justify-content:space-around}.HGroup-justify-space-between[data-v-73c7b415]{justify-content:space-between}.HGroup-gap-xxs[data-v-73c7b415]{gap:var(--sp-xxs)}.HGroup-gap-xs[data-v-73c7b415]{gap:var(--sp-xs)}.HGroup-gap-s[data-v-73c7b415]{gap:var(--sp-s)}.HGroup-gap-m[data-v-73c7b415]{gap:var(--sp-m)}.HGroup-gap-l[data-v-73c7b415]{gap:var(--sp-l)}.HGroup-gap-xl[data-v-73c7b415]{gap:var(--sp-xl)}.HGroup-gap-xxl[data-v-73c7b415]{gap:var(--sp-xxl)}.HGroup-gap-0[data-v-73c7b415]{gap:0}.HGroup-gap-0-25[data-v-73c7b415]{gap:var(--sp0-25)}.HGroup-gap-0-5[data-v-73c7b415]{gap:var(--sp0-5)}.HGroup-gap-1[data-v-73c7b415]{gap:var(--sp1)}.HGroup-gap-1-5[data-v-73c7b415]{gap:var(--sp1-5)}.HGroup-gap-2[data-v-73c7b415]{gap:var(--sp2)}.HGroup-gap-2-5[data-v-73c7b415]{gap:var(--sp2-5)}.HGroup-gap-3[data-v-73c7b415]{gap:var(--sp3)}.HGroup-gap-4[data-v-73c7b415]{gap:var(--sp4)}.HGroup-gap-5[data-v-73c7b415]{gap:var(--sp5)}.HGroup-gap-6[data-v-73c7b415]{gap:var(--sp6)}.HGroup-gap-7[data-v-73c7b415]{gap:var(--sp7)}.HGroup-gap-8[data-v-73c7b415]{gap:var(--sp8)}.HGroup-gap-9[data-v-73c7b415]{gap:var(--sp9)}.HGroup-gap-10[data-v-73c7b415]{gap:var(--sp10)}.HGroup-gap-12[data-v-73c7b415]{gap:var(--sp12)}.HGroup-gap-16[data-v-73c7b415]{gap:var(--sp16)}.HGroup-gap-24[data-v-73c7b415]{gap:var(--sp24)}.HGroup-gap-32[data-v-73c7b415]{gap:var(--sp32)}.HGroup-wrap[data-v-73c7b415]{flex-wrap:wrap}.Tab[data-v-525c42ae]{--Tab-size:var(--sp3);--Tab-cap-size:var(--sp4);--Tab-surface:var(--color-base-1);--Tab-color:var(--color-text-0);--Tab-shadow-size:.5px;--Tab-shadow-color:var(--shadow-color-medium);--Tab-shadow-offset-x:0;--Tab-shadow-offset-y:0;cursor:pointer;filter:drop-shadow(var(--Tab-shadow-offset-x)var(--Tab-shadow-offset-y)var(--Tab-shadow-size)var(--Tab-shadow-color));display:flex;position:relative}.TabCap[data-v-525c42ae],.Content[data-v-525c42ae]{z-index:2;position:relative}.Content[data-v-525c42ae]{background:var(--Tab-surface);min-width:0;color:var(--Tab-color);align-items:center;display:flex}.TabLabel[data-v-525c42ae]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.Tab-h[data-v-525c42ae]{height:var(--Tab-size);flex-flow:row}.Tab-v[data-v-525c42ae]{width:var(--Tab-size);flex-flow:column}.Tab-v .Content[data-v-525c42ae]{writing-mode:vertical-lr;text-orientation:sideways-right;transform-origin:50%;transform:rotate(180deg)}.TabCap[data-v-525c42ae]{flex:0 0 var(--Tab-cap-size);fill:var(--Tab-surface)}.Tab-h .TabCap[data-v-525c42ae]{width:var(--Tab-cap-size)}.Tab-v .TabCap[data-v-525c42ae]{height:var(--Tab-cap-size)}.InputBase[data-v-223a8b88]{--InputBase-size:var(--input-size);--InputBase-padding:var(--sp1-5);--InputBase-gap:var(--sp);--InputBase-font-size:var(--font-size);--InputBase-text-color:var(--text-color);--InputBase-surface:var(--base-color);--InputBase-outline-color:transparent;--InputBase-outline-size:var(--input-outline-size);--InputBase-outline-offset:var(--input-outline-offset);--InputBase-border-size:var(--input-border-size);--InputBase-border-color:var(--input-border-color);--InputBase-border-radius:var(--border-radius);--InputBase-label-color:var(--input-label-color);--InputBase-label-font-size:var(--font-size-s);--InputBase-tab-surface-color:var(--input-surface-color-top);--InputBase-tab-text-color:var(--input-surface-color-text);z-index:var(--input-z);outline:0;flex-flow:column;display:flex;position:relative}.Container[data-v-223a8b88]{z-index:1;box-sizing:border-box;padding:var(--InputBase-padding);align-items:center;gap:var(--InputBase-gap);width:100%;min-height:var(--InputBase-size);color:var(--InputBase-text-color);background:var(--InputBase-surface);outline:var(--InputBase-outline-size)solid var(--InputBase-outline-color);outline-offset:var(--InputBase-outline-offset);border:var(--InputBase-border-size)solid var(--InputBase-border-color);border-radius:var(--InputBase-border-radius);font-size:var(--InputBase-font-size);transition:color .3s,outline .3s,border-radius .3s,filter .3s;display:flex;position:relative}.InputBase[data-v-223a8b88]:not(.InputBase-disabled):focus-within,.InputBase.InputBase-force-focus[data-v-223a8b88]{z-index:10;--InputBase-outline-color:var(--input-focus-light-color);--InputBase-border-color:var(--input-focus-medium-color);--InputBase-label-color:var(--input-focus-medium-color)}.InputBase-disabled .Container[data-v-223a8b88]{--InputBase-surface:var(--color-base-100);opacity:.6;filter:saturate(40%);cursor:not-allowed}.InputBase-fixed-height .Container[data-v-223a8b88]{height:var(--InputBase-size)}.InputBase-round[data-v-223a8b88]{--InputBase-border-radius:var(--border-radius-m)}.InputBase-shadow .Container[data-v-223a8b88]{box-shadow:0 0 5px -1px var(--shadow-color-light)inset}.InputBase-small[data-v-223a8b88]{--InputBase-size:var(--input-size-s);--InputBase-font-size:var(--font-size-s);--InputBase-label-font-size:var(--font-size-xs);--InputBase-padding:var(--sp)}.InputBase-large[data-v-223a8b88]{--InputBase-size:var(--input-size-l);--InputBase-font-size:var(--font-size-l);--InputBase-padding:var(--sp2)}.Label[data-v-223a8b88]{font-size:var(--InputBase-label-font-size);max-width:calc(100% - 2*var(--sp2))}.Label.TabLabel[data-v-223a8b88]{z-index:0;margin:0 var(--sp2);--Tab-surface:var(--InputBase-tab-surface-color);--Tab-color:var(--InputBase-tab-text-color);--Tab-size:calc(.75*var(--InputBase-size));--Tab-cap-size:calc(.75*var(--InputBase-size));align-self:flex-start;position:relative}.Label.TextLabel[data-v-223a8b88]{margin:0 var(--InputBase-padding);height:var(--sp3);color:var(--InputBase-text-color);white-space:nowrap;text-overflow:ellipsis;line-height:1.5;overflow:hidden}.Label.InlineLabel[data-v-223a8b88]{z-index:2;margin:0 var(--InputBase-padding);color:var(--InputBase-label-color);white-space:nowrap;text-overflow:ellipsis;padding:0 2px;position:absolute;top:0;left:0;overflow:hidden;transform:translateY(-50%)}.Label.InlineLabel[data-v-223a8b88]:after{content:"";height:var(--sp);z-index:-1;background:var(--InputBase-surface);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.InputGroup[data-v-d218bf44]{flex-flow:row;align-items:end;display:flex}.InputGroup[data-v-d218bf44]>.InputElement:not(:first-child){margin-left:calc(-1*var(--input-border-size));border-start-start-radius:0;border-end-start-radius:0}.InputGroup[data-v-d218bf44]>.InputElement:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.Icon[data-v-9fe1f46c]{opacity:.5;width:var(--sp2);padding-right:var(--sphalf);justify-content:center;align-items:center;display:flex}.Value[data-v-9fe1f46c],.Placeholder[data-v-9fe1f46c]{line-height:var(--input-size);white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.DropdownIcon[data-v-9fe1f46c]{color:var(--color-text-2);font-size:var(--font-size-small)}.InputText[data-v-7abebe33]{--InputBase-padding:var(--sp1-5)}input[data-v-7abebe33],textarea[data-v-7abebe33]{-webkit-appearance:none;box-sizing:border-box;-webkit-user-select:text;user-select:text;width:100%;min-width:0;color:inherit;font:inherit;cursor:inherit;background:0 0;border:0;outline:0;flex:1;padding:0}.InputTextarea[data-v-be132dbe]{--InputBase-padding:var(--sp1)var(--sp1-5)}input[data-v-be132dbe],textarea[data-v-be132dbe]{-webkit-appearance:none;box-sizing:border-box;-webkit-user-select:text;user-select:text;width:100%;min-width:0;color:inherit;font:inherit;cursor:inherit;resize:none;background:0 0;border:0;outline:0;flex:1;padding:0}.InputBase[data-v-be132dbe] .Container{overflow-y:auto}textarea[data-v-be132dbe]{align-self:flex-start}.Sizer[data-v-e490e579]{flex:1;min-width:0;min-height:0}path[data-v-9344b5a2]{transform-origin:50%;stroke:none}.TabCap-top.TabCap-start path[data-v-9344b5a2]{transform:scale(1)}.TabCap-top.TabCap-end path[data-v-9344b5a2]{transform:scaleX(-1)}.TabCap-bottom.TabCap-start path[data-v-9344b5a2]{transform:scaleY(-1)}.TabCap-bottom.TabCap-end path[data-v-9344b5a2]{transform:scale(-1)}.TabCap-right.TabCap-start path[data-v-9344b5a2]{transform:scale(1)rotate(90deg)}.TabCap-right.TabCap-end path[data-v-9344b5a2]{transform:scaleX(-1)rotate(-90deg)}.TabCap-left.TabCap-start path[data-v-9344b5a2]{transform:scaleY(-1)rotate(-90deg)}.TabCap-left.TabCap-end path[data-v-9344b5a2]{transform:scale(-1)rotate(90deg)}.Toggle[data-v-6d6e9f0f]{--Toggle-size:var(--input-size);--Toggle-width:calc(1.618*var(--Toggle-size));--Toggle-knob-offset:4px;--Toggle-knob-size:calc(var(--Toggle-size) - 2*var(--Toggle-knob-offset));--Toggle-knob-outline-offset:-2px;--Toggle-knob-radius:calc(var(--Toggle-border-radius) - .5*var(--Toggle-knob-offset));--Toggle-outline-color:transparent;--Toggle-surface:var(--color-base-200);--Toggle-knob-surface:light-dark(var(--color-base-0),var(--color-base-800));--Toggle-border-size:0px;--Toggle-border-color:transparent;--Toggle-border-radius:var(--border-radius);--Toggle-shadow-color:var(--shadow-color-light);width:var(--Toggle-width);height:var(--Toggle-size);border:var(--Toggle-border-size)solid var(--Toggle-border-color);border-radius:var(--Toggle-border-radius);background:var(--Toggle-surface);outline:var(--input-outline-size)solid var(--Toggle-outline-color);outline-offset:var(--input-outline-offset);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 1px 3px var(--Toggle-shadow-color)inset,0 0 5px -1px var(--Toggle-shadow-color)inset;background-clip:border-box;transition:background-color .3s,border-radius .3s;display:block;position:relative}.Toggle input[data-v-6d6e9f0f]{display:none}.Toggle[data-v-6d6e9f0f]:before{content:"";width:var(--Toggle-knob-size);height:var(--Toggle-knob-size);border-radius:var(--Toggle-knob-radius);background:var(--Toggle-knob-surface);box-shadow:0 1px 3px var(--Toggle-shadow-color);transform:translate(calc(var(--Toggle-knob-offset) - var(--Toggle-border-size)),-50%);transition:transform .3s,border-radius .3s;position:absolute;top:50%;left:0}.Toggle-knob-outline[data-v-6d6e9f0f]:before{outline:var(--input-outline-size)solid var(--Toggle-outline-color);outline-offset:var(--input-outline-offset)}.Toggle-disabled[data-v-6d6e9f0f]{cursor:not-allowed;opacity:.5}.Toggle[data-v-6d6e9f0f]:not(:disabled):hover,.Toggle.Toggle-force-hover[data-v-6d6e9f0f]{filter:brightness(.96)}.Toggle[data-v-6d6e9f0f]:not(:disabled):focus,.Toggle.Toggle-force-focus[data-v-6d6e9f0f]{z-index:10;--Toggle-outline-color:var(--input-focus-light-color);--Toggle-border-color:var(--input-focus-medium-color)}.Toggle-active[data-v-6d6e9f0f]{--Toggle-surface:var(--input-surface-color);--Toggle-knob-surface:var(--input-surface-color-text)}.Toggle-active[data-v-6d6e9f0f]:before{transform:translate(calc(var(--Toggle-width) - var(--Toggle-knob-size) - var(--Toggle-knob-offset) - var(--Toggle-border-size)),-50%)}.Toggle-round[data-v-6d6e9f0f]{--Toggle-border-radius:var(--border-radius-m)}.Toggle-outline[data-v-6d6e9f0f]{--Toggle-border-color:var(--input-border-color);--Toggle-border-size:var(--input-border-size)}.Toggle-flat[data-v-6d6e9f0f]{--Toggle-shadow-color:none;box-shadow:none}.Toggle-small[data-v-6d6e9f0f]{--Toggle-size:var(--input-size-s)}.Toggle-large[data-v-6d6e9f0f]{--Toggle-size:var(--input-size-l)}.VGroup[data-v-fb2289bb]{flex-flow:column;display:flex}.VGroup-align-stretch[data-v-fb2289bb]{align-items:stretch}.VGroup-align-baseline[data-v-fb2289bb]{align-items:baseline}.VGroup-align-center[data-v-fb2289bb]{align-items:center}.VGroup-align-start[data-v-fb2289bb]{align-items:flex-start}.VGroup-align-end[data-v-fb2289bb]{align-items:flex-end}.VGroup-justify-center[data-v-fb2289bb]{justify-content:center}.VGroup-justify-start[data-v-fb2289bb]{justify-content:flex-start}.VGroup-justify-end[data-v-fb2289bb]{justify-content:flex-end}.VGroup-justify-space-around[data-v-fb2289bb]{justify-content:space-around}.VGroup-justify-space-between[data-v-fb2289bb]{justify-content:space-between}.VGroup-gap-xxs[data-v-fb2289bb]{gap:var(--sp-xxs)}.VGroup-gap-xs[data-v-fb2289bb]{gap:var(--sp-xs)}.VGroup-gap-s[data-v-fb2289bb]{gap:var(--sp-s)}.VGroup-gap-m[data-v-fb2289bb]{gap:var(--sp-m)}.VGroup-gap-l[data-v-fb2289bb]{gap:var(--sp-l)}.VGroup-gap-xl[data-v-fb2289bb]{gap:var(--sp-xl)}.VGroup-gap-xxl[data-v-fb2289bb]{gap:var(--sp-xxl)}.VGroup-gap-0[data-v-fb2289bb]{gap:0}.VGroup-gap-0-25[data-v-fb2289bb]{gap:var(--sp0-25)}.VGroup-gap-0-5[data-v-fb2289bb]{gap:var(--sp0-5)}.VGroup-gap-1[data-v-fb2289bb]{gap:var(--sp1)}.VGroup-gap-1-5[data-v-fb2289bb]{gap:var(--sp1-5)}.VGroup-gap-2[data-v-fb2289bb]{gap:var(--sp2)}.VGroup-gap-2-5[data-v-fb2289bb]{gap:var(--sp2-5)}.VGroup-gap-3[data-v-fb2289bb]{gap:var(--sp3)}.VGroup-gap-4[data-v-fb2289bb]{gap:var(--sp4)}.VGroup-gap-5[data-v-fb2289bb]{gap:var(--sp5)}.VGroup-gap-6[data-v-fb2289bb]{gap:var(--sp6)}.VGroup-gap-7[data-v-fb2289bb]{gap:var(--sp7)}.VGroup-gap-8[data-v-fb2289bb]{gap:var(--sp8)}.VGroup-gap-9[data-v-fb2289bb]{gap:var(--sp9)}.VGroup-gap-10[data-v-fb2289bb]{gap:var(--sp10)}.VGroup-gap-12[data-v-fb2289bb]{gap:var(--sp12)}.VGroup-gap-16[data-v-fb2289bb]{gap:var(--sp16)}.VGroup-gap-24[data-v-fb2289bb]{gap:var(--sp24)}.VGroup-gap-32[data-v-fb2289bb]{gap:var(--sp32)}
package/dist/core.mjs ADDED
@@ -0,0 +1,666 @@
1
+ import { createBlock as p, openBlock as u, resolveDynamicComponent as g, normalizeClass as y, withCtx as b, renderSlot as r, createElementBlock as d, createCommentVNode as c, toDisplayString as h, resolveComponent as m, createVNode as k, createElementVNode as v, Fragment as T, mergeProps as B } from "vue";
2
+ const f = (t, n) => {
3
+ const e = t.__vccOpts || t;
4
+ for (const [i, o] of n)
5
+ e[i] = o;
6
+ return e;
7
+ }, O = {
8
+ props: {
9
+ tagName: { type: String, default: "button" },
10
+ href: { type: String },
11
+ label: { type: String },
12
+ title: { type: String },
13
+ kind: { type: String, default: "base" },
14
+ size: { type: String, default: "m" },
15
+ flat: { type: Boolean, default: !1 },
16
+ shadow: { type: Boolean, default: !1 },
17
+ outline: { type: Boolean, default: !1 },
18
+ round: { type: Boolean, default: !1 },
19
+ ghost: { type: Boolean, default: !1 },
20
+ block: { type: Boolean, default: !1 },
21
+ square: { type: Boolean, default: !1 },
22
+ disabled: { type: Boolean, default: !1 },
23
+ forceFocus: { type: Boolean, default: !1 },
24
+ forceHover: { type: Boolean, default: !1 },
25
+ forceActive: { type: Boolean, default: !1 },
26
+ icon: { type: String },
27
+ iconPos: { type: String, default: "left" },
28
+ hoverOverrides: { type: Object },
29
+ activeOverrides: { type: Object },
30
+ focusOverrides: { type: Object }
31
+ },
32
+ data() {
33
+ return {
34
+ hover: !1,
35
+ active: !1,
36
+ focus: !1,
37
+ blocked: !1
38
+ };
39
+ },
40
+ computed: {
41
+ baseStyle() {
42
+ return {
43
+ kind: this.kind,
44
+ size: this.size,
45
+ flat: this.flat,
46
+ shadow: this.shadow,
47
+ outline: this.outline,
48
+ round: this.round,
49
+ ghost: this.ghost
50
+ };
51
+ },
52
+ effectiveStyle() {
53
+ const {
54
+ baseStyle: t,
55
+ hoverOverrides: n = {},
56
+ activeOverrides: e = {},
57
+ focusOverrides: i = {},
58
+ active: o,
59
+ hover: l,
60
+ focus: s,
61
+ forceActive: a,
62
+ forceHover: _,
63
+ forceFocus: w
64
+ } = this, S = Object.assign({}, t);
65
+ return (o || a) && Object.assign(S, e), (l || _) && Object.assign(S, n), (s || w) && Object.assign(S, i), S;
66
+ }
67
+ },
68
+ methods: {
69
+ // TODO add debounce
70
+ }
71
+ }, V = {
72
+ key: 0,
73
+ class: "Label"
74
+ };
75
+ function $(t, n, e, i, o, l) {
76
+ return u(), p(g(e.tagName), {
77
+ ref: "button",
78
+ class: y(["Btn InputElement", [
79
+ `Btn-${l.effectiveStyle.size}`,
80
+ `Btn-${l.effectiveStyle.kind}`,
81
+ `input-kind-${l.effectiveStyle.kind}`,
82
+ `Btn-iconPos-${e.iconPos}`,
83
+ {
84
+ "Btn-ghost": l.effectiveStyle.ghost,
85
+ "Btn-round": l.effectiveStyle.round,
86
+ "Btn-outline": l.effectiveStyle.outline,
87
+ "Btn-flat": l.effectiveStyle.flat,
88
+ "Btn-shadow": l.effectiveStyle.shadow,
89
+ "Btn-square": e.square,
90
+ "Btn-block": e.block,
91
+ "Btn-disabled": e.disabled || o.blocked,
92
+ "Btn-force-focus": e.forceFocus,
93
+ "Btn-force-hover": e.forceHover,
94
+ "Btn-force-active": e.forceActive
95
+ }
96
+ ]]),
97
+ disabled: e.disabled || o.blocked,
98
+ title: e.title ?? e.label,
99
+ href: e.href,
100
+ onMouseenter: n[0] || (n[0] = (s) => o.hover = !0),
101
+ onMouseleave: n[1] || (n[1] = (s) => o.hover = !1),
102
+ onMousedown: n[2] || (n[2] = (s) => o.active = !0),
103
+ onMouseup: n[3] || (n[3] = (s) => o.active = !1),
104
+ onMouseout: n[4] || (n[4] = (s) => o.active = !1),
105
+ onFocusin: n[5] || (n[5] = (s) => o.focus = !0),
106
+ onFocusout: n[6] || (n[6] = (s) => o.focus = !1)
107
+ }, {
108
+ default: b(() => [
109
+ r(t.$slots, "icon", {
110
+ hover: o.hover,
111
+ blocked: o.blocked
112
+ }, () => [
113
+ e.icon ? (u(), d("i", {
114
+ key: 0,
115
+ class: y([e.icon, "Icon"])
116
+ }, null, 2)) : c("", !0)
117
+ ], !0),
118
+ e.label ? (u(), d("span", V, h(e.label), 1)) : c("", !0),
119
+ r(t.$slots, "default", {
120
+ hover: o.hover,
121
+ active: o.active,
122
+ blocked: o.blocked
123
+ }, void 0, !0)
124
+ ]),
125
+ _: 3
126
+ }, 40, ["class", "disabled", "title", "href"]);
127
+ }
128
+ const ce = /* @__PURE__ */ f(O, [["render", $], ["__scopeId", "data-v-b5c1c5d3"]]), j = {
129
+ props: {
130
+ tagName: { type: String, default: "div" },
131
+ align: { type: String, default: "center" },
132
+ justify: { type: String },
133
+ gap: { type: String, default: "s" },
134
+ wrap: { type: Boolean, default: !1 }
135
+ }
136
+ };
137
+ function C(t, n, e, i, o, l) {
138
+ return u(), p(g(e.tagName), {
139
+ class: y(["HGroup", [
140
+ `HGroup-align-${e.align}`,
141
+ `HGroup-justify-${e.justify}`,
142
+ `HGroup-gap-${e.gap}`,
143
+ {
144
+ "HGroup-wrap": e.wrap
145
+ }
146
+ ]])
147
+ }, {
148
+ default: b(() => [
149
+ r(t.$slots, "default", {}, void 0, !0)
150
+ ]),
151
+ _: 3
152
+ }, 8, ["class"]);
153
+ }
154
+ const pe = /* @__PURE__ */ f(j, [["render", C], ["__scopeId", "data-v-73c7b415"]]), F = {
155
+ props: {
156
+ dir: { type: String, default: "top" },
157
+ label: { type: String }
158
+ },
159
+ computed: {
160
+ orientation() {
161
+ return this.dir === "top" || this.dir === "bottom" ? "h" : "v";
162
+ }
163
+ }
164
+ }, H = { class: "Content" }, z = ["title"];
165
+ function N(t, n, e, i, o, l) {
166
+ const s = m("TabCap");
167
+ return u(), d("div", {
168
+ class: y(["Tab", [
169
+ `Tab-${e.dir}`,
170
+ `Tab-${l.orientation}`
171
+ ]])
172
+ }, [
173
+ k(s, {
174
+ class: "TabCap",
175
+ dir: e.dir,
176
+ type: "start"
177
+ }, null, 8, ["dir"]),
178
+ v("div", H, [
179
+ r(t.$slots, "default", {}, () => [
180
+ e.label ? (u(), d("div", {
181
+ key: 0,
182
+ class: "TabLabel",
183
+ title: e.label
184
+ }, h(e.label), 9, z)) : c("", !0)
185
+ ], !0)
186
+ ]),
187
+ k(s, {
188
+ class: "TabCap",
189
+ dir: e.dir,
190
+ type: "end"
191
+ }, null, 8, ["dir"])
192
+ ], 2);
193
+ }
194
+ const x = /* @__PURE__ */ f(F, [["render", N], ["__scopeId", "data-v-525c42ae"]]), M = {
195
+ components: {
196
+ Tab: x
197
+ },
198
+ props: {
199
+ tagName: { default: "label" },
200
+ kind: { type: String, default: "base" },
201
+ label: { type: String },
202
+ labelStyle: { type: String, default: "inline" },
203
+ size: { type: String, default: "normal" },
204
+ fixedHeight: { type: Boolean, default: !0 },
205
+ shadow: { type: Boolean, default: !1 },
206
+ round: { type: Boolean, default: !1 },
207
+ disabled: { type: Boolean, default: !1 },
208
+ forceFocus: { type: Boolean, default: !1 },
209
+ forceHover: { type: Boolean, default: !1 },
210
+ hoverOverrides: { type: Object },
211
+ focusOverrides: { type: Object }
212
+ },
213
+ data() {
214
+ return {
215
+ hover: !1,
216
+ focus: !1
217
+ };
218
+ },
219
+ computed: {
220
+ baseStyle() {
221
+ return {
222
+ kind: this.kind,
223
+ size: this.size,
224
+ shadow: this.shadow,
225
+ round: this.round,
226
+ labelStyle: this.labelStyle
227
+ };
228
+ },
229
+ effectiveStyle() {
230
+ const {
231
+ baseStyle: t,
232
+ hoverOverrides: n = {},
233
+ focusOverrides: e = {},
234
+ hover: i,
235
+ focus: o,
236
+ forceHover: l,
237
+ forceFocus: s
238
+ } = this, a = Object.assign({}, t);
239
+ return (i || l) && Object.assign(a, n), (o || s) && Object.assign(a, e), a;
240
+ }
241
+ }
242
+ }, G = {
243
+ key: 1,
244
+ class: "Label TextLabel"
245
+ }, L = {
246
+ key: 2,
247
+ class: "Label InlineLabel"
248
+ }, A = { class: "InputElement Container" };
249
+ function D(t, n, e, i, o, l) {
250
+ const s = m("Tab");
251
+ return u(), p(g(e.tagName), {
252
+ class: y(["InputBase", [
253
+ `InputBase-${l.effectiveStyle.kind}`,
254
+ `input-kind-${l.effectiveStyle.kind}`,
255
+ `InputBase-${l.effectiveStyle.size}`,
256
+ {
257
+ "InputBase-fixed-height": e.fixedHeight,
258
+ "InputBase-shadow": l.effectiveStyle.shadow,
259
+ "InputBase-round": l.effectiveStyle.round,
260
+ "InputBase-disabled": e.disabled,
261
+ "InputBase-force-focus": e.forceFocus,
262
+ "InputBase-force-hover": e.forceHover
263
+ }
264
+ ]]),
265
+ onMouseenter: n[0] || (n[0] = (a) => o.hover = !0),
266
+ onMouseleave: n[1] || (n[1] = (a) => o.hover = !1),
267
+ onFocusin: n[2] || (n[2] = (a) => o.focus = !0),
268
+ onFocusout: n[3] || (n[3] = (a) => o.focus = !1)
269
+ }, {
270
+ default: b(() => [
271
+ e.label ? (u(), d(T, { key: 0 }, [
272
+ e.labelStyle === "tab" ? (u(), p(s, {
273
+ key: 0,
274
+ class: "Label TabLabel",
275
+ label: e.label
276
+ }, null, 8, ["label"])) : c("", !0),
277
+ e.labelStyle === "text" ? (u(), d("div", G, h(e.label), 1)) : c("", !0),
278
+ e.labelStyle === "inline" ? (u(), d("div", L, h(e.label), 1)) : c("", !0)
279
+ ], 64)) : c("", !0),
280
+ v("div", A, [
281
+ r(t.$slots, "default", {}, void 0, !0)
282
+ ])
283
+ ]),
284
+ _: 3
285
+ }, 40, ["class"]);
286
+ }
287
+ const I = /* @__PURE__ */ f(M, [["render", D], ["__scopeId", "data-v-223a8b88"]]), E = {
288
+ props: {
289
+ tagName: { type: String, default: "div" }
290
+ }
291
+ };
292
+ function P(t, n, e, i, o, l) {
293
+ return u(), p(g(e.tagName), { class: "InputGroup" }, {
294
+ default: b(() => [
295
+ r(t.$slots, "default", {}, void 0, !0)
296
+ ]),
297
+ _: 3
298
+ });
299
+ }
300
+ const ye = /* @__PURE__ */ f(E, [["render", P], ["__scopeId", "data-v-d218bf44"]]), q = {
301
+ props: {
302
+ ...I.props,
303
+ modelValue: {},
304
+ items: { type: Array, default: () => [] },
305
+ placeholder: { type: String },
306
+ readonly: { type: Boolean },
307
+ search: { type: Boolean, default: !1 }
308
+ },
309
+ emits: [
310
+ "focus",
311
+ "blur",
312
+ "update:modelValue"
313
+ ],
314
+ data() {
315
+ return {
316
+ menuShown: !1
317
+ };
318
+ },
319
+ computed: {
320
+ selectedItem() {
321
+ return this.items.find((t) => (t.value ?? t) === this.modelValue);
322
+ },
323
+ itemTitle() {
324
+ const { selectedItem: t } = this;
325
+ return t?.title ?? t;
326
+ },
327
+ itemIcon() {
328
+ const { selectedItem: t } = this;
329
+ return t?.icon;
330
+ },
331
+ iconDropdown() {
332
+ return this.$nightshadeIcons?.dropdown ?? "fas fa-angle-down";
333
+ }
334
+ },
335
+ methods: {
336
+ onInput(t) {
337
+ this.$emit("update:modelValue", t.target.value);
338
+ },
339
+ selectValue(t) {
340
+ this.$emit("update:modelValue", t), this.menuShown = !1;
341
+ },
342
+ getMenuItems() {
343
+ return this.items.map((t) => {
344
+ const n = typeof t == "string" ? t : t.title, e = typeof t == "string" ? t : t.value;
345
+ return {
346
+ title: n,
347
+ checked: e === this.modelValue,
348
+ disabled: t.disabled,
349
+ description: t.description,
350
+ icon: t.icon ?? void 0,
351
+ activate: () => {
352
+ this.disabled || this.selectValue(e);
353
+ }
354
+ };
355
+ });
356
+ },
357
+ show() {
358
+ this.disabled || (this.menuShown = !0);
359
+ }
360
+ }
361
+ }, K = {
362
+ key: 1,
363
+ class: "Value"
364
+ }, R = {
365
+ key: 2,
366
+ class: "Placeholder"
367
+ }, Y = {
368
+ ref: "icon",
369
+ class: "DropdownIcon"
370
+ };
371
+ function J(t, n, e, i, o, l) {
372
+ const s = m("ContextMenu"), a = m("InputBase");
373
+ return u(), p(a, B({ class: "InputSelect" }, {
374
+ ...t.$props
375
+ }, {
376
+ tabindex: "0",
377
+ onClick: n[1] || (n[1] = (_) => l.show())
378
+ }), {
379
+ default: b(() => [
380
+ r(t.$slots, "before", {}, void 0, !0),
381
+ l.itemIcon ? (u(), d("i", {
382
+ key: 0,
383
+ class: y(["Icon", l.itemIcon])
384
+ }, null, 2)) : c("", !0),
385
+ l.selectedItem ? (u(), d("span", K, h(l.itemTitle), 1)) : c("", !0),
386
+ l.selectedItem ? c("", !0) : (u(), d("span", R, h(e.placeholder), 1)),
387
+ v("div", Y, [
388
+ r(t.$slots, "iconDropdown", {}, () => [
389
+ v("i", {
390
+ class: y(l.iconDropdown)
391
+ }, null, 2)
392
+ ], !0)
393
+ ], 512),
394
+ !t.disabled && o.menuShown ? (u(), p(s, {
395
+ key: 3,
396
+ anchorRef: "icon",
397
+ items: l.getMenuItems(),
398
+ search: e.search,
399
+ overlayShown: !1,
400
+ onHide: n[0] || (n[0] = (_) => o.menuShown = !1)
401
+ }, null, 8, ["items", "search"])) : c("", !0),
402
+ r(t.$slots, "after", {}, void 0, !0)
403
+ ]),
404
+ _: 3
405
+ }, 16);
406
+ }
407
+ const ve = /* @__PURE__ */ f(q, [["render", J], ["__scopeId", "data-v-9fe1f46c"]]), Q = {
408
+ props: {
409
+ ...I.props,
410
+ modelValue: { type: [String, Number] },
411
+ type: { type: String },
412
+ placeholder: { type: String },
413
+ min: { type: Number },
414
+ max: { type: Number },
415
+ step: { type: Number },
416
+ autoFocus: { type: Boolean },
417
+ readonly: { type: Boolean }
418
+ },
419
+ emits: [
420
+ "focus",
421
+ "blur",
422
+ "input",
423
+ "update:modelValue"
424
+ ],
425
+ mounted() {
426
+ this.autoFocus && this.$refs.input?.focus();
427
+ },
428
+ methods: {
429
+ onInput(t) {
430
+ this.$emit("update:modelValue", t.target.value);
431
+ }
432
+ }
433
+ }, U = ["value", "type", "placeholder", "readonly", "disabled", "min", "max", "step"];
434
+ function W(t, n, e, i, o, l) {
435
+ const s = m("InputBase");
436
+ return u(), p(s, B({ class: "InputText" }, {
437
+ ...t.$props
438
+ }), {
439
+ default: b(() => [
440
+ r(t.$slots, "before", {}, void 0, !0),
441
+ v("input", {
442
+ ref: "input",
443
+ value: e.modelValue,
444
+ type: e.type,
445
+ placeholder: e.placeholder,
446
+ readonly: e.readonly,
447
+ disabled: t.disabled,
448
+ min: e.min,
449
+ max: e.max,
450
+ step: e.step,
451
+ autocomplete: "off",
452
+ onInput: n[0] || (n[0] = (a) => l.onInput(a)),
453
+ onFocus: n[1] || (n[1] = (a) => t.$emit("focus", a)),
454
+ onBlur: n[2] || (n[2] = (a) => t.$emit("blur", a))
455
+ }, null, 40, U),
456
+ r(t.$slots, "after", {}, void 0, !0)
457
+ ]),
458
+ _: 3
459
+ }, 16);
460
+ }
461
+ const be = /* @__PURE__ */ f(Q, [["render", W], ["__scopeId", "data-v-7abebe33"]]), X = {
462
+ props: {
463
+ ...I.props,
464
+ modelValue: { type: String },
465
+ placeholder: { type: String },
466
+ rows: { type: Number },
467
+ autoSize: { type: Boolean, default: !0 },
468
+ autoFocus: { type: Boolean },
469
+ readonly: { type: Boolean }
470
+ },
471
+ emits: [
472
+ "focus",
473
+ "blur",
474
+ "input",
475
+ "update:modelValue"
476
+ ],
477
+ watch: {
478
+ modelValue: {
479
+ handler() {
480
+ const t = this.$refs.input;
481
+ this.autoSize && t && (t.style.height = "auto", t.style.height = t.scrollHeight + "px");
482
+ }
483
+ }
484
+ },
485
+ mounted() {
486
+ this.$nextTick(() => {
487
+ const t = this.$refs.input;
488
+ this.autoFocus && t.focus(), this.autoSize && (t.style.height = t.scrollHeight + "px", t.style.overflowY = "hidden");
489
+ });
490
+ },
491
+ methods: {
492
+ onInput(t) {
493
+ this.$emit("update:modelValue", t.target.value);
494
+ }
495
+ }
496
+ }, Z = ["value", "placeholder", "readonly", "disabled", "rows"];
497
+ function ee(t, n, e, i, o, l) {
498
+ const s = m("InputBase");
499
+ return u(), p(s, B({ class: "InputTextarea" }, {
500
+ ...t.$props
501
+ }, { fixedHeight: !1 }), {
502
+ default: b(() => [
503
+ r(t.$slots, "before", {}, void 0, !0),
504
+ v("textarea", {
505
+ ref: "input",
506
+ value: e.modelValue,
507
+ placeholder: e.placeholder,
508
+ readonly: e.readonly,
509
+ disabled: t.disabled,
510
+ rows: e.rows,
511
+ resize: "none",
512
+ autocomplete: "off",
513
+ onInput: n[0] || (n[0] = (a) => l.onInput(a)),
514
+ onFocus: n[1] || (n[1] = (a) => t.$emit("focus", a)),
515
+ onBlur: n[2] || (n[2] = (a) => t.$emit("blur", a))
516
+ }, null, 40, Z),
517
+ r(t.$slots, "after", {}, void 0, !0)
518
+ ]),
519
+ _: 3
520
+ }, 16);
521
+ }
522
+ const he = /* @__PURE__ */ f(X, [["render", ee], ["__scopeId", "data-v-be132dbe"]]), te = {}, ne = { class: "Sizer" };
523
+ function le(t, n, e, i, o, l) {
524
+ return u(), d("div", ne);
525
+ }
526
+ const me = /* @__PURE__ */ f(te, [["render", le], ["__scopeId", "data-v-e490e579"]]), oe = {
527
+ props: {
528
+ dir: { type: String, default: "top" },
529
+ type: { type: String, default: "start" }
530
+ }
531
+ };
532
+ function se(t, n, e, i, o, l) {
533
+ return u(), d("svg", {
534
+ class: y(["TabCap", [
535
+ `TabCap-${e.dir}`,
536
+ `TabCap-${e.type}`
537
+ ]]),
538
+ viewBox: "0 0 32 32",
539
+ preserveAspectRatio: "none"
540
+ }, [...n[0] || (n[0] = [
541
+ v("path", { d: "M0 32 C 16 32 16 0 32 0 L 32 32 z" }, null, -1)
542
+ ])], 2);
543
+ }
544
+ const ge = /* @__PURE__ */ f(oe, [["render", se], ["__scopeId", "data-v-9344b5a2"]]), ae = {
545
+ props: {
546
+ modelValue: { type: Boolean },
547
+ disabled: { type: Boolean },
548
+ kind: { type: String, default: "base" },
549
+ activeKind: { type: String },
550
+ size: { type: String, default: "normal" },
551
+ round: { type: Boolean, default: !1 },
552
+ flat: { type: Boolean, default: !1 },
553
+ outline: { type: Boolean, default: !1 },
554
+ forceFocus: { type: Boolean, default: !1 },
555
+ forceHover: { type: Boolean, default: !1 },
556
+ focusOverrides: { type: Object },
557
+ hoverOverrides: { type: Object }
558
+ },
559
+ emits: [
560
+ "update:modelValue"
561
+ ],
562
+ data() {
563
+ return {
564
+ hover: !1,
565
+ focus: !1
566
+ };
567
+ },
568
+ computed: {
569
+ isActive() {
570
+ return !!this.modelValue;
571
+ },
572
+ baseStyle() {
573
+ return {
574
+ kind: (this.isActive ? this.activeKind : this.kind) ?? this.kind,
575
+ size: this.size,
576
+ round: this.round,
577
+ outline: this.outline,
578
+ flat: this.flat
579
+ };
580
+ },
581
+ effectiveStyle() {
582
+ const {
583
+ baseStyle: t,
584
+ hoverOverrides: n = {},
585
+ focusOverrides: e = {},
586
+ hover: i,
587
+ focus: o,
588
+ forceHover: l,
589
+ forceFocus: s
590
+ } = this, a = Object.assign({}, t);
591
+ return (i || l) && Object.assign(a, n), (o || s) && Object.assign(a, e), a;
592
+ }
593
+ },
594
+ methods: {
595
+ onChange(t) {
596
+ this.$emit("update:modelValue", t.target.checked);
597
+ }
598
+ }
599
+ }, ue = ["checked", "disabled"];
600
+ function ie(t, n, e, i, o, l) {
601
+ return u(), d("label", {
602
+ class: y(["Toggle InputElement", [
603
+ `Toggle-${l.effectiveStyle.kind}`,
604
+ `input-kind-${l.effectiveStyle.kind}`,
605
+ `Toggle-${l.effectiveStyle.size}`,
606
+ {
607
+ "Toggle-active": !!e.modelValue,
608
+ "Toggle-outline": l.effectiveStyle.outline,
609
+ "Toggle-round": l.effectiveStyle.round,
610
+ "Toggle-flat": l.effectiveStyle.flat,
611
+ "Toggle-disabled": e.disabled,
612
+ "Toggle-force-focus": e.forceFocus,
613
+ "Toggle-force-hover": e.forceHover
614
+ }
615
+ ]]),
616
+ tabindex: "0",
617
+ onMouseenter: n[1] || (n[1] = (s) => o.hover = !0),
618
+ onMouseleave: n[2] || (n[2] = (s) => o.hover = !1),
619
+ onFocusin: n[3] || (n[3] = (s) => o.focus = !0),
620
+ onFocusout: n[4] || (n[4] = (s) => o.focus = !1)
621
+ }, [
622
+ v("input", {
623
+ type: "checkbox",
624
+ checked: e.modelValue,
625
+ disabled: e.disabled,
626
+ onChange: n[0] || (n[0] = (...s) => l.onChange && l.onChange(...s))
627
+ }, null, 40, ue)
628
+ ], 34);
629
+ }
630
+ const Se = /* @__PURE__ */ f(ae, [["render", ie], ["__scopeId", "data-v-6d6e9f0f"]]), re = {
631
+ props: {
632
+ tagName: { type: String, default: "div" },
633
+ align: { type: String, default: "stretch" },
634
+ justify: { type: String },
635
+ gap: { type: String, default: "m" }
636
+ }
637
+ };
638
+ function de(t, n, e, i, o, l) {
639
+ return u(), p(g(e.tagName), {
640
+ class: y(["VGroup", [
641
+ `VGroup-align-${e.align}`,
642
+ `VGroup-justify-${e.justify}`,
643
+ `VGroup-gap-${e.gap}`
644
+ ]])
645
+ }, {
646
+ default: b(() => [
647
+ r(t.$slots, "default", {}, void 0, !0)
648
+ ]),
649
+ _: 3
650
+ }, 8, ["class"]);
651
+ }
652
+ const _e = /* @__PURE__ */ f(re, [["render", de], ["__scopeId", "data-v-fb2289bb"]]);
653
+ export {
654
+ ce as Btn,
655
+ pe as HGroup,
656
+ I as InputBase,
657
+ ye as InputGroup,
658
+ ve as InputSelect,
659
+ be as InputText,
660
+ he as InputTextarea,
661
+ me as Sizer,
662
+ x as Tab,
663
+ ge as TabCap,
664
+ Se as Toggle,
665
+ _e as VGroup
666
+ };