@rebilly/revel 13.1.4 → 13.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,5 @@
1
- ## 13.1.4 (2026-10-09)
1
+ ## 13.1.5 (2026-10-12)
2
2
 
3
- This was a version bump only for revel to align it with other projects, there were no code changes.
3
+ ### Bug Fixes
4
+
5
+ - **recomm, revel:** Show required and invalid promotion form fields and filter bonus grants by player ([#28835](https://github.com/Rebilly/rebilly/pull/28835), [#28820](https://github.com/Rebilly/rebilly/issues/28820), [#28819](https://github.com/Rebilly/rebilly/issues/28819))
package/dist/revel.mjs CHANGED
@@ -9424,31 +9424,43 @@ var cw = { class: "r-file-dropzone-fields" }, lw = { class: "r-file-dropzone-hea
9424
9424
  return YC(e) ? !0 : e.size <= r.maxFileSize * 1024 * 1024;
9425
9425
  }
9426
9426
  function E(e) {
9427
- h.invalidFiles = [];
9428
- let t = e.target?.files || e.dataTransfer?.files;
9429
- if (!t || !t.length) return;
9430
- let n = r.accept ? Array.from(t).filter((e) => {
9427
+ if (h.invalidFiles = [], !e || !e.length) return;
9428
+ let t = r.accept ? Array.from(e).filter((e) => {
9431
9429
  let t = w(e, r.accept);
9432
9430
  return t || h.invalidFiles.push({
9433
9431
  name: e.name,
9434
9432
  type: "format"
9435
9433
  }), t;
9436
- }) : t, i = r.maxFileSize ? Array.from(n).filter((e) => {
9434
+ }) : e, n = r.maxFileSize ? Array.from(t).filter((e) => {
9437
9435
  let t = T(e);
9438
9436
  return t || h.invalidFiles.push({
9439
9437
  name: e.name,
9440
9438
  type: "size"
9441
9439
  }), t;
9442
- }) : n;
9443
- i.length !== 0 && (g.value = r.multiple ? [...g.value, ...i] : i);
9440
+ }) : t;
9441
+ n.length !== 0 && (g.value = r.multiple ? [...g.value, ...n] : n);
9444
9442
  }
9445
9443
  function O(e) {
9446
- h.dropzoneHighlight = !1, E(e), f.value && (f.value.value = "");
9444
+ h.dropzoneHighlight = !1, E(e.target?.files), f.value && (f.value.value = "");
9447
9445
  }
9448
- function A(e) {
9446
+ function A() {
9447
+ r.disabled || (h.dropzoneHighlight = !0);
9448
+ }
9449
+ function j(e) {
9450
+ e.currentTarget.contains(e.relatedTarget) || (h.dropzoneHighlight = !1);
9451
+ }
9452
+ function P(e) {
9453
+ h.dropzoneHighlight = !1, r.disabled || E(e.dataTransfer?.files);
9454
+ }
9455
+ function F(e) {
9449
9456
  g.value = g.value.filter((t, n) => n !== e);
9450
9457
  }
9451
- return (t, n) => (D(), s("div", { class: b(["r-file-dropzone", y.value]) }, [
9458
+ return (t, n) => (D(), s("div", {
9459
+ class: b(["r-file-dropzone", y.value]),
9460
+ onDragover: K(A, ["prevent"]),
9461
+ onDragleave: j,
9462
+ onDrop: K(P, ["prevent"])
9463
+ }, [
9452
9464
  N(t.$slots, "default", {}, () => [c("div", cw, [
9453
9465
  d(Q, {
9454
9466
  icon: "upload",
@@ -9461,13 +9473,13 @@ var cw = { class: "r-file-dropzone-fields" }, lw = { class: "r-file-dropzone-hea
9461
9473
  r.accept && r.maxFileSize ? (D(), s(e, { key: 1 }, [u(" \xA0.\xA0 ")], 64)) : o("", !0),
9462
9474
  r.maxFileSize ? (D(), s(e, { key: 2 }, [u(" Max file size: " + I(r.maxFileSize) + " MB ", 1)], 64)) : o("", !0)
9463
9475
  ])])) : o("", !0),
9464
- n[4] ||= c("div", { class: "r-file-dropzone-or r-mb-5" }, [
9476
+ n[1] ||= c("div", { class: "r-file-dropzone-or r-mb-5" }, [
9465
9477
  c("hr"),
9466
9478
  c("span", null, "or"),
9467
9479
  c("hr")
9468
9480
  ], -1),
9469
9481
  d(Bb, null, {
9470
- default: W(() => [...n[3] ||= [u("Browse files", -1)]]),
9482
+ default: W(() => [...n[0] ||= [u("Browse files", -1)]]),
9471
9483
  _: 1
9472
9484
  })
9473
9485
  ])]),
@@ -9484,21 +9496,18 @@ var cw = { class: "r-file-dropzone-fields" }, lw = { class: "r-file-dropzone-hea
9484
9496
  accept: r.accept,
9485
9497
  multiple: r.multiple,
9486
9498
  disabled: r.disabled,
9487
- onDragenter: n[0] ||= (e) => !r.disabled && (h.dropzoneHighlight = !0),
9488
- onDragleave: n[1] ||= (e) => !r.disabled && (h.dropzoneHighlight = !1),
9489
- onDrop: n[2] ||= (e) => !r.disabled && (h.dropzoneHighlight = !1),
9490
9499
  onChange: O
9491
9500
  }, null, 40, hw),
9492
9501
  v.value ? (D(), s("div", gw, [r.previewType === "list" ? (D(), a(JC, {
9493
9502
  key: 0,
9494
9503
  files: _.value,
9495
- onRemove: A
9504
+ onRemove: F
9496
9505
  }, null, 8, ["files"])) : (D(), a(aw, {
9497
9506
  key: 1,
9498
9507
  files: _.value,
9499
- onRemove: A
9508
+ onRemove: F
9500
9509
  }, null, 8, ["files"]))])) : o("", !0)
9501
- ], 2));
9510
+ ], 34));
9502
9511
  }
9503
9512
  }), vw = [
9504
9513
  "multiple",
@@ -9821,7 +9830,7 @@ var Ow = /*#__PURE__*/ ww(Tw, [["render", Dw]]), kw = ["for"], Aw = [
9821
9830
  return l.leftIcon && (e["r-has-icon-left"] = !0), (l.rightIcon || l.password) && (e["r-has-icon-right"] = !0), e;
9822
9831
  }), C = i(() => l.password ? "password" : l.numeric ? "number" : "text"), w = i(() => l.autoComplete || `new-${l.name}`), E = i(() => `(${(l.modelValue ? Number(l.maxLength) - String(l.modelValue).length : Number(l.maxLength)).toLocaleString("en-US")} characters left)`);
9823
9832
  function O(e) {
9824
- l.autoResize && m.value && R(m.value);
9833
+ l.autoResize && m.value && B(m.value);
9825
9834
  let t = e.target.value;
9826
9835
  f("update:modelValue", t);
9827
9836
  }
@@ -9835,7 +9844,7 @@ var Ow = /*#__PURE__*/ ww(Tw, [["render", Dw]]), kw = ["for"], Aw = [
9835
9844
  f("key-press", e);
9836
9845
  }
9837
9846
  function P(e) {
9838
- ae(e), f("key-down", e);
9847
+ V(e), f("key-down", e);
9839
9848
  }
9840
9849
  function F() {
9841
9850
  let e = h.value || m.value;
@@ -9846,23 +9855,27 @@ var Ow = /*#__PURE__*/ ww(Tw, [["render", Dw]]), kw = ["for"], Aw = [
9846
9855
  e && e.blur(), f("blur");
9847
9856
  }
9848
9857
  function te() {
9849
- l.autoHighlightOnFocus && re(), f("focus");
9858
+ l.autoHighlightOnFocus && ae(), f("focus");
9850
9859
  }
9851
9860
  function L() {
9852
9861
  f("click");
9853
9862
  }
9854
9863
  function R(e) {
9864
+ let t = e.target;
9865
+ t.type === "number" && document.activeElement === t && t.blur();
9866
+ }
9867
+ function B(e) {
9855
9868
  e.style.height = "auto", e.style.height = `${e.scrollHeight}px`;
9856
9869
  }
9857
- function B() {
9870
+ function re() {
9858
9871
  h.value && (h.value.type = h.value.type === "password" ? "text" : "password", _.value = !_.value);
9859
9872
  }
9860
- function re() {
9873
+ function ae() {
9861
9874
  y(() => {
9862
9875
  h.value?.select();
9863
9876
  });
9864
9877
  }
9865
- function ae(e) {
9878
+ function V(e) {
9866
9879
  if (!(!l.integer || e.key.length > 1 || e.ctrlKey || e.metaKey || e.altKey)) {
9867
9880
  if (e.key === "-") {
9868
9881
  let t = e.target, n = t.selectionStart === 0 && t.selectionEnd === t.value.length;
@@ -9876,21 +9889,21 @@ var Ow = /*#__PURE__*/ ww(Tw, [["render", Dw]]), kw = ["for"], Aw = [
9876
9889
  }
9877
9890
  }
9878
9891
  }
9879
- function V(e) {
9892
+ function H(e) {
9880
9893
  if (!l.integer) return;
9881
9894
  let t = e.clipboardData?.getData("text") ?? "";
9882
9895
  /^-?\d+$/.test(t) || e.preventDefault();
9883
9896
  }
9884
- function H(e) {
9885
- V(e), l.onPaste?.(e);
9897
+ function U(e) {
9898
+ H(e), l.onPaste?.(e);
9886
9899
  }
9887
9900
  return n({
9888
9901
  focus: te,
9889
9902
  blur: ee,
9890
- highlight: re,
9903
+ highlight: ae,
9891
9904
  getFocus: F
9892
9905
  }), T(() => {
9893
- l.autoFocus && F(), l.autoHighlight && re(), l.autoResize && m.value && R(m.value);
9906
+ l.autoFocus && F(), l.autoHighlight && ae(), l.autoResize && m.value && B(m.value);
9894
9907
  }), (n, r) => (D(), s("div", { class: b(["r-field", { "r-is-error": z(g) }]) }, [
9895
9908
  t.label ? (D(), s("label", {
9896
9909
  key: 0,
@@ -9911,7 +9924,7 @@ var Ow = /*#__PURE__*/ ww(Tw, [["render", Dw]]), kw = ["for"], Aw = [
9911
9924
  onInput: O,
9912
9925
  onKeydown: [se(K(j, ["exact", "prevent"]), ["enter"]), P],
9913
9926
  onKeyup: M,
9914
- onPaste: H
9927
+ onPaste: U
9915
9928
  }, ne(t.inputEvents, !0)), " ", 16, jw)) : t.multiline && !t.submitOnEnter ? (D(), s("textarea", v({
9916
9929
  key: 2,
9917
9930
  id: t.name,
@@ -9926,7 +9939,7 @@ var Ow = /*#__PURE__*/ ww(Tw, [["render", Dw]]), kw = ["for"], Aw = [
9926
9939
  onInput: O,
9927
9940
  onKeydown: [se(j, ["enter"]), P],
9928
9941
  onKeyup: M,
9929
- onPaste: H
9942
+ onPaste: U
9930
9943
  }), null, 16, Mw)) : o("", !0) : (D(), s("input", v({
9931
9944
  key: 0,
9932
9945
  id: t.name,
@@ -9945,7 +9958,8 @@ var Ow = /*#__PURE__*/ ww(Tw, [["render", Dw]]), kw = ["for"], Aw = [
9945
9958
  onFocus: te,
9946
9959
  onBlur: r[0] ||= (e) => f("blur"),
9947
9960
  onClick: L,
9948
- onPaste: H
9961
+ onPaste: U,
9962
+ onWheelPassive: R
9949
9963
  }, ne(t.inputEvents, !0)), null, 16, Aw))], 64)),
9950
9964
  x.value ? (D(), a(Ow, { key: 2 }, {
9951
9965
  default: W(() => [
@@ -9977,13 +9991,14 @@ var Ow = /*#__PURE__*/ ww(Tw, [["render", Dw]]), kw = ["for"], Aw = [
9977
9991
  onFocus: te,
9978
9992
  onBlur: r[2] ||= (e) => f("blur"),
9979
9993
  onClick: L,
9980
- onPaste: H
9994
+ onPaste: U,
9995
+ onWheelPassive: R
9981
9996
  }, ne(t.inputEvents, !0)), null, 16, Pw),
9982
9997
  t.password ? (D(), a(Q, {
9983
9998
  key: 1,
9984
9999
  icon: _.value ? "eye-closed" : "eye",
9985
10000
  class: "r-cursor-pointer",
9986
- onClick: B
10001
+ onClick: re
9987
10002
  }, null, 8, ["icon"])) : t.rightIcon ? (D(), a(Q, {
9988
10003
  key: 2,
9989
10004
  icon: t.rightIcon,