@selectwin/kit 0.1.197 → 0.1.198
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/README.md +1 -1
- package/dist/SelectAccordion.js +54 -0
- package/dist/SelectActionCard.js +45 -0
- package/dist/SelectActionList.js +55 -0
- package/dist/SelectActionMenu.js +33 -0
- package/dist/SelectAddButton.js +22 -0
- package/dist/SelectAddCard.js +32 -0
- package/dist/SelectAlert.js +36 -0
- package/dist/SelectAssistant.js +184 -0
- package/dist/SelectAuthFx.js +626 -0
- package/dist/SelectAvatar.js +34 -0
- package/dist/SelectBackLink.js +22 -0
- package/dist/SelectBadge.js +18 -0
- package/dist/SelectBalanceCard.js +167 -0
- package/dist/SelectBankAccountField.js +71 -0
- package/dist/SelectBankIcon.js +162 -0
- package/dist/SelectBarChart.js +88 -0
- package/dist/SelectBoxPlot.js +127 -0
- package/dist/SelectBrandIcon.js +206 -0
- package/dist/SelectBreadcrumb.js +45 -0
- package/dist/SelectBuilderLayout.js +49 -0
- package/dist/SelectBuilderWorkspace.js +273 -0
- package/dist/SelectBullet.js +59 -0
- package/dist/SelectBump.js +93 -0
- package/dist/SelectButton.js +51 -0
- package/dist/SelectCalendar.js +450 -0
- package/dist/SelectCalendarHeatmap.js +84 -0
- package/dist/SelectCandlestick.js +97 -0
- package/dist/SelectCard.js +52 -0
- package/dist/SelectCardGrid.js +76 -0
- package/dist/SelectCertificatePreview.js +108 -0
- package/dist/SelectChannelPreview.js +124 -0
- package/dist/SelectChartCard.js +50 -0
- package/dist/SelectChartLegend.js +34 -0
- package/dist/SelectChipInput.js +110 -0
- package/dist/SelectChoiceCard.js +113 -0
- package/dist/SelectChord.js +93 -0
- package/dist/SelectCirclePack.js +111 -0
- package/dist/SelectCodeBlock.js +51 -0
- package/dist/SelectCollapsible.js +40 -0
- package/dist/SelectColorField.js +283 -0
- package/dist/SelectColumnChart.js +222 -0
- package/dist/SelectComboChart.js +139 -0
- package/dist/SelectCombobox.js +158 -0
- package/dist/SelectConfirmModal.js +42 -0
- package/dist/SelectConversation.js +97 -0
- package/dist/SelectCopyRow.js +61 -0
- package/dist/SelectCopyableId.js +45 -0
- package/dist/SelectDataTable.js +247 -0
- package/dist/SelectDateField.js +255 -0
- package/dist/SelectDatePicker.js +311 -0
- package/dist/SelectDateRangeField.js +57 -0
- package/dist/SelectDetail.js +49 -0
- package/dist/SelectDisclosureButton.js +23 -0
- package/dist/SelectDivider.js +20 -0
- package/dist/SelectDnsRecords.js +74 -0
- package/dist/SelectDocumentField.js +24 -0
- package/dist/SelectDonut.js +103 -0
- package/dist/SelectDotField.js +134 -0
- package/dist/SelectDumbbell.js +100 -0
- package/dist/SelectFactStrip.js +42 -0
- package/dist/SelectFeeBreakdown.js +88 -0
- package/dist/SelectField.d.ts +24 -6
- package/dist/SelectField.js +196 -0
- package/dist/SelectFieldGrid.js +15 -0
- package/dist/SelectFileDropzone.js +160 -0
- package/dist/SelectFileTile.js +53 -0
- package/dist/SelectFilterBar.js +292 -0
- package/dist/SelectFilterChip.js +32 -0
- package/dist/SelectFlowCanvas.js +282 -0
- package/dist/SelectFormLayout.js +21 -0
- package/dist/SelectFormModal.js +53 -0
- package/dist/SelectFunnel.js +49 -0
- package/dist/SelectGauge.js +74 -0
- package/dist/SelectGaugeBands.js +78 -0
- package/dist/SelectGlobe.js +472 -0
- package/dist/SelectHeatmap.js +76 -0
- package/dist/SelectHexbin.js +59 -0
- package/dist/SelectHorizontalBar.js +100 -0
- package/dist/SelectHtmlFrame.js +30 -0
- package/dist/SelectIcicle.js +87 -0
- package/dist/SelectIcon.js +21 -0
- package/dist/SelectIconButton.js +24 -0
- package/dist/SelectIconPicker.js +79 -0
- package/dist/SelectIconTile.js +17 -0
- package/dist/SelectIdentityFooter.js +30 -0
- package/dist/SelectImageField.js +56 -0
- package/dist/SelectImageGalleryField.js +243 -0
- package/dist/SelectImageUploadField.js +155 -0
- package/dist/SelectImageUrlsField.js +68 -0
- package/dist/SelectImageZoomModal.js +26 -0
- package/dist/SelectInfoTip.js +31 -0
- package/dist/SelectInsight.js +777 -0
- package/dist/SelectJourney.js +68 -0
- package/dist/SelectJsonViewer.js +294 -0
- package/dist/SelectKanban.js +124 -0
- package/dist/SelectKbd.js +15 -0
- package/dist/SelectKeyValueEditor.js +88 -0
- package/dist/SelectKpiBand.js +17 -0
- package/dist/SelectKpiCard.js +54 -0
- package/dist/SelectLauncher.js +58 -0
- package/dist/SelectLayout.js +100 -0
- package/dist/SelectLineChart.js +161 -0
- package/dist/SelectLinkButton.js +18 -0
- package/dist/SelectListCard.js +89 -0
- package/dist/SelectLoader.js +27 -0
- package/dist/SelectLocale.d.ts +2 -0
- package/dist/SelectLocale.js +191 -0
- package/dist/SelectMail.js +811 -0
- package/dist/SelectMailEditor.js +224 -0
- package/dist/SelectMarimekko.js +87 -0
- package/dist/SelectMarkStack.js +30 -0
- package/dist/SelectMediaCell.js +28 -0
- package/dist/SelectMenu.js +110 -0
- package/dist/SelectMiniStats.js +37 -0
- package/dist/SelectModal.js +177 -0
- package/dist/SelectMoney.js +136 -0
- package/dist/SelectMoneyField.js +82 -0
- package/dist/SelectNetwork.js +122 -0
- package/dist/SelectNote.js +26 -0
- package/dist/SelectNumberField.js +87 -0
- package/dist/SelectNumberedList.js +30 -0
- package/dist/SelectOfferPrice.js +48 -0
- package/dist/SelectOfflineModal.js +31 -0
- package/dist/SelectOptionList.js +54 -0
- package/dist/SelectOtpInput.js +64 -0
- package/dist/SelectPage.js +85 -0
- package/dist/SelectPagination.js +82 -0
- package/dist/SelectPanel.js +41 -0
- package/dist/SelectParallel.js +100 -0
- package/dist/SelectPareto.js +134 -0
- package/dist/SelectPasswordStrength.js +82 -0
- package/dist/SelectPaymentBrand.js +213 -0
- package/dist/SelectPaymentCard.js +53 -0
- package/dist/SelectPhoneField.js +139 -0
- package/dist/SelectPips.js +25 -0
- package/dist/SelectPlanCard.js +64 -0
- package/dist/SelectPolarArea.js +82 -0
- package/dist/SelectPopover.js +101 -0
- package/dist/SelectPreviewFrame.js +119 -0
- package/dist/SelectProgressBar.js +54 -0
- package/dist/SelectProgressList.js +58 -0
- package/dist/SelectPyramid.js +116 -0
- package/dist/SelectQrCode.d.ts +12 -0
- package/dist/SelectQrCode.js +51 -0
- package/dist/SelectQuestionStage.js +183 -0
- package/dist/SelectRadar.js +118 -0
- package/dist/SelectRadialBar.js +103 -0
- package/dist/SelectRadioGroup.js +54 -0
- package/dist/SelectRangeBar.js +89 -0
- package/dist/SelectRating.js +58 -0
- package/dist/SelectRatingQuote.js +31 -0
- package/dist/SelectRecordCard.js +144 -0
- package/dist/SelectRegions.js +23 -0
- package/dist/SelectRepeatingFieldArray.js +104 -0
- package/dist/SelectResendButton.js +44 -0
- package/dist/SelectRetryStatus.js +79 -0
- package/dist/SelectRing.js +53 -0
- package/dist/SelectRowActions.js +32 -0
- package/dist/SelectSankey.js +92 -0
- package/dist/SelectScatter.js +79 -0
- package/dist/SelectSearchInput.d.ts +8 -2
- package/dist/SelectSearchInput.js +38 -0
- package/dist/SelectSearchMenu.js +128 -0
- package/dist/SelectSection.js +83 -0
- package/dist/SelectSegmented.js +95 -0
- package/dist/SelectSelect.d.ts +19 -5
- package/dist/SelectSelect.js +84 -0
- package/dist/SelectSetting.js +54 -0
- package/dist/SelectSetupGuide.js +187 -0
- package/dist/SelectShareBar.js +139 -0
- package/dist/SelectSideNav.js +263 -0
- package/dist/SelectSkeleton.js +56 -0
- package/dist/SelectSlope.js +129 -0
- package/dist/SelectSortable.js +31 -0
- package/dist/SelectSparkline.js +66 -0
- package/dist/SelectSplitChain.js +52 -0
- package/dist/SelectSpotlight.js +81 -0
- package/dist/SelectStackedArea.js +117 -0
- package/dist/SelectStatusBadge.js +81 -0
- package/dist/SelectStatusPage.js +62 -0
- package/dist/SelectSteps.js +54 -0
- package/dist/SelectStreamGraph.js +99 -0
- package/dist/SelectSunburst.js +101 -0
- package/dist/SelectSurface.js +41 -0
- package/dist/SelectSwitch.js +24 -0
- package/dist/SelectSwitchField.d.ts +5 -1
- package/dist/SelectSwitchField.js +45 -0
- package/dist/SelectTable.js +243 -0
- package/dist/SelectTabs.js +63 -0
- package/dist/SelectTagSelect.js +144 -0
- package/dist/SelectTaskCard.js +44 -0
- package/dist/SelectText.js +25 -0
- package/dist/SelectTextarea.d.ts +15 -4
- package/dist/SelectTextarea.js +58 -0
- package/dist/SelectThemeSwitcher.js +66 -0
- package/dist/SelectThumbnail.js +41 -0
- package/dist/SelectTicker.js +69 -0
- package/dist/SelectTile.js +62 -0
- package/dist/SelectTileMap.js +268 -0
- package/dist/SelectTimeline.js +76 -0
- package/dist/SelectToast.js +159 -0
- package/dist/SelectToggle.js +80 -0
- package/dist/SelectTogglePanel.js +44 -0
- package/dist/SelectTokenTextarea.js +173 -0
- package/dist/SelectTooltip.js +100 -0
- package/dist/SelectTour.js +210 -0
- package/dist/SelectTree.js +86 -0
- package/dist/SelectTreemap.js +130 -0
- package/dist/SelectUnitInput.js +53 -0
- package/dist/SelectVenn.js +75 -0
- package/dist/SelectViolin.js +95 -0
- package/dist/SelectWaffle.js +56 -0
- package/dist/SelectWaterfall.js +123 -0
- package/dist/SelectWordCloud.js +27 -0
- package/dist/SelectWorkspaceSwitcher.js +40 -0
- package/dist/SelectZoomThumbnail.js +40 -0
- package/dist/chartTip.js +70 -0
- package/dist/chartUtils.js +146 -0
- package/dist/detectSelectTheme.js +8 -0
- package/dist/icons.js +1696 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +213 -32711
- package/dist/internal/dateValue.js +12 -0
- package/dist/internal/document.js +16 -0
- package/dist/internal/flags.js +187 -0
- package/dist/internal/frame.js +17 -0
- package/dist/internal/inert.js +13 -0
- package/dist/internal/layers.d.ts +8 -0
- package/dist/internal/layers.js +35 -0
- package/dist/internal/listChrome.js +150 -0
- package/dist/internal/money.js +16 -0
- package/dist/internal/nativeProps.d.ts +11 -0
- package/dist/internal/nativeProps.js +14 -0
- package/dist/internal/phone.js +52 -0
- package/dist/internal/safeHref.js +17 -0
- package/dist/internal/useFocusTrap.d.ts +7 -1
- package/dist/internal/useFocusTrap.js +40 -0
- package/dist/internal/useMatchMedia.js +18 -0
- package/dist/internal/useSelectReveal.js +76 -0
- package/dist/jsonTree.js +183 -0
- package/dist/positioning.js +22 -0
- package/dist/spacing.js +22 -0
- package/dist/style.css +1 -1
- package/dist/uploadUtils.js +29 -0
- package/dist/worldLand.js +10401 -0
- package/package.json +4 -1
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { SelectLabelRow as e } from "./SelectField.js";
|
|
2
|
+
import { forwardRef as t, useCallback as n, useEffect as r, useId as i, useImperativeHandle as a, useLayoutEffect as o, useRef as s } from "react";
|
|
3
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
4
|
+
//#region src/SelectTokenTextarea.tsx
|
|
5
|
+
var u = /\{\{?\s*([a-zA-Z_][a-zA-Z0-9_.[\]]*)\s*\}?\}/g, d = "data-select-sentinel";
|
|
6
|
+
function f(e, t, n) {
|
|
7
|
+
let r = document.createElement("span");
|
|
8
|
+
return r.className = "select-token", r.setAttribute("contenteditable", "false"), r.dataset.token = t, r.dataset.raw = e, r.textContent = n(t), r;
|
|
9
|
+
}
|
|
10
|
+
function p(e, t, n) {
|
|
11
|
+
let r = [], i = new RegExp(t.source, t.flags.includes("g") ? t.flags : t.flags + "g"), a = 0;
|
|
12
|
+
for (let t of e.matchAll(i)) {
|
|
13
|
+
let i = t.index ?? 0;
|
|
14
|
+
i > a && r.push(document.createTextNode(e.slice(a, i))), r.push(f(t[0], t[1] ?? "", n)), a = i + t[0].length;
|
|
15
|
+
}
|
|
16
|
+
return a < e.length && r.push(document.createTextNode(e.slice(a))), r;
|
|
17
|
+
}
|
|
18
|
+
function m(e) {
|
|
19
|
+
let t = "", n = (e) => {
|
|
20
|
+
e.childNodes.forEach((e) => {
|
|
21
|
+
if (e.nodeType === Node.TEXT_NODE) {
|
|
22
|
+
t += e.nodeValue ?? "";
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (e instanceof HTMLElement) {
|
|
26
|
+
if (e.dataset.raw != null) {
|
|
27
|
+
t += e.dataset.raw;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (e.tagName === "BR") {
|
|
31
|
+
e.hasAttribute(d) || (t += "\n");
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
(e.tagName === "DIV" || e.tagName === "P") && t && !t.endsWith("\n") && (t += "\n"), n(e);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
return n(e), t.replace(//g, "");
|
|
39
|
+
}
|
|
40
|
+
var h = t(function({ label: t, value: h, onChange: g, labelOf: _, pattern: v = u, labelAction: y, help: b, hint: x, error: S, placeholder: C, rows: w = 4, disabled: T = !1, onBlur: E, size: D = "md", className: O }, k) {
|
|
41
|
+
let A = i(), j = s(null), M = s(null), N = s(null), P = s(_);
|
|
42
|
+
P.current = _;
|
|
43
|
+
let F = n((e) => {
|
|
44
|
+
let t = j.current;
|
|
45
|
+
if (!t) return;
|
|
46
|
+
t.replaceChildren(...p(e, v, P.current));
|
|
47
|
+
let n = document.createElement("br");
|
|
48
|
+
n.setAttribute(d, ""), t.appendChild(n), M.current = e;
|
|
49
|
+
}, [v]);
|
|
50
|
+
o(() => {
|
|
51
|
+
h !== M.current && F(h);
|
|
52
|
+
}, [h, F]), r(() => {
|
|
53
|
+
var e;
|
|
54
|
+
(e = j.current) == null || e.querySelectorAll(".select-token").forEach((e) => {
|
|
55
|
+
e.textContent = _(e.dataset.token ?? "");
|
|
56
|
+
});
|
|
57
|
+
}, [_]);
|
|
58
|
+
let I = () => {
|
|
59
|
+
let e = j.current;
|
|
60
|
+
if (!e) return;
|
|
61
|
+
if (!e.lastChild || !(e.lastChild instanceof HTMLElement && e.lastChild.hasAttribute(d))) {
|
|
62
|
+
let t = document.createElement("br");
|
|
63
|
+
t.setAttribute(d, ""), e.appendChild(t);
|
|
64
|
+
}
|
|
65
|
+
let t = m(e);
|
|
66
|
+
M.current = t, g(t);
|
|
67
|
+
}, L = () => {
|
|
68
|
+
let e = window.getSelection(), t = j.current;
|
|
69
|
+
e && e.rangeCount && t && t.contains(e.anchorNode) && (N.current = e.getRangeAt(0).cloneRange());
|
|
70
|
+
}, R = (e, t) => {
|
|
71
|
+
let n = j.current;
|
|
72
|
+
if (!n || e.length === 0) return;
|
|
73
|
+
let r = window.getSelection(), i = t && n.contains(t.startContainer) ? t : null;
|
|
74
|
+
if (!i) {
|
|
75
|
+
i = document.createRange();
|
|
76
|
+
let e = n.lastChild;
|
|
77
|
+
e ? i.setStartBefore(e) : i.selectNodeContents(n), i.collapse(!0);
|
|
78
|
+
}
|
|
79
|
+
i.deleteContents();
|
|
80
|
+
let a = document.createDocumentFragment();
|
|
81
|
+
e.forEach((e) => a.appendChild(e));
|
|
82
|
+
let o = e[e.length - 1];
|
|
83
|
+
i.insertNode(a);
|
|
84
|
+
let s = document.createRange();
|
|
85
|
+
s.setStartAfter(o), s.collapse(!0), r == null || r.removeAllRanges(), r == null || r.addRange(s), N.current = s.cloneRange(), I();
|
|
86
|
+
}, z = () => {
|
|
87
|
+
let e = j.current;
|
|
88
|
+
if (!e) return;
|
|
89
|
+
e.focus();
|
|
90
|
+
let t = N.current;
|
|
91
|
+
if (t && e.contains(t.startContainer)) {
|
|
92
|
+
let e = window.getSelection();
|
|
93
|
+
e == null || e.removeAllRanges(), e == null || e.addRange(t.cloneRange());
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
a(k, () => ({
|
|
97
|
+
insertToken: (e) => {
|
|
98
|
+
var t, n;
|
|
99
|
+
R([f(`{${e}}`, e, P.current)], N.current), z(), window.setTimeout(z, 0), (t = (n = window).requestAnimationFrame) == null || t.call(n, () => z());
|
|
100
|
+
},
|
|
101
|
+
focus: z
|
|
102
|
+
}));
|
|
103
|
+
let B = (e) => {
|
|
104
|
+
if (e.key === "Enter") {
|
|
105
|
+
e.preventDefault();
|
|
106
|
+
let t = window.getSelection();
|
|
107
|
+
R([document.createTextNode("\n")], t && t.rangeCount ? t.getRangeAt(0) : null);
|
|
108
|
+
}
|
|
109
|
+
}, V = (e) => {
|
|
110
|
+
e.preventDefault();
|
|
111
|
+
let t = e.clipboardData.getData("text/plain");
|
|
112
|
+
if (!t) return;
|
|
113
|
+
let n = window.getSelection();
|
|
114
|
+
R(p(t.replace(/\r\n?/g, "\n"), v, P.current), n && n.rangeCount ? n.getRangeAt(0) : null);
|
|
115
|
+
}, H = (e, t) => {
|
|
116
|
+
let n = window.getSelection();
|
|
117
|
+
if (!n || !n.rangeCount || n.isCollapsed) return;
|
|
118
|
+
let r = n.getRangeAt(0), i = document.createElement("div");
|
|
119
|
+
i.appendChild(r.cloneContents()), e.preventDefault(), e.clipboardData.setData("text/plain", m(i)), t && (r.deleteContents(), I());
|
|
120
|
+
}, U = S ? `${A}-err` : x ? `${A}-hint` : void 0;
|
|
121
|
+
return /* @__PURE__ */ l("div", {
|
|
122
|
+
className: `select-field${D === "sm" ? " select-field--sm" : ""}${O ? " " + O : ""}`,
|
|
123
|
+
children: [
|
|
124
|
+
(t || b || y) && /* @__PURE__ */ c(e, {
|
|
125
|
+
htmlFor: A,
|
|
126
|
+
label: t,
|
|
127
|
+
help: b,
|
|
128
|
+
action: y
|
|
129
|
+
}),
|
|
130
|
+
/* @__PURE__ */ c("div", {
|
|
131
|
+
ref: j,
|
|
132
|
+
id: A,
|
|
133
|
+
role: "textbox",
|
|
134
|
+
"aria-multiline": "true",
|
|
135
|
+
"aria-label": t,
|
|
136
|
+
"aria-invalid": S ? !0 : void 0,
|
|
137
|
+
"aria-describedby": U,
|
|
138
|
+
"aria-disabled": T || void 0,
|
|
139
|
+
contentEditable: !T,
|
|
140
|
+
suppressContentEditableWarning: !0,
|
|
141
|
+
spellCheck: !0,
|
|
142
|
+
"data-placeholder": C,
|
|
143
|
+
"data-empty": h === "" || void 0,
|
|
144
|
+
className: `select-input select-tokenarea${S ? " select-input--error" : ""}${T ? " is-disabled" : ""}`,
|
|
145
|
+
style: { minHeight: `calc(${w} * 1.4em + 2 * var(--select-sp-4) + 2px)` },
|
|
146
|
+
onInput: I,
|
|
147
|
+
onKeyDown: B,
|
|
148
|
+
onKeyUp: L,
|
|
149
|
+
onMouseUp: L,
|
|
150
|
+
onFocus: L,
|
|
151
|
+
onBlur: () => {
|
|
152
|
+
L(), E == null || E();
|
|
153
|
+
},
|
|
154
|
+
onPaste: V,
|
|
155
|
+
onCopy: (e) => H(e, !1),
|
|
156
|
+
onCut: (e) => H(e, !0)
|
|
157
|
+
}),
|
|
158
|
+
S ? /* @__PURE__ */ c("p", {
|
|
159
|
+
id: `${A}-err`,
|
|
160
|
+
className: "select-field__error",
|
|
161
|
+
children: S
|
|
162
|
+
}) : x ? /* @__PURE__ */ c("p", {
|
|
163
|
+
id: `${A}-hint`,
|
|
164
|
+
className: "select-field__hint",
|
|
165
|
+
children: x
|
|
166
|
+
}) : null
|
|
167
|
+
]
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
//#endregion
|
|
171
|
+
export { u as SELECT_TOKEN_PATTERN, h as SelectTokenTextarea, m as readTokenText };
|
|
172
|
+
|
|
173
|
+
//# sourceMappingURL=SelectTokenTextarea.js.map
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import { computePopoverPosition as e } from "./positioning.js";
|
|
3
|
+
import { useCallback as t, useEffect as n, useId as r, useLayoutEffect as i, useRef as a, useState as o } from "react";
|
|
4
|
+
import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
5
|
+
import { createPortal as u } from "react-dom";
|
|
6
|
+
//#region src/SelectTooltip.tsx
|
|
7
|
+
function d() {
|
|
8
|
+
return typeof window > "u" || !window.matchMedia || window.matchMedia("(hover: hover)").matches;
|
|
9
|
+
}
|
|
10
|
+
function f(e) {
|
|
11
|
+
try {
|
|
12
|
+
return e instanceof Element && e.matches(":focus-visible");
|
|
13
|
+
} catch {
|
|
14
|
+
return !0;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function p({ content: p, children: m, placement: h = "top", delay: g = 250, openOnClick: _ = !1, disabled: v = !1 }) {
|
|
18
|
+
let [y, b] = o(!1), [x, S] = o(!1), [C, w] = o(!1), T = !v && (x || y && !C), E = a(null), D = a(null), O = a(null), [k, A] = o(null), j = r(), M = () => {
|
|
19
|
+
d() && (O.current && clearTimeout(O.current), O.current = setTimeout(() => b(!0), g));
|
|
20
|
+
}, N = () => {
|
|
21
|
+
O.current && clearTimeout(O.current), b(!1), w(!1);
|
|
22
|
+
}, P = () => {
|
|
23
|
+
_ && (O.current && clearTimeout(O.current), T ? (S(!1), b(!1), w(!0)) : S(!0));
|
|
24
|
+
};
|
|
25
|
+
n(() => () => {
|
|
26
|
+
O.current && clearTimeout(O.current);
|
|
27
|
+
}, []);
|
|
28
|
+
let F = t(() => {
|
|
29
|
+
var t;
|
|
30
|
+
let n = ((t = E.current) == null ? void 0 : t.firstElementChild) ?? E.current, r = D.current;
|
|
31
|
+
if (!n || !r) return;
|
|
32
|
+
let i = e(n.getBoundingClientRect(), {
|
|
33
|
+
width: r.offsetWidth,
|
|
34
|
+
height: r.offsetHeight
|
|
35
|
+
}, h, 6);
|
|
36
|
+
A({
|
|
37
|
+
top: i.top,
|
|
38
|
+
left: i.left
|
|
39
|
+
});
|
|
40
|
+
}, [h]);
|
|
41
|
+
return i(() => {
|
|
42
|
+
if (!T) {
|
|
43
|
+
A(null);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
F();
|
|
47
|
+
}, [T, F]), n(() => {
|
|
48
|
+
if (!T) return;
|
|
49
|
+
let e = () => F();
|
|
50
|
+
return window.addEventListener("scroll", e, !0), window.addEventListener("resize", e), () => {
|
|
51
|
+
window.removeEventListener("scroll", e, !0), window.removeEventListener("resize", e);
|
|
52
|
+
};
|
|
53
|
+
}, [T, F]), n(() => {
|
|
54
|
+
if (!T) return;
|
|
55
|
+
let e = (e) => {
|
|
56
|
+
e.key === "Escape" && (S(!1), b(!1));
|
|
57
|
+
};
|
|
58
|
+
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
|
|
59
|
+
}, [T]), n(() => {
|
|
60
|
+
if (!x) return;
|
|
61
|
+
let e = (e) => {
|
|
62
|
+
var t, n;
|
|
63
|
+
let r = e.target;
|
|
64
|
+
(t = E.current) != null && t.contains(r) || (n = D.current) != null && n.contains(r) || (S(!1), b(!1));
|
|
65
|
+
};
|
|
66
|
+
return document.addEventListener("mousedown", e, !0), () => document.removeEventListener("mousedown", e, !0);
|
|
67
|
+
}, [x]), /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c("span", {
|
|
68
|
+
className: "select-tip__trigger",
|
|
69
|
+
ref: E,
|
|
70
|
+
onMouseEnter: M,
|
|
71
|
+
onMouseLeave: N,
|
|
72
|
+
onFocusCapture: (e) => {
|
|
73
|
+
f(e.target) && b(!0);
|
|
74
|
+
},
|
|
75
|
+
onBlurCapture: N,
|
|
76
|
+
onClick: _ ? P : void 0,
|
|
77
|
+
"aria-describedby": T ? j : void 0,
|
|
78
|
+
children: m
|
|
79
|
+
}), T && u(/* @__PURE__ */ c("div", {
|
|
80
|
+
ref: D,
|
|
81
|
+
id: j,
|
|
82
|
+
role: "tooltip",
|
|
83
|
+
className: `select select-tip${x ? " select-tip--pinned" : ""}`,
|
|
84
|
+
style: k ? {
|
|
85
|
+
position: "fixed",
|
|
86
|
+
top: k.top,
|
|
87
|
+
left: k.left
|
|
88
|
+
} : {
|
|
89
|
+
position: "fixed",
|
|
90
|
+
top: 0,
|
|
91
|
+
left: 0,
|
|
92
|
+
visibility: "hidden"
|
|
93
|
+
},
|
|
94
|
+
children: p
|
|
95
|
+
}), document.body)] });
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
export { p as SelectTooltip };
|
|
99
|
+
|
|
100
|
+
//# sourceMappingURL=SelectTooltip.js.map
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import { SelectButton as e } from "./SelectButton.js";
|
|
3
|
+
import { SelectLinkButton as t } from "./SelectLinkButton.js";
|
|
4
|
+
import { useCallback as n, useEffect as r, useLayoutEffect as i, useMemo as a, useRef as o, useState as s } from "react";
|
|
5
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
|
+
import { createPortal as u } from "react-dom";
|
|
7
|
+
//#region src/SelectTour.tsx
|
|
8
|
+
var d = 6, f = 14, p = 8, m = 640;
|
|
9
|
+
function h(e) {
|
|
10
|
+
let t = document.querySelector(e);
|
|
11
|
+
if (!t) return null;
|
|
12
|
+
let n = t.getBoundingClientRect();
|
|
13
|
+
if (n.width === 0 && n.height === 0) return null;
|
|
14
|
+
let r = Math.min(parseFloat(getComputedStyle(t).borderTopLeftRadius) || 0, Math.min(n.width, n.height) / 2);
|
|
15
|
+
return {
|
|
16
|
+
top: n.top - d,
|
|
17
|
+
left: n.left - d,
|
|
18
|
+
width: n.width + 12,
|
|
19
|
+
height: n.height + 12,
|
|
20
|
+
radius: r + d
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
var g = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n));
|
|
24
|
+
function _(e, t, n, r, i) {
|
|
25
|
+
if (r < m) return {
|
|
26
|
+
side: "sheet",
|
|
27
|
+
left: p,
|
|
28
|
+
top: e.top + e.height / 2 > i / 2 ? p : i - n - p
|
|
29
|
+
};
|
|
30
|
+
let a = e.top + e.height / 2, o = e.left + e.width / 2, s = (e) => e >= p && e + n <= i - p, c = (e) => e >= p && e + t <= r - p, l = g(a - n / 2, p, i - n - p), u = g(o - t / 2, p, r - t - p), d = [
|
|
31
|
+
{
|
|
32
|
+
side: "right",
|
|
33
|
+
left: e.left + e.width + f,
|
|
34
|
+
top: l,
|
|
35
|
+
arrow: a - l
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
side: "left",
|
|
39
|
+
left: e.left - f - t,
|
|
40
|
+
top: l,
|
|
41
|
+
arrow: a - l
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
side: "bottom",
|
|
45
|
+
left: u,
|
|
46
|
+
top: e.top + e.height + f,
|
|
47
|
+
arrow: o - u
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
side: "top",
|
|
51
|
+
left: u,
|
|
52
|
+
top: e.top - f - n,
|
|
53
|
+
arrow: o - u
|
|
54
|
+
}
|
|
55
|
+
];
|
|
56
|
+
for (let r of d) {
|
|
57
|
+
let o = r.side === "right" || r.side === "left";
|
|
58
|
+
if (!(o && (e.height > i * .6 || a < p || a > i - p)) && c(r.left) && s(r.top)) return {
|
|
59
|
+
...r,
|
|
60
|
+
arrow: g(r.arrow ?? 0, 16, (o ? n : t) - 16)
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
side: "sheet",
|
|
65
|
+
left: u,
|
|
66
|
+
top: i - n - p
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function v(e) {
|
|
70
|
+
let t = document.querySelector(e);
|
|
71
|
+
if (!t) return !1;
|
|
72
|
+
let n = t.getBoundingClientRect();
|
|
73
|
+
return n.width === 0 && n.height === 0 || n.right <= 0 || n.left >= window.innerWidth ? !1 : getComputedStyle(t).visibility !== "hidden";
|
|
74
|
+
}
|
|
75
|
+
function y({ open: d, steps: f, onClose: p, labels: m = {}, theme: g = "light" }) {
|
|
76
|
+
let y = a(() => d ? f.filter((e) => v(e.target)) : [], [d]), [b, x] = s(0), [S, C] = s(null), [w, T] = s(null), E = o(null), D = o(null);
|
|
77
|
+
r(() => {
|
|
78
|
+
d && x(0);
|
|
79
|
+
}, [d]);
|
|
80
|
+
let O = y[b], k = b === y.length - 1, A = n(() => {
|
|
81
|
+
if (!O) return;
|
|
82
|
+
let e = h(O.target);
|
|
83
|
+
C(e);
|
|
84
|
+
let t = E.current;
|
|
85
|
+
e && t && T(_(e, t.offsetWidth, t.offsetHeight, window.innerWidth, window.innerHeight));
|
|
86
|
+
}, [O]);
|
|
87
|
+
return i(() => {
|
|
88
|
+
var e, t;
|
|
89
|
+
if (!d || !O) return;
|
|
90
|
+
(e = document.querySelector(O.target)) == null || e.scrollIntoView({
|
|
91
|
+
block: "nearest",
|
|
92
|
+
inline: "nearest"
|
|
93
|
+
}), A();
|
|
94
|
+
let n = requestAnimationFrame(A);
|
|
95
|
+
return (t = D.current) == null || t.focus({ preventScroll: !0 }), () => cancelAnimationFrame(n);
|
|
96
|
+
}, [
|
|
97
|
+
d,
|
|
98
|
+
O,
|
|
99
|
+
A
|
|
100
|
+
]), r(() => {
|
|
101
|
+
if (d) return document.body.classList.add("select-tour-open"), () => document.body.classList.remove("select-tour-open");
|
|
102
|
+
}, [d]), r(() => {
|
|
103
|
+
if (!d) return;
|
|
104
|
+
let e = (e) => {
|
|
105
|
+
e.key === "Escape" && p("skip"), e.key === "ArrowRight" && x((e) => Math.min(e + 1, y.length - 1)), e.key === "ArrowLeft" && x((e) => Math.max(e - 1, 0));
|
|
106
|
+
};
|
|
107
|
+
return window.addEventListener("keydown", e), window.addEventListener("resize", A), window.addEventListener("scroll", A, !0), () => {
|
|
108
|
+
window.removeEventListener("keydown", e), window.removeEventListener("resize", A), window.removeEventListener("scroll", A, !0);
|
|
109
|
+
};
|
|
110
|
+
}, [
|
|
111
|
+
d,
|
|
112
|
+
p,
|
|
113
|
+
A,
|
|
114
|
+
y.length
|
|
115
|
+
]), !d || !O ? null : u(/* @__PURE__ */ l("div", {
|
|
116
|
+
className: "select select-tour",
|
|
117
|
+
"data-theme": g,
|
|
118
|
+
children: [
|
|
119
|
+
/* @__PURE__ */ c("div", {
|
|
120
|
+
className: "select-tour__catch",
|
|
121
|
+
"aria-hidden": "true"
|
|
122
|
+
}),
|
|
123
|
+
S && /* @__PURE__ */ c("div", {
|
|
124
|
+
className: "select-tour__hole",
|
|
125
|
+
"aria-hidden": "true",
|
|
126
|
+
style: {
|
|
127
|
+
top: S.top,
|
|
128
|
+
left: S.left,
|
|
129
|
+
width: S.width,
|
|
130
|
+
height: S.height,
|
|
131
|
+
borderRadius: S.radius
|
|
132
|
+
}
|
|
133
|
+
}),
|
|
134
|
+
/* @__PURE__ */ l("div", {
|
|
135
|
+
ref: E,
|
|
136
|
+
className: `select-tour__pop${w ? ` select-tour__pop--${w.side}` : ""}`,
|
|
137
|
+
role: "dialog",
|
|
138
|
+
"aria-modal": "true",
|
|
139
|
+
"aria-labelledby": "select-tour-title",
|
|
140
|
+
style: w ? {
|
|
141
|
+
top: w.top,
|
|
142
|
+
left: w.left
|
|
143
|
+
} : { visibility: "hidden" },
|
|
144
|
+
children: [
|
|
145
|
+
(w == null ? void 0 : w.arrow) !== void 0 && /* @__PURE__ */ c("span", {
|
|
146
|
+
className: "select-tour__arrow",
|
|
147
|
+
"aria-hidden": "true",
|
|
148
|
+
style: w.side === "right" || w.side === "left" ? { top: w.arrow } : { left: w.arrow }
|
|
149
|
+
}),
|
|
150
|
+
/* @__PURE__ */ l("div", {
|
|
151
|
+
className: "select-tour__content",
|
|
152
|
+
children: [
|
|
153
|
+
/* @__PURE__ */ l("span", {
|
|
154
|
+
className: "select-tour__count",
|
|
155
|
+
children: [
|
|
156
|
+
b + 1,
|
|
157
|
+
" de ",
|
|
158
|
+
y.length
|
|
159
|
+
]
|
|
160
|
+
}),
|
|
161
|
+
/* @__PURE__ */ c("h2", {
|
|
162
|
+
id: "select-tour-title",
|
|
163
|
+
className: "select-tour__title",
|
|
164
|
+
children: O.title
|
|
165
|
+
}),
|
|
166
|
+
/* @__PURE__ */ c("div", {
|
|
167
|
+
className: "select-tour__body",
|
|
168
|
+
children: O.body
|
|
169
|
+
})
|
|
170
|
+
]
|
|
171
|
+
}, b),
|
|
172
|
+
/* @__PURE__ */ l("div", {
|
|
173
|
+
className: "select-tour__foot",
|
|
174
|
+
children: [
|
|
175
|
+
/* @__PURE__ */ c("span", {
|
|
176
|
+
className: "select-tour__dots",
|
|
177
|
+
"aria-hidden": "true",
|
|
178
|
+
children: y.map((e, t) => /* @__PURE__ */ c("i", { className: t === b ? "is-on" : void 0 }, t))
|
|
179
|
+
}),
|
|
180
|
+
/* @__PURE__ */ c(t, {
|
|
181
|
+
onClick: () => p("skip"),
|
|
182
|
+
children: m.skip ?? "Pular tour"
|
|
183
|
+
}),
|
|
184
|
+
/* @__PURE__ */ l("span", {
|
|
185
|
+
className: "select-tour__nav",
|
|
186
|
+
children: [b > 0 && /* @__PURE__ */ c(e, {
|
|
187
|
+
variant: "secondary",
|
|
188
|
+
size: "sm",
|
|
189
|
+
inline: !0,
|
|
190
|
+
onClick: () => x((e) => e - 1),
|
|
191
|
+
children: m.prev ?? "Anterior"
|
|
192
|
+
}), /* @__PURE__ */ c(e, {
|
|
193
|
+
ref: D,
|
|
194
|
+
size: "sm",
|
|
195
|
+
inline: !0,
|
|
196
|
+
onClick: () => k ? p("done") : x((e) => e + 1),
|
|
197
|
+
children: k ? m.done ?? "Concluir" : m.next ?? "Próximo"
|
|
198
|
+
})]
|
|
199
|
+
})
|
|
200
|
+
]
|
|
201
|
+
})
|
|
202
|
+
]
|
|
203
|
+
})
|
|
204
|
+
]
|
|
205
|
+
}), document.body);
|
|
206
|
+
}
|
|
207
|
+
//#endregion
|
|
208
|
+
export { y as SelectTour, _ as placePop };
|
|
209
|
+
|
|
210
|
+
//# sourceMappingURL=SelectTour.js.map
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import { chartColor as e, useChartSize as t } from "./chartUtils.js";
|
|
3
|
+
import { ChartTooltip as n, useChartTooltip as r } from "./chartTip.js";
|
|
4
|
+
import { useState as i } from "react";
|
|
5
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
6
|
+
//#region src/SelectTree.tsx
|
|
7
|
+
function s({ data: s, height: c = 260, className: l, ...u }) {
|
|
8
|
+
let { ref: d, width: f } = t(c), p = r(), [m, h] = i(null), g = {
|
|
9
|
+
top: 14,
|
|
10
|
+
right: 96,
|
|
11
|
+
bottom: 14,
|
|
12
|
+
left: 16
|
|
13
|
+
}, _ = null;
|
|
14
|
+
if (f > 0) {
|
|
15
|
+
let t = [], n = 0, r = 0, i = (e, a, o, s) => {
|
|
16
|
+
r = Math.max(r, a);
|
|
17
|
+
let c = {
|
|
18
|
+
node: e,
|
|
19
|
+
depth: a,
|
|
20
|
+
yUnit: 0,
|
|
21
|
+
ci: o,
|
|
22
|
+
parent: s
|
|
23
|
+
};
|
|
24
|
+
if (e.children && e.children.length) {
|
|
25
|
+
let t = e.children.map((e, t) => i(e, a + 1, a === 0 ? t : o, c));
|
|
26
|
+
c.yUnit = (t[0].yUnit + t[t.length - 1].yUnit) / 2;
|
|
27
|
+
} else c.yUnit = n, n++;
|
|
28
|
+
return t.push(c), c;
|
|
29
|
+
};
|
|
30
|
+
i(s, 0, 0);
|
|
31
|
+
let l = f - g.left - g.right, u = c - g.top - g.bottom, d = (e) => g.left + (r <= 0 ? 0 : l / r * e), v = (e) => g.top + (n <= 1 ? u / 2 : u / (n - 1) * e);
|
|
32
|
+
_ = /* @__PURE__ */ o("svg", {
|
|
33
|
+
width: f,
|
|
34
|
+
height: c,
|
|
35
|
+
className: "select-chart",
|
|
36
|
+
onMouseLeave: () => {
|
|
37
|
+
h(null), p.hide();
|
|
38
|
+
},
|
|
39
|
+
children: [t.map((e, t) => e.parent ? /* @__PURE__ */ a("path", {
|
|
40
|
+
className: "select-tree__link",
|
|
41
|
+
d: `M${d(e.parent.depth)},${v(e.parent.yUnit)} C${(d(e.parent.depth) + d(e.depth)) / 2},${v(e.parent.yUnit)} ${(d(e.parent.depth) + d(e.depth)) / 2},${v(e.yUnit)} ${d(e.depth)},${v(e.yUnit)}`
|
|
42
|
+
}, `l${t}`) : null), t.map((t, n) => {
|
|
43
|
+
let r = t.node.color ?? e(t.ci), i = d(t.depth), s = v(t.yUnit), c = !t.node.children || !t.node.children.length;
|
|
44
|
+
return /* @__PURE__ */ o("g", {
|
|
45
|
+
style: { opacity: m === null || m === n ? 1 : .4 },
|
|
46
|
+
children: [/* @__PURE__ */ a("circle", {
|
|
47
|
+
cx: i,
|
|
48
|
+
cy: s,
|
|
49
|
+
r: m === n ? 6 : 4.5,
|
|
50
|
+
fill: r,
|
|
51
|
+
className: "select-tree__node",
|
|
52
|
+
onMouseEnter: () => {
|
|
53
|
+
h(n), p.show({
|
|
54
|
+
x: i,
|
|
55
|
+
y: s - 8,
|
|
56
|
+
place: "top",
|
|
57
|
+
title: t.node.label,
|
|
58
|
+
rows: []
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
onMouseLeave: () => {
|
|
62
|
+
h(null), p.hide();
|
|
63
|
+
}
|
|
64
|
+
}), /* @__PURE__ */ a("text", {
|
|
65
|
+
x: c ? i + 9 : i,
|
|
66
|
+
y: c ? s : s - 9,
|
|
67
|
+
className: "select-chart__xlabel",
|
|
68
|
+
dominantBaseline: "middle",
|
|
69
|
+
textAnchor: c ? "start" : "middle",
|
|
70
|
+
children: t.node.label
|
|
71
|
+
})]
|
|
72
|
+
}, `n${n}`);
|
|
73
|
+
})]
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return /* @__PURE__ */ o("div", {
|
|
77
|
+
...u,
|
|
78
|
+
className: `select-chart-wrap${l ? " " + l : ""}`,
|
|
79
|
+
ref: d,
|
|
80
|
+
children: [_, /* @__PURE__ */ a(n, { tip: p.tip })]
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
export { s as SelectTree };
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=SelectTree.js.map
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import { chartColor as e, formatCompact as t, useChartSize as n } from "./chartUtils.js";
|
|
3
|
+
import { ChartTooltip as r, useChartTooltip as i } from "./chartTip.js";
|
|
4
|
+
import { useId as a } from "react";
|
|
5
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
|
+
//#region src/SelectTreemap.tsx
|
|
7
|
+
function c(e, t, n) {
|
|
8
|
+
let r = [], i = (e, t) => {
|
|
9
|
+
let n = e.reduce((e, t) => e + t, 0), r = Math.max(...e), i = Math.min(...e);
|
|
10
|
+
return Math.max(t * t * r / (n * n), n * n / (t * t * i));
|
|
11
|
+
}, a = (t, n, o, s, c) => {
|
|
12
|
+
if (t.length === 0 || s <= 0 || c <= 0) return;
|
|
13
|
+
if (t.length === 1) {
|
|
14
|
+
r.push({
|
|
15
|
+
x: n,
|
|
16
|
+
y: o,
|
|
17
|
+
w: s,
|
|
18
|
+
h: c,
|
|
19
|
+
idx: t[0]
|
|
20
|
+
});
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
let l = t.reduce((t, n) => t + e[n], 0) || 1, u = s * c, d = t.map((t) => e[t] / l * u), f = Math.min(s, c), p = 0, m = [];
|
|
24
|
+
for (; p < d.length;) {
|
|
25
|
+
let e = [...m, d[p]];
|
|
26
|
+
if (m.length === 0 || i(e, f) <= i(m, f)) m = e, p++;
|
|
27
|
+
else break;
|
|
28
|
+
}
|
|
29
|
+
let h = t.slice(0, p), g = m.reduce((e, t) => e + t, 0);
|
|
30
|
+
if (s >= c) {
|
|
31
|
+
let e = g / c, i = o;
|
|
32
|
+
h.forEach((t, a) => {
|
|
33
|
+
let o = m[a] / e;
|
|
34
|
+
r.push({
|
|
35
|
+
x: n,
|
|
36
|
+
y: i,
|
|
37
|
+
w: e,
|
|
38
|
+
h: o,
|
|
39
|
+
idx: t
|
|
40
|
+
}), i += o;
|
|
41
|
+
}), a(t.slice(p), n + e, o, s - e, c);
|
|
42
|
+
} else {
|
|
43
|
+
let e = g / s, i = n;
|
|
44
|
+
h.forEach((t, n) => {
|
|
45
|
+
let a = m[n] / e;
|
|
46
|
+
r.push({
|
|
47
|
+
x: i,
|
|
48
|
+
y: o,
|
|
49
|
+
w: a,
|
|
50
|
+
h: e,
|
|
51
|
+
idx: t
|
|
52
|
+
}), i += a;
|
|
53
|
+
}), a(t.slice(p), n, o + e, s, c - e);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
return a(e.map((e, t) => t), 0, 0, t, n), r;
|
|
57
|
+
}
|
|
58
|
+
function l({ data: l, height: u = 240, format: d = t, className: f, ...p }) {
|
|
59
|
+
let { ref: m, width: h } = n(u), g = i(), _ = a(), v = l.map((e, t) => t).sort((e, t) => l[t].value - l[e].value), y = h > 0 ? c(v.map((e) => l[e].value), h, u) : [];
|
|
60
|
+
return /* @__PURE__ */ s("div", {
|
|
61
|
+
...p,
|
|
62
|
+
className: `select-chart-wrap select-treemap${f ? " " + f : ""}`,
|
|
63
|
+
ref: m,
|
|
64
|
+
children: [h > 0 && /* @__PURE__ */ s("svg", {
|
|
65
|
+
width: h,
|
|
66
|
+
height: u,
|
|
67
|
+
className: "select-chart",
|
|
68
|
+
children: [/* @__PURE__ */ o("defs", { children: l.map((t, n) => {
|
|
69
|
+
let r = t.color ?? e(n);
|
|
70
|
+
return /* @__PURE__ */ s("linearGradient", {
|
|
71
|
+
id: `${_}-t${n}`,
|
|
72
|
+
x1: "0",
|
|
73
|
+
y1: "0",
|
|
74
|
+
x2: "0",
|
|
75
|
+
y2: "1",
|
|
76
|
+
children: [/* @__PURE__ */ o("stop", {
|
|
77
|
+
offset: "0%",
|
|
78
|
+
stopColor: r,
|
|
79
|
+
stopOpacity: .95
|
|
80
|
+
}), /* @__PURE__ */ o("stop", {
|
|
81
|
+
offset: "100%",
|
|
82
|
+
stopColor: r,
|
|
83
|
+
stopOpacity: .6
|
|
84
|
+
})]
|
|
85
|
+
}, n);
|
|
86
|
+
}) }), y.map((t, n) => {
|
|
87
|
+
let r = v[t.idx], i = l[r], a = t.w > 56 && t.h > 30;
|
|
88
|
+
return /* @__PURE__ */ s("g", { children: [
|
|
89
|
+
/* @__PURE__ */ o("rect", {
|
|
90
|
+
x: t.x + 1.5,
|
|
91
|
+
y: t.y + 1.5,
|
|
92
|
+
width: Math.max(0, t.w - 3),
|
|
93
|
+
height: Math.max(0, t.h - 3),
|
|
94
|
+
rx: 6,
|
|
95
|
+
fill: `url(#${_}-t${r})`,
|
|
96
|
+
className: "select-treemap__cell",
|
|
97
|
+
onMouseEnter: () => g.show({
|
|
98
|
+
x: t.x + t.w / 2,
|
|
99
|
+
y: t.y + 6,
|
|
100
|
+
place: t.y < 44 ? "bottom" : "top",
|
|
101
|
+
title: i.label,
|
|
102
|
+
rows: [{
|
|
103
|
+
label: "Valor",
|
|
104
|
+
value: d(i.value),
|
|
105
|
+
color: i.color ?? e(r)
|
|
106
|
+
}]
|
|
107
|
+
}),
|
|
108
|
+
onMouseLeave: g.hide
|
|
109
|
+
}),
|
|
110
|
+
a && /* @__PURE__ */ o("text", {
|
|
111
|
+
x: t.x + 12,
|
|
112
|
+
y: t.y + 22,
|
|
113
|
+
className: "select-treemap__label",
|
|
114
|
+
children: i.label
|
|
115
|
+
}),
|
|
116
|
+
a && t.h > 46 && /* @__PURE__ */ o("text", {
|
|
117
|
+
x: t.x + 12,
|
|
118
|
+
y: t.y + 40,
|
|
119
|
+
className: "select-treemap__value",
|
|
120
|
+
children: d(i.value)
|
|
121
|
+
})
|
|
122
|
+
] }, n);
|
|
123
|
+
})]
|
|
124
|
+
}), /* @__PURE__ */ o(r, { tip: g.tip })]
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
//#endregion
|
|
128
|
+
export { l as SelectTreemap };
|
|
129
|
+
|
|
130
|
+
//# sourceMappingURL=SelectTreemap.js.map
|