bj-web-components 0.2.34 → 0.2.36

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.
Files changed (111) hide show
  1. package/README.md +10 -1
  2. package/dist/index.js +58 -1
  3. package/dist/index.mjs +1 -29
  4. package/dist/miniapp.js +1 -1
  5. package/dist/miniapp.mjs +0 -1
  6. package/dist/mobile.js +1 -1
  7. package/dist/mobile.mjs +0 -1
  8. package/dist/react.js +1 -1
  9. package/dist/react.mjs +0 -1
  10. package/dist/shared.js +1 -1
  11. package/dist/shared.mjs +0 -1
  12. package/dist/style.css +1 -1
  13. package/dist/web/BasicInput/BInput.js +278 -1
  14. package/dist/web/BasicInput/BInput.mjs +263 -164
  15. package/dist/web/BasicInput/utils.js +47 -1
  16. package/dist/web/BasicInput/utils.mjs +22 -20
  17. package/dist/web/CategoryDropdown/CategoryDropdown.js +376 -1
  18. package/dist/web/CategoryDropdown/CategoryDropdown.mjs +355 -235
  19. package/dist/web/CheckBox/BCheckBox.js +176 -1
  20. package/dist/web/CheckBox/BCheckBox.mjs +169 -98
  21. package/dist/web/CheckBox/Group.js +111 -1
  22. package/dist/web/CheckBox/Group.mjs +104 -64
  23. package/dist/web/CheckBox/context.js +8 -1
  24. package/dist/web/CheckBox/context.mjs +2 -4
  25. package/dist/web/CheckBox/index.js +11 -1
  26. package/dist/web/CheckBox/index.mjs +2 -4
  27. package/dist/web/Dropdown/BDropdown.js +265 -1
  28. package/dist/web/Dropdown/BDropdown.mjs +233 -133
  29. package/dist/web/EmptyInputBox/EmptyInputBox.js +89 -1
  30. package/dist/web/EmptyInputBox/EmptyInputBox.mjs +85 -72
  31. package/dist/web/FileCard/FileCard.js +414 -1
  32. package/dist/web/FileCard/FileCard.mjs +400 -116
  33. package/dist/web/Icon/Icon.js +82 -1
  34. package/dist/web/Icon/Icon.mjs +78 -8
  35. package/dist/web/Input/Input.js +230 -1
  36. package/dist/web/Input/Input.mjs +219 -164
  37. package/dist/web/InputNumber/BInputNumber.js +271 -1
  38. package/dist/web/InputNumber/BInputNumber.mjs +254 -189
  39. package/dist/web/InputNumber/StepHandler.js +112 -1
  40. package/dist/web/InputNumber/StepHandler.mjs +102 -50
  41. package/dist/web/InputNumber/hooks/useCursor.js +38 -1
  42. package/dist/web/InputNumber/hooks/useCursor.mjs +31 -34
  43. package/dist/web/InputNumber/hooks/useFrame.js +15 -1
  44. package/dist/web/InputNumber/hooks/useFrame.mjs +8 -5
  45. package/dist/web/InputNumber/utils/decimal.js +163 -1
  46. package/dist/web/InputNumber/utils/decimal.mjs +114 -79
  47. package/dist/web/MobileDrawer/BMobileDrawer.js +238 -1
  48. package/dist/web/MobileDrawer/BMobileDrawer.mjs +221 -139
  49. package/dist/web/Modal/Modal.js +148 -1
  50. package/dist/web/Modal/Modal.mjs +143 -79
  51. package/dist/web/OverlayScrollbar/BOverlayScrollbar.js +273 -1
  52. package/dist/web/OverlayScrollbar/BOverlayScrollbar.mjs +262 -143
  53. package/dist/web/Pagination/Pagination.js +352 -1
  54. package/dist/web/Pagination/Pagination.mjs +342 -247
  55. package/dist/web/ProductField/ProductField.js +443 -1
  56. package/dist/web/ProductField/ProductField.mjs +423 -208
  57. package/dist/web/ProductField/arrow-up.svg.js +4 -1
  58. package/dist/web/ProductField/arrow-up.svg.mjs +2 -4
  59. package/dist/web/ProductField/checkbox-no.svg.js +4 -1
  60. package/dist/web/ProductField/checkbox-no.svg.mjs +2 -4
  61. package/dist/web/ProductField/checkbox-ok.svg.js +4 -1
  62. package/dist/web/ProductField/checkbox-ok.svg.mjs +2 -4
  63. package/dist/web/ProductField/no_data_light.svg.js +4 -1
  64. package/dist/web/ProductField/no_data_light.svg.mjs +2 -4
  65. package/dist/web/ProductField/search.svg.js +4 -1
  66. package/dist/web/ProductField/search.svg.mjs +2 -4
  67. package/dist/web/ProductField/sort.svg.js +4 -1
  68. package/dist/web/ProductField/sort.svg.mjs +2 -4
  69. package/dist/web/Radio/BRadio.js +151 -1
  70. package/dist/web/Radio/BRadio.mjs +147 -75
  71. package/dist/web/Radio/Button.js +54 -1
  72. package/dist/web/Radio/Button.mjs +51 -8
  73. package/dist/web/Radio/Group.js +97 -1
  74. package/dist/web/Radio/Group.mjs +92 -76
  75. package/dist/web/Radio/context.js +10 -1
  76. package/dist/web/Radio/context.mjs +3 -5
  77. package/dist/web/Radio/index.js +13 -1
  78. package/dist/web/Radio/index.mjs +2 -4
  79. package/dist/web/SkuInputCard/SkuInputCard.js +427 -1
  80. package/dist/web/SkuInputCard/SkuInputCard.mjs +414 -219
  81. package/dist/web/SkuInputCard/spin_loading_red.gif.js +4 -1
  82. package/dist/web/SkuInputCard/spin_loading_red.gif.mjs +2 -4
  83. package/dist/web/Switch/Switch.js +114 -1
  84. package/dist/web/Switch/Switch.mjs +109 -58
  85. package/dist/web/Table/BTable.js +1049 -1
  86. package/dist/web/Table/BTable.mjs +1011 -667
  87. package/dist/web/Table/Column.js +6 -1
  88. package/dist/web/Table/Column.mjs +1 -3
  89. package/dist/web/Table/ColumnGroup.js +6 -1
  90. package/dist/web/Table/ColumnGroup.mjs +1 -3
  91. package/dist/web/Table/utils/columns.js +116 -1
  92. package/dist/web/Table/utils/columns.mjs +103 -37
  93. package/dist/web/Table/utils/sortFilter.js +145 -1
  94. package/dist/web/Table/utils/sortFilter.mjs +129 -57
  95. package/dist/web/Tabs/BTabs.js +260 -1
  96. package/dist/web/Tabs/BTabs.mjs +239 -122
  97. package/dist/web/Tabs/TabPane.js +19 -1
  98. package/dist/web/Tabs/TabPane.mjs +1 -4
  99. package/dist/web/Tooltip/ConfirmTooltip.js +53 -1
  100. package/dist/web/Tooltip/ConfirmTooltip.mjs +47 -22
  101. package/dist/web/Tooltip/ContentTooltip.js +156 -1
  102. package/dist/web/Tooltip/ContentTooltip.mjs +145 -76
  103. package/dist/web/Tooltip/ProgressTooltip.js +56 -1
  104. package/dist/web/Tooltip/ProgressTooltip.mjs +50 -31
  105. package/dist/web/Tooltip/TooltipWrapper.js +19 -1
  106. package/dist/web/Tooltip/TooltipWrapper.mjs +13 -9
  107. package/dist/web/Tooltip/useAutoPlacement.js +65 -1
  108. package/dist/web/Tooltip/useAutoPlacement.mjs +52 -24
  109. package/dist/web.js +58 -1
  110. package/dist/web.mjs +1 -29
  111. package/package.json +3 -1
@@ -1,260 +1,380 @@
1
- import { jsxs as T, jsx as r } from "react/jsx-runtime";
2
- import { useState as E, useRef as L, useCallback as Q, useLayoutEffect as $, useEffect as U } from "react";
3
- import { createPortal as Z } from "react-dom";
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
4
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
5
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
6
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
7
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
8
+ import { jsxs as M, jsx as i } from "react/jsx-runtime";
9
+ import { useState as m, useRef as y, useCallback as X, useLayoutEffect as A, useEffect as Y } from "react";
10
+ import { createPortal as q } from "react-dom";
4
11
  /* empty css */
5
12
  /* empty css */
6
- import X from "../Tooltip/ContentTooltip.mjs";
7
- import Y from "../Tooltip/TooltipWrapper.mjs";
8
- function A({
9
- text: a,
10
- spanClassName: p,
11
- wrapperStyle: d,
12
- placement: h = "top",
13
- getPopupContainer: f,
14
- trailing: u
15
- }) {
16
- const [i, m] = E(!1), N = L(null), x = L(null), [o, w] = E(null);
17
- function b() {
18
- var g;
19
- const y = x.current;
20
- y && y.scrollWidth > y.offsetWidth && (w(((g = N.current) == null ? void 0 : g.getBoundingClientRect()) ?? null), m(!0));
21
- }
22
- return /* @__PURE__ */ T(Y, { ref: N, style: d, children: [
23
- /* @__PURE__ */ r(
24
- "span",
25
- {
26
- ref: x,
27
- className: p,
28
- onMouseEnter: b,
29
- onMouseLeave: () => m(!1),
30
- children: a
31
- }
32
- ),
33
- u,
34
- i && o && Z(
35
- /* @__PURE__ */ r(
36
- "span",
37
- {
38
- style: {
39
- position: "fixed",
40
- top: o.top,
41
- left: o.left,
42
- width: o.width,
43
- height: o.height,
44
- display: "block",
45
- pointerEvents: "none",
46
- zIndex: 9999999999
47
- },
48
- children: /* @__PURE__ */ r(X, { content: a, placement: h, className: "bu-category-dropdown__tooltip" })
13
+ import ee from "../Tooltip/ContentTooltip.mjs";
14
+ import te from "../Tooltip/TooltipWrapper.mjs";
15
+ var ne = Object.defineProperty,
16
+ H = Object.getOwnPropertySymbols,
17
+ oe = Object.prototype.hasOwnProperty,
18
+ re = Object.prototype.propertyIsEnumerable,
19
+ Z = function Z(l, e, n) {
20
+ return e in l ? ne(l, e, {
21
+ enumerable: !0,
22
+ configurable: !0,
23
+ writable: !0,
24
+ value: n
25
+ }) : l[e] = n;
26
+ },
27
+ le = function le(l, e) {
28
+ for (var n in e || (e = {})) oe.call(e, n) && Z(l, n, e[n]);
29
+ if (H) {
30
+ var _iterator = _createForOfIteratorHelper(H(e)),
31
+ _step;
32
+ try {
33
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
34
+ var n = _step.value;
35
+ re.call(e, n) && Z(l, n, e[n]);
49
36
  }
50
- ),
51
- (f == null ? void 0 : f()) ?? document.body
52
- )
53
- ] });
37
+ } catch (err) {
38
+ _iterator.e(err);
39
+ } finally {
40
+ _iterator.f();
41
+ }
42
+ }
43
+ return l;
44
+ };
45
+ function D(_ref) {
46
+ var l = _ref.text,
47
+ e = _ref.spanClassName,
48
+ n = _ref.wrapperStyle,
49
+ _ref$placement = _ref.placement,
50
+ h = _ref$placement === void 0 ? "top" : _ref$placement,
51
+ f = _ref.getPopupContainer,
52
+ g = _ref.trailing;
53
+ var u;
54
+ var _m = m(!1),
55
+ _m2 = _slicedToArray(_m, 2),
56
+ _ = _m2[0],
57
+ E = _m2[1],
58
+ C = y(null),
59
+ c = y(null),
60
+ _m3 = m(null),
61
+ _m4 = _slicedToArray(_m3, 2),
62
+ p = _m4[0],
63
+ b = _m4[1];
64
+ function B() {
65
+ var v, N;
66
+ var w = c.current;
67
+ w && w.scrollWidth > w.offsetWidth && (b((N = (v = C.current) == null ? void 0 : v.getBoundingClientRect()) != null ? N : null), E(!0));
68
+ }
69
+ return /* @__PURE__ */M(te, {
70
+ ref: C,
71
+ style: n,
72
+ children: [/* @__PURE__ */i("span", {
73
+ ref: c,
74
+ className: e,
75
+ onMouseEnter: B,
76
+ onMouseLeave: function onMouseLeave() {
77
+ return E(!1);
78
+ },
79
+ children: l
80
+ }), g, _ && p && q(/* @__PURE__ */i("span", {
81
+ style: {
82
+ position: "fixed",
83
+ top: p.top,
84
+ left: p.left,
85
+ width: p.width,
86
+ height: p.height,
87
+ display: "block",
88
+ pointerEvents: "none",
89
+ zIndex: 9999999999
90
+ },
91
+ children: /* @__PURE__ */i(ee, {
92
+ content: l,
93
+ placement: h,
94
+ className: "bu-category-dropdown__tooltip"
95
+ })
96
+ }), (u = f == null ? void 0 : f()) != null ? u : document.body)]
97
+ });
54
98
  }
55
- function P() {
56
- return /* @__PURE__ */ r("svg", { viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ r("path", { d: "M5.57345 8.828C5.41074 8.66528 5.41074 8.40152 5.57345 8.2388C5.73617 8.07608 5.99993 8.07608 6.16265 8.2388L10.0323 12.1084L13.8349 8.24124C13.9963 8.0772 14.26 8.07503 14.4241 8.23636C14.5881 8.39771 14.5903 8.66149 14.429 8.82555L10.5282 12.7924C10.2576 13.0675 9.81477 13.0694 9.54196 12.7966L5.57345 8.828Z", fill: "#333333" }) });
99
+ function se() {
100
+ return /* @__PURE__ */i("svg", {
101
+ viewBox: "0 0 20 20",
102
+ fill: "none",
103
+ xmlns: "http://www.w3.org/2000/svg",
104
+ children: /* @__PURE__ */i("path", {
105
+ d: "M5.57345 8.828C5.41074 8.66528 5.41074 8.40152 5.57345 8.2388C5.73617 8.07608 5.99993 8.07608 6.16265 8.2388L10.0323 12.1084L13.8349 8.24124C13.9963 8.0772 14.26 8.07503 14.4241 8.23636C14.5881 8.39771 14.5903 8.66149 14.429 8.82555L10.5282 12.7924C10.2576 13.0675 9.81477 13.0694 9.54196 12.7966L5.57345 8.828Z",
106
+ fill: "#333333"
107
+ })
108
+ });
57
109
  }
58
- function ee() {
110
+ function ae() {
59
111
  return (
60
112
  // <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
61
113
  // <path d="M6 3.5L10.5 8L6 12.5" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
62
114
  // </svg>
63
- /* @__PURE__ */ r("svg", { className: "icon", viewBox: "0 0 1024 1024", version: "1.1", xmlns: "http://www.w3.org/2000/svg", "p-id": "55697", children: /* @__PURE__ */ r("path", { d: "M451.854222 285.361778A21.333333 21.333333 0 1 0 421.688889 315.52l198.115555 198.122667-197.994666 194.702222a21.333333 21.333333 0 0 0 29.916444 30.414222l203.107556-199.722667a35.555556 35.555556 0 0 0 0.213333-50.488888L451.854222 285.354667z", "p-id": "55698" }) })
115
+ /* @__PURE__ */
116
+ i("svg", {
117
+ className: "icon",
118
+ viewBox: "0 0 1024 1024",
119
+ version: "1.1",
120
+ xmlns: "http://www.w3.org/2000/svg",
121
+ "p-id": "55697",
122
+ children: /* @__PURE__ */i("path", {
123
+ d: "M451.854222 285.361778A21.333333 21.333333 0 1 0 421.688889 315.52l198.115555 198.122667-197.994666 194.702222a21.333333 21.333333 0 0 0 29.916444 30.414222l203.107556-199.722667a35.555556 35.555556 0 0 0 0.213333-50.488888L451.854222 285.354667z",
124
+ "p-id": "55698"
125
+ })
126
+ })
64
127
  );
65
128
  }
66
- function te(a, p) {
67
- var f;
68
- const d = [a];
69
- let h = a;
70
- for (let u = 0; u < p.length; u++) {
71
- const i = h.find((m) => m.value === p[u]);
72
- if ((f = i == null ? void 0 : i.children) != null && f.length)
73
- d.push(i.children), h = i.children;
74
- else
75
- break;
129
+ function ie(l, e) {
130
+ var n;
131
+ var h = [l];
132
+ var f = l;
133
+ var _loop = function _loop(g) {
134
+ var u = f.find(function (_) {
135
+ return _.value === e[g];
136
+ });
137
+ if ((n = u == null ? void 0 : u.children) != null && n.length) h.push(u.children), f = u.children;else return 1; // break
138
+ };
139
+ for (var g = 0; g < e.length; g++) {
140
+ if (_loop(g)) break;
76
141
  }
77
- return d;
142
+ return h;
78
143
  }
79
- function H(a, p) {
80
- const d = [];
81
- let h = a;
82
- for (const f of p) {
83
- const u = h.find((i) => i.value === f);
84
- if (!u) break;
85
- d.push(u), h = u.children ?? [];
144
+ function I(l, e) {
145
+ var n;
146
+ var h = [];
147
+ var f = l;
148
+ var _iterator2 = _createForOfIteratorHelper(e),
149
+ _step2;
150
+ try {
151
+ var _loop2 = function _loop2() {
152
+ var g = _step2.value;
153
+ var u = f.find(function (_) {
154
+ return _.value === g;
155
+ });
156
+ if (!u) return 1; // break
157
+ h.push(u), f = (n = u.children) != null ? n : [];
158
+ };
159
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
160
+ if (_loop2()) break;
161
+ }
162
+ } catch (err) {
163
+ _iterator2.e(err);
164
+ } finally {
165
+ _iterator2.f();
86
166
  }
87
- return d;
167
+ return h;
88
168
  }
89
- function ae({
90
- data: a,
91
- value: p = [],
92
- onChange: d,
93
- placeholder: h = "请选择分类",
94
- disabled: f = !1,
95
- maxVisible: u = 6,
96
- className: i,
97
- style: m,
98
- getPopupContainer: N,
99
- dropdownStyle: x
100
- }) {
101
- const [o, w] = E(!1), [b, y] = E(p), g = L(null), j = L(null), S = L(null), z = L(!1), [D, q] = E({}), [B, F] = E(), C = Q(() => {
102
- var _;
103
- if (!g.current) return;
104
- const n = g.current.getBoundingClientRect();
105
- let e = 0, t = g.current.parentElement;
106
- for (; t && t !== document.documentElement; ) {
107
- const R = parseInt(window.getComputedStyle(t).zIndex, 10);
108
- if (!isNaN(R) && R > e && (e = R), t.parentElement)
109
- for (const v of t.parentElement.children) {
110
- if (v === t || !(v instanceof HTMLElement)) continue;
111
- const k = parseInt(window.getComputedStyle(v).zIndex, 10);
112
- !isNaN(k) && k > e && (e = k);
169
+ function ve(_ref2) {
170
+ var l = _ref2.data,
171
+ _ref2$value = _ref2.value,
172
+ e = _ref2$value === void 0 ? [] : _ref2$value,
173
+ n = _ref2.onChange,
174
+ _ref2$placeholder = _ref2.placeholder,
175
+ h = _ref2$placeholder === void 0 ? "请选择分类" : _ref2$placeholder,
176
+ _ref2$disabled = _ref2.disabled,
177
+ f = _ref2$disabled === void 0 ? !1 : _ref2$disabled,
178
+ _ref2$maxVisible = _ref2.maxVisible,
179
+ g = _ref2$maxVisible === void 0 ? 6 : _ref2$maxVisible,
180
+ u = _ref2.className,
181
+ _ = _ref2.style,
182
+ E = _ref2.getPopupContainer,
183
+ C = _ref2.dropdownStyle;
184
+ var _m5 = m(!1),
185
+ _m6 = _slicedToArray(_m5, 2),
186
+ c = _m6[0],
187
+ p = _m6[1],
188
+ _m7 = m(e),
189
+ _m8 = _slicedToArray(_m7, 2),
190
+ b = _m8[0],
191
+ B = _m8[1],
192
+ v = y(null),
193
+ N = y(null),
194
+ w = y(null),
195
+ z = y(!1),
196
+ _m9 = m({}),
197
+ _m0 = _slicedToArray(_m9, 2),
198
+ F = _m0[0],
199
+ G = _m0[1],
200
+ _m1 = m(),
201
+ _m10 = _slicedToArray(_m1, 2),
202
+ L = _m10[0],
203
+ J = _m10[1],
204
+ x = X(function () {
205
+ var d, o;
206
+ if (!v.current) return;
207
+ var s = v.current.getBoundingClientRect();
208
+ var r = 0,
209
+ t = v.current.parentElement;
210
+ for (; t && t !== document.documentElement;) {
211
+ var R = parseInt(window.getComputedStyle(t).zIndex, 10);
212
+ if (!isNaN(R) && R > r && (r = R), t.parentElement) {
213
+ var _iterator3 = _createForOfIteratorHelper(t.parentElement.children),
214
+ _step3;
215
+ try {
216
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
217
+ var T = _step3.value;
218
+ if (T === t || !(T instanceof HTMLElement)) continue;
219
+ var W = parseInt(window.getComputedStyle(T).zIndex, 10);
220
+ !isNaN(W) && W > r && (r = W);
221
+ }
222
+ } catch (err) {
223
+ _iterator3.e(err);
224
+ } finally {
225
+ _iterator3.f();
226
+ }
113
227
  }
114
- t = t.parentElement;
115
- }
116
- const l = ((_ = S.current) == null ? void 0 : _.offsetHeight) ?? 0, s = window.innerHeight - n.bottom, c = n.top, M = l > 0 && s < l + 4 && c > s;
117
- q({
118
- position: "fixed",
119
- top: M ? n.top - l - 4 : n.bottom + 4,
120
- left: n.left,
121
- zIndex: e > 0 ? e + 10 : 1100,
122
- ...x
123
- });
124
- }, [x]);
125
- $(() => {
126
- o && C();
127
- }, [o, b, C]), $(() => {
128
- const n = o && !z.current;
129
- if (z.current = o, !o || !S.current) return;
130
- const e = S.current.querySelectorAll(".bu-category-dropdown__col");
131
- e.forEach((s) => {
132
- s.style.width = "";
228
+ t = t.parentElement;
229
+ }
230
+ var a = (o = (d = w.current) == null ? void 0 : d.offsetHeight) != null ? o : 0,
231
+ S = window.innerHeight - s.bottom,
232
+ j = s.top,
233
+ O = a > 0 && S < a + 4 && j > S;
234
+ G(le({
235
+ position: "fixed",
236
+ top: O ? s.top - a - 4 : s.bottom + 4,
237
+ left: s.left,
238
+ zIndex: r > 0 ? r + 10 : 1100
239
+ }, C));
240
+ }, [C]);
241
+ A(function () {
242
+ c && x();
243
+ }, [c, b, x]), A(function () {
244
+ var d = c && !z.current;
245
+ if (z.current = c, !c || !w.current) return;
246
+ var o = w.current.querySelectorAll(".bu-category-dropdown__col");
247
+ o.forEach(function (t) {
248
+ t.style.width = "";
133
249
  });
134
- let t = 0;
135
- e.forEach((s) => {
136
- s.offsetWidth > t && (t = s.offsetWidth);
250
+ var s = 0;
251
+ o.forEach(function (t) {
252
+ t.offsetWidth > s && (s = t.offsetWidth);
137
253
  });
138
- const l = n ? t : Math.max(B ?? 0, t);
139
- e.forEach((s) => {
140
- s.style.width = l ? `${l}px` : "";
141
- }), l !== B && F(l || void 0);
142
- }, [o, b]), U(() => {
143
- if (!o) return;
144
- function n(t) {
145
- var s, c;
146
- const l = t.target;
147
- (s = g.current) != null && s.contains(l) || (c = j.current) != null && c.contains(l) || w(!1);
254
+ var r = d ? s : Math.max(L != null ? L : 0, s);
255
+ o.forEach(function (t) {
256
+ t.style.width = r ? "".concat(r, "px") : "";
257
+ }), r !== L && J(r || void 0);
258
+ }, [c, b]), Y(function () {
259
+ if (!c) return;
260
+ function d(s) {
261
+ var r, t;
262
+ var a = s.target;
263
+ (r = v.current) != null && r.contains(a) || (t = N.current) != null && t.contains(a) || p(!1);
148
264
  }
149
- function e() {
150
- w(!1);
265
+ function o() {
266
+ p(!1);
151
267
  }
152
- return document.addEventListener("mousedown", n), document.addEventListener("scroll", e, !0), window.addEventListener("resize", C), () => {
153
- document.removeEventListener("mousedown", n), document.removeEventListener("scroll", e, !0), window.removeEventListener("resize", C);
268
+ return document.addEventListener("mousedown", d), document.addEventListener("scroll", o, !0), window.addEventListener("resize", x), function () {
269
+ document.removeEventListener("mousedown", d), document.removeEventListener("scroll", o, !0), window.removeEventListener("resize", x);
154
270
  };
155
- }, [o, C]);
156
- const O = H(a, p), W = O.length > 0, G = W ? O.map((n) => n.label).join(" / ") : null, V = te(a, b);
157
- function I(n, e) {
158
- var l;
159
- if (e.disabled) return;
160
- const t = b.slice(0, n + 1);
161
- if (t[n] = e.value, y(t), !((l = e.children) != null && l.length)) {
162
- const s = H(a, t);
163
- d == null || d(t, s), w(!1);
271
+ }, [c, x]);
272
+ var k = I(l, e),
273
+ P = k.length > 0,
274
+ V = P ? k.map(function (d) {
275
+ return d.label;
276
+ }).join(" / ") : null,
277
+ $ = ie(l, b);
278
+ function K(d, o) {
279
+ var s;
280
+ if (o.disabled) return;
281
+ var r = b.slice(0, d + 1);
282
+ if (r[d] = o.value, B(r), !((s = o.children) != null && s.length)) {
283
+ var t = I(l, r);
284
+ n == null || n(r, t), p(!1);
164
285
  }
165
286
  }
166
- function J() {
167
- y(p), w(!0);
287
+ function Q() {
288
+ B(e), p(!0);
168
289
  }
169
- const K = [
170
- "bu-category-dropdown__trigger",
171
- o ? "bu-category-dropdown__trigger--open" : "",
172
- W ? "bu-category-dropdown__trigger--has-value" : ""
173
- ].filter(Boolean).join(" ");
174
- return /* @__PURE__ */ T(
175
- "div",
176
- {
177
- ref: g,
178
- className: `bu-category-dropdown${i ? ` ${i}` : ""}`,
179
- style: m,
180
- children: [
181
- /* @__PURE__ */ r(
182
- "button",
183
- {
184
- type: "button",
185
- className: K,
186
- disabled: f,
187
- onClick: () => o ? w(!1) : J(),
188
- children: /* @__PURE__ */ r(
189
- A,
190
- {
191
- text: G ?? h,
192
- spanClassName: `bu-category-dropdown__trigger-label${W ? "" : " bu-category-dropdown__trigger-label--placeholder"}`,
193
- wrapperStyle: { flex: 1, minWidth: 0, display: "flex", alignItems: "center", gap: 8 },
194
- getPopupContainer: N,
195
- trailing: /* @__PURE__ */ r("span", { className: `bu-category-dropdown__trigger-chevron${o ? " bu-category-dropdown__trigger-chevron--open" : ""}`, children: /* @__PURE__ */ r(P, {}) })
196
- }
197
- )
198
- }
199
- ),
200
- o && Z(
201
- /* @__PURE__ */ r("div", { ref: j, style: D, className: "bu-category-dropdown__portal", children: /* @__PURE__ */ r("div", { className: "bu-category-dropdown__panel", ref: S, children: V.map((n, e) => {
202
- const t = n.length > u, l = e === V.length - 1, s = [
203
- "bu-category-dropdown__col",
204
- e > 0 ? "bu-category-dropdown__col--indent" : "",
205
- t ? "bu-category-dropdown__col--scrollable" : "",
206
- l && e > 0 ? "bu-category-dropdown__col--last" : ""
207
- ].filter(Boolean).join(" ");
208
- return /* @__PURE__ */ T("div", { style: { display: "contents" }, children: [
209
- e > 0 && /* @__PURE__ */ r("div", { className: "bu-category-dropdown__divider" }),
210
- /* @__PURE__ */ r(
211
- "div",
212
- {
213
- className: s,
214
- style: B ? { width: B } : void 0,
215
- onMouseEnter: t ? (c) => c.currentTarget.classList.add("bu-category-dropdown__col--scrollbar-visible") : void 0,
216
- onMouseLeave: t ? (c) => c.currentTarget.classList.remove("bu-category-dropdown__col--scrollbar-visible") : void 0,
217
- children: n.map((c) => {
218
- var v;
219
- const M = b[e] === c.value, _ = !!((v = c.children) != null && v.length), R = [
220
- "bu-category-dropdown__item",
221
- M && _ ? "bu-category-dropdown__item--selected-branch" : "",
222
- M && !_ ? "bu-category-dropdown__item--selected-leaf" : "",
223
- c.disabled ? "bu-category-dropdown__item--disabled" : ""
224
- ].filter(Boolean).join(" ");
225
- return /* @__PURE__ */ T(
226
- "button",
227
- {
228
- type: "button",
229
- className: R,
230
- disabled: c.disabled,
231
- onClick: () => I(e, c),
232
- children: [
233
- /* @__PURE__ */ r(
234
- A,
235
- {
236
- text: c.label,
237
- spanClassName: "bu-category-dropdown__item-label",
238
- wrapperStyle: { flex: 1, minWidth: 0, display: "block" },
239
- getPopupContainer: N
240
- }
241
- ),
242
- _ && /* @__PURE__ */ r("span", { className: "bu-category-dropdown__item-arrow", children: /* @__PURE__ */ r(ee, {}) })
243
- ]
244
- },
245
- c.value
246
- );
247
- })
248
- }
249
- )
250
- ] }, e);
251
- }) }) }),
252
- document.body
253
- )
254
- ]
255
- }
256
- );
290
+ var U = ["bu-category-dropdown__trigger", c ? "bu-category-dropdown__trigger--open" : "", P ? "bu-category-dropdown__trigger--has-value" : ""].filter(Boolean).join(" ");
291
+ return /* @__PURE__ */M("div", {
292
+ ref: v,
293
+ className: "bu-category-dropdown".concat(u ? " ".concat(u) : ""),
294
+ style: _,
295
+ children: [/* @__PURE__ */i("button", {
296
+ type: "button",
297
+ className: U,
298
+ disabled: f,
299
+ onClick: function onClick() {
300
+ return c ? p(!1) : Q();
301
+ },
302
+ children: /* @__PURE__ */i(D, {
303
+ text: V != null ? V : h,
304
+ spanClassName: "bu-category-dropdown__trigger-label".concat(P ? "" : " bu-category-dropdown__trigger-label--placeholder"),
305
+ wrapperStyle: {
306
+ flex: 1,
307
+ minWidth: 0,
308
+ display: "flex",
309
+ alignItems: "center",
310
+ gap: 8
311
+ },
312
+ getPopupContainer: E,
313
+ trailing: /* @__PURE__ */i("span", {
314
+ className: "bu-category-dropdown__trigger-chevron".concat(c ? " bu-category-dropdown__trigger-chevron--open" : ""),
315
+ children: /* @__PURE__ */i(se, {})
316
+ })
317
+ })
318
+ }), c && q(/* @__PURE__ */i("div", {
319
+ ref: N,
320
+ style: F,
321
+ className: "bu-category-dropdown__portal",
322
+ children: /* @__PURE__ */i("div", {
323
+ className: "bu-category-dropdown__panel",
324
+ ref: w,
325
+ children: $.map(function (d, o) {
326
+ var s = d.length > g,
327
+ r = o === $.length - 1,
328
+ t = ["bu-category-dropdown__col", o > 0 ? "bu-category-dropdown__col--indent" : "", s ? "bu-category-dropdown__col--scrollable" : "", r && o > 0 ? "bu-category-dropdown__col--last" : ""].filter(Boolean).join(" ");
329
+ return /* @__PURE__ */M("div", {
330
+ style: {
331
+ display: "contents"
332
+ },
333
+ children: [o > 0 && /* @__PURE__ */i("div", {
334
+ className: "bu-category-dropdown__divider"
335
+ }), /* @__PURE__ */i("div", {
336
+ className: t,
337
+ style: L ? {
338
+ width: L
339
+ } : void 0,
340
+ onMouseEnter: s ? function (a) {
341
+ return a.currentTarget.classList.add("bu-category-dropdown__col--scrollbar-visible");
342
+ } : void 0,
343
+ onMouseLeave: s ? function (a) {
344
+ return a.currentTarget.classList.remove("bu-category-dropdown__col--scrollbar-visible");
345
+ } : void 0,
346
+ children: d.map(function (a) {
347
+ var S;
348
+ var j = b[o] === a.value,
349
+ O = !!((S = a.children) != null && S.length),
350
+ R = ["bu-category-dropdown__item", j && O ? "bu-category-dropdown__item--selected-branch" : "", j && !O ? "bu-category-dropdown__item--selected-leaf" : "", a.disabled ? "bu-category-dropdown__item--disabled" : ""].filter(Boolean).join(" ");
351
+ return /* @__PURE__ */M("button", {
352
+ type: "button",
353
+ className: R,
354
+ disabled: a.disabled,
355
+ onClick: function onClick() {
356
+ return K(o, a);
357
+ },
358
+ children: [/* @__PURE__ */i(D, {
359
+ text: a.label,
360
+ spanClassName: "bu-category-dropdown__item-label",
361
+ wrapperStyle: {
362
+ flex: 1,
363
+ minWidth: 0,
364
+ display: "block"
365
+ },
366
+ getPopupContainer: E
367
+ }), O && /* @__PURE__ */i("span", {
368
+ className: "bu-category-dropdown__item-arrow",
369
+ children: /* @__PURE__ */i(ae, {})
370
+ })]
371
+ }, a.value);
372
+ })
373
+ })]
374
+ }, o);
375
+ })
376
+ })
377
+ }), document.body)]
378
+ });
257
379
  }
258
- export {
259
- ae as default
260
- };
380
+ export { ve as default };