bitboss-ui 0.2.59 → 0.2.60

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 (141) hide show
  1. package/dist/index101.js +3 -3
  2. package/dist/index103.js +2 -2
  3. package/dist/index109.js +1 -1
  4. package/dist/index11.js +2 -2
  5. package/dist/index111.js +4 -4
  6. package/dist/index113.js +1 -1
  7. package/dist/index116.js +1 -1
  8. package/dist/index117.js +1 -1
  9. package/dist/index118.js +1 -1
  10. package/dist/index119.js +1 -1
  11. package/dist/index121.js +1 -1
  12. package/dist/index125.js +1 -1
  13. package/dist/index126.js +1 -1
  14. package/dist/index127.js +1 -1
  15. package/dist/index131.js +2 -2
  16. package/dist/index15.js +7 -7
  17. package/dist/index17.js +8 -8
  18. package/dist/index19.js +3 -3
  19. package/dist/index196.js +2 -2
  20. package/dist/index196.js.map +1 -1
  21. package/dist/index197.js +10 -4
  22. package/dist/index197.js.map +1 -1
  23. package/dist/index198.js +3 -2
  24. package/dist/index198.js.map +1 -1
  25. package/dist/index199.js +34 -9
  26. package/dist/index199.js.map +1 -1
  27. package/dist/index200.js +6 -3
  28. package/dist/index200.js.map +1 -1
  29. package/dist/index201.js +2 -35
  30. package/dist/index201.js.map +1 -1
  31. package/dist/index202.js +2 -6
  32. package/dist/index202.js.map +1 -1
  33. package/dist/index203.js +2 -235
  34. package/dist/index203.js.map +1 -1
  35. package/dist/index204.js +3 -368
  36. package/dist/index204.js.map +1 -1
  37. package/dist/index205.js +3 -134
  38. package/dist/index205.js.map +1 -1
  39. package/dist/index206.js +5 -295
  40. package/dist/index206.js.map +1 -1
  41. package/dist/index207.js +15 -18
  42. package/dist/index207.js.map +1 -1
  43. package/dist/index208.js +16 -2
  44. package/dist/index208.js.map +1 -1
  45. package/dist/index209.js +19 -2
  46. package/dist/index209.js.map +1 -1
  47. package/dist/index21.js +2 -2
  48. package/dist/index210.js +18 -172
  49. package/dist/index210.js.map +1 -1
  50. package/dist/index211.js +29 -23
  51. package/dist/index211.js.map +1 -1
  52. package/dist/index212.js +8 -373
  53. package/dist/index212.js.map +1 -1
  54. package/dist/index213.js +2 -16
  55. package/dist/index213.js.map +1 -1
  56. package/dist/index214.js +4 -16
  57. package/dist/index214.js.map +1 -1
  58. package/dist/index215.js +366 -18
  59. package/dist/index215.js.map +1 -1
  60. package/dist/index216.js +130 -25
  61. package/dist/index216.js.map +1 -1
  62. package/dist/index217.js +174 -8
  63. package/dist/index217.js.map +1 -1
  64. package/dist/index218.js +23 -2
  65. package/dist/index218.js.map +1 -1
  66. package/dist/index219.js +373 -3
  67. package/dist/index219.js.map +1 -1
  68. package/dist/index220.js +121 -3
  69. package/dist/index220.js.map +1 -1
  70. package/dist/index221.js +2 -121
  71. package/dist/index221.js.map +1 -1
  72. package/dist/index222.js +235 -2
  73. package/dist/index222.js.map +1 -1
  74. package/dist/index226.js +78 -3
  75. package/dist/index226.js.map +1 -1
  76. package/dist/index227.js +428 -72
  77. package/dist/index227.js.map +1 -1
  78. package/dist/index228.js +88 -159
  79. package/dist/index228.js.map +1 -1
  80. package/dist/index229.js +202 -1
  81. package/dist/index229.js.map +1 -1
  82. package/dist/index23.js +1 -1
  83. package/dist/index230.js +224 -69
  84. package/dist/index230.js.map +1 -1
  85. package/dist/index231.js +258 -2
  86. package/dist/index231.js.map +1 -1
  87. package/dist/index232.js +2 -5
  88. package/dist/index232.js.map +1 -1
  89. package/dist/index233.js +3 -434
  90. package/dist/index233.js.map +1 -1
  91. package/dist/index234.js +294 -88
  92. package/dist/index234.js.map +1 -1
  93. package/dist/index235.js +5 -14
  94. package/dist/index235.js.map +1 -1
  95. package/dist/index236.js +2 -200
  96. package/dist/index236.js.map +1 -1
  97. package/dist/index237.js +2 -6
  98. package/dist/index237.js.map +1 -1
  99. package/dist/index238.js +2 -2
  100. package/dist/index239.js +2 -2
  101. package/dist/index241.js +2 -117
  102. package/dist/index241.js.map +1 -1
  103. package/dist/index242.js +2 -106
  104. package/dist/index242.js.map +1 -1
  105. package/dist/index243.js +117 -2
  106. package/dist/index243.js.map +1 -1
  107. package/dist/index244.js +106 -2
  108. package/dist/index244.js.map +1 -1
  109. package/dist/index245.js +160 -2
  110. package/dist/index245.js.map +1 -1
  111. package/dist/index246.js +1 -4
  112. package/dist/index246.js.map +1 -1
  113. package/dist/index247.js +69 -224
  114. package/dist/index247.js.map +1 -1
  115. package/dist/index248.js +5 -258
  116. package/dist/index248.js.map +1 -1
  117. package/dist/index249.js +15 -2
  118. package/dist/index249.js.map +1 -1
  119. package/dist/index25.js +2 -2
  120. package/dist/index253.js +2 -3
  121. package/dist/index253.js.map +1 -1
  122. package/dist/index254.js +1 -1
  123. package/dist/index255.js +3 -2
  124. package/dist/index255.js.map +1 -1
  125. package/dist/index256.js +5 -0
  126. package/dist/index256.js.map +1 -0
  127. package/dist/index29.js +3 -3
  128. package/dist/index31.js +9 -9
  129. package/dist/index31.js.map +1 -1
  130. package/dist/index33.js +2 -2
  131. package/dist/index35.js +2 -2
  132. package/dist/index47.js +1 -1
  133. package/dist/index49.js +1 -1
  134. package/dist/index65.js +4 -4
  135. package/dist/index72.js +1 -1
  136. package/dist/index75.js +1 -1
  137. package/dist/index77.js +1 -1
  138. package/dist/index79.js +4 -4
  139. package/dist/index81.js +1 -1
  140. package/dist/style.css +1 -1
  141. package/package.json +1 -1
package/dist/index243.js CHANGED
@@ -1,5 +1,120 @@
1
- var e = { exports: {} };
1
+ const l = Math.min, a = Math.max, P = Math.round, M = Math.floor, O = (t) => ({
2
+ x: t,
3
+ y: t
4
+ }), m = {
5
+ left: "right",
6
+ right: "left",
7
+ bottom: "top",
8
+ top: "bottom"
9
+ }, p = {
10
+ start: "end",
11
+ end: "start"
12
+ };
13
+ function S(t, n, o) {
14
+ return a(t, l(n, o));
15
+ }
16
+ function w(t, n) {
17
+ return typeof t == "function" ? t(n) : t;
18
+ }
19
+ function f(t) {
20
+ return t.split("-")[0];
21
+ }
22
+ function g(t) {
23
+ return t.split("-")[1];
24
+ }
25
+ function h(t) {
26
+ return t === "x" ? "y" : "x";
27
+ }
28
+ function x(t) {
29
+ return t === "y" ? "height" : "width";
30
+ }
31
+ function b(t) {
32
+ return ["top", "bottom"].includes(f(t)) ? "y" : "x";
33
+ }
34
+ function d(t) {
35
+ return h(b(t));
36
+ }
37
+ function j(t, n, o) {
38
+ o === void 0 && (o = !1);
39
+ const s = g(t), i = d(t), e = x(i);
40
+ let r = i === "x" ? s === (o ? "end" : "start") ? "right" : "left" : s === "start" ? "bottom" : "top";
41
+ return n.reference[e] > n.floating[e] && (r = u(r)), [r, u(r)];
42
+ }
43
+ function C(t) {
44
+ const n = u(t);
45
+ return [c(t), n, c(n)];
46
+ }
47
+ function c(t) {
48
+ return t.replace(/start|end/g, (n) => p[n]);
49
+ }
50
+ function A(t, n, o) {
51
+ const s = ["left", "right"], i = ["right", "left"], e = ["top", "bottom"], r = ["bottom", "top"];
52
+ switch (t) {
53
+ case "top":
54
+ case "bottom":
55
+ return o ? n ? i : s : n ? s : i;
56
+ case "left":
57
+ case "right":
58
+ return n ? e : r;
59
+ default:
60
+ return [];
61
+ }
62
+ }
63
+ function L(t, n, o, s) {
64
+ const i = g(t);
65
+ let e = A(f(t), o === "start", s);
66
+ return i && (e = e.map((r) => r + "-" + i), n && (e = e.concat(e.map(c)))), e;
67
+ }
68
+ function u(t) {
69
+ return t.replace(/left|right|bottom|top/g, (n) => m[n]);
70
+ }
71
+ function y(t) {
72
+ return {
73
+ top: 0,
74
+ right: 0,
75
+ bottom: 0,
76
+ left: 0,
77
+ ...t
78
+ };
79
+ }
80
+ function E(t) {
81
+ return typeof t != "number" ? y(t) : {
82
+ top: t,
83
+ right: t,
84
+ bottom: t,
85
+ left: t
86
+ };
87
+ }
88
+ function R(t) {
89
+ return {
90
+ ...t,
91
+ top: t.y,
92
+ left: t.x,
93
+ right: t.x + t.width,
94
+ bottom: t.y + t.height
95
+ };
96
+ }
2
97
  export {
3
- e as __module
98
+ S as clamp,
99
+ O as createCoords,
100
+ w as evaluate,
101
+ y as expandPaddingObject,
102
+ M as floor,
103
+ g as getAlignment,
104
+ d as getAlignmentAxis,
105
+ j as getAlignmentSides,
106
+ x as getAxisLength,
107
+ C as getExpandedPlacements,
108
+ c as getOppositeAlignmentPlacement,
109
+ h as getOppositeAxis,
110
+ L as getOppositeAxisPlacements,
111
+ u as getOppositePlacement,
112
+ E as getPaddingObject,
113
+ f as getSide,
114
+ b as getSideAxis,
115
+ a as max,
116
+ l as min,
117
+ R as rectToClientRect,
118
+ P as round
4
119
  };
5
120
  //# sourceMappingURL=index243.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index243.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index243.js","sources":["../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n return {\n ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n"],"names":["min","max","round","floor","createCoords","v","oppositeSideMap","oppositeAlignmentMap","clamp","start","value","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","side","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index244.js CHANGED
@@ -1,5 +1,109 @@
1
- var e = { exports: {} };
1
+ function l(n) {
2
+ return a(n) ? (n.nodeName || "").toLowerCase() : "#document";
3
+ }
4
+ function i(n) {
5
+ var t;
6
+ return (n == null || (t = n.ownerDocument) == null ? void 0 : t.defaultView) || window;
7
+ }
8
+ function y(n) {
9
+ var t;
10
+ return (t = (a(n) ? n.ownerDocument : n.document) || window.document) == null ? void 0 : t.documentElement;
11
+ }
12
+ function a(n) {
13
+ return n instanceof Node || n instanceof i(n).Node;
14
+ }
15
+ function S(n) {
16
+ return n instanceof Element || n instanceof i(n).Element;
17
+ }
18
+ function d(n) {
19
+ return n instanceof HTMLElement || n instanceof i(n).HTMLElement;
20
+ }
21
+ function s(n) {
22
+ return typeof ShadowRoot > "u" ? !1 : n instanceof ShadowRoot || n instanceof i(n).ShadowRoot;
23
+ }
24
+ function m(n) {
25
+ const {
26
+ overflow: t,
27
+ overflowX: e,
28
+ overflowY: o,
29
+ display: r
30
+ } = p(n);
31
+ return /auto|scroll|overlay|hidden|clip/.test(t + o + e) && !["inline", "contents"].includes(r);
32
+ }
33
+ function E(n) {
34
+ return ["table", "td", "th"].includes(l(n));
35
+ }
36
+ function N(n) {
37
+ const t = h(), e = p(n);
38
+ return e.transform !== "none" || e.perspective !== "none" || (e.containerType ? e.containerType !== "normal" : !1) || !t && (e.backdropFilter ? e.backdropFilter !== "none" : !1) || !t && (e.filter ? e.filter !== "none" : !1) || ["transform", "perspective", "filter"].some((o) => (e.willChange || "").includes(o)) || ["paint", "layout", "strict", "content"].some((o) => (e.contain || "").includes(o));
39
+ }
40
+ function T(n) {
41
+ let t = u(n);
42
+ for (; d(t) && !w(t); ) {
43
+ if (N(t))
44
+ return t;
45
+ t = u(t);
46
+ }
47
+ return null;
48
+ }
49
+ function h() {
50
+ return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
51
+ }
52
+ function w(n) {
53
+ return ["html", "body", "#document"].includes(l(n));
54
+ }
55
+ function p(n) {
56
+ return i(n).getComputedStyle(n);
57
+ }
58
+ function C(n) {
59
+ return S(n) ? {
60
+ scrollLeft: n.scrollLeft,
61
+ scrollTop: n.scrollTop
62
+ } : {
63
+ scrollLeft: n.pageXOffset,
64
+ scrollTop: n.pageYOffset
65
+ };
66
+ }
67
+ function u(n) {
68
+ if (l(n) === "html")
69
+ return n;
70
+ const t = (
71
+ // Step into the shadow DOM of the parent of a slotted node.
72
+ n.assignedSlot || // DOM Element detected.
73
+ n.parentNode || // ShadowRoot detected.
74
+ s(n) && n.host || // Fallback.
75
+ y(n)
76
+ );
77
+ return s(t) ? t.host : t;
78
+ }
79
+ function g(n) {
80
+ const t = u(n);
81
+ return w(t) ? n.ownerDocument ? n.ownerDocument.body : n.body : d(t) && m(t) ? t : g(t);
82
+ }
83
+ function f(n, t, e) {
84
+ var o;
85
+ t === void 0 && (t = []), e === void 0 && (e = !0);
86
+ const r = g(n), b = r === ((o = n.ownerDocument) == null ? void 0 : o.body), c = i(r);
87
+ return b ? t.concat(c, c.visualViewport || [], m(r) ? r : [], c.frameElement && e ? f(c.frameElement) : []) : t.concat(r, f(r, [], e));
88
+ }
2
89
  export {
3
- e as __module
90
+ p as getComputedStyle,
91
+ T as getContainingBlock,
92
+ y as getDocumentElement,
93
+ g as getNearestOverflowAncestor,
94
+ l as getNodeName,
95
+ C as getNodeScroll,
96
+ f as getOverflowAncestors,
97
+ u as getParentNode,
98
+ i as getWindow,
99
+ N as isContainingBlock,
100
+ S as isElement,
101
+ d as isHTMLElement,
102
+ w as isLastTraversableNode,
103
+ a as isNode,
104
+ m as isOverflowElement,
105
+ s as isShadowRoot,
106
+ E as isTableElement,
107
+ h as isWebKit
4
108
  };
5
109
  //# sourceMappingURL=index244.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index244.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index244.js","sources":["../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs"],"sourcesContent":["function getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const webkit = isWebKit();\n const css = getComputedStyle(element);\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isWebKit };\n"],"names":["getNodeName","node","isNode","getWindow","_node$ownerDocument","getDocumentElement","_ref","value","isElement","isHTMLElement","isShadowRoot","isOverflowElement","element","overflow","overflowX","overflowY","display","getComputedStyle","isTableElement","isContainingBlock","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","getNodeScroll","result","getNearestOverflowAncestor","parentNode","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index245.js CHANGED
@@ -1,5 +1,163 @@
1
- var e = { exports: {} };
1
+ import { defineComponent as K, ref as s, computed as y, openBlock as p, createElementBlock as m, normalizeClass as g, renderSlot as v, createElementVNode as k, Fragment as E, renderList as C, toDisplayString as B, createBlock as S, withDirectives as z, mergeProps as H, vModelDynamic as J } from "vue";
2
+ import { clamp as P } from "./index196.js";
3
+ import { drop as q } from "./index256.js";
4
+ import { isNil as R } from "./index120.js";
5
+ import { isNotNil as w } from "./index124.js";
6
+ import { wait as L } from "./index122.js";
7
+ import U from "./index115.js";
8
+ import "./index158.js";
9
+ const j = { class: "bb-base-tag__input-container" }, G = ["id", "autocomplete", "autofocus", "disabled", "placeholder", "readonly"], te = /* @__PURE__ */ K({
10
+ __name: "BaseTag",
11
+ props: {
12
+ autocomplete: {},
13
+ autofocus: {},
14
+ comma: { type: Boolean },
15
+ disabled: { type: Boolean },
16
+ divider: { default: "Enter" },
17
+ hasErrors: { type: Boolean },
18
+ id: {},
19
+ modelValue: {},
20
+ multiple: { type: Boolean, default: !0 },
21
+ name: {},
22
+ placeholder: {},
23
+ readonly: {}
24
+ },
25
+ emits: ["blur", "change", "click", "duplicate", "focus", "inactive", "input", "keydown", "keyup", "update:modelValue"],
26
+ setup(N, { emit: I }) {
27
+ const a = N, u = I;
28
+ if (a.multiple && !Array.isArray(a.modelValue))
29
+ throw new Error('Multiple is set to "true" but modelValue is not an array.');
30
+ const i = s(null), $ = s(null), c = s(null), t = s(""), D = y(() => a.placeholder), o = y(
31
+ () => [].concat(a.modelValue).filter(w)
32
+ ), h = y(() => {
33
+ let e = {};
34
+ return o.value.forEach((n, r) => {
35
+ e[JSON.stringify(n)] = r;
36
+ }), {
37
+ get: (n) => e[JSON.stringify(n)]
38
+ };
39
+ }), f = s(!1), l = s(null), A = (e) => {
40
+ if (u("keyup", e), a.readonly || a.disabled) {
41
+ e.preventDefault();
42
+ return;
43
+ }
44
+ if (e.key === a.divider) {
45
+ if (t.value[t.value.length - 1] === e.key && (t.value = t.value.slice(0, t.value.length - 1)), !t.value)
46
+ return;
47
+ l.value = null;
48
+ const n = h.value.get(t.value);
49
+ R(n) ? F(t.value) : u("duplicate", t.value), t.value = "";
50
+ } else if (e.key === "ArrowLeft")
51
+ l.value === null ? l.value = o.value.length - 1 : l.value === 0 ? l.value = null : l.value--;
52
+ else if (e.key === "ArrowRight")
53
+ l.value === null ? l.value = 1 : l.value === o.value.length - 1 ? l.value = null : l.value++;
54
+ else if (e.key === "Backspace") {
55
+ if (t.value)
56
+ return;
57
+ w(l.value) ? (b(l.value), l.value = P(
58
+ l.value,
59
+ 0,
60
+ o.value.length - 2
61
+ ), o.value.length === 1 && (l.value = null)) : l.value = o.value.length - 1;
62
+ } else
63
+ (e.key === "Tab" || e.key === "Escape") && (l.value = null);
64
+ }, F = (e) => {
65
+ a.multiple ? u("update:modelValue", a.modelValue.concat(e)) : u("update:modelValue", e);
66
+ }, b = (e) => {
67
+ if (typeof e == "number")
68
+ a.multiple ? u("update:modelValue", q(a.modelValue, 1, e)) : u("update:modelValue", null);
69
+ else {
70
+ const n = h.value.get(t.value);
71
+ b(n);
72
+ }
73
+ }, M = (e) => {
74
+ u("focus", e), f.value = !0, document.addEventListener("click", _), document.addEventListener("focusin", V), c.value instanceof HTMLInputElement && c.value.select();
75
+ }, O = (e) => {
76
+ u("click", e), !(a.disabled || a.readonly) && c.value instanceof HTMLElement && c.value.focus();
77
+ }, _ = (e) => {
78
+ if (e.target instanceof Node && i.value && !i.value.contains(e.target)) {
79
+ u("inactive"), document.removeEventListener("click", _), f.value = !1, a.multiple && L(500).then(() => {
80
+ t.value = "";
81
+ });
82
+ return;
83
+ }
84
+ }, V = (e) => {
85
+ if (e.target instanceof Node && i.value && !i.value.contains(e.target)) {
86
+ u("inactive"), document.removeEventListener("focusin", V), f.value = !1, a.multiple && L(500).then(() => {
87
+ t.value = "";
88
+ });
89
+ return;
90
+ }
91
+ }, T = {
92
+ onBlur: (e) => u("blur", e),
93
+ onChange: (e) => u("change", e),
94
+ onKeydown: (e) => {
95
+ e.key === "Enter" && a.divider === "Enter" && e.preventDefault(), u("keydown", e);
96
+ },
97
+ onInput: (e) => u("input", e)
98
+ };
99
+ return (e, n) => (p(), m("span", {
100
+ ref_key: "outerContainer",
101
+ ref: i,
102
+ class: g({
103
+ "bb-base-tag": !0,
104
+ "bb-base-tag--active": f.value,
105
+ "bb-base-tag--disabled": e.disabled,
106
+ "bb-base-tag--errors": e.hasErrors,
107
+ "bb-base-tag--readonly": e.readonly
108
+ }),
109
+ onClick: O
110
+ }, [
111
+ v(e.$slots, "prepend-outer"),
112
+ k("span", {
113
+ ref_key: "innerContainer",
114
+ ref: $,
115
+ class: "bb-base-tag__inner-container"
116
+ }, [
117
+ v(e.$slots, "prepend"),
118
+ k("span", j, [
119
+ e.comma ? (p(!0), m(E, { key: 0 }, C(o.value, (r, d) => (p(), m("span", {
120
+ key: r,
121
+ class: g({
122
+ "bb-base-tag__selected": !0,
123
+ "bb-base-tag__selected--comma": !0,
124
+ "bb-base-tag__selected--focused": d === l.value
125
+ })
126
+ }, B(r) + B(d < o.value.length - 1 ? "," : ""), 3))), 128)) : (p(!0), m(E, { key: 1 }, C(o.value, (r, d) => (p(), S(U, {
127
+ key: r,
128
+ class: g({
129
+ "bb-base-tag__selected": !0,
130
+ "bb-base-tag__selected--chip": !0,
131
+ "bb-base-tag__selected--focused": d === l.value
132
+ }),
133
+ clearable: !0,
134
+ text: r,
135
+ "onClick:clear": (Q) => b(d)
136
+ }, null, 8, ["class", "text", "onClick:clear"]))), 128)),
137
+ z(k("input", H({ id: e.id }, T, {
138
+ ref_key: "input",
139
+ ref: c,
140
+ "onUpdate:modelValue": n[0] || (n[0] = (r) => t.value = r),
141
+ autocomplete: e.autocomplete,
142
+ autofocus: e.autofocus,
143
+ class: "bb-base-tag__text-input",
144
+ disabled: e.disabled,
145
+ placeholder: D.value,
146
+ readonly: e.readonly,
147
+ type: "text",
148
+ onFocus: M,
149
+ onKeyup: A
150
+ }), null, 16, G), [
151
+ [J, t.value]
152
+ ])
153
+ ]),
154
+ v(e.$slots, "append")
155
+ ], 512),
156
+ v(e.$slots, "append-outer")
157
+ ], 2));
158
+ }
159
+ });
2
160
  export {
3
- e as __module
161
+ te as default
4
162
  };
5
163
  //# sourceMappingURL=index245.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index245.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index245.js","sources":["../src/components/BaseTag/BaseTag.vue"],"sourcesContent":["<template>\n\t<span\n\t\tref=\"outerContainer\"\n\t\t:class=\"{\n\t\t\t'bb-base-tag': true,\n\t\t\t'bb-base-tag--active': active,\n\t\t\t'bb-base-tag--disabled': disabled,\n\t\t\t'bb-base-tag--errors': hasErrors,\n\t\t\t'bb-base-tag--readonly': readonly,\n\t\t}\"\n\t\t@click=\"onOuterContainerClick\"\n\t>\n\t\t<slot name=\"prepend-outer\"></slot>\n\t\t<span ref=\"innerContainer\" class=\"bb-base-tag__inner-container\">\n\t\t\t<slot name=\"prepend\"></slot>\n\t\t\t<span class=\"bb-base-tag__input-container\">\n\t\t\t\t<template v-if=\"comma\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tv-for=\"(option, index) in modelValueNormalized\"\n\t\t\t\t\t\t:key=\"option\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'bb-base-tag__selected': true,\n\t\t\t\t\t\t\t'bb-base-tag__selected--comma': true,\n\t\t\t\t\t\t\t'bb-base-tag__selected--focused': index === focusedIndex,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t>{{ option\n\t\t\t\t\t\t}}{{ index < modelValueNormalized.length - 1 ? ',' : '' }}</span\n\t\t\t\t\t>\n\t\t\t\t</template>\n\t\t\t\t<template v-else>\n\t\t\t\t\t<BbChip\n\t\t\t\t\t\tv-for=\"(option, index) in modelValueNormalized\"\n\t\t\t\t\t\t:key=\"option\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'bb-base-tag__selected': true,\n\t\t\t\t\t\t\t'bb-base-tag__selected--chip': true,\n\t\t\t\t\t\t\t'bb-base-tag__selected--focused': index === focusedIndex,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:clearable=\"true\"\n\t\t\t\t\t\t:text=\"option\"\n\t\t\t\t\t\t@click:clear=\"removeValue(index)\"\n\t\t\t\t\t/>\n\t\t\t\t</template>\n\n\t\t\t\t<input\n\t\t\t\t\t:id=\"id\"\n\t\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t\t\tref=\"input\"\n\t\t\t\t\tv-model=\"query\"\n\t\t\t\t\t:autocomplete=\"autocomplete\"\n\t\t\t\t\t:autofocus=\"autofocus\"\n\t\t\t\t\t:class=\"'bb-base-tag__text-input'\"\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t:placeholder=\"computedPlaceholder\"\n\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t:type=\"'text'\"\n\t\t\t\t\t@focus=\"onInputFocus\"\n\t\t\t\t\t@keyup=\"onInputKeyup\"\n\t\t\t\t/>\n\t\t\t</span>\n\t\t\t<slot name=\"append\"></slot>\n\t\t</span>\n\t\t<slot name=\"append-outer\"></slot>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { clamp } from '@/utilities/functions/clamp';\nimport { computed, ref } from 'vue';\nimport { drop } from '@/utilities/functions/drop';\nimport { isNil } from '@/utilities/functions/isNil';\nimport { isNotNil } from '@/utilities/functions/isNotNil';\nimport { wait } from '@/utilities/functions/wait';\nimport BbChip from '../BbChip/BbChip.vue';\nimport type { InputHTMLAttributes, HTMLAttributes } from 'vue';\n\nexport type BaseTagProps = {\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tautocomplete?: InputHTMLAttributes['autocomplete'];\n\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Sets the display model for selected values to a list\n\t * of comma separated string. In this mode the user\n\t * cannot deselect an option by pressing the close button.\n\t */\n\tcomma?: boolean;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * The divider key used to separate values from one another. By default it is \"Enter\"\n\t */\n\tdivider?: KeyboardEvent['key'];\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Used by v-model. Can be any serializable type.\n\t */\n\tmodelValue: any;\n\n\t/**\n\t * Allows the selection of multiple items.\n\t */\n\tmultiple?: boolean;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname?: InputHTMLAttributes['name'];\n\n\t/**\n\t * String displayed when there's no data.\n\t */\n\tplaceholder?: InputHTMLAttributes['placeholder'];\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n};\n\nconst props = withDefaults(defineProps<BaseTagProps>(), {\n\tdivider: 'Enter',\n\tmultiple: true,\n});\n\nexport type BaseTagEvents = {\n\t(e: 'blur', event: FocusEvent): void;\n\n\t(e: 'change', event: Event): void;\n\n\t(e: 'click', event: MouseEvent): void;\n\n\t(e: 'duplicate', string: string): void;\n\n\t(e: 'focus', event: FocusEvent): void;\n\n\t(e: 'inactive'): void;\n\n\t(e: 'input', event: Event): void;\n\n\t(e: 'keydown', event: KeyboardEvent): void;\n\n\t(e: 'keyup', event: KeyboardEvent): void;\n\n\t(e: 'update:modelValue', value: any): void;\n};\n\nconst emit = defineEmits<BaseTagEvents>();\n\nexport type BaseTagSlots = {\n\tappend?: (props: object) => any;\n\n\t'append-outer'?: (props: object) => any;\n\n\tprepend?: (props: object) => any;\n\n\t'prepend-outer'?: (props: object) => any;\n};\n\ndefineSlots<BaseTagSlots>();\n\nif (props.multiple && !Array.isArray(props.modelValue)) {\n\tthrow new Error('Multiple is set to \"true\" but modelValue is not an array.');\n}\n\nconst outerContainer = ref<HTMLElement | null>(null);\nconst innerContainer = ref<HTMLElement | null>(null);\nconst input = ref<HTMLElement | null>(null);\nconst query = ref<string>('');\nconst computedPlaceholder = computed(() => {\n\treturn props.placeholder;\n});\n\nconst modelValueNormalized = computed(() =>\n\t[].concat(props.modelValue).filter(isNotNil)\n);\n\n/**\n * Indexes modelValue to a map so when can easily know which values are selected\n */\nconst modelValueIndexed = computed(() => {\n\tlet map: { [key: string]: number } = {};\n\tmodelValueNormalized.value.forEach((value: any, index: number) => {\n\t\tmap[JSON.stringify(value)] = index;\n\t});\n\treturn {\n\t\tget: (value: any) => map[JSON.stringify(value)],\n\t};\n});\n\n/**\n * Applies a class when the user is inside this whole component.\n * We cannot use focus within as it doesn't work for elements that are teleported.\n * Also we cannot use the <input/> if we phisically move focus to the options so\n * we track it manually.\n */\nconst active = ref(false);\n\nconst focusedIndex = ref<null | number>(null);\n\nconst onInputKeyup = (event: KeyboardEvent) => {\n\temit('keyup', event);\n\tif (props.readonly || props.disabled) {\n\t\tevent.preventDefault();\n\t\treturn;\n\t}\n\tif (event.key === props.divider) {\n\t\tif (query.value[query.value.length - 1] === event.key) {\n\t\t\tquery.value = query.value.slice(0, query.value.length - 1);\n\t\t}\n\t\tif (!query.value) return;\n\t\tfocusedIndex.value = null;\n\t\tconst currentIndex = modelValueIndexed.value.get(query.value);\n\t\tif (isNil(currentIndex)) selectValue(query.value);\n\t\telse emit('duplicate', query.value);\n\t\tquery.value = '';\n\t} else if (event.key === 'ArrowLeft') {\n\t\tif (focusedIndex.value === null)\n\t\t\tfocusedIndex.value = modelValueNormalized.value.length - 1;\n\t\telse if (focusedIndex.value === 0) focusedIndex.value = null;\n\t\telse focusedIndex.value--;\n\t} else if (event.key === 'ArrowRight') {\n\t\tif (focusedIndex.value === null) focusedIndex.value = 1;\n\t\telse if (focusedIndex.value === modelValueNormalized.value.length - 1)\n\t\t\tfocusedIndex.value = null;\n\t\telse focusedIndex.value++;\n\t} else if (event.key === 'Backspace') {\n\t\tif (query.value) return;\n\t\tif (isNotNil(focusedIndex.value)) {\n\t\t\tremoveValue(focusedIndex.value);\n\t\t\tfocusedIndex.value = clamp(\n\t\t\t\tfocusedIndex.value,\n\t\t\t\t0,\n\t\t\t\tmodelValueNormalized.value.length - 2\n\t\t\t);\n\t\t\tif (modelValueNormalized.value.length === 1) focusedIndex.value = null;\n\t\t} else focusedIndex.value = modelValueNormalized.value.length - 1;\n\t} else if (event.key === 'Tab' || event.key === 'Escape') {\n\t\tfocusedIndex.value = null;\n\t}\n};\n\nconst selectValue = (text: string) => {\n\tif (props.multiple) emit('update:modelValue', props.modelValue.concat(text));\n\telse emit('update:modelValue', text);\n};\n\nconst removeValue = (indexOrString: number | string) => {\n\tif (typeof indexOrString === 'number') {\n\t\tif (props.multiple)\n\t\t\temit('update:modelValue', drop(props.modelValue, 1, indexOrString));\n\t\telse emit('update:modelValue', null);\n\t} else {\n\t\tconst currentIndex = modelValueIndexed.value.get(query.value);\n\t\tremoveValue(currentIndex);\n\t}\n};\n\nconst onInputFocus = (event: FocusEvent) => {\n\temit('focus', event);\n\tactive.value = true;\n\tdocument.addEventListener('click', onClickOutside);\n\tdocument.addEventListener('focusin', onFocusOutside);\n\tif (input.value instanceof HTMLInputElement) input.value.select();\n};\n\n/**\n * When clicking on the outside container seamlessly move focus to the input and open the panel\n */\nconst onOuterContainerClick = (event: MouseEvent) => {\n\temit('click', event);\n\tif (props.disabled || props.readonly) return;\n\tif (input.value instanceof HTMLElement) {\n\t\tinput.value.focus();\n\t}\n};\n\n/**\n * On click outside of the container close the panel, remove active state.\n * In multiple selection clear query after a timeout\n */\nconst onClickOutside = (event: Event) => {\n\tif (event.target instanceof Node) {\n\t\tif (outerContainer.value) {\n\t\t\tif (!outerContainer.value.contains(event.target)) {\n\t\t\t\temit('inactive');\n\t\t\t\tdocument.removeEventListener('click', onClickOutside);\n\t\t\t\tactive.value = false;\n\t\t\t\tif (props.multiple)\n\t\t\t\t\twait(500).then(() => {\n\t\t\t\t\t\tquery.value = '';\n\t\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst onFocusOutside = (event: FocusEvent) => {\n\tif (event.target instanceof Node) {\n\t\tif (outerContainer.value) {\n\t\t\tif (!outerContainer.value.contains(event.target)) {\n\t\t\t\temit('inactive');\n\t\t\t\tdocument.removeEventListener('focusin', onFocusOutside);\n\t\t\t\tactive.value = false;\n\t\t\t\tif (props.multiple)\n\t\t\t\t\twait(500).then(() => {\n\t\t\t\t\t\tquery.value = '';\n\t\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonKeydown: (event: KeyboardEvent) => {\n\t\tif (event.key === 'Enter' && props.divider === 'Enter') {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\temit('keydown', event);\n\t},\n\tonInput: (event: Event) => emit('input', event),\n};\n</script>\n<style lang=\"postcss\">\n@import '@/assets/css/BaseTag';\n</style>\n"],"names":["props","__props","emit","__emit","outerContainer","ref","innerContainer","input","query","computedPlaceholder","computed","modelValueNormalized","isNotNil","modelValueIndexed","map","value","index","active","focusedIndex","onInputKeyup","event","currentIndex","isNil","selectValue","removeValue","clamp","text","indexOrString","drop","onInputFocus","onClickOutside","onFocusOutside","onOuterContainerClick","wait","eventListeners"],"mappings":"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"}
package/dist/index246.js CHANGED
@@ -1,5 +1,2 @@
1
- var e = { exports: {} };
2
- export {
3
- e as __module
4
- };
1
+
5
2
  //# sourceMappingURL=index246.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index246.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index246.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}