@vibe-flags/core 0.1.4 → 0.1.5

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.
@@ -3,16 +3,16 @@
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
5
5
  */
6
- const D = globalThis, X = D.ShadowRoot && (D.ShadyCSS === void 0 || D.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, Y = Symbol(), re = /* @__PURE__ */ new WeakMap();
6
+ const D = globalThis, Y = D.ShadowRoot && (D.ShadyCSS === void 0 || D.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, Z = Symbol(), re = /* @__PURE__ */ new WeakMap();
7
7
  let be = class {
8
8
  constructor(e, t, s) {
9
- if (this._$cssResult$ = !0, s !== Y) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
9
+ if (this._$cssResult$ = !0, s !== Z) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
10
10
  this.cssText = e, this.t = t;
11
11
  }
12
12
  get styleSheet() {
13
13
  let e = this.o;
14
14
  const t = this.t;
15
- if (X && e === void 0) {
15
+ if (Y && e === void 0) {
16
16
  const s = t !== void 0 && t.length === 1;
17
17
  s && (e = re.get(t)), e === void 0 && ((this.o = e = new CSSStyleSheet()).replaceSync(this.cssText), s && re.set(t, e));
18
18
  }
@@ -22,20 +22,20 @@ let be = class {
22
22
  return this.cssText;
23
23
  }
24
24
  };
25
- const _e = (i) => new be(typeof i == "string" ? i : i + "", void 0, Y), Z = (i, ...e) => {
25
+ const _e = (i) => new be(typeof i == "string" ? i : i + "", void 0, Z), X = (i, ...e) => {
26
26
  const t = i.length === 1 ? i[0] : e.reduce((s, r, o) => s + ((n) => {
27
27
  if (n._$cssResult$ === !0) return n.cssText;
28
28
  if (typeof n == "number") return n;
29
29
  throw Error("Value passed to 'css' function must be a 'css' function result: " + n + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
30
30
  })(r) + i[o + 1], i[0]);
31
- return new be(t, i, Y);
31
+ return new be(t, i, Z);
32
32
  }, we = (i, e) => {
33
- if (X) i.adoptedStyleSheets = e.map((t) => t instanceof CSSStyleSheet ? t : t.styleSheet);
33
+ if (Y) i.adoptedStyleSheets = e.map((t) => t instanceof CSSStyleSheet ? t : t.styleSheet);
34
34
  else for (const t of e) {
35
35
  const s = document.createElement("style"), r = D.litNonce;
36
36
  r !== void 0 && s.setAttribute("nonce", r), s.textContent = t.cssText, i.appendChild(s);
37
37
  }
38
- }, oe = X ? (i) => i : (i) => i instanceof CSSStyleSheet ? ((e) => {
38
+ }, oe = Y ? (i) => i : (i) => i instanceof CSSStyleSheet ? ((e) => {
39
39
  let t = "";
40
40
  for (const s of e.cssRules) t += s.cssText;
41
41
  return _e(t);
@@ -262,7 +262,7 @@ A.elementStyles = [], A.shadowRootOptions = { mode: "open" }, A[O("elementProper
262
262
  * Copyright 2017 Google LLC
263
263
  * SPDX-License-Identifier: BSD-3-Clause
264
264
  */
265
- const Q = globalThis, le = (i) => i, B = Q.trustedTypes, he = B ? B.createPolicy("lit-html", { createHTML: (i) => i }) : void 0, $e = "$lit$", $ = `lit$${Math.random().toFixed(9).slice(2)}$`, ye = "?" + $, Te = `<${ye}>`, w = document, M = () => w.createComment(""), T = (i) => i === null || typeof i != "object" && typeof i != "function", ee = Array.isArray, Ue = (i) => ee(i) || typeof i?.[Symbol.iterator] == "function", K = `[
265
+ const Q = globalThis, le = (i) => i, B = Q.trustedTypes, he = B ? B.createPolicy("lit-html", { createHTML: (i) => i }) : void 0, ye = "$lit$", y = `lit$${Math.random().toFixed(9).slice(2)}$`, $e = "?" + y, Te = `<${$e}>`, w = document, M = () => w.createComment(""), T = (i) => i === null || typeof i != "object" && typeof i != "function", ee = Array.isArray, Ue = (i) => ee(i) || typeof i?.[Symbol.iterator] == "function", K = `[
266
266
  \f\r]`, k = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, ce = /-->/g, de = />/g, x = RegExp(`>|${K}(?:([^\\s"'>=/]+)(${K}*=${K}*(?:[^
267
267
  \f\r"'\`<>=]|("|')|))|$)`, "g"), pe = /'/g, fe = /"/g, me = /^(?:script|style|textarea|title)$/i, Fe = (i) => (e, ...t) => ({ _$litType$: i, strings: e, values: t }), f = Fe(1), S = Symbol.for("lit-noChange"), c = Symbol.for("lit-nothing"), ue = /* @__PURE__ */ new WeakMap(), _ = w.createTreeWalker(w, 129);
268
268
  function xe(i, e) {
@@ -277,7 +277,7 @@ const Ne = (i, e) => {
277
277
  let d, p, h = -1, g = 0;
278
278
  for (; g < a.length && (n.lastIndex = g, p = n.exec(a), p !== null); ) g = n.lastIndex, n === k ? p[1] === "!--" ? n = ce : p[1] !== void 0 ? n = de : p[2] !== void 0 ? (me.test(p[2]) && (r = RegExp("</" + p[2], "g")), n = x) : p[3] !== void 0 && (n = x) : n === x ? p[0] === ">" ? (n = r ?? k, h = -1) : p[1] === void 0 ? h = -2 : (h = n.lastIndex - p[2].length, d = p[1], n = p[3] === void 0 ? x : p[3] === '"' ? fe : pe) : n === fe || n === pe ? n = x : n === ce || n === de ? n = k : (n = x, r = void 0);
279
279
  const b = n === x && i[l + 1].startsWith("/>") ? " " : "";
280
- o += n === k ? a + Te : h >= 0 ? (s.push(d), a.slice(0, h) + $e + a.slice(h) + $ + b) : a + $ + (h === -2 ? l : b);
280
+ o += n === k ? a + Te : h >= 0 ? (s.push(d), a.slice(0, h) + ye + a.slice(h) + y + b) : a + y + (h === -2 ? l : b);
281
281
  }
282
282
  return [xe(i, o + (i[t] || "<?>") + (e === 2 ? "</svg>" : e === 3 ? "</math>" : "")), s];
283
283
  };
@@ -293,22 +293,22 @@ class U {
293
293
  }
294
294
  for (; (r = _.nextNode()) !== null && a.length < l; ) {
295
295
  if (r.nodeType === 1) {
296
- if (r.hasAttributes()) for (const h of r.getAttributeNames()) if (h.endsWith($e)) {
297
- const g = p[n++], b = r.getAttribute(h).split($), I = /([.?@])?(.*)/.exec(g);
296
+ if (r.hasAttributes()) for (const h of r.getAttributeNames()) if (h.endsWith(ye)) {
297
+ const g = p[n++], b = r.getAttribute(h).split(y), I = /([.?@])?(.*)/.exec(g);
298
298
  a.push({ type: 1, index: o, name: I[2], strings: b, ctor: I[1] === "." ? Re : I[1] === "?" ? je : I[1] === "@" ? Ie : W }), r.removeAttribute(h);
299
- } else h.startsWith($) && (a.push({ type: 6, index: o }), r.removeAttribute(h));
299
+ } else h.startsWith(y) && (a.push({ type: 6, index: o }), r.removeAttribute(h));
300
300
  if (me.test(r.tagName)) {
301
- const h = r.textContent.split($), g = h.length - 1;
301
+ const h = r.textContent.split(y), g = h.length - 1;
302
302
  if (g > 0) {
303
303
  r.textContent = B ? B.emptyScript : "";
304
304
  for (let b = 0; b < g; b++) r.append(h[b], M()), _.nextNode(), a.push({ type: 2, index: ++o });
305
305
  r.append(h[g], M());
306
306
  }
307
307
  }
308
- } else if (r.nodeType === 8) if (r.data === ye) a.push({ type: 2, index: o });
308
+ } else if (r.nodeType === 8) if (r.data === $e) a.push({ type: 2, index: o });
309
309
  else {
310
310
  let h = -1;
311
- for (; (h = r.data.indexOf($, h + 1)) !== -1; ) a.push({ type: 7, index: o }), h += $.length - 1;
311
+ for (; (h = r.data.indexOf(y, h + 1)) !== -1; ) a.push({ type: 7, index: o }), h += y.length - 1;
312
312
  }
313
313
  o++;
314
314
  }
@@ -601,8 +601,8 @@ class Je extends EventTarget {
601
601
  }
602
602
  register(e) {
603
603
  this.configs.set(e.key, e);
604
- const t = this.readFromStorage(e.key);
605
- this.state[e.key] = t ?? J(e), this.listening || (this.listening = !0, typeof window < "u" && window.addEventListener("storage", this.onStorageEvent)), this.dispatch(e.key);
604
+ const t = J(e), s = this.readFromStorage(e.key), r = s !== null && (e.type === "boolean" && typeof s == "boolean" || e.type === "select" && typeof s == "string" && e.options.includes(s));
605
+ this.state[e.key] = r ? s : t, this.listening || (this.listening = !0, typeof window < "u" && window.addEventListener("storage", this.onStorageEvent)), this.dispatch(e.key);
606
606
  }
607
607
  unregister(e) {
608
608
  this.configs.delete(e), delete this.state[e], this.dispatch();
@@ -660,10 +660,10 @@ class Je extends EventTarget {
660
660
  }
661
661
  }
662
662
  const u = new Je();
663
- var Xe = Object.defineProperty, Ye = Object.getOwnPropertyDescriptor, R = (i, e, t, s) => {
664
- for (var r = s > 1 ? void 0 : s ? Ye(e, t) : e, o = i.length - 1, n; o >= 0; o--)
663
+ var Ye = Object.defineProperty, Ze = Object.getOwnPropertyDescriptor, R = (i, e, t, s) => {
664
+ for (var r = s > 1 ? void 0 : s ? Ze(e, t) : e, o = i.length - 1, n; o >= 0; o--)
665
665
  (n = i[o]) && (r = (s ? n(e, t, r) : n(r)) || r);
666
- return s && r && Xe(e, t, r), r;
666
+ return s && r && Ye(e, t, r), r;
667
667
  };
668
668
  if (typeof document < "u" && !document.getElementById("vibe-flag-fouc")) {
669
669
  const i = document.createElement("style");
@@ -717,10 +717,10 @@ R([
717
717
  C = R([
718
718
  N("vibe-flag-boolean")
719
719
  ], C);
720
- var Ze = Object.defineProperty, Ge = Object.getOwnPropertyDescriptor, se = (i, e, t, s) => {
720
+ var Xe = Object.defineProperty, Ge = Object.getOwnPropertyDescriptor, se = (i, e, t, s) => {
721
721
  for (var r = s > 1 ? void 0 : s ? Ge(e, t) : e, o = i.length - 1, n; o >= 0; o--)
722
722
  (n = i[o]) && (r = (s ? n(e, t, r) : n(r)) || r);
723
- return s && r && Ze(e, t, r), r;
723
+ return s && r && Xe(e, t, r), r;
724
724
  };
725
725
  let L = class extends v {
726
726
  constructor() {
@@ -780,6 +780,9 @@ let V = class extends v {
780
780
  constructor() {
781
781
  super(...arguments), this.value = "", this.active = !1;
782
782
  }
783
+ firstUpdated() {
784
+ this.style.display = "contents";
785
+ }
783
786
  render() {
784
787
  return this.active ? f`<slot></slot>` : c;
785
788
  }
@@ -793,7 +796,7 @@ ie([
793
796
  V = ie([
794
797
  N("vibe-flag-option")
795
798
  ], V);
796
- const tt = Z`
799
+ const tt = X`
797
800
  :host {
798
801
  --vf-bg: #0a0a0a;
799
802
  --vf-bg-muted: #171717;
@@ -817,7 +820,7 @@ const tt = Z`
817
820
  --vf-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.6),
818
821
  0 8px 10px -6px rgba(0, 0, 0, 0.6);
819
822
  }
820
- `, st = Z`
823
+ `, st = X`
821
824
  :host {
822
825
  --vf-bg: #ffffff;
823
826
  --vf-bg-muted: #f5f5f5;
@@ -848,7 +851,7 @@ var it = Object.defineProperty, rt = Object.getOwnPropertyDescriptor, j = (i, e,
848
851
  return s && r && it(e, t, r), r;
849
852
  };
850
853
  const ve = "vibeFlagsTheme";
851
- let y = class extends v {
854
+ let $ = class extends v {
852
855
  constructor() {
853
856
  super(...arguments), this.open = !1, this.flags = {}, this.configs = [], this.darkMode = !0, this.onFlagChange = () => {
854
857
  this.syncFromStore();
@@ -871,19 +874,16 @@ let y = class extends v {
871
874
  applyTheme() {
872
875
  const i = this.darkMode ? tt : st, e = new CSSStyleSheet();
873
876
  e.replaceSync(i.cssText), this.shadowRoot.adoptedStyleSheets = [
874
- ...y.elementStyles.map((t) => t.styleSheet),
877
+ ...$.elementStyles.map((t) => t.styleSheet),
875
878
  e
876
879
  ];
877
880
  }
878
881
  syncFromStore() {
879
882
  this.configs = u.getConfig(), this.flags = u.getAll();
880
883
  }
881
- toggleSidebar() {
884
+ toggle() {
882
885
  this.open = !this.open;
883
886
  }
884
- closeSidebar() {
885
- this.open = !1;
886
- }
887
887
  onToggle(i) {
888
888
  const e = this.flags[i];
889
889
  u.set(i, !e);
@@ -963,14 +963,12 @@ let y = class extends v {
963
963
  render() {
964
964
  return f`
965
965
  ${this.open ? c : f`
966
- <button class="fab" @click=${this.toggleSidebar} aria-label="Toggle feature flags">
966
+ <button class="fab" @click=${this.toggle} aria-label="Toggle feature flags">
967
967
  ${this.renderFlagIcon()}
968
968
  </button>
969
969
  `}
970
970
 
971
- <div class="backdrop ${this.open ? "open" : ""}" @click=${this.closeSidebar}></div>
972
-
973
- <div class="sidebar ${this.open ? "open" : ""}">
971
+ <div class="card ${this.open ? "open" : ""}">
974
972
  <div class="header">
975
973
  <h2>
976
974
  ${this.renderFlagIcon()}
@@ -981,7 +979,7 @@ let y = class extends v {
981
979
  <button class="icon-btn" @click=${this.toggleTheme} aria-label="Toggle theme" title="${this.darkMode ? "Switch to light theme" : "Switch to dark theme"}">
982
980
  ${this.darkMode ? this.renderSunIcon() : this.renderMoonIcon()}
983
981
  </button>
984
- <button class="icon-btn" @click=${this.closeSidebar} aria-label="Close">
982
+ <button class="icon-btn" @click=${this.toggle} aria-label="Close">
985
983
  ${this.renderCloseIcon()}
986
984
  </button>
987
985
  </div>
@@ -1002,8 +1000,8 @@ let y = class extends v {
1002
1000
  `;
1003
1001
  }
1004
1002
  };
1005
- y.styles = [
1006
- Z`
1003
+ $.styles = [
1004
+ X`
1007
1005
  * {
1008
1006
  box-sizing: border-box;
1009
1007
  margin: 0;
@@ -1012,15 +1010,13 @@ y.styles = [
1012
1010
 
1013
1011
  .fab {
1014
1012
  position: fixed;
1015
- right: 0;
1016
- top: 50%;
1017
- transform: translateY(-50%);
1013
+ right: 16px;
1014
+ bottom: 16px;
1018
1015
  z-index: 99999;
1019
- width: 40px;
1020
- height: 44px;
1016
+ width: 42px;
1017
+ height: 42px;
1021
1018
  border: 1px solid var(--vf-border);
1022
- border-right: none;
1023
- border-radius: var(--vf-radius-lg) 0 0 var(--vf-radius-lg);
1019
+ border-radius: 12px;
1024
1020
  background: var(--vf-bg);
1025
1021
  color: var(--vf-text);
1026
1022
  cursor: pointer;
@@ -1033,94 +1029,80 @@ y.styles = [
1033
1029
  }
1034
1030
 
1035
1031
  .fab:hover {
1036
- width: 46px;
1037
1032
  background: var(--vf-bg-muted);
1033
+ box-shadow: var(--vf-shadow-xl);
1034
+ transform: translateY(-1px);
1038
1035
  }
1039
1036
 
1040
1037
  .fab svg {
1041
- width: 20px;
1042
- height: 20px;
1038
+ width: 18px;
1039
+ height: 18px;
1043
1040
  flex-shrink: 0;
1044
1041
  }
1045
1042
 
1046
- .backdrop {
1047
- position: fixed;
1048
- inset: 0;
1049
- z-index: 100000;
1050
- background: rgba(0, 0, 0, 0.4);
1051
- opacity: 0;
1052
- transition: opacity 0.3s ease;
1053
- pointer-events: none;
1054
- }
1055
-
1056
- .backdrop.open {
1057
- opacity: 1;
1058
- pointer-events: auto;
1059
- }
1060
-
1061
- .sidebar {
1043
+ .card {
1062
1044
  position: fixed;
1063
- top: 0;
1064
- right: 0;
1065
- bottom: 0;
1045
+ right: 16px;
1046
+ bottom: 16px;
1066
1047
  z-index: 100001;
1067
- width: 340px;
1068
- max-width: 90vw;
1048
+ width: 300px;
1049
+ max-width: calc(100vw - 32px);
1050
+ max-height: calc(100vh - 32px);
1069
1051
  background: var(--vf-bg);
1070
- border-left: 1px solid var(--vf-border);
1052
+ border: 1px solid var(--vf-border);
1053
+ border-radius: 14px;
1071
1054
  box-shadow: var(--vf-shadow-xl);
1072
- transform: translateX(100%);
1073
- transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1074
- display: flex;
1075
- flex-direction: column;
1076
1055
  font-family: var(--vf-font);
1077
1056
  color: var(--vf-text);
1057
+ overflow: hidden;
1058
+ display: flex;
1059
+ flex-direction: column;
1060
+ opacity: 0;
1061
+ transform: translateY(8px) scale(0.96);
1062
+ pointer-events: none;
1063
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1078
1064
  }
1079
1065
 
1080
- .sidebar.open {
1081
- transform: translateX(0);
1066
+ .card.open {
1067
+ opacity: 1;
1068
+ transform: translateY(0) scale(1);
1069
+ pointer-events: auto;
1082
1070
  }
1083
1071
 
1084
1072
  .header {
1085
1073
  display: flex;
1086
1074
  align-items: center;
1087
1075
  justify-content: space-between;
1088
- padding: 16px 20px;
1076
+ padding: 12px 14px;
1089
1077
  border-bottom: 1px solid var(--vf-border);
1090
1078
  flex-shrink: 0;
1091
1079
  }
1092
1080
 
1093
- .header-left {
1094
- display: flex;
1095
- align-items: center;
1096
- gap: 8px;
1097
- }
1098
-
1099
1081
  .header h2 {
1100
- font-size: 16px;
1082
+ font-size: 13px;
1101
1083
  font-weight: 600;
1102
- letter-spacing: -0.025em;
1084
+ letter-spacing: -0.01em;
1103
1085
  display: flex;
1104
1086
  align-items: center;
1105
- gap: 8px;
1087
+ gap: 7px;
1106
1088
  }
1107
1089
 
1108
1090
  .header h2 svg {
1109
- width: 18px;
1110
- height: 18px;
1091
+ width: 15px;
1092
+ height: 15px;
1111
1093
  color: var(--vf-accent);
1112
1094
  }
1113
1095
 
1114
1096
  .header-actions {
1115
1097
  display: flex;
1116
1098
  align-items: center;
1117
- gap: 4px;
1099
+ gap: 2px;
1118
1100
  }
1119
1101
 
1120
1102
  .badge {
1121
- font-size: 11px;
1103
+ font-size: 10px;
1122
1104
  font-weight: 500;
1123
- padding: 2px 7px;
1105
+ padding: 1px 6px;
1124
1106
  border-radius: 9999px;
1125
1107
  background: var(--vf-bg-muted);
1126
1108
  color: var(--vf-text-muted);
@@ -1128,8 +1110,8 @@ y.styles = [
1128
1110
  }
1129
1111
 
1130
1112
  .icon-btn {
1131
- width: 32px;
1132
- height: 32px;
1113
+ width: 28px;
1114
+ height: 28px;
1133
1115
  border: none;
1134
1116
  border-radius: var(--vf-radius);
1135
1117
  background: transparent;
@@ -1147,18 +1129,17 @@ y.styles = [
1147
1129
  }
1148
1130
 
1149
1131
  .icon-btn svg {
1150
- width: 16px;
1151
- height: 16px;
1132
+ width: 14px;
1133
+ height: 14px;
1152
1134
  }
1153
1135
 
1154
1136
  .flags {
1155
- flex: 1;
1156
1137
  overflow-y: auto;
1157
- padding: 8px 0;
1138
+ flex: 1;
1158
1139
  }
1159
1140
 
1160
1141
  .flag-item {
1161
- padding: 12px 20px;
1142
+ padding: 10px 14px;
1162
1143
  transition: background 0.1s ease;
1163
1144
  }
1164
1145
 
@@ -1171,13 +1152,13 @@ y.styles = [
1171
1152
  }
1172
1153
 
1173
1154
  .flag-label {
1174
- font-size: 13px;
1155
+ font-size: 12px;
1175
1156
  font-weight: 500;
1176
- margin-bottom: 2px;
1157
+ margin-bottom: 1px;
1177
1158
  }
1178
1159
 
1179
1160
  .flag-key {
1180
- font-size: 11px;
1161
+ font-size: 10px;
1181
1162
  color: var(--vf-text-muted);
1182
1163
  font-family: 'SF Mono', 'Fira Code', 'Fira Mono', Menlo, Consolas,
1183
1164
  monospace;
@@ -1187,7 +1168,7 @@ y.styles = [
1187
1168
  display: flex;
1188
1169
  align-items: center;
1189
1170
  justify-content: space-between;
1190
- gap: 12px;
1171
+ gap: 10px;
1191
1172
  }
1192
1173
 
1193
1174
  .flag-info {
@@ -1198,8 +1179,8 @@ y.styles = [
1198
1179
  /* Toggle switch */
1199
1180
  .toggle {
1200
1181
  position: relative;
1201
- width: 40px;
1202
- height: 22px;
1182
+ width: 36px;
1183
+ height: 20px;
1203
1184
  flex-shrink: 0;
1204
1185
  }
1205
1186
 
@@ -1213,7 +1194,7 @@ y.styles = [
1213
1194
  .toggle-track {
1214
1195
  position: absolute;
1215
1196
  inset: 0;
1216
- border-radius: 11px;
1197
+ border-radius: 10px;
1217
1198
  background: var(--vf-border);
1218
1199
  cursor: pointer;
1219
1200
  transition: background 0.2s ease;
@@ -1227,8 +1208,8 @@ y.styles = [
1227
1208
  position: absolute;
1228
1209
  top: 2px;
1229
1210
  left: 2px;
1230
- width: 18px;
1231
- height: 18px;
1211
+ width: 16px;
1212
+ height: 16px;
1232
1213
  border-radius: 50%;
1233
1214
  background: white;
1234
1215
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
@@ -1237,7 +1218,7 @@ y.styles = [
1237
1218
  }
1238
1219
 
1239
1220
  .toggle input:checked ~ .toggle-thumb {
1240
- transform: translateX(18px);
1221
+ transform: translateX(16px);
1241
1222
  }
1242
1223
 
1243
1224
  /* Select dropdown */
@@ -1249,16 +1230,16 @@ y.styles = [
1249
1230
  .select {
1250
1231
  appearance: none;
1251
1232
  -webkit-appearance: none;
1252
- font-size: 13px;
1233
+ font-size: 12px;
1253
1234
  font-family: var(--vf-font);
1254
- padding: 6px 30px 6px 10px;
1235
+ padding: 5px 26px 5px 8px;
1255
1236
  border: 1px solid var(--vf-border);
1256
1237
  border-radius: var(--vf-radius);
1257
1238
  background: var(--vf-bg);
1258
1239
  color: var(--vf-text);
1259
1240
  cursor: pointer;
1260
1241
  outline: none;
1261
- min-width: 100px;
1242
+ min-width: 80px;
1262
1243
  transition: border-color 0.15s ease;
1263
1244
  }
1264
1245
 
@@ -1273,7 +1254,7 @@ y.styles = [
1273
1254
 
1274
1255
  .select-chevron {
1275
1256
  position: absolute;
1276
- right: 8px;
1257
+ right: 6px;
1277
1258
  top: 50%;
1278
1259
  transform: translateY(-50%);
1279
1260
  pointer-events: none;
@@ -1281,21 +1262,21 @@ y.styles = [
1281
1262
  }
1282
1263
 
1283
1264
  .select-chevron svg {
1284
- width: 14px;
1285
- height: 14px;
1265
+ width: 12px;
1266
+ height: 12px;
1286
1267
  }
1287
1268
 
1288
1269
  /* Footer */
1289
1270
  .footer {
1290
- padding: 12px 20px;
1271
+ padding: 10px 14px;
1291
1272
  border-top: 1px solid var(--vf-border);
1292
1273
  flex-shrink: 0;
1293
1274
  }
1294
1275
 
1295
1276
  .reset-btn {
1296
1277
  width: 100%;
1297
- padding: 8px 16px;
1298
- font-size: 13px;
1278
+ padding: 6px 12px;
1279
+ font-size: 12px;
1299
1280
  font-weight: 500;
1300
1281
  font-family: var(--vf-font);
1301
1282
  border: 1px solid var(--vf-border);
@@ -1312,33 +1293,33 @@ y.styles = [
1312
1293
  }
1313
1294
 
1314
1295
  .empty {
1315
- padding: 40px 20px;
1296
+ padding: 24px 14px;
1316
1297
  text-align: center;
1317
1298
  color: var(--vf-text-muted);
1318
- font-size: 13px;
1299
+ font-size: 12px;
1319
1300
  }
1320
1301
  `
1321
1302
  ];
1322
1303
  j([
1323
1304
  H()
1324
- ], y.prototype, "open", 2);
1305
+ ], $.prototype, "open", 2);
1325
1306
  j([
1326
1307
  H()
1327
- ], y.prototype, "flags", 2);
1308
+ ], $.prototype, "flags", 2);
1328
1309
  j([
1329
1310
  H()
1330
- ], y.prototype, "configs", 2);
1311
+ ], $.prototype, "configs", 2);
1331
1312
  j([
1332
1313
  H()
1333
- ], y.prototype, "darkMode", 2);
1334
- y = j([
1314
+ ], $.prototype, "darkMode", 2);
1315
+ $ = j([
1335
1316
  N("vibe-toolbar")
1336
- ], y);
1317
+ ], $);
1337
1318
  export {
1338
1319
  C as VibeFlagBoolean,
1339
1320
  V as VibeFlagOption,
1340
1321
  L as VibeFlagSelect,
1341
1322
  ge as VibeFlags,
1342
- y as VibeToolbar,
1323
+ $ as VibeToolbar,
1343
1324
  u as flagStore
1344
1325
  };