@frontify/fondue-components 27.0.1 → 29.0.0
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/fondue-components.js +62 -56
- package/dist/fondue-components.js.map +1 -1
- package/dist/fondue-components10.js +1 -1
- package/dist/fondue-components100.js +23 -6
- package/dist/fondue-components100.js.map +1 -1
- package/dist/fondue-components101.js +34 -12
- package/dist/fondue-components101.js.map +1 -1
- package/dist/fondue-components102.js +10 -70
- package/dist/fondue-components102.js.map +1 -1
- package/dist/fondue-components103.js +67 -14
- package/dist/fondue-components103.js.map +1 -1
- package/dist/fondue-components104.js +15 -7
- package/dist/fondue-components104.js.map +1 -1
- package/dist/fondue-components105.js +25 -88
- package/dist/fondue-components105.js.map +1 -1
- package/dist/fondue-components106.js +18 -80
- package/dist/fondue-components106.js.map +1 -1
- package/dist/fondue-components107.js +24 -30
- package/dist/fondue-components107.js.map +1 -1
- package/dist/fondue-components108.js +8 -20
- package/dist/fondue-components108.js.map +1 -1
- package/dist/fondue-components109.js +30 -39
- package/dist/fondue-components109.js.map +1 -1
- package/dist/fondue-components11.js +3 -3
- package/dist/fondue-components110.js +10 -0
- package/dist/fondue-components110.js.map +1 -0
- package/dist/fondue-components111.js +8 -0
- package/dist/fondue-components111.js.map +1 -0
- package/dist/fondue-components112.js +8 -0
- package/dist/fondue-components112.js.map +1 -0
- package/dist/fondue-components113.js +20 -0
- package/dist/fondue-components113.js.map +1 -0
- package/dist/fondue-components114.js +17 -0
- package/dist/fondue-components114.js.map +1 -0
- package/dist/fondue-components115.js +18 -0
- package/dist/fondue-components115.js.map +1 -0
- package/dist/fondue-components116.js +114 -0
- package/dist/fondue-components116.js.map +1 -0
- package/dist/fondue-components117.js +16 -0
- package/dist/fondue-components117.js.map +1 -0
- package/dist/fondue-components118.js +20 -0
- package/dist/fondue-components118.js.map +1 -0
- package/dist/fondue-components119.js +16 -0
- package/dist/fondue-components119.js.map +1 -0
- package/dist/fondue-components12.js +7 -37
- package/dist/fondue-components12.js.map +1 -1
- package/dist/fondue-components120.js +130 -0
- package/dist/fondue-components120.js.map +1 -0
- package/dist/fondue-components121.js +14 -0
- package/dist/fondue-components121.js.map +1 -0
- package/dist/fondue-components122.js +39 -0
- package/dist/fondue-components122.js.map +1 -0
- package/dist/fondue-components123.js +220 -0
- package/dist/fondue-components123.js.map +1 -0
- package/dist/fondue-components124.js +22 -0
- package/dist/fondue-components124.js.map +1 -0
- package/dist/fondue-components125.js +20 -0
- package/dist/fondue-components125.js.map +1 -0
- package/dist/fondue-components126.js +154 -0
- package/dist/fondue-components126.js.map +1 -0
- package/dist/fondue-components127.js +48 -0
- package/dist/fondue-components127.js.map +1 -0
- package/dist/fondue-components128.js +173 -0
- package/dist/fondue-components128.js.map +1 -0
- package/dist/fondue-components129.js +63 -0
- package/dist/fondue-components129.js.map +1 -0
- package/dist/fondue-components13.js +59 -118
- package/dist/fondue-components13.js.map +1 -1
- package/dist/fondue-components130.js +12 -0
- package/dist/fondue-components130.js.map +1 -0
- package/dist/fondue-components131.js +259 -0
- package/dist/fondue-components131.js.map +1 -0
- package/dist/fondue-components132.js +32 -0
- package/dist/fondue-components132.js.map +1 -0
- package/dist/fondue-components134.js +44 -0
- package/dist/fondue-components134.js.map +1 -0
- package/dist/fondue-components135.js +9 -0
- package/dist/fondue-components135.js.map +1 -0
- package/dist/fondue-components136.js +15 -0
- package/dist/fondue-components136.js.map +1 -0
- package/dist/fondue-components137.js +74 -0
- package/dist/fondue-components137.js.map +1 -0
- package/dist/fondue-components138.js +18 -0
- package/dist/fondue-components138.js.map +1 -0
- package/dist/fondue-components139.js +10 -0
- package/dist/fondue-components139.js.map +1 -0
- package/dist/fondue-components14.js +21 -21
- package/dist/fondue-components14.js.map +1 -1
- package/dist/fondue-components140.js +92 -0
- package/dist/fondue-components140.js.map +1 -0
- package/dist/fondue-components141.js +84 -0
- package/dist/fondue-components141.js.map +1 -0
- package/dist/fondue-components142.js +34 -0
- package/dist/fondue-components142.js.map +1 -0
- package/dist/fondue-components143.js +22 -0
- package/dist/fondue-components143.js.map +1 -0
- package/dist/fondue-components144.js +73 -0
- package/dist/fondue-components144.js.map +1 -0
- package/dist/fondue-components145.js +1355 -0
- package/dist/fondue-components145.js.map +1 -0
- package/dist/fondue-components146.js +944 -0
- package/dist/fondue-components146.js.map +1 -0
- package/dist/fondue-components147.js +201 -0
- package/dist/fondue-components147.js.map +1 -0
- package/dist/fondue-components148.js +24 -0
- package/dist/fondue-components148.js.map +1 -0
- package/dist/fondue-components149.js +43 -0
- package/dist/fondue-components149.js.map +1 -0
- package/dist/fondue-components15.js +121 -45
- package/dist/fondue-components15.js.map +1 -1
- package/dist/fondue-components150.js +71 -0
- package/dist/fondue-components150.js.map +1 -0
- package/dist/fondue-components151.js +34 -0
- package/dist/fondue-components151.js.map +1 -0
- package/dist/fondue-components152.js +12 -0
- package/dist/fondue-components152.js.map +1 -0
- package/dist/fondue-components153.js +156 -0
- package/dist/fondue-components153.js.map +1 -0
- package/dist/fondue-components154.js +111 -0
- package/dist/fondue-components154.js.map +1 -0
- package/dist/fondue-components155.js +19 -0
- package/dist/fondue-components155.js.map +1 -0
- package/dist/fondue-components156.js +19 -0
- package/dist/fondue-components156.js.map +1 -0
- package/dist/fondue-components157.js +32 -0
- package/dist/fondue-components157.js.map +1 -0
- package/dist/fondue-components158.js +16 -0
- package/dist/fondue-components158.js.map +1 -0
- package/dist/fondue-components159.js +10 -0
- package/dist/fondue-components159.js.map +1 -0
- package/dist/fondue-components16.js +35 -41
- package/dist/fondue-components16.js.map +1 -1
- package/dist/fondue-components17.js +44 -56
- package/dist/fondue-components17.js.map +1 -1
- package/dist/fondue-components18.js +40 -41
- package/dist/fondue-components18.js.map +1 -1
- package/dist/fondue-components19.js +56 -19
- package/dist/fondue-components19.js.map +1 -1
- package/dist/fondue-components20.js +42 -45
- package/dist/fondue-components20.js.map +1 -1
- package/dist/fondue-components21.js +18 -71
- package/dist/fondue-components21.js.map +1 -1
- package/dist/fondue-components22.js +46 -17
- package/dist/fondue-components22.js.map +1 -1
- package/dist/fondue-components23.js +68 -75
- package/dist/fondue-components23.js.map +1 -1
- package/dist/fondue-components24.js +70 -32
- package/dist/fondue-components24.js.map +1 -1
- package/dist/fondue-components25.js +17 -54
- package/dist/fondue-components25.js.map +1 -1
- package/dist/fondue-components26.js +77 -23
- package/dist/fondue-components26.js.map +1 -1
- package/dist/fondue-components27.js +34 -53
- package/dist/fondue-components27.js.map +1 -1
- package/dist/fondue-components28.js +52 -97
- package/dist/fondue-components28.js.map +1 -1
- package/dist/fondue-components29.js +23 -33
- package/dist/fondue-components29.js.map +1 -1
- package/dist/fondue-components3.js +1 -1
- package/dist/fondue-components30.js +52 -193
- package/dist/fondue-components30.js.map +1 -1
- package/dist/fondue-components31.js +89 -135
- package/dist/fondue-components31.js.map +1 -1
- package/dist/fondue-components32.js +30 -130
- package/dist/fondue-components32.js.map +1 -1
- package/dist/fondue-components33.js +191 -27
- package/dist/fondue-components33.js.map +1 -1
- package/dist/fondue-components34.js +144 -79
- package/dist/fondue-components34.js.map +1 -1
- package/dist/fondue-components35.js +125 -116
- package/dist/fondue-components35.js.map +1 -1
- package/dist/fondue-components36.js +32 -37
- package/dist/fondue-components36.js.map +1 -1
- package/dist/fondue-components37.js +77 -52
- package/dist/fondue-components37.js.map +1 -1
- package/dist/fondue-components38.js +123 -20
- package/dist/fondue-components38.js.map +1 -1
- package/dist/fondue-components39.js +34 -21
- package/dist/fondue-components39.js.map +1 -1
- package/dist/fondue-components4.js +3 -3
- package/dist/fondue-components40.js +56 -7
- package/dist/fondue-components40.js.map +1 -1
- package/dist/fondue-components41.js +20 -8
- package/dist/fondue-components41.js.map +1 -1
- package/dist/fondue-components42.js +26 -41
- package/dist/fondue-components42.js.map +1 -1
- package/dist/fondue-components43.js +7 -4
- package/dist/fondue-components43.js.map +1 -1
- package/dist/fondue-components44.js +8 -4
- package/dist/fondue-components44.js.map +1 -1
- package/dist/fondue-components45.js +41 -13
- package/dist/fondue-components45.js.map +1 -1
- package/dist/fondue-components46.js +5 -32
- package/dist/fondue-components46.js.map +1 -1
- package/dist/fondue-components47.js +4 -53
- package/dist/fondue-components47.js.map +1 -1
- package/dist/fondue-components48.js +12 -130
- package/dist/fondue-components48.js.map +1 -1
- package/dist/fondue-components49.js +32 -21
- package/dist/fondue-components49.js.map +1 -1
- package/dist/fondue-components5.js +2 -2
- package/dist/fondue-components50.js +54 -53
- package/dist/fondue-components50.js.map +1 -1
- package/dist/fondue-components51.js +130 -7
- package/dist/fondue-components51.js.map +1 -1
- package/dist/fondue-components52.js +21 -13
- package/dist/fondue-components52.js.map +1 -1
- package/dist/fondue-components53.js +53 -17
- package/dist/fondue-components53.js.map +1 -1
- package/dist/fondue-components54.js +7 -4
- package/dist/fondue-components54.js.map +1 -1
- package/dist/fondue-components55.js +13 -18
- package/dist/fondue-components55.js.map +1 -1
- package/dist/fondue-components56.js +16 -18
- package/dist/fondue-components56.js.map +1 -1
- package/dist/fondue-components57.js +1 -1
- package/dist/fondue-components58.js +18 -13
- package/dist/fondue-components58.js.map +1 -1
- package/dist/fondue-components59.js +18 -4
- package/dist/fondue-components59.js.map +1 -1
- package/dist/fondue-components6.js +1 -1
- package/dist/fondue-components60.js +43 -17
- package/dist/fondue-components60.js.map +1 -1
- package/dist/fondue-components61.js +24 -10
- package/dist/fondue-components61.js.map +1 -1
- package/dist/fondue-components62.js +22 -36
- package/dist/fondue-components62.js.map +1 -1
- package/dist/fondue-components63.js +6 -6
- package/dist/fondue-components64.js +1 -1
- package/dist/fondue-components65.js +10 -10
- package/dist/fondue-components66.js +3 -7
- package/dist/fondue-components66.js.map +1 -1
- package/dist/fondue-components67.js +16 -11
- package/dist/fondue-components67.js.map +1 -1
- package/dist/fondue-components68.js +10 -4
- package/dist/fondue-components68.js.map +1 -1
- package/dist/fondue-components69.js +36 -24
- package/dist/fondue-components69.js.map +1 -1
- package/dist/fondue-components7.js +1 -1
- package/dist/fondue-components70.js +6 -16
- package/dist/fondue-components70.js.map +1 -1
- package/dist/fondue-components71.js +5 -20
- package/dist/fondue-components71.js.map +1 -1
- package/dist/fondue-components72.js +13 -20
- package/dist/fondue-components72.js.map +1 -1
- package/dist/fondue-components73.js +52 -20
- package/dist/fondue-components73.js.map +1 -1
- package/dist/fondue-components74.js +44 -20
- package/dist/fondue-components74.js.map +1 -1
- package/dist/fondue-components75.js +6 -19
- package/dist/fondue-components75.js.map +1 -1
- package/dist/fondue-components76.js +6 -8
- package/dist/fondue-components76.js.map +1 -1
- package/dist/fondue-components77.js +13 -11
- package/dist/fondue-components77.js.map +1 -1
- package/dist/fondue-components78.js +27 -10
- package/dist/fondue-components78.js.map +1 -1
- package/dist/fondue-components79.js +13 -7
- package/dist/fondue-components79.js.map +1 -1
- package/dist/fondue-components8.js +5 -5
- package/dist/fondue-components80.js +4 -12
- package/dist/fondue-components80.js.map +1 -1
- package/dist/fondue-components81.js +12 -22
- package/dist/fondue-components81.js.map +1 -1
- package/dist/fondue-components82.js +48 -34
- package/dist/fondue-components82.js.map +1 -1
- package/dist/fondue-components83.js +22 -10
- package/dist/fondue-components83.js.map +1 -1
- package/dist/fondue-components84.js +623 -62
- package/dist/fondue-components84.js.map +1 -1
- package/dist/fondue-components85.js +8 -14
- package/dist/fondue-components85.js.map +1 -1
- package/dist/fondue-components86.js +12 -24
- package/dist/fondue-components86.js.map +1 -1
- package/dist/fondue-components87.js +4 -18
- package/dist/fondue-components87.js.map +1 -1
- package/dist/fondue-components88.js +24 -24
- package/dist/fondue-components88.js.map +1 -1
- package/dist/fondue-components89.js +16 -8
- package/dist/fondue-components89.js.map +1 -1
- package/dist/fondue-components9.js +5 -5
- package/dist/fondue-components90.js +20 -26
- package/dist/fondue-components90.js.map +1 -1
- package/dist/fondue-components91.js +20 -7
- package/dist/fondue-components91.js.map +1 -1
- package/dist/fondue-components92.js +20 -5
- package/dist/fondue-components92.js.map +1 -1
- package/dist/fondue-components93.js +20 -5
- package/dist/fondue-components93.js.map +1 -1
- package/dist/fondue-components94.js +19 -17
- package/dist/fondue-components94.js.map +1 -1
- package/dist/fondue-components95.js +8 -217
- package/dist/fondue-components95.js.map +1 -1
- package/dist/fondue-components96.js +10 -18
- package/dist/fondue-components96.js.map +1 -1
- package/dist/fondue-components97.js +10 -16
- package/dist/fondue-components97.js.map +1 -1
- package/dist/fondue-components98.js +6 -150
- package/dist/fondue-components98.js.map +1 -1
- package/dist/fondue-components99.js +12 -44
- package/dist/fondue-components99.js.map +1 -1
- package/dist/index.d.ts +201 -26
- package/dist/style.css +1 -1
- package/package.json +7 -3
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { jsxs as S, jsx as f } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as m, useState as C, useEffect as _ } from "react";
|
|
3
|
+
import { Badge as w } from "./fondue-components4.js";
|
|
4
|
+
import { useTranslation as I } from "./fondue-components42.js";
|
|
5
|
+
import p from "./fondue-components127.js";
|
|
6
|
+
const W = 4, D = 40, E = 24, M = (r, h, u, o) => {
|
|
7
|
+
const g = r.offsetWidth;
|
|
8
|
+
let s = o ? E + W : 0, n = 0;
|
|
9
|
+
for (const d of u) {
|
|
10
|
+
const a = h.get(d.value);
|
|
11
|
+
if (!a)
|
|
12
|
+
continue;
|
|
13
|
+
const l = a.offsetWidth, i = n > 0 ? l + W : l, c = u.length - n - 1 > 0 ? D + W : 0;
|
|
14
|
+
if (s + i + c > g)
|
|
15
|
+
break;
|
|
16
|
+
s += i, n++;
|
|
17
|
+
}
|
|
18
|
+
return Math.max(1, n);
|
|
19
|
+
}, x = ({
|
|
20
|
+
items: r,
|
|
21
|
+
placeholder: h,
|
|
22
|
+
onDismiss: u,
|
|
23
|
+
children: o,
|
|
24
|
+
selectedCount: g = 0
|
|
25
|
+
}) => {
|
|
26
|
+
const { t: s } = I(), n = m(!1), d = m(null), a = m(/* @__PURE__ */ new Map()), [l, i] = C(r.length), b = o !== void 0;
|
|
27
|
+
if (_(() => {
|
|
28
|
+
const e = d.current;
|
|
29
|
+
if (!e)
|
|
30
|
+
return;
|
|
31
|
+
const v = () => {
|
|
32
|
+
if (r.length === 0) {
|
|
33
|
+
i(0);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
i(M(e, a.current, r, b));
|
|
37
|
+
}, t = new ResizeObserver(v);
|
|
38
|
+
return t.observe(e), () => {
|
|
39
|
+
t.disconnect();
|
|
40
|
+
};
|
|
41
|
+
}, [r, b]), r.length === 0 && !o)
|
|
42
|
+
return h;
|
|
43
|
+
const c = r.length - l, y = (e) => e === 1 ? s("Select_singleItemSelected") : e > 1 ? s("Select_multipleItemsSelected", { count: e.toString() }) : "";
|
|
44
|
+
return /* @__PURE__ */ S("div", { ref: d, className: p.badgesContainer, children: [
|
|
45
|
+
/* @__PURE__ */ f("span", { className: p.srOnly, "aria-live": "polite", "aria-atomic": "true", children: y(g) }),
|
|
46
|
+
o,
|
|
47
|
+
r.map((e, v) => /* @__PURE__ */ f(
|
|
48
|
+
"div",
|
|
49
|
+
{
|
|
50
|
+
ref: (t) => {
|
|
51
|
+
t ? a.current.set(e.value, t) : a.current.delete(e.value);
|
|
52
|
+
},
|
|
53
|
+
role: "presentation",
|
|
54
|
+
className: p.badgeWrapper,
|
|
55
|
+
"data-visible": v < l,
|
|
56
|
+
onKeyDown: (t) => {
|
|
57
|
+
(t.key === "Enter" || t.key === " ") && t.stopPropagation();
|
|
58
|
+
},
|
|
59
|
+
onMouseDown: () => {
|
|
60
|
+
n.current = !0;
|
|
61
|
+
},
|
|
62
|
+
children: /* @__PURE__ */ f(
|
|
63
|
+
w,
|
|
64
|
+
{
|
|
65
|
+
emphasis: "weak",
|
|
66
|
+
"aria-label": typeof e.displayValue == "string" ? e.displayValue : e.value,
|
|
67
|
+
onDismiss: (t) => {
|
|
68
|
+
t.stopPropagation(), u(e.value, n.current), n.current = !1;
|
|
69
|
+
},
|
|
70
|
+
children: e.displayValue
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
},
|
|
74
|
+
e.value
|
|
75
|
+
)),
|
|
76
|
+
c > 0 && /* @__PURE__ */ f(
|
|
77
|
+
"div",
|
|
78
|
+
{
|
|
79
|
+
className: p.badgeWrapper,
|
|
80
|
+
"aria-label": s("Select_additionalItemsSelected", { count: c.toString() }),
|
|
81
|
+
children: /* @__PURE__ */ S(w, { emphasis: "weak", "aria-hidden": "true", children: [
|
|
82
|
+
"+",
|
|
83
|
+
c
|
|
84
|
+
] })
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
] });
|
|
88
|
+
};
|
|
89
|
+
export {
|
|
90
|
+
x as CollapsibleBadges
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=fondue-components140.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fondue-components140.js","sources":["../src/components/Select/components/CollapsibleBadges.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useEffect, useRef, useState, type KeyboardEvent, type ReactNode } from 'react';\n\nimport { Badge } from '#/components/Badge/Badge';\nimport { useTranslation } from '#/hooks/useTranslation';\n\nimport styles from '../styles/select.module.scss';\n\nconst BADGE_GAP = 4;\nconst OVERFLOW_BADGE_MIN_WIDTH = 40;\nconst INPUT_MIN_WIDTH = 24;\n\ntype BadgeItem = {\n value: string;\n displayValue: ReactNode;\n};\n\ntype CollapsibleBadgesProps = {\n items: BadgeItem[];\n placeholder?: string;\n onDismiss: (value: string, preventFocusRing: boolean) => void;\n /** Optional children to render at the end (e.g., an input field). Space is reserved in the layout calculation. */\n children?: ReactNode;\n /** Total number of selected items (for screen reader announcements). */\n selectedCount?: number;\n};\n\nconst calculateVisibleCount = (\n container: HTMLDivElement,\n badgeElements: Map<string, HTMLDivElement>,\n items: BadgeItem[],\n hasInputSlot: boolean,\n): number => {\n const containerWidth = container.offsetWidth;\n let usedWidth = hasInputSlot ? INPUT_MIN_WIDTH + BADGE_GAP : 0;\n let count = 0;\n\n for (const item of items) {\n const badgeElement = badgeElements.get(item.value);\n if (!badgeElement) {\n continue;\n }\n\n const badgeWidth = badgeElement.offsetWidth;\n const widthWithGap = count > 0 ? badgeWidth + BADGE_GAP : badgeWidth;\n const hasMoreAfterThis = items.length - count - 1 > 0;\n const reservedWidth = hasMoreAfterThis ? OVERFLOW_BADGE_MIN_WIDTH + BADGE_GAP : 0;\n\n if (usedWidth + widthWithGap + reservedWidth > containerWidth) {\n break;\n }\n\n usedWidth += widthWithGap;\n count++;\n }\n\n return Math.max(1, count);\n};\n\nexport const CollapsibleBadges = ({\n items,\n placeholder,\n onDismiss,\n children,\n selectedCount = 0,\n}: CollapsibleBadgesProps): ReactNode => {\n const { t } = useTranslation();\n const wasClickedRef = useRef(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const badgeElementsRef = useRef<Map<string, HTMLDivElement>>(new Map());\n const [visibleCount, setVisibleCount] = useState(items.length);\n const hasChildren = children !== undefined;\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) {\n return;\n }\n\n const recalculate = (): void => {\n if (items.length === 0) {\n setVisibleCount(0);\n return;\n }\n setVisibleCount(calculateVisibleCount(container, badgeElementsRef.current, items, hasChildren));\n };\n\n const observer = new ResizeObserver(recalculate);\n observer.observe(container);\n return (): void => {\n observer.disconnect();\n };\n }, [items, hasChildren]);\n\n if (items.length === 0 && !children) {\n return placeholder;\n }\n\n const overflowCount = items.length - visibleCount;\n\n const getSelectedCountText = (count: number): string => {\n if (count === 1) {\n return t('Select_singleItemSelected');\n }\n if (count > 1) {\n return t('Select_multipleItemsSelected', { count: count.toString() });\n }\n return '';\n };\n\n return (\n <div ref={containerRef} className={styles.badgesContainer}>\n <span className={styles.srOnly} aria-live=\"polite\" aria-atomic=\"true\">\n {getSelectedCountText(selectedCount)}\n </span>\n {children}\n {items.map((item, index) => (\n <div\n key={item.value}\n ref={(element): void => {\n if (element) {\n badgeElementsRef.current.set(item.value, element);\n } else {\n badgeElementsRef.current.delete(item.value);\n }\n }}\n role=\"presentation\"\n className={styles.badgeWrapper}\n data-visible={index < visibleCount}\n onKeyDown={(event: KeyboardEvent<HTMLDivElement>): void => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.stopPropagation();\n }\n }}\n onMouseDown={(): void => {\n wasClickedRef.current = true;\n }}\n >\n <Badge\n emphasis=\"weak\"\n aria-label={typeof item.displayValue === 'string' ? item.displayValue : item.value}\n onDismiss={(event) => {\n event.stopPropagation();\n onDismiss(item.value, wasClickedRef.current);\n wasClickedRef.current = false;\n }}\n >\n {item.displayValue}\n </Badge>\n </div>\n ))}\n {overflowCount > 0 && (\n <div\n className={styles.badgeWrapper}\n aria-label={t('Select_additionalItemsSelected', { count: overflowCount.toString() })}\n >\n <Badge emphasis=\"weak\" aria-hidden=\"true\">\n +{overflowCount}\n </Badge>\n </div>\n )}\n </div>\n );\n};\n"],"names":["BADGE_GAP","OVERFLOW_BADGE_MIN_WIDTH","INPUT_MIN_WIDTH","calculateVisibleCount","container","badgeElements","items","hasInputSlot","containerWidth","usedWidth","count","item","badgeElement","badgeWidth","widthWithGap","reservedWidth","CollapsibleBadges","placeholder","onDismiss","children","selectedCount","t","useTranslation","wasClickedRef","useRef","containerRef","badgeElementsRef","visibleCount","setVisibleCount","useState","hasChildren","useEffect","recalculate","observer","overflowCount","getSelectedCountText","styles","jsx","index","element","event","Badge","jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import * as p from "@radix-ui/react-popover";
|
|
3
|
+
import { Slot as M } from "@radix-ui/react-slot";
|
|
4
|
+
import { isValidElement as T } from "react";
|
|
5
|
+
import { useFondueTheme as E, ThemeProvider as F } from "./fondue-components39.js";
|
|
6
|
+
import a from "./fondue-components127.js";
|
|
7
|
+
import { recursiveMap as R, getSelectOptionValue as _ } from "./fondue-components149.js";
|
|
8
|
+
const j = ({
|
|
9
|
+
highlightedIndex: l,
|
|
10
|
+
getMenuProps: u,
|
|
11
|
+
getItemProps: m,
|
|
12
|
+
children: f,
|
|
13
|
+
filterText: d,
|
|
14
|
+
align: h,
|
|
15
|
+
side: P,
|
|
16
|
+
selectedItemValues: o,
|
|
17
|
+
hasInteractedSinceOpening: S,
|
|
18
|
+
viewportCollisionPadding: g = "compact",
|
|
19
|
+
onEscapeKeyDown: v
|
|
20
|
+
}) => {
|
|
21
|
+
const O = (e) => {
|
|
22
|
+
e.preventDefault();
|
|
23
|
+
}, N = {
|
|
24
|
+
compact: 8,
|
|
25
|
+
spacious: 24
|
|
26
|
+
}, { theme: A, dir: n } = E(), C = (e) => n === "ltr" ? e : e === "left" ? "right" : e === "right" ? "left" : e;
|
|
27
|
+
return /* @__PURE__ */ r(p.Portal, { children: /* @__PURE__ */ r(F, { theme: A, dir: n, children: /* @__PURE__ */ r(
|
|
28
|
+
p.Content,
|
|
29
|
+
{
|
|
30
|
+
dir: n,
|
|
31
|
+
align: h,
|
|
32
|
+
side: C(P),
|
|
33
|
+
collisionPadding: N[g] + 8,
|
|
34
|
+
onOpenAutoFocus: O,
|
|
35
|
+
onEscapeKeyDown: v,
|
|
36
|
+
className: a.portal,
|
|
37
|
+
children: /* @__PURE__ */ r(
|
|
38
|
+
"ul",
|
|
39
|
+
{
|
|
40
|
+
className: a.menu,
|
|
41
|
+
...u({}, { suppressRefError: !0 }),
|
|
42
|
+
"data-has-interacted": S ? "true" : "false",
|
|
43
|
+
"data-test-id": "fondue-select-menu",
|
|
44
|
+
children: R(
|
|
45
|
+
f,
|
|
46
|
+
(e, s) => {
|
|
47
|
+
if (((t) => (
|
|
48
|
+
// @ts-expect-error - We are explicitly checking for ref
|
|
49
|
+
T(t) && t.ref !== void 0
|
|
50
|
+
))(e)) {
|
|
51
|
+
const t = _(e.props), i = m({
|
|
52
|
+
item: t,
|
|
53
|
+
index: s,
|
|
54
|
+
...e.ref ? { ref: e.ref } : {}
|
|
55
|
+
}), c = o == null ? void 0 : o.includes(t.value);
|
|
56
|
+
return /* @__PURE__ */ r(
|
|
57
|
+
M,
|
|
58
|
+
{
|
|
59
|
+
className: a.item,
|
|
60
|
+
"data-highlighted": l === s,
|
|
61
|
+
"data-selected": c,
|
|
62
|
+
onTouchStart: (D) => {
|
|
63
|
+
i.onClick && i.onClick(D);
|
|
64
|
+
},
|
|
65
|
+
...i,
|
|
66
|
+
"aria-selected": c,
|
|
67
|
+
children: e
|
|
68
|
+
},
|
|
69
|
+
e.props.value
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
d
|
|
74
|
+
).parsedChildren
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
) }) });
|
|
79
|
+
};
|
|
80
|
+
j.displayName = "Select.Menu";
|
|
81
|
+
export {
|
|
82
|
+
j as SelectMenu
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=fondue-components141.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fondue-components141.js","sources":["../src/components/Select/components/SelectMenu.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport { Slot as RadixSlot } from '@radix-ui/react-slot';\nimport { type UseComboboxPropGetters, type UseSelectPropGetters } from 'downshift';\nimport { isValidElement, type ForwardedRef, type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nimport { ThemeProvider, useFondueTheme } from '#/components/ThemeProvider/ThemeProvider';\n\nimport styles from '../styles/select.module.scss';\nimport { getSelectOptionValue, recursiveMap } from '../utils';\n\nimport { type SelectItemProps } from './SelectItem';\n\nexport type SelectMenuViewportCollisionPadding = 'compact' | 'spacious';\n\nexport type SelectMenuProps = {\n /**\n * @internal\n * The index of the highlighted item in the menu.\n */\n highlightedIndex: number;\n /**\n * @internal\n * Callback function to retrieve the props for a menu element.\n */\n getMenuProps: UseSelectPropGetters<unknown>['getMenuProps'] | UseComboboxPropGetters<unknown>['getMenuProps'];\n /**\n * @internal\n * Callback function to retrieve the props for a item element.\n */\n getItemProps: UseSelectPropGetters<unknown>['getItemProps'] | UseComboboxPropGetters<unknown>['getItemProps'];\n /**\n * @internal\n * The children of the menu component. This can contain multiple `Select.Item` or `Select.Group` components.\n */\n children: ReactNode;\n /**\n * @internal\n * The filter text shown in the combobox input element.\n */\n filterText?: string;\n /**\n * @internal\n * The alignment of the menu.\n */\n align: 'start' | 'center' | 'end';\n /**\n * @internal\n * Defines the preferred side of the select. It will not be respected if there are collisions with the viewport.\n * @default \"bottom\"\n */\n side: 'left' | 'right' | 'bottom' | 'top';\n /**\n * @internal\n * The type of the menu.\n */\n selectedItemValues?: string[];\n /**\n * @internal\n * A boolean to indicate if highlighted item was changed since opening the menu.\n * This is used to determine the style of the selected/highlighted item.\n */\n hasInteractedSinceOpening?: boolean;\n /**\n * Define the minimum distance between the select menu and the viewport edge\n * @default 'compact'\n */\n viewportCollisionPadding?: SelectMenuViewportCollisionPadding;\n /**\n * @internal\n * Event handler called when the escape key is pressed.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void;\n};\n\nexport const SelectMenu = ({\n highlightedIndex,\n getMenuProps,\n getItemProps,\n children,\n filterText,\n align,\n side,\n selectedItemValues,\n hasInteractedSinceOpening,\n viewportCollisionPadding = 'compact',\n onEscapeKeyDown,\n}: SelectMenuProps) => {\n const handleOnOpenAutoFocus = (event: Event) => {\n event.preventDefault();\n };\n\n const VIEWPORT_COLLISION_PADDING_MAP: Record<SelectMenuViewportCollisionPadding, number> = {\n compact: 8,\n spacious: 24,\n };\n\n const { theme, dir } = useFondueTheme();\n\n const getAdjustedSide = (side: 'left' | 'right' | 'bottom' | 'top') => {\n if (dir === 'ltr') {\n return side;\n }\n\n if (side === 'left') {\n return 'right';\n }\n if (side === 'right') {\n return 'left';\n }\n\n return side;\n };\n\n return (\n <RadixPopover.Portal>\n <ThemeProvider theme={theme} dir={dir}>\n <RadixPopover.Content\n dir={dir}\n align={align}\n side={getAdjustedSide(side)}\n collisionPadding={VIEWPORT_COLLISION_PADDING_MAP[viewportCollisionPadding] + 8}\n onOpenAutoFocus={handleOnOpenAutoFocus}\n onEscapeKeyDown={onEscapeKeyDown}\n className={styles.portal}\n >\n <ul\n className={styles.menu}\n // TODO: fix this accessibility issue\n // We are mounting/unmounting the menu on open/close\n // We should instead toggle its visibility for accessibility reasons\n // https://github.com/downshift-js/downshift?tab=readme-ov-file#getmenuprops\n {...getMenuProps({}, { suppressRefError: true })}\n data-has-interacted={hasInteractedSinceOpening ? 'true' : 'false'}\n data-test-id=\"fondue-select-menu\"\n >\n {\n recursiveMap(\n children,\n (child, index) => {\n const isValid = <TProps,>(\n child: ReactNode,\n ): child is ReactElement<TProps> & { ref: ForwardedRef<HTMLElement> } =>\n // @ts-expect-error - We are explicitly checking for ref\n isValidElement<TProps>(child) && child.ref !== undefined;\n\n if (isValid<SelectItemProps>(child)) {\n const optionData = getSelectOptionValue(child.props);\n const itemProps = getItemProps({\n item: optionData,\n index,\n ...(child.ref ? { ref: child.ref } : {}),\n });\n\n const isSelected = selectedItemValues?.includes(optionData.value);\n\n return (\n <RadixSlot\n className={styles.item}\n data-highlighted={highlightedIndex === index}\n data-selected={isSelected}\n key={child.props.value}\n // Workaround for the issue where the onClick event is not fired on touch devices because of portal usage\n onTouchStart={(event) => {\n if (itemProps.onClick) {\n itemProps.onClick(event as unknown as MouseEvent<HTMLElement>);\n }\n }}\n {...itemProps}\n aria-selected={isSelected}\n >\n {child}\n </RadixSlot>\n );\n }\n },\n filterText,\n ).parsedChildren\n }\n </ul>\n </RadixPopover.Content>\n </ThemeProvider>\n </RadixPopover.Portal>\n );\n};\nSelectMenu.displayName = 'Select.Menu';\n"],"names":["SelectMenu","highlightedIndex","getMenuProps","getItemProps","children","filterText","align","side","selectedItemValues","hasInteractedSinceOpening","viewportCollisionPadding","onEscapeKeyDown","handleOnOpenAutoFocus","event","VIEWPORT_COLLISION_PADDING_MAP","theme","dir","useFondueTheme","getAdjustedSide","RadixPopover","jsx","ThemeProvider","styles","recursiveMap","child","index","isValidElement","optionData","getSelectOptionValue","itemProps","isSelected","RadixSlot"],"mappings":";;;;;;;AA4EO,MAAMA,IAAa,CAAC;AAAA,EACvB,kBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,0BAAAC,IAA2B;AAAA,EAC3B,iBAAAC;AACJ,MAAuB;AACnB,QAAMC,IAAwB,CAACC,MAAiB;AAC5C,IAAAA,EAAM,eAAA;AAAA,EACV,GAEMC,IAAqF;AAAA,IACvF,SAAS;AAAA,IACT,UAAU;AAAA,EAAA,GAGR,EAAE,OAAAC,GAAO,KAAAC,EAAA,IAAQC,EAAA,GAEjBC,IAAkB,CAACX,MACjBS,MAAQ,QACDT,IAGPA,MAAS,SACF,UAEPA,MAAS,UACF,SAGJA;AAGX,2BACKY,EAAa,QAAb,EACG,UAAA,gBAAAC,EAACC,GAAA,EAAc,OAAAN,GAAc,KAAAC,GACzB,UAAA,gBAAAI;AAAA,IAACD,EAAa;AAAA,IAAb;AAAA,MACG,KAAAH;AAAA,MACA,OAAAV;AAAA,MACA,MAAMY,EAAgBX,CAAI;AAAA,MAC1B,kBAAkBO,EAA+BJ,CAAwB,IAAI;AAAA,MAC7E,iBAAiBE;AAAA,MACjB,iBAAAD;AAAA,MACA,WAAWW,EAAO;AAAA,MAElB,UAAA,gBAAAF;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAWE,EAAO;AAAA,UAKjB,GAAGpB,EAAa,CAAA,GAAI,EAAE,kBAAkB,IAAM;AAAA,UAC/C,uBAAqBO,IAA4B,SAAS;AAAA,UAC1D,gBAAa;AAAA,UAGT,UAAAc;AAAA,YACInB;AAAA,YACA,CAACoB,GAAOC,MAAU;AAOd,mBANgB,CACZD;AAAAA;AAAAA,gBAGAE,EAAuBF,CAAK,KAAKA,EAAM,QAAQ;AAAA,iBAEtBA,CAAK,GAAG;AACjC,sBAAMG,IAAaC,EAAqBJ,EAAM,KAAK,GAC7CK,IAAY1B,EAAa;AAAA,kBAC3B,MAAMwB;AAAA,kBACN,OAAAF;AAAA,kBACA,GAAID,EAAM,MAAM,EAAE,KAAKA,EAAM,IAAA,IAAQ,CAAA;AAAA,gBAAC,CACzC,GAEKM,IAAatB,KAAA,gBAAAA,EAAoB,SAASmB,EAAW;AAE3D,uBACI,gBAAAP;AAAA,kBAACW;AAAAA,kBAAA;AAAA,oBACG,WAAWT,EAAO;AAAA,oBAClB,oBAAkBrB,MAAqBwB;AAAA,oBACvC,iBAAeK;AAAA,oBAGf,cAAc,CAACjB,MAAU;AACrB,sBAAIgB,EAAU,WACVA,EAAU,QAAQhB,CAA2C;AAAA,oBAErE;AAAA,oBACC,GAAGgB;AAAA,oBACJ,iBAAeC;AAAA,oBAEd,UAAAN;AAAA,kBAAA;AAAA,kBAVIA,EAAM,MAAM;AAAA,gBAAA;AAAA,cAa7B;AAAA,YACJ;AAAA,YACAnB;AAAA,UAAA,EACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAEV;AAAA,EAAA,GAER,EAAA,CACJ;AAER;AACAL,EAAW,cAAc;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsxs as c, Fragment as n, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { IconCheckMark as i, IconExclamationMarkTriangle as l } from "@frontify/fondue-icons";
|
|
3
|
+
import { useTranslation as m } from "./fondue-components42.js";
|
|
4
|
+
import s from "./fondue-components127.js";
|
|
5
|
+
const f = ({ status: o, hasError: a, dataTestId: e }) => {
|
|
6
|
+
const { t } = m();
|
|
7
|
+
return /* @__PURE__ */ c(n, { children: [
|
|
8
|
+
o === "success" ? /* @__PURE__ */ r(
|
|
9
|
+
i,
|
|
10
|
+
{
|
|
11
|
+
size: 16,
|
|
12
|
+
className: s.iconSuccess,
|
|
13
|
+
"data-test-id": `${e}-success-icon`,
|
|
14
|
+
"aria-hidden": "true"
|
|
15
|
+
}
|
|
16
|
+
) : null,
|
|
17
|
+
a ? /* @__PURE__ */ c(n, { children: [
|
|
18
|
+
/* @__PURE__ */ r(
|
|
19
|
+
l,
|
|
20
|
+
{
|
|
21
|
+
size: 16,
|
|
22
|
+
className: s.iconError,
|
|
23
|
+
"data-test-id": `${e}-error-icon`,
|
|
24
|
+
"aria-hidden": "true"
|
|
25
|
+
}
|
|
26
|
+
),
|
|
27
|
+
/* @__PURE__ */ r("span", { className: s.srOnly, role: "alert", children: t("Select_error") })
|
|
28
|
+
] }) : null
|
|
29
|
+
] });
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
f as StatusIcons
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=fondue-components142.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fondue-components142.js","sources":["../src/components/Select/components/StatusIcons.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCheckMark, IconExclamationMarkTriangle } from '@frontify/fondue-icons';\nimport { type ReactNode } from 'react';\n\nimport { useTranslation } from '#/hooks/useTranslation';\n\nimport styles from '../styles/select.module.scss';\n\ntype StatusIconsProps = {\n /** The current status of the component. */\n status: 'neutral' | 'success' | 'error';\n /** Whether the component is in an error state (may differ from status when validation is involved). */\n hasError: boolean;\n /** The data-test-id prefix for the icons. */\n dataTestId: string;\n};\n\nexport const StatusIcons = ({ status, hasError, dataTestId }: StatusIconsProps): ReactNode => {\n const { t } = useTranslation();\n return (\n <>\n {status === 'success' ? (\n <IconCheckMark\n size={16}\n className={styles.iconSuccess}\n data-test-id={`${dataTestId}-success-icon`}\n aria-hidden=\"true\"\n />\n ) : null}\n {hasError ? (\n <>\n <IconExclamationMarkTriangle\n size={16}\n className={styles.iconError}\n data-test-id={`${dataTestId}-error-icon`}\n aria-hidden=\"true\"\n />\n <span className={styles.srOnly} role=\"alert\">\n {t('Select_error')}\n </span>\n </>\n ) : null}\n </>\n );\n};\n"],"names":["StatusIcons","status","hasError","dataTestId","useTranslation","jsxs","Fragment","jsx","IconCheckMark","styles","IconExclamationMarkTriangle"],"mappings":";;;;AAkBO,MAAMA,IAAc,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,YAAAC,QAA8C;AAC1F,QAAM,EAAE,EAAA,IAAMC,EAAA;AACd,SACI,gBAAAC,EAAAC,GAAA,EACK,UAAA;AAAA,IAAAL,MAAW,YACR,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,MAAM;AAAA,QACN,WAAWC,EAAO;AAAA,QAClB,gBAAc,GAAGN,CAAU;AAAA,QAC3B,eAAY;AAAA,MAAA;AAAA,IAAA,IAEhB;AAAA,IACHD,IACG,gBAAAG,EAAAC,GAAA,EACI,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACG;AAAA,QAAA;AAAA,UACG,MAAM;AAAA,UACN,WAAWD,EAAO;AAAA,UAClB,gBAAc,GAAGN,CAAU;AAAA,UAC3B,eAAY;AAAA,QAAA;AAAA,MAAA;AAAA,MAEhB,gBAAAI,EAAC,UAAK,WAAWE,EAAO,QAAQ,MAAK,SAChC,UAAA,EAAE,cAAc,EAAA,CACrB;AAAA,IAAA,EAAA,CACJ,IACA;AAAA,EAAA,GACR;AAER;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { formatDistance as o } from "./fondue-components150.js";
|
|
2
|
+
import { formatLong as t } from "./fondue-components151.js";
|
|
3
|
+
import { formatRelative as a } from "./fondue-components152.js";
|
|
4
|
+
import { localize as r } from "./fondue-components153.js";
|
|
5
|
+
import { match as e } from "./fondue-components154.js";
|
|
6
|
+
const s = {
|
|
7
|
+
code: "en-US",
|
|
8
|
+
formatDistance: o,
|
|
9
|
+
formatLong: t,
|
|
10
|
+
formatRelative: a,
|
|
11
|
+
localize: r,
|
|
12
|
+
match: e,
|
|
13
|
+
options: {
|
|
14
|
+
weekStartsOn: 0,
|
|
15
|
+
firstWeekContainsDate: 1
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
s as default,
|
|
20
|
+
s as enUS
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=fondue-components143.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fondue-components143.js","sources":["../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US.mjs"],"sourcesContent":["import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./en-US/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n"],"names":["enUS","formatDistance","formatLong","formatRelative","localize","match"],"mappings":";;;;;AAcY,MAACA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,gBAAgBC;AAAA,EAChB,YAAYC;AAAA,EACZ,gBAAgBC;AAAA,EAChB,UAAUC;AAAA,EACV,OAAOC;AAAA,EACP,SAAS;AAAA,IACP,cAAc;AAAA,IACd,uBAAuB;AAAA,EAC3B;AACA;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { CollisionPriority as a, CollisionType as u } from "@dnd-kit/abstract";
|
|
2
|
+
import { Rectangle as p, Point as s } from "./fondue-components147.js";
|
|
3
|
+
var m = ({
|
|
4
|
+
dragOperation: t,
|
|
5
|
+
droppable: n
|
|
6
|
+
}) => {
|
|
7
|
+
const e = t.position.current;
|
|
8
|
+
if (!e)
|
|
9
|
+
return null;
|
|
10
|
+
const { id: r } = n;
|
|
11
|
+
if (!n.shape)
|
|
12
|
+
return null;
|
|
13
|
+
if (n.shape.containsPoint(e)) {
|
|
14
|
+
const i = s.distance(n.shape.center, e);
|
|
15
|
+
return {
|
|
16
|
+
id: r,
|
|
17
|
+
value: 1 / i,
|
|
18
|
+
type: u.PointerIntersection,
|
|
19
|
+
priority: a.High
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
}, y = ({
|
|
24
|
+
dragOperation: t,
|
|
25
|
+
droppable: n
|
|
26
|
+
}) => {
|
|
27
|
+
const { shape: e } = t;
|
|
28
|
+
if (!n.shape || !(e != null && e.current))
|
|
29
|
+
return null;
|
|
30
|
+
const r = e.current.intersectionArea(n.shape);
|
|
31
|
+
if (r) {
|
|
32
|
+
const { position: i } = t, o = s.distance(n.shape.center, i.current), c = r / (e.current.area + n.shape.area - r) / o;
|
|
33
|
+
return {
|
|
34
|
+
id: n.id,
|
|
35
|
+
value: c,
|
|
36
|
+
type: u.ShapeIntersection,
|
|
37
|
+
priority: a.Normal
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}, R = (t) => {
|
|
42
|
+
var n;
|
|
43
|
+
return (n = m(t)) != null ? n : y(t);
|
|
44
|
+
}, I = (t) => {
|
|
45
|
+
const { dragOperation: n, droppable: e } = t, { shape: r, position: i } = n;
|
|
46
|
+
if (!e.shape)
|
|
47
|
+
return null;
|
|
48
|
+
const o = r ? p.from(r.current.boundingRectangle).corners : void 0, c = p.from(
|
|
49
|
+
e.shape.boundingRectangle
|
|
50
|
+
).corners.reduce(
|
|
51
|
+
(d, v, f) => {
|
|
52
|
+
var l;
|
|
53
|
+
return d + s.distance(
|
|
54
|
+
s.from(v),
|
|
55
|
+
(l = o == null ? void 0 : o[f]) != null ? l : i.current
|
|
56
|
+
);
|
|
57
|
+
},
|
|
58
|
+
0
|
|
59
|
+
) / 4;
|
|
60
|
+
return {
|
|
61
|
+
id: e.id,
|
|
62
|
+
value: 1 / c,
|
|
63
|
+
type: u.Collision,
|
|
64
|
+
priority: a.Normal
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
export {
|
|
68
|
+
I as closestCorners,
|
|
69
|
+
R as defaultCollisionDetection,
|
|
70
|
+
m as pointerIntersection,
|
|
71
|
+
y as shapeIntersection
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=fondue-components144.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fondue-components144.js","sources":["../../../node_modules/.pnpm/@dnd-kit+collision@0.3.2/node_modules/@dnd-kit/collision/dist/index.js"],"sourcesContent":["// src/algorithms/pointerIntersection.ts\nimport { CollisionPriority, CollisionType } from \"@dnd-kit/abstract\";\nimport { Point } from \"@dnd-kit/geometry\";\nvar pointerIntersection = ({\n dragOperation,\n droppable\n}) => {\n const pointerCoordinates = dragOperation.position.current;\n if (!pointerCoordinates) {\n return null;\n }\n const { id } = droppable;\n if (!droppable.shape) {\n return null;\n }\n if (droppable.shape.containsPoint(pointerCoordinates)) {\n const distance = Point.distance(droppable.shape.center, pointerCoordinates);\n return {\n id,\n value: 1 / distance,\n type: CollisionType.PointerIntersection,\n priority: CollisionPriority.High\n };\n }\n return null;\n};\n\n// src/algorithms/shapeIntersection.ts\nimport { CollisionPriority as CollisionPriority2, CollisionType as CollisionType2 } from \"@dnd-kit/abstract\";\nimport { Point as Point2 } from \"@dnd-kit/geometry\";\nvar shapeIntersection = ({\n dragOperation,\n droppable\n}) => {\n const { shape } = dragOperation;\n if (!droppable.shape || !(shape == null ? void 0 : shape.current)) {\n return null;\n }\n const intersectionArea = shape.current.intersectionArea(droppable.shape);\n if (intersectionArea) {\n const { position } = dragOperation;\n const distance = Point2.distance(droppable.shape.center, position.current);\n const intersectionRatio = intersectionArea / (shape.current.area + droppable.shape.area - intersectionArea);\n const value = intersectionRatio / distance;\n return {\n id: droppable.id,\n value,\n type: CollisionType2.ShapeIntersection,\n priority: CollisionPriority2.Normal\n };\n }\n return null;\n};\n\n// src/algorithms/default.ts\nvar defaultCollisionDetection = (args) => {\n var _a;\n return (_a = pointerIntersection(args)) != null ? _a : shapeIntersection(args);\n};\n\n// src/algorithms/closestCorners.ts\nimport { CollisionPriority as CollisionPriority3, CollisionType as CollisionType3 } from \"@dnd-kit/abstract\";\nimport { Point as Point3, Rectangle } from \"@dnd-kit/geometry\";\nvar closestCorners = (input) => {\n const { dragOperation, droppable } = input;\n const { shape, position } = dragOperation;\n if (!droppable.shape) {\n return null;\n }\n const shapeCorners = shape ? Rectangle.from(shape.current.boundingRectangle).corners : void 0;\n const distance = Rectangle.from(\n droppable.shape.boundingRectangle\n ).corners.reduce(\n (acc, corner, index) => {\n var _a;\n return acc + Point3.distance(\n Point3.from(corner),\n (_a = shapeCorners == null ? void 0 : shapeCorners[index]) != null ? _a : position.current\n );\n },\n 0\n );\n const value = distance / 4;\n return {\n id: droppable.id,\n value: 1 / value,\n type: CollisionType3.Collision,\n priority: CollisionPriority3.Normal\n };\n};\n\n// src/algorithms/closestCenter.ts\nimport { CollisionPriority as CollisionPriority4, CollisionType as CollisionType4 } from \"@dnd-kit/abstract\";\nimport { Point as Point4 } from \"@dnd-kit/geometry\";\nvar closestCenter = (input) => {\n var _a;\n const { dragOperation, droppable } = input;\n const { shape, position } = dragOperation;\n if (!droppable.shape) {\n return null;\n }\n const collision = defaultCollisionDetection(input);\n if (collision) {\n return collision;\n }\n const distance = Point4.distance(\n droppable.shape.center,\n (_a = shape == null ? void 0 : shape.current.center) != null ? _a : position.current\n );\n const value = 1 / distance;\n return {\n id: droppable.id,\n value,\n type: CollisionType4.Collision,\n priority: CollisionPriority4.Normal\n };\n};\n\n// src/algorithms/directionBiased.ts\nimport { CollisionPriority as CollisionPriority5, CollisionType as CollisionType5 } from \"@dnd-kit/abstract\";\nimport { Point as Point5 } from \"@dnd-kit/geometry\";\nvar directionBiased = ({\n dragOperation,\n droppable\n}) => {\n if (!droppable.shape) {\n return null;\n }\n const { position, shape } = dragOperation;\n const { direction } = position;\n if (!shape) {\n return null;\n }\n if (direction === null) {\n return defaultCollisionDetection({ dragOperation, droppable });\n }\n const { center } = shape.current;\n const rect = droppable.shape.boundingRectangle;\n const isBelow = rect.bottom >= center.y;\n const isAbove = rect.top <= center.y;\n const isLeft = rect.left <= center.x;\n const isRight = rect.right >= center.x;\n if (direction === \"down\" && isBelow || direction === \"up\" && isAbove || direction === \"left\" && isLeft || direction === \"right\" && isRight) {\n const distance = Point5.distance(droppable.shape.center, center);\n const value = distance === 0 ? 1 : 1 / distance;\n return {\n id: droppable.id,\n value,\n type: CollisionType5.Collision,\n priority: CollisionPriority5.Normal\n };\n }\n return null;\n};\n\n// src/algorithms/pointerDistance.ts\nimport { CollisionPriority as CollisionPriority6, CollisionType as CollisionType6 } from \"@dnd-kit/abstract\";\nimport { Point as Point6 } from \"@dnd-kit/geometry\";\nvar pointerDistance = (input) => {\n const { dragOperation, droppable } = input;\n const { position } = dragOperation;\n if (!droppable.shape) {\n return null;\n }\n const distance = Point6.distance(droppable.shape.center, position.current);\n const value = 1 / distance;\n return {\n id: droppable.id,\n value,\n type: CollisionType6.Collision,\n priority: CollisionPriority6.Normal\n };\n};\nexport {\n closestCenter,\n closestCorners,\n defaultCollisionDetection,\n directionBiased,\n pointerDistance,\n pointerIntersection,\n shapeIntersection\n};\n"],"names":["pointerIntersection","dragOperation","droppable","pointerCoordinates","id","distance","Point","CollisionType","CollisionPriority","shapeIntersection","shape","intersectionArea","position","Point2","value","CollisionType2","CollisionPriority2","defaultCollisionDetection","args","_a","closestCorners","input","shapeCorners","Rectangle","acc","corner","index","Point3","CollisionType3","CollisionPriority3"],"mappings":";;AAGG,IAACA,IAAsB,CAAC;AAAA,EACzB,eAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAMC,IAAqBF,EAAc,SAAS;AAClD,MAAI,CAACE;AACH,WAAO;AAET,QAAM,EAAE,IAAAC,EAAE,IAAKF;AACf,MAAI,CAACA,EAAU;AACb,WAAO;AAET,MAAIA,EAAU,MAAM,cAAcC,CAAkB,GAAG;AACrD,UAAME,IAAWC,EAAM,SAASJ,EAAU,MAAM,QAAQC,CAAkB;AAC1E,WAAO;AAAA,MACL,IAAAC;AAAA,MACA,OAAO,IAAIC;AAAA,MACX,MAAME,EAAc;AAAA,MACpB,UAAUC,EAAkB;AAAA,IAClC;AAAA,EACE;AACA,SAAO;AACT,GAKIC,IAAoB,CAAC;AAAA,EACvB,eAAAR;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAM,EAAE,OAAAQ,EAAK,IAAKT;AAClB,MAAI,CAACC,EAAU,SAAS,EAAEQ,KAAS,QAAgBA,EAAM;AACvD,WAAO;AAET,QAAMC,IAAmBD,EAAM,QAAQ,iBAAiBR,EAAU,KAAK;AACvE,MAAIS,GAAkB;AACpB,UAAM,EAAE,UAAAC,EAAQ,IAAKX,GACfI,IAAWQ,EAAO,SAASX,EAAU,MAAM,QAAQU,EAAS,OAAO,GAEnEE,IADoBH,KAAoBD,EAAM,QAAQ,OAAOR,EAAU,MAAM,OAAOS,KACxDN;AAClC,WAAO;AAAA,MACL,IAAIH,EAAU;AAAA,MACd,OAAAY;AAAA,MACA,MAAMC,EAAe;AAAA,MACrB,UAAUC,EAAmB;AAAA,IACnC;AAAA,EACE;AACA,SAAO;AACT,GAGIC,IAA4B,CAACC,MAAS;AACxC,MAAIC;AACJ,UAAQA,IAAKnB,EAAoBkB,CAAI,MAAM,OAAOC,IAAKV,EAAkBS,CAAI;AAC/E,GAKIE,IAAiB,CAACC,MAAU;AAC9B,QAAM,EAAE,eAAApB,GAAe,WAAAC,EAAS,IAAKmB,GAC/B,EAAE,OAAAX,GAAO,UAAAE,EAAQ,IAAKX;AAC5B,MAAI,CAACC,EAAU;AACb,WAAO;AAET,QAAMoB,IAAeZ,IAAQa,EAAU,KAAKb,EAAM,QAAQ,iBAAiB,EAAE,UAAU,QAajFI,IAZWS,EAAU;AAAA,IACzBrB,EAAU,MAAM;AAAA,EACpB,EAAI,QAAQ;AAAA,IACR,CAACsB,GAAKC,GAAQC,MAAU;AACtB,UAAIP;AACJ,aAAOK,IAAMG,EAAO;AAAA,QAClBA,EAAO,KAAKF,CAAM;AAAA,SACjBN,IAAKG,KAAgB,OAAO,SAASA,EAAaI,CAAK,MAAM,OAAOP,IAAKP,EAAS;AAAA,MAC3F;AAAA,IACI;AAAA,IACA;AAAA,EACJ,IAC2B;AACzB,SAAO;AAAA,IACL,IAAIV,EAAU;AAAA,IACd,OAAO,IAAIY;AAAA,IACX,MAAMc,EAAe;AAAA,IACrB,UAAUC,EAAmB;AAAA,EACjC;AACA;","x_google_ignoreList":[0]}
|