@budibase/bbui 3.40.1 → 3.41.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.
package/dist/bbui.mjs CHANGED
@@ -51303,12 +51303,11 @@ function Accordion(l, u) {
51303
51303
  //#region src/ActionGroup/ActionGroup.svelte
51304
51304
  var root$43 = /* @__PURE__ */ from_html("<div><!></div>");
51305
51305
  function ActionGroup(l, u) {
51306
- let f = prop(u, "vertical", 8, !1), p = prop(u, "justified", 8, !1), m = prop(u, "quiet", 8, !1), v = prop(u, "compact", 8, !1);
51307
- function y(l) {
51306
+ let f = prop(u, "vertical", 8, !1), p = prop(u, "justified", 8, !1), m = prop(u, "quiet", 8, !1), v = prop(u, "compact", 8, !1), y = (l) => {
51308
51307
  Array.from(l.getElementsByTagName("button")).forEach((l) => {
51309
51308
  l.classList.add("spectrum-ActionGroup-item");
51310
51309
  });
51311
- }
51310
+ };
51312
51311
  var b = root$43();
51313
51312
  let x;
51314
51313
  slot(child(b), u, "default", {}, null), reset(b), action(b, (l) => y?.(l)), template_effect((l) => x = set_class(b, 1, "spectrum-ActionGroup", null, x, l), [() => ({
@@ -51469,10 +51468,9 @@ function Badge(l, u) {
51469
51468
  var root_2$12 = /* @__PURE__ */ from_html("<button class=\"link svelte-1riituo\"><u class=\"svelte-1riituo\"> </u></button>"), root_3$11 = /* @__PURE__ */ from_html("<button class=\"spectrum-Button spectrum-Button--sizeM spectrum-Button--overBackground spectrum-Button--quiet svelte-1riituo\"><span class=\"spectrum-Button-label\"> </span></button>"), root_4$8 = /* @__PURE__ */ from_html("<div class=\"spectrum-Toast-buttons\"><button><div class=\"spectrum-ClearButton-fill\"><!></div></button></div>"), root_1$18 = /* @__PURE__ */ from_html("<div><!> <div class=\"spectrum-Toast-body svelte-1riituo\"><div class=\"spectrum-Toast-content row-content svelte-1riituo\"><!> <!></div> <!></div> <!></div>");
51470
51469
  function Banner(l, u) {
51471
51470
  push$1(u, !1);
51472
- let f = createEventDispatcher(), p = prop(u, "type", 8, "info"), m = prop(u, "icon", 8, "info"), v = prop(u, "size", 8, "S"), y = prop(u, "extraButtonText", 8, void 0), b = prop(u, "extraButtonAction", 8, void 0), x = prop(u, "extraLinkText", 8, void 0), S = prop(u, "extraLinkAction", 8, void 0), w = prop(u, "showCloseButton", 8, !0), T = prop(u, "closeButtonTooltip", 8, void 0), E = /* @__PURE__ */ mutable_source(!0);
51473
- function D() {
51471
+ let f = createEventDispatcher(), p = prop(u, "type", 8, "info"), m = prop(u, "icon", 8, "info"), v = prop(u, "size", 8, "S"), y = prop(u, "extraButtonText", 24, () => void 0), b = prop(u, "extraButtonAction", 24, () => void 0), x = prop(u, "extraLinkText", 24, () => void 0), S = prop(u, "extraLinkAction", 24, () => void 0), w = prop(u, "showCloseButton", 8, !0), T = prop(u, "closeButtonTooltip", 24, () => void 0), E = /* @__PURE__ */ mutable_source(!0), D = () => {
51474
51472
  set(E, !1), f("change");
51475
- }
51473
+ };
51476
51474
  init$1();
51477
51475
  var O = comment(), k = first_child(O), j = (l) => {
51478
51476
  var f = root_1$18(), E = child(f);
@@ -51695,12 +51693,11 @@ function Button(l, u) {
51695
51693
  var root$39 = /* @__PURE__ */ from_html("<div><!></div>");
51696
51694
  function ButtonGroup(l, u) {
51697
51695
  push$1(u, !1);
51698
- let f = /* @__PURE__ */ mutable_source(), p = prop(u, "vertical", 8, !1), m = prop(u, "gap", 8, "M");
51699
- function v(l) {
51696
+ let f = /* @__PURE__ */ mutable_source(), p = prop(u, "vertical", 8, !1), m = prop(u, "gap", 8, "M"), v = (l) => {
51700
51697
  Array.from(l.getElementsByTagName("button")).forEach((l) => {
51701
51698
  l.classList.add("spectrum-ButtonGroup-item");
51702
51699
  });
51703
- }
51700
+ };
51704
51701
  legacy_pre_effect(() => deep_read_state(m()), () => {
51705
51702
  set(f, m() === "L" ? "var(--spacing-l)" : m() === "M" ? "var(--spacing-m)" : m() === "S" ? "var(--spacing-s)" : null);
51706
51703
  }), legacy_pre_effect_reset();
@@ -51794,8 +51791,8 @@ function Item(l, u) {
51794
51791
  //#region src/ButtonGroup/CollapsedButtonGroup.svelte
51795
51792
  var root$37 = /* @__PURE__ */ from_html("<!> <!>", 1);
51796
51793
  function CollapsedButtonGroup(l, u) {
51797
- let f = prop(u, "buttons", 8), p = prop(u, "text", 8, "Action"), m = prop(u, "size", 8, "M"), v = prop(u, "align", 8, "left"), y = prop(u, "offset", 8), b = prop(u, "animate", 8), x = prop(u, "quiet", 8, !1), S = /* @__PURE__ */ mutable_source(), w = /* @__PURE__ */ mutable_source(), T = async (l) => {
51798
- get$2(w).hide(), await l.onClick?.();
51794
+ let f = prop(u, "buttons", 8), p = prop(u, "text", 8, "Action"), m = prop(u, "size", 8, "M"), v = prop(u, "align", 8, "left"), y = prop(u, "offset", 24, () => void 0), b = prop(u, "animate", 24, () => void 0), x = prop(u, "quiet", 8, !1), S = /* @__PURE__ */ mutable_source(), w = /* @__PURE__ */ mutable_source(), T = async (l) => {
51795
+ get$2(w)?.hide(), await l.onClick?.();
51799
51796
  };
51800
51797
  var E = root$37(), D = first_child(E);
51801
51798
  {
@@ -51897,7 +51894,7 @@ function CollapsedButtonGroup(l, u) {
51897
51894
  //#region src/DetailSummary/DetailSummary.svelte
51898
51895
  var root_1$14 = /* @__PURE__ */ from_html("<div><div class=\"name svelte-18y7u22\"> </div> <div class=\"header-right svelte-18y7u22\"><div class=\"actions svelte-18y7u22\"><!></div> <!></div></div>"), root$36 = /* @__PURE__ */ from_html("<div class=\"property-group-container svelte-18y7u22\"><!> <div><!></div></div>");
51899
51896
  function DetailSummary(l, u) {
51900
- let f = prop(u, "name", 8), p = prop(u, "initiallyShow", 8, !1), m = prop(u, "collapsible", 8, !0), v = prop(u, "padded", 8, !0), y = /* @__PURE__ */ mutable_source(p()), b = () => {
51897
+ let f = prop(u, "name", 24, () => void 0), p = prop(u, "initiallyShow", 8, !1), m = prop(u, "collapsible", 8, !0), v = prop(u, "padded", 8, !0), y = /* @__PURE__ */ mutable_source(p()), b = () => {
51901
51898
  m() && set(y, !get$2(y));
51902
51899
  };
51903
51900
  var x = root$36(), S = child(x), w = (l) => {
@@ -57810,11 +57807,11 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
57810
57807
  };
57811
57808
  u.exports = m, m.default = m;
57812
57809
  })), require_stringifier = /* @__PURE__ */ __commonJSMin(((l, u) => {
57813
- var f = /(<)(\/?style\b)/gi, p = /(<)(!--)/g;
57814
- function m(l) {
57810
+ var f = /(<)(\/?style\b)/gi, p = /(<)(!--)/g, m = /[\t\n\f\r "#'()/;[\\\]{}]/;
57811
+ function v(l) {
57815
57812
  return typeof l != "string" || !l.includes("<") ? l : l.replace(f, "\\3c $2").replace(p, "\\3c $2");
57816
57813
  }
57817
- var v = {
57814
+ var y = {
57818
57815
  after: "\n",
57819
57816
  beforeClose: "\n",
57820
57817
  beforeComment: "\n",
@@ -57828,19 +57825,45 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
57828
57825
  indent: " ",
57829
57826
  semicolon: !1
57830
57827
  };
57831
- function y(l) {
57828
+ function b(l) {
57832
57829
  return l[0].toUpperCase() + l.slice(1);
57833
57830
  }
57834
- var b = class {
57831
+ function x(l, u) {
57832
+ let f = "@" + u.name, p = u.params ? l.rawValue(u, "params") : "", v = u.raws.afterName;
57833
+ return v === void 0 ? v = p ? " " : "" : v === "" && p && !m.test(p[0]) && (v = " "), f + v + p;
57834
+ }
57835
+ function S(l, u, f) {
57836
+ let p = f.nodes, m = p.length - 1;
57837
+ for (; m > 0 && p[m].type === "comment";) --m;
57838
+ let v = l.raw(f, "semicolon"), y = f.type === "document";
57839
+ for (let l = p.length - 1; l >= 0; l--) {
57840
+ let f = p[l], b = m !== l || v;
57841
+ !b && l < p.length - 1 && (f.type === "atrule" && !f.nodes || f.type === "decl" && f.prop.startsWith("--")) && (b = !0), u.push({
57842
+ document: y,
57843
+ node: f,
57844
+ semicolon: b
57845
+ });
57846
+ }
57847
+ }
57848
+ function w(l, u, f, p) {
57849
+ let m = l.raw(f, "between", "beforeOpen");
57850
+ l.builder(v(p + m) + "{", f, "start");
57851
+ let y = f.nodes && f.nodes.length, b = () => {
57852
+ let u = y ? l.raw(f, "after") : l.raw(f, "after", "emptyBody");
57853
+ u && l.builder(v(u)), l.builder("}", f, "end"), f.type === "rule" && f.raws.ownSemicolon && l.builder(v(f.raws.ownSemicolon), f, "end");
57854
+ };
57855
+ y ? (u.push(b), S(l, u, f)) : b();
57856
+ }
57857
+ var T = class l {
57835
57858
  constructor(l) {
57836
57859
  this.builder = l;
57837
57860
  }
57838
57861
  atrule(l, u) {
57839
- let f = l.raws, p = "@" + l.name, v = l.params ? this.rawValue(l, "params") : "";
57840
- if (f.afterName === void 0 ? v && (p += " ") : p += f.afterName, l.nodes) this.block(l, p + v);
57862
+ let f = x(this, l);
57863
+ if (l.nodes) this.block(l, f);
57841
57864
  else {
57842
- let y = (f.between || "") + (u ? ";" : "");
57843
- this.builder(m(p + v + y), l);
57865
+ let p = (l.raws.between || "") + (u ? ";" : "");
57866
+ this.builder(v(f + p), l);
57844
57867
  }
57845
57868
  }
57846
57869
  beforeAfter(l, u) {
@@ -57856,26 +57879,35 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
57856
57879
  }
57857
57880
  block(l, u) {
57858
57881
  let f = this.raw(l, "between", "beforeOpen");
57859
- this.builder(m(u + f) + "{", l, "start");
57882
+ this.builder(v(u + f) + "{", l, "start");
57860
57883
  let p;
57861
- l.nodes && l.nodes.length ? (this.body(l), p = this.raw(l, "after")) : p = this.raw(l, "after", "emptyBody"), p && this.builder(m(p)), this.builder("}", l, "end");
57862
- }
57863
- body(l) {
57864
- let u = l.nodes, f = u.length - 1;
57865
- for (; f > 0 && u[f].type === "comment";) --f;
57866
- let p = this.raw(l, "semicolon"), v = l.type === "document";
57867
- for (let l = 0; l < u.length; l++) {
57868
- let y = u[l], b = this.raw(y, "before");
57869
- b && this.builder(v ? b : m(b)), this.stringify(y, f !== l || p);
57884
+ l.nodes && l.nodes.length ? (this.body(l), p = this.raw(l, "after")) : p = this.raw(l, "after", "emptyBody"), p && this.builder(v(p)), this.builder("}", l, "end");
57885
+ }
57886
+ body(u) {
57887
+ let f = l.prototype, p = [
57888
+ "atrule",
57889
+ "block",
57890
+ "body",
57891
+ "rule",
57892
+ "stringify"
57893
+ ].every((l) => this[l] === f[l]), m = [];
57894
+ for (S(this, m, u); m.length > 0;) {
57895
+ let l = m.pop();
57896
+ if (typeof l == "function") {
57897
+ l();
57898
+ continue;
57899
+ }
57900
+ let u = l.node, f = this.raw(u, "before");
57901
+ f && this.builder(l.document ? f : v(f)), p && u.type === "rule" ? w(this, m, u, this.rawValue(u, "selector")) : p && u.type === "atrule" && u.nodes ? w(this, m, u, x(this, u)) : this.stringify(u, l.semicolon);
57870
57902
  }
57871
57903
  }
57872
57904
  comment(l) {
57873
57905
  let u = this.raw(l, "left", "commentLeft"), f = this.raw(l, "right", "commentRight");
57874
- this.builder(m("/*" + u + l.text + f + "*/"), l);
57906
+ this.builder(v("/*" + u + l.text + f + "*/"), l);
57875
57907
  }
57876
57908
  decl(l, u) {
57877
- let f = l.raws, p = this.raw(l, "between", "colon"), v = l.prop + p + this.rawValue(l, "value");
57878
- l.important && (v += f.important || " !important"), u && (v += ";"), this.builder(m(v), l);
57909
+ let f = l.raws, p = this.raw(l, "between", "colon"), m = l.prop + p + this.rawValue(l, "value");
57910
+ l.important && (m += f.important || " !important"), u && (m += ";"), this.builder(v(m), l);
57879
57911
  }
57880
57912
  document(l) {
57881
57913
  this.body(l);
@@ -57885,17 +57917,17 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
57885
57917
  if (f ||= u, u && (p = l.raws[u], p !== void 0)) return p;
57886
57918
  let m = l.parent;
57887
57919
  if (f === "before" && (!m || m.type === "root" && m.first === l || m && m.type === "document")) return "";
57888
- if (!m) return v[f];
57889
- let b = l.root(), x = b.rawCache ||= {};
57920
+ if (!m) return y[f];
57921
+ let v = l.root(), x = v.rawCache ||= {};
57890
57922
  if (x[f] !== void 0) return x[f];
57891
57923
  if (f === "before" || f === "after") return this.beforeAfter(l, f);
57892
57924
  {
57893
- let m = "raw" + y(f);
57894
- this[m] ? p = this[m](b, l) : b.walk((l) => {
57925
+ let m = "raw" + b(f);
57926
+ this[m] ? p = this[m](v, l) : v.walk((l) => {
57895
57927
  if (p = l.raws[u], p !== void 0) return !1;
57896
57928
  });
57897
57929
  }
57898
- return p === void 0 && (p = v[f]), x[f] = p, p;
57930
+ return p === void 0 && (p = y[f]), x[f] = p, p;
57899
57931
  }
57900
57932
  rawBeforeClose(l) {
57901
57933
  let u;
@@ -57963,11 +57995,11 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
57963
57995
  root(l) {
57964
57996
  if (this.body(l), l.raws.after) {
57965
57997
  let u = l.raws.after, f = l.parent && l.parent.type === "document";
57966
- this.builder(f ? u : m(u));
57998
+ this.builder(f ? u : v(u));
57967
57999
  }
57968
58000
  }
57969
58001
  rule(l) {
57970
- this.block(l, this.rawValue(l, "selector")), l.raws.ownSemicolon && this.builder(m(l.raws.ownSemicolon), l, "end");
58002
+ this.block(l, this.rawValue(l, "selector")), l.raws.ownSemicolon && this.builder(v(l.raws.ownSemicolon), l, "end");
57971
58003
  }
57972
58004
  stringify(l, u) {
57973
58005
  /* c8 ignore start */
@@ -57976,7 +58008,7 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
57976
58008
  this[l.type](l, u);
57977
58009
  }
57978
58010
  };
57979
- u.exports = b, b.default = b;
58011
+ u.exports = T, T.default = T;
57980
58012
  })), require_stringify = /* @__PURE__ */ __commonJSMin(((l, u) => {
57981
58013
  var f = require_stringifier();
57982
58014
  function p(l, u) {
@@ -57988,11 +58020,41 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
57988
58020
  })), require_node = /* @__PURE__ */ __commonJSMin(((l, u) => {
57989
58021
  var f = require_css_syntax_error(), p = require_stringifier(), m = require_stringify(), { isClean: v, my: y } = require_symbols();
57990
58022
  function b(l, u) {
57991
- let f = new l.constructor();
57992
- for (let p in l) {
57993
- if (!Object.prototype.hasOwnProperty.call(l, p) || p === "proxyCache") continue;
57994
- let m = l[p], v = typeof m;
57995
- p === "parent" && v === "object" ? u && (f[p] = u) : p === "source" ? f[p] = m : Array.isArray(m) ? f[p] = m.map((l) => b(l, f)) : (v === "object" && m !== null && (m = b(m)), f[p] = m);
58023
+ let f = new l.constructor(), p = [[
58024
+ l,
58025
+ f,
58026
+ u
58027
+ ]];
58028
+ for (; p.length > 0;) {
58029
+ let [l, u, f] = p.pop();
58030
+ for (let m in l) {
58031
+ if (!Object.prototype.hasOwnProperty.call(l, m) || m === "proxyCache") continue;
58032
+ let v = l[m], y = typeof v;
58033
+ if (m === "parent" && y === "object") f && (u[m] = f);
58034
+ else if (m === "source") u[m] = v;
58035
+ else if (Array.isArray(v)) {
58036
+ let l = [];
58037
+ u[m] = l;
58038
+ for (let f of v) {
58039
+ let m = new f.constructor();
58040
+ l.push(m), p.push([
58041
+ f,
58042
+ m,
58043
+ u
58044
+ ]);
58045
+ }
58046
+ } else {
58047
+ if (y === "object" && v !== null) {
58048
+ let l = new v.constructor();
58049
+ p.push([
58050
+ v,
58051
+ l,
58052
+ void 0
58053
+ ]), v = l;
58054
+ }
58055
+ u[m] = v;
58056
+ }
58057
+ }
57996
58058
  }
57997
58059
  return f;
57998
58060
  }
@@ -58008,15 +58070,15 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58008
58070
  }
58009
58071
  return m;
58010
58072
  }
58011
- var S = class {
58073
+ var S = class l {
58012
58074
  get proxyOf() {
58013
58075
  return this;
58014
58076
  }
58015
58077
  constructor(l = {}) {
58016
58078
  this.raws = {}, this[v] = !1, this[y] = !0;
58017
- for (let u in l) if (u === "nodes") {
58079
+ for (let u of Object.keys(l)) if (u !== "__proto__") if (u === "nodes") {
58018
58080
  this.nodes = [];
58019
- for (let f of l[u]) typeof f.clone == "function" ? this.append(f.clone()) : this.append(f);
58081
+ for (let f of l[u]) typeof f.clone == "function" && f.parent ? this.append(f.clone()) : this.append(f);
58020
58082
  } else this[u] = l[u];
58021
58083
  }
58022
58084
  addToError(l) {
@@ -58092,13 +58154,17 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58092
58154
  return this.parent.nodes[l + 1];
58093
58155
  }
58094
58156
  positionBy(l = {}) {
58095
- let u = this.source.start;
58096
- if (l.index) u = this.positionInside(l.index);
58157
+ let u = "document" in this.source.input ? this.source.input.document : this.source.input.css, f = {
58158
+ column: this.source.start.column,
58159
+ line: this.source.start.line,
58160
+ offset: x(u, this.source.start)
58161
+ };
58162
+ if (l.index) f = this.positionInside(l.index);
58097
58163
  else if (l.word) {
58098
- let f = "document" in this.source.input ? this.source.input.document : this.source.input.css, p = f.slice(x(f, this.source.start), x(f, this.source.end)).indexOf(l.word);
58099
- p !== -1 && (u = this.positionInside(p));
58164
+ let p = u.slice(x(u, this.source.start), x(u, this.source.end)).indexOf(l.word);
58165
+ p !== -1 && (f = this.positionInside(p));
58100
58166
  }
58101
- return u;
58167
+ return f;
58102
58168
  }
58103
58169
  positionInside(l) {
58104
58170
  let u = this.source.start.column, f = this.source.start.line, p = "document" in this.source.input ? this.source.input.document : this.source.input.css, m = x(p, this.source.start), v = m + l;
@@ -58135,11 +58201,11 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58135
58201
  column: l.start.column,
58136
58202
  line: l.start.line,
58137
58203
  offset: x(u, l.start)
58138
- } : l.index && (f = this.positionInside(l.index)), l.end ? p = {
58204
+ } : typeof l.index == "number" && (f = this.positionInside(l.index)), l.end ? p = {
58139
58205
  column: l.end.column,
58140
58206
  line: l.end.line,
58141
58207
  offset: x(u, l.end)
58142
- } : typeof l.endIndex == "number" ? p = this.positionInside(l.endIndex) : l.index && (p = this.positionInside(l.index + 1));
58208
+ } : typeof l.endIndex == "number" ? p = this.positionInside(l.endIndex) : typeof l.index == "number" && (p = this.positionInside(l.index + 1));
58143
58209
  return (p.line < f.line || p.line === f.line && p.column <= f.column) && (p = {
58144
58210
  column: f.column + 1,
58145
58211
  line: f.line,
@@ -58168,26 +58234,49 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58168
58234
  for (; l.parent && l.parent.type !== "document";) l = l.parent;
58169
58235
  return l;
58170
58236
  }
58171
- toJSON(l, u) {
58172
- let f = {}, p = u == null;
58173
- u ||= /* @__PURE__ */ new Map();
58174
- let m = 0;
58175
- for (let l in this) {
58176
- if (!Object.prototype.hasOwnProperty.call(this, l) || l === "parent" || l === "proxyCache") continue;
58177
- let p = this[l];
58178
- if (Array.isArray(p)) f[l] = p.map((l) => typeof l == "object" && l.toJSON ? l.toJSON(null, u) : l);
58179
- else if (typeof p == "object" && p.toJSON) f[l] = p.toJSON(null, u);
58180
- else if (l === "source") {
58181
- if (p == null) continue;
58182
- let v = u.get(p.input);
58183
- v ?? (v = m, u.set(p.input, m), m++), f[l] = {
58184
- end: p.end,
58185
- inputId: v,
58186
- start: p.start
58187
- };
58188
- } else f[l] = p;
58237
+ toJSON(u, f) {
58238
+ let p = f == null;
58239
+ f ||= /* @__PURE__ */ new Map();
58240
+ let m = [], v = [[
58241
+ this,
58242
+ m,
58243
+ 0
58244
+ ]];
58245
+ for (let u = 0; u < v.length; u++) {
58246
+ let [p, m, y] = v[u], b = {};
58247
+ m[y] = b;
58248
+ for (let u in p) {
58249
+ if (!Object.prototype.hasOwnProperty.call(p, u) || u === "parent" || u === "proxyCache") continue;
58250
+ let m = p[u];
58251
+ if (Array.isArray(m)) {
58252
+ let p = [];
58253
+ b[u] = p;
58254
+ for (let u = 0; u < m.length; u++) {
58255
+ let y = m[u];
58256
+ typeof y == "object" && y.toJSON ? y.toJSON === l.prototype.toJSON ? v.push([
58257
+ y,
58258
+ p,
58259
+ u
58260
+ ]) : p[u] = y.toJSON(null, f) : p[u] = y;
58261
+ }
58262
+ } else if (typeof m == "object" && m.toJSON) m.toJSON === l.prototype.toJSON ? v.push([
58263
+ m,
58264
+ b,
58265
+ u
58266
+ ]) : b[u] = m.toJSON(null, f);
58267
+ else if (u === "source") {
58268
+ if (m == null) continue;
58269
+ let l = f.get(m.input);
58270
+ l ?? (l = f.size, f.set(m.input, l)), b[u] = {
58271
+ end: m.end,
58272
+ inputId: l,
58273
+ start: m.start
58274
+ };
58275
+ } else b[u] = m;
58276
+ }
58189
58277
  }
58190
- return p && (f.inputs = [...u.keys()].map((l) => l.toJSON())), f;
58278
+ let y = m[0];
58279
+ return p && (y.inputs = [...f.keys()].map((l) => l.toJSON())), y;
58191
58280
  }
58192
58281
  toProxy() {
58193
58282
  return this.proxyCache ||= new Proxy(this, this.getProxyProcessor()), this.proxyCache;
@@ -58229,10 +58318,22 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58229
58318
  })), require_container = /* @__PURE__ */ __commonJSMin(((l, u) => {
58230
58319
  var f = require_comment(), p = require_declaration(), m = require_node(), { isClean: v, my: y } = require_symbols(), b, x, S, w;
58231
58320
  function T(l) {
58232
- return l.map((l) => (l.nodes &&= T(l.nodes), delete l.source, l));
58321
+ let u = l.slice();
58322
+ for (; u.length > 0;) {
58323
+ let l = u.pop();
58324
+ if (delete l.source, l.nodes) {
58325
+ l.nodes = l.nodes.slice();
58326
+ for (let f of l.nodes) u.push(f);
58327
+ }
58328
+ }
58329
+ return l.slice();
58233
58330
  }
58234
58331
  function E(l) {
58235
- if (l[v] = !1, l.proxyOf.nodes) for (let u of l.proxyOf.nodes) E(u);
58332
+ let u = [l];
58333
+ for (; u.length > 0;) {
58334
+ let l = u.pop();
58335
+ if (l[v] = !1, l.proxyOf.nodes) for (let f of l.proxyOf.nodes) u.push(f);
58336
+ }
58236
58337
  }
58237
58338
  var D = class l extends m {
58238
58339
  get first() {
@@ -58248,8 +58349,16 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58248
58349
  }
58249
58350
  return this.markDirty(), this;
58250
58351
  }
58251
- cleanRaws(l) {
58252
- if (super.cleanRaws(l), this.nodes) for (let u of this.nodes) u.cleanRaws(l);
58352
+ cleanRaws(u) {
58353
+ let f = [this];
58354
+ for (; f.length > 0;) {
58355
+ let p = f.pop();
58356
+ if (p !== this && p.cleanRaws !== l.prototype.cleanRaws) {
58357
+ p.cleanRaws(u);
58358
+ continue;
58359
+ }
58360
+ if (m.prototype.cleanRaws.call(p, u), p.nodes) for (let l of p.nodes) f.push(l);
58361
+ }
58253
58362
  }
58254
58363
  each(l) {
58255
58364
  if (!this.proxyOf.nodes) return;
@@ -58344,15 +58453,34 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58344
58453
  return this.nodes.some(l);
58345
58454
  }
58346
58455
  walk(l) {
58347
- return this.each((u, f) => {
58348
- let p;
58456
+ if (!this.proxyOf.nodes) return;
58457
+ let u = [{
58458
+ iterator: this.getIterator(),
58459
+ node: this.proxyOf
58460
+ }];
58461
+ for (; u.length > 0;) {
58462
+ let { iterator: f, node: p } = u[u.length - 1], m = p.indexes[f];
58463
+ if (m >= p.proxyOf.nodes.length) {
58464
+ delete p.indexes[f], u.pop();
58465
+ let l = u[u.length - 1];
58466
+ l && (l.node.indexes[l.iterator] += 1);
58467
+ continue;
58468
+ }
58469
+ let v = p.proxyOf.nodes[m], y;
58349
58470
  try {
58350
- p = l(u, f);
58471
+ y = l(v, m);
58351
58472
  } catch (l) {
58352
- throw u.addToError(l);
58473
+ throw v.addToError(l);
58353
58474
  }
58354
- return p !== !1 && u.walk && (p = u.walk(l)), p;
58355
- });
58475
+ if (y === !1) {
58476
+ for (let l of u) delete l.node.indexes[l.iterator];
58477
+ return !1;
58478
+ }
58479
+ v.walk && v.proxyOf.nodes ? u.push({
58480
+ iterator: v.getIterator(),
58481
+ node: v
58482
+ }) : p.indexes[f] += 1;
58483
+ }
58356
58484
  }
58357
58485
  walkAtRules(l, u) {
58358
58486
  return u ? l instanceof RegExp ? this.walk((f, p) => {
@@ -58397,9 +58525,11 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58397
58525
  }, D.registerRoot = (l) => {
58398
58526
  S = l;
58399
58527
  }, u.exports = D, D.default = D, D.rebuild = (l) => {
58400
- l.type === "atrule" ? Object.setPrototypeOf(l, b.prototype) : l.type === "rule" ? Object.setPrototypeOf(l, w.prototype) : l.type === "decl" ? Object.setPrototypeOf(l, p.prototype) : l.type === "comment" ? Object.setPrototypeOf(l, f.prototype) : l.type === "root" && Object.setPrototypeOf(l, S.prototype), l[y] = !0, l.nodes && l.nodes.forEach((l) => {
58401
- D.rebuild(l);
58402
- });
58528
+ let u = [l];
58529
+ for (; u.length > 0;) {
58530
+ let l = u.pop();
58531
+ if (l.type === "atrule" ? Object.setPrototypeOf(l, b.prototype) : l.type === "rule" ? Object.setPrototypeOf(l, w.prototype) : l.type === "decl" ? Object.setPrototypeOf(l, p.prototype) : l.type === "comment" ? Object.setPrototypeOf(l, f.prototype) : l.type === "root" && Object.setPrototypeOf(l, S.prototype), l[y] = !0, l.nodes) for (let f of l.nodes) u.push(f);
58532
+ }
58403
58533
  };
58404
58534
  })), require_at_rule = /* @__PURE__ */ __commonJSMin(((l, u) => {
58405
58535
  var f = require_container(), p = class extends f {
@@ -58436,22 +58566,22 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58436
58566
  u.exports = {
58437
58567
  nanoid: (l = 21) => {
58438
58568
  let u = "", p = l | 0;
58439
- for (; p--;) u += f[Math.random() * 64 | 0];
58569
+ for (; p-- > 0;) u += f[Math.random() * 64 | 0];
58440
58570
  return u;
58441
58571
  },
58442
58572
  customAlphabet: (l, u = 21) => (f = u) => {
58443
58573
  let p = "", m = f | 0;
58444
- for (; m--;) p += l[Math.random() * l.length | 0];
58574
+ for (; m-- > 0;) p += l[Math.random() * l.length | 0];
58445
58575
  return p;
58446
58576
  }
58447
58577
  };
58448
58578
  })), require_previous_map = /* @__PURE__ */ __commonJSMin(((l, u) => {
58449
- var { existsSync: f, readFileSync: p } = require___vite_browser_external(), { dirname: m, join: v } = require___vite_browser_external(), { SourceMapConsumer: y, SourceMapGenerator: b } = require___vite_browser_external();
58450
- function x(l) {
58579
+ var { existsSync: f, readFileSync: p } = require___vite_browser_external(), { dirname: m, isAbsolute: v, join: y, relative: b, sep: x } = require___vite_browser_external(), { SourceMapConsumer: S, SourceMapGenerator: w } = require___vite_browser_external();
58580
+ function T(l) {
58451
58581
  /* c8 ignore next 2 */
58452
58582
  return Buffer ? Buffer.from(l, "base64").toString() : window.atob(l);
58453
58583
  }
58454
- var S = class {
58584
+ var E = class {
58455
58585
  constructor(l, u) {
58456
58586
  if (u.map === !1) return;
58457
58587
  u.unsafeMap && (this.unsafeMap = !0), this.loadAnnotation(l), this.inline = this.startWith(this.annotation, "data:");
@@ -58459,13 +58589,13 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58459
58589
  !this.mapFile && u.from && (this.mapFile = u.from), this.mapFile && (this.root = m(this.mapFile)), p && (this.text = p);
58460
58590
  }
58461
58591
  consumer() {
58462
- return this.consumerCache ||= new y(this.json || this.text), this.consumerCache;
58592
+ return this.consumerCache ||= new S(this.json || this.text), this.consumerCache;
58463
58593
  }
58464
58594
  decodeInline(l) {
58465
58595
  let u = /^data:application\/json;charset=utf-?8;base64,/, f = /^data:application\/json;base64,/, p = l.match(/^data:application\/json;charset=utf-?8,/) || l.match(/^data:application\/json,/);
58466
58596
  if (p) return decodeURIComponent(l.substr(p[0].length));
58467
58597
  let m = l.match(u) || l.match(f);
58468
- if (m) return x(l.substr(m[0].length));
58598
+ if (m) return T(l.substr(m[0].length));
58469
58599
  let v = l.slice(22);
58470
58600
  throw v = v.slice(0, v.indexOf(",")), Error("Unsupported source map encoding " + v);
58471
58601
  }
@@ -58481,8 +58611,13 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58481
58611
  let f = l.lastIndexOf(u.pop()), p = l.indexOf("*/", f);
58482
58612
  f > -1 && p > -1 && (this.annotation = this.getAnnotationURL(l.substring(f, p)));
58483
58613
  }
58484
- loadFile(l, u, v) {
58485
- if (!(!v && !this.unsafeMap && !/\.map$/i.test(l)) && (this.root = m(l), f(l))) return this.mapFile = l, p(l, "utf-8").toString().trim();
58614
+ loadFile(l, u, y) {
58615
+ if (!y && !this.unsafeMap) {
58616
+ if (!/\.map$/i.test(l) || !u) return;
58617
+ let f = b(m(u), l);
58618
+ if (f === ".." || f.startsWith(".." + x) || v(f)) return;
58619
+ }
58620
+ if (this.root = m(l), f(l)) return this.mapFile = l, p(l, "utf-8").toString().trim();
58486
58621
  }
58487
58622
  loadMap(l, u) {
58488
58623
  if (u === !1) return !1;
@@ -58495,14 +58630,14 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58495
58630
  if (!u) throw Error("Unable to load previous source map: " + f.toString());
58496
58631
  return u;
58497
58632
  }
58498
- } else if (u instanceof y) return b.fromSourceMap(u).toString();
58499
- else if (u instanceof b) return u.toString();
58633
+ } else if (u instanceof S) return w.fromSourceMap(u).toString();
58634
+ else if (u instanceof w) return u.toString();
58500
58635
  else if (this.isMap(u)) return JSON.stringify(u);
58501
58636
  else throw Error("Unsupported previous source map format: " + u.toString());
58502
58637
  } else if (this.inline) return this.decodeInline(this.annotation);
58503
58638
  else if (this.annotation) {
58504
58639
  let u = this.annotation;
58505
- l && (u = v(m(l), u));
58640
+ l && (u = y(m(l), u));
58506
58641
  let f = this.loadFile(u, l, !1);
58507
58642
  if (f) try {
58508
58643
  /* c8 ignore next 4 */
@@ -58520,7 +58655,7 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58520
58655
  return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);
58521
58656
  }
58522
58657
  };
58523
- u.exports = S, S.default = S;
58658
+ u.exports = E, E.default = E;
58524
58659
  })), require_input = /* @__PURE__ */ __commonJSMin(((l, u) => {
58525
58660
  var { nanoid: f } = require_non_secure(), { isAbsolute: p, resolve: m } = require___vite_browser_external(), { SourceMapConsumer: v, SourceMapGenerator: y } = require___vite_browser_external(), { fileURLToPath: b, pathToFileURL: x } = require___vite_browser_external(), S = require_css_syntax_error(), w = require_previous_map(), T = require___vite_browser_external(), E = Symbol("lineToIndexCache"), D = !!(v && y), O = !!(m && p);
58526
58661
  function k(l) {
@@ -58614,20 +58749,23 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58614
58749
  origin(l, u, f, m) {
58615
58750
  if (!this.map) return !1;
58616
58751
  let v = this.map.consumer(), y = v.originalPositionFor({
58617
- column: u,
58752
+ column: u - 1,
58618
58753
  line: l
58619
58754
  });
58620
58755
  if (!y.source) return !1;
58621
58756
  let S;
58622
- typeof f == "number" && (S = v.originalPositionFor({
58623
- column: m,
58624
- line: f
58625
- }));
58757
+ if (typeof f == "number") {
58758
+ let l = v.originalPositionFor({
58759
+ column: m - 1,
58760
+ line: f
58761
+ });
58762
+ l.source && (S = l);
58763
+ }
58626
58764
  let w;
58627
58765
  w = p(y.source) ? x(y.source) : new URL(y.source, this.map.consumer().sourceRoot || x(this.map.mapFile));
58628
58766
  let T = {
58629
- column: y.column,
58630
- endColumn: S && S.column,
58767
+ column: y.column + 1,
58768
+ endColumn: S && S.column + 1,
58631
58769
  endLine: S && S.line,
58632
58770
  line: y.line,
58633
58771
  url: w.toString()
@@ -58657,12 +58795,14 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58657
58795
  super(l), this.type = "root", this.nodes ||= [];
58658
58796
  }
58659
58797
  normalize(l, u, f) {
58660
- let p = super.normalize(l);
58798
+ let p = /* @__PURE__ */ new Set();
58799
+ for (let u of Array.isArray(l) ? l : [l]) u && typeof u == "object" && !u.parent && u.raws && u.raws.before !== void 0 && p.add(u.raws);
58800
+ let m = super.normalize(l);
58661
58801
  if (u) {
58662
58802
  if (f === "prepend") this.nodes.length > 1 ? u.raws.before = this.nodes[1].raws.before : delete u.raws.before;
58663
- else if (this.first !== u) for (let l of p) l.raws.before = u.raws.before;
58803
+ else if (this.first !== u) for (let l of m) p.has(l.raws) || (l.raws.before = u.raws.before);
58664
58804
  }
58665
- return p;
58805
+ return m;
58666
58806
  }
58667
58807
  removeChild(l, u) {
58668
58808
  let f = this.index(l);
@@ -58713,33 +58853,63 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
58713
58853
  })), require_fromJSON = /* @__PURE__ */ __commonJSMin(((l, u) => {
58714
58854
  var f = require_at_rule(), p = require_comment(), m = require_declaration(), v = require_input(), y = require_previous_map(), b = require_root(), x = require_rule();
58715
58855
  function S(l, u) {
58716
- if (Array.isArray(l)) return l.map((l) => S(l));
58717
- let { inputs: w, ...T } = l;
58718
- if (w) {
58719
- u = [];
58720
- for (let l of w) {
58721
- let f = {
58722
- ...l,
58723
- __proto__: v.prototype
58724
- };
58725
- f.map &&= {
58726
- ...f.map,
58727
- __proto__: y.prototype
58728
- }, u.push(f);
58729
- }
58856
+ return l.inputs ? l.inputs.map((l) => {
58857
+ let u = {
58858
+ ...l,
58859
+ __proto__: v.prototype
58860
+ };
58861
+ return u.map &&= {
58862
+ ...u.map,
58863
+ __proto__: y.prototype
58864
+ }, u;
58865
+ }) : u;
58866
+ }
58867
+ function w(l, u, v) {
58868
+ let y = { ...l };
58869
+ if (delete y.inputs, delete y.nodes, y.source) {
58870
+ let { inputId: l, ...f } = y.source;
58871
+ y.source = f, l != null && (y.source.input = u[l]);
58730
58872
  }
58731
- if (T.nodes &&= l.nodes.map((l) => S(l, u)), T.source) {
58732
- let { inputId: l, ...f } = T.source;
58733
- T.source = f, l != null && (T.source.input = u[l]);
58873
+ let S;
58874
+ if (y.type === "root") S = new b(y);
58875
+ else if (y.type === "decl") S = new m(y);
58876
+ else if (y.type === "rule") S = new x(y);
58877
+ else if (y.type === "comment") S = new p(y);
58878
+ else if (y.type === "atrule") S = new f(y);
58879
+ else throw Error("Unknown node type: " + l.type);
58880
+ if (v) {
58881
+ S.nodes = v;
58882
+ for (let l of v) l.parent = S;
58734
58883
  }
58735
- if (T.type === "root") return new b(T);
58736
- if (T.type === "decl") return new m(T);
58737
- if (T.type === "rule") return new x(T);
58738
- if (T.type === "comment") return new p(T);
58739
- if (T.type === "atrule") return new f(T);
58740
- throw Error("Unknown node type: " + l.type);
58884
+ return S;
58741
58885
  }
58742
- u.exports = S, S.default = S;
58886
+ function T(l, u) {
58887
+ if (Array.isArray(l)) return l.map((l) => T(l));
58888
+ let f, p = [{
58889
+ childIndex: 0,
58890
+ children: [],
58891
+ inputs: S(l, u),
58892
+ json: l
58893
+ }];
58894
+ for (; p.length > 0;) {
58895
+ let l = p[p.length - 1], u = l.json.nodes;
58896
+ if (u && l.childIndex < u.length) {
58897
+ let f = u[l.childIndex];
58898
+ l.childIndex += 1, p.push({
58899
+ childIndex: 0,
58900
+ children: [],
58901
+ inputs: S(f, l.inputs),
58902
+ json: f
58903
+ });
58904
+ continue;
58905
+ }
58906
+ p.pop();
58907
+ let m = w(l.json, l.inputs, u ? l.children : void 0);
58908
+ p.length > 0 ? p[p.length - 1].children.push(m) : f = m;
58909
+ }
58910
+ return f;
58911
+ }
58912
+ u.exports = T, T.default = T;
58743
58913
  })), require_map_generator = /* @__PURE__ */ __commonJSMin(((l, u) => {
58744
58914
  var { dirname: f, relative: p, resolve: m, sep: v } = require___vite_browser_external(), { SourceMapConsumer: y, SourceMapGenerator: b } = require___vite_browser_external(), { pathToFileURL: x } = require___vite_browser_external(), S = require_input(), w = !!(y && b), T = !!(f && m && p && v);
58745
58915
  u.exports = class {
@@ -59325,9 +59495,10 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
59325
59495
  }
59326
59496
  u.exports = v, v.default = v, f.registerParse(v);
59327
59497
  })), require_warning = /* @__PURE__ */ __commonJSMin(((l, u) => {
59328
- var f = class {
59498
+ var f = require_container(), { my: p } = require_symbols(), m = class {
59329
59499
  constructor(l, u = {}) {
59330
59500
  if (this.type = "warning", this.text = l, u.node && u.node.source) {
59501
+ u.node[p] || f.rebuild(u.node);
59331
59502
  let l = u.node.rangeBy(u);
59332
59503
  this.line = l.start.line, this.column = l.start.column, this.endLine = l.end.line, this.endColumn = l.end.column;
59333
59504
  }
@@ -59341,7 +59512,7 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
59341
59512
  }).message : this.plugin ? this.plugin + ": " + this.text : this.text;
59342
59513
  }
59343
59514
  };
59344
- u.exports = f, f.default = f;
59515
+ u.exports = m, m.default = m;
59345
59516
  })), require_result = /* @__PURE__ */ __commonJSMin(((l, u) => {
59346
59517
  var f = require_warning(), p = class {
59347
59518
  get content() {
@@ -59440,7 +59611,12 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
59440
59611
  };
59441
59612
  }
59442
59613
  function P(l) {
59443
- return l[S] = !1, l.nodes && l.nodes.forEach((l) => P(l)), l;
59614
+ let u = [l];
59615
+ for (; u.length > 0;) {
59616
+ let l = u.pop();
59617
+ if (l[S] = !1, l.nodes) for (let f of l.nodes) u.push(f);
59618
+ }
59619
+ return l;
59444
59620
  }
59445
59621
  var F = {}, L = class l {
59446
59622
  get content() {
@@ -59668,13 +59844,38 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
59668
59844
  }
59669
59845
  walkSync(l) {
59670
59846
  l[S] = !0;
59671
- let u = M(l);
59672
- for (let f of u) if (f === k) l.nodes && l.each((l) => {
59673
- l[S] || this.walkSync(l);
59674
- });
59675
- else {
59676
- let u = this.listeners[f];
59677
- if (u && this.visitSync(u, l.toProxy())) return;
59847
+ let u = [{
59848
+ eventIndex: 0,
59849
+ events: M(l),
59850
+ iterator: 0,
59851
+ node: l
59852
+ }];
59853
+ for (; u.length > 0;) {
59854
+ let l = u[u.length - 1], f = l.node;
59855
+ if (l.iterator !== 0) {
59856
+ let p = l.iterator, m, v = !1;
59857
+ for (; m = f.nodes[f.indexes[p]];) if (f.indexes[p] += 1, !m[S]) {
59858
+ m[S] = !0, u.push({
59859
+ eventIndex: 0,
59860
+ events: M(m),
59861
+ iterator: 0,
59862
+ node: m
59863
+ }), v = !0;
59864
+ break;
59865
+ }
59866
+ if (v) continue;
59867
+ l.iterator = 0, delete f.indexes[p];
59868
+ }
59869
+ if (l.eventIndex < l.events.length) {
59870
+ let p = l.events[l.eventIndex];
59871
+ if (l.eventIndex += 1, p === k) f.nodes && f.nodes.length && (l.iterator = f.getIterator());
59872
+ else {
59873
+ let l = this.listeners[p];
59874
+ l && this.visitSync(l, f.toProxy()) && u.pop();
59875
+ }
59876
+ continue;
59877
+ }
59878
+ u.pop();
59678
59879
  }
59679
59880
  }
59680
59881
  warnings() {
@@ -59759,7 +59960,7 @@ var options = marked.options, setOptions = marked.setOptions, use = marked.use,
59759
59960
  })), require_processor = /* @__PURE__ */ __commonJSMin(((l, u) => {
59760
59961
  var f = require_document(), p = require_lazy_result(), m = require_no_work_result(), v = require_root(), y = class {
59761
59962
  constructor(l = []) {
59762
- this.version = "8.5.15", this.plugins = this.normalize(l);
59963
+ this.version = "8.5.23", this.plugins = this.normalize(l);
59763
59964
  }
59764
59965
  normalize(l) {
59765
59966
  let u = [];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@budibase/bbui",
3
3
  "description": "A UI solution used in the different Budibase projects.",
4
- "version": "3.40.1",
4
+ "version": "3.41.1",
5
5
  "license": "MPL-2.0",
6
6
  "module": "dist/bbui.mjs",
7
7
  "exports": {
@@ -108,5 +108,5 @@
108
108
  }
109
109
  }
110
110
  },
111
- "gitHead": "8866a9829af7fee80c1468d060c1d1749414a7cc"
111
+ "gitHead": "fc94728bc509937e374c5d38f47f8858a1f405c9"
112
112
  }
@@ -1,13 +1,13 @@
1
- <script>
1
+ <script lang="ts">
2
2
  import "@spectrum-css/actiongroup/dist/index-vars.css"
3
3
 
4
- export let vertical = false
5
- export let justified = false
6
- export let quiet = false
7
- export let compact = false
4
+ export let vertical: boolean = false
5
+ export let justified: boolean = false
6
+ export let quiet: boolean = false
7
+ export let compact: boolean = false
8
8
 
9
9
  // Attaches a spectrum-ActionGroup-item class to buttons inside the div
10
- function group(element) {
10
+ const group = (element: HTMLElement) => {
11
11
  const buttons = Array.from(element.getElementsByTagName("button"))
12
12
  buttons.forEach(button => {
13
13
  button.classList.add("spectrum-ActionGroup-item")
@@ -1,22 +1,22 @@
1
- <script>
1
+ <script lang="ts">
2
2
  import { createEventDispatcher } from "svelte"
3
3
  import Icon from "../Icon/Icon.svelte"
4
4
 
5
- let dispatch = createEventDispatcher()
5
+ const dispatch = createEventDispatcher<{ change: void }>()
6
6
 
7
- export let type = "info"
8
- export let icon = "info"
9
- export let size = "S"
10
- export let extraButtonText = undefined
11
- export let extraButtonAction = undefined
12
- export let extraLinkText = undefined
13
- export let extraLinkAction = undefined
14
- export let showCloseButton = true
15
- export let closeButtonTooltip = undefined
7
+ export let type: string = "info"
8
+ export let icon: string = "info"
9
+ export let size: "XXS" | "XS" | "S" | "M" | "L" | "XL" | "XXL" | "XXXL" = "S"
10
+ export let extraButtonText: string | undefined = undefined
11
+ export let extraButtonAction: (() => void) | undefined = undefined
12
+ export let extraLinkText: string | undefined = undefined
13
+ export let extraLinkAction: (() => void) | undefined = undefined
14
+ export let showCloseButton: boolean = true
15
+ export let closeButtonTooltip: string | undefined = undefined
16
16
 
17
17
  let show = true
18
18
 
19
- function clear() {
19
+ const clear = () => {
20
20
  show = false
21
21
  dispatch("change")
22
22
  }
@@ -1,4 +1,4 @@
1
- <script>
1
+ <script lang="ts">
2
2
  import "@spectrum-css/toast/dist/index-vars.css"
3
3
  import Portal from "svelte-portal"
4
4
  import { banner } from "../Stores/banner"
@@ -1,8 +1,8 @@
1
- <script>
1
+ <script lang="ts">
2
2
  import "@spectrum-css/buttongroup/dist/index-vars.css"
3
3
 
4
- export let vertical = false
5
- export let gap = "M"
4
+ export let vertical: boolean = false
5
+ export let gap: "S" | "M" | "L" = "M"
6
6
 
7
7
  $: gapStyle =
8
8
  gap === "L"
@@ -13,7 +13,7 @@
13
13
  ? "var(--spacing-s)"
14
14
  : null
15
15
 
16
- function group(element) {
16
+ const group = (element: HTMLElement) => {
17
17
  const buttons = Array.from(element.getElementsByTagName("button"))
18
18
  buttons.forEach(button => {
19
19
  button.classList.add("spectrum-ButtonGroup-item")
@@ -1,22 +1,32 @@
1
- <script>
1
+ <script lang="ts">
2
2
  import Button from "../Button/Button.svelte"
3
- import Popover from "../Popover/Popover.svelte"
3
+ import Popover, { type PopoverAPI } from "../Popover/Popover.svelte"
4
4
  import Menu from "../Menu/Menu.svelte"
5
5
  import MenuItem from "../Menu/Item.svelte"
6
+ import type { PopoverAlignment } from "../constants"
6
7
 
7
- export let buttons
8
- export let text = "Action"
9
- export let size = "M"
10
- export let align = "left"
11
- export let offset
12
- export let animate
13
- export let quiet = false
8
+ type ButtonSize = "XXS" | "XS" | "S" | "M" | "L" | "XL" | "XXL" | "XXXL"
14
9
 
15
- let anchor
16
- let popover
10
+ interface CollapsedButton {
11
+ icon?: string
12
+ text?: string
13
+ disabled?: boolean
14
+ onClick?: () => void | Promise<void>
15
+ }
16
+
17
+ export let buttons: CollapsedButton[]
18
+ export let text: string = "Action"
19
+ export let size: ButtonSize = "M"
20
+ export let align: PopoverAlignment | `${PopoverAlignment}` = "left"
21
+ export let offset: number | undefined = undefined
22
+ export let animate: boolean | undefined = undefined
23
+ export let quiet: boolean = false
24
+
25
+ let anchor: HTMLButtonElement | undefined
26
+ let popover: PopoverAPI | undefined
17
27
 
18
- const handleClick = async button => {
19
- popover.hide()
28
+ const handleClick = async (button: CollapsedButton) => {
29
+ popover?.hide()
20
30
  await button.onClick?.()
21
31
  }
22
32
  </script>
@@ -1,12 +1,12 @@
1
- <script>
1
+ <script lang="ts">
2
2
  import Icon from "../Icon/Icon.svelte"
3
3
 
4
- export let name
5
- export let initiallyShow = false
6
- export let collapsible = true
7
- export let padded = true
4
+ export let name: string | undefined = undefined
5
+ export let initiallyShow: boolean = false
6
+ export let collapsible: boolean = true
7
+ export let padded: boolean = true
8
8
 
9
- let show = initiallyShow
9
+ let show: boolean = initiallyShow
10
10
 
11
11
  const onHeaderClick = () => {
12
12
  if (!collapsible) {
@@ -12,6 +12,10 @@ interface BannerConfig {
12
12
  type?: string
13
13
  extraButtonText?: string
14
14
  extraButtonAction?: () => void
15
+ extraLinkText?: string
16
+ extraLinkAction?: () => void
17
+ tooltip?: string
18
+ showCloseButton?: boolean
15
19
  onChange?: () => void
16
20
  }
17
21
 
@@ -1,7 +0,0 @@
1
- <script lang="ts">
2
- import Input from "../Form/Input.svelte"
3
-
4
- let value: string = ""
5
- </script>
6
-
7
- <Input label="Your Name" bind:value />
@@ -1,39 +0,0 @@
1
- <script lang="ts">
2
- import { getContext } from "svelte"
3
- import Context from "../context"
4
-
5
- const { hide } = getContext(Context.Modal)
6
-
7
- let count: number = 0
8
- const clicks: number = 5
9
- $: if (count === clicks) hide()
10
- $: remaining = clicks - count
11
-
12
- function increment() {
13
- count++
14
- }
15
- </script>
16
-
17
- <!-- svelte-ignore a11y-click-events-have-key-events -->
18
- <!-- svelte-ignore a11y-no-static-element-interactions -->
19
- <div on:click={increment}>
20
- Click me
21
- {remaining}
22
- more time{remaining === 1 ? "" : "s"}
23
- to close this modal!
24
- </div>
25
-
26
- <style>
27
- div {
28
- padding: 40px;
29
- background-color: var(--purple);
30
- color: white;
31
- font-weight: bold;
32
- text-align: center;
33
- user-select: none;
34
- font-size: 20px;
35
- }
36
- div:hover {
37
- cursor: pointer;
38
- }
39
- </style>