@selectwin/kit 0.1.197 → 0.1.199
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 +67 -64
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { SelectButton as e } from "./SelectButton.js";
|
|
2
|
+
import { CameraIcon as t, UploadIcon as n } from "./icons.js";
|
|
3
|
+
import { useMatchMedia as r } from "./internal/useMatchMedia.js";
|
|
4
|
+
import { SelectAlert as i } from "./SelectAlert.js";
|
|
5
|
+
import { SelectFileTile as a } from "./SelectFileTile.js";
|
|
6
|
+
import { extOf as ee, isImageFile as o, matchesAccept as s, prettySize as c } from "./uploadUtils.js";
|
|
7
|
+
import { forwardRef as l, useCallback as u, useEffect as d, useMemo as f, useRef as p, useState as m } from "react";
|
|
8
|
+
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
9
|
+
//#region src/SelectFileDropzone.tsx
|
|
10
|
+
var _ = l(function({ files: l, onChange: _, accept: v, maxSizeMB: y = 10, allowMultiple: b = !0, maxFiles: x, hint: S, capture: C, captureLabel: w = "Fotografar", pickLabel: T = "Escolher arquivo", prepare: E, layout: D = "inline", label: O = "Arraste o arquivo ou clique para escolher", className: k, ...A }, j) {
|
|
11
|
+
let M = p(null), N = p(null), [P, F] = m(!1), [I, L] = m(0), [R, z] = m(null), [B, V] = m(!1), H = r(C ? "(hover: none) and (pointer: coarse)" : void 0), U = y * 1024 * 1024, W = f(() => l.map((e) => o(e) ? URL.createObjectURL(e) : null), [l]);
|
|
12
|
+
d(() => () => {
|
|
13
|
+
W.forEach((e) => {
|
|
14
|
+
e && URL.revokeObjectURL(e);
|
|
15
|
+
});
|
|
16
|
+
}, [W]);
|
|
17
|
+
let G = u(async (e) => {
|
|
18
|
+
z(null);
|
|
19
|
+
let t = e;
|
|
20
|
+
if (E && e.length) {
|
|
21
|
+
V(!0);
|
|
22
|
+
let n = [];
|
|
23
|
+
for (let t of e) try {
|
|
24
|
+
n.push(await E(t));
|
|
25
|
+
} catch (e) {
|
|
26
|
+
z(e instanceof Error && e.message ? e.message : "Não foi possível usar este arquivo.");
|
|
27
|
+
}
|
|
28
|
+
V(!1), t = n;
|
|
29
|
+
}
|
|
30
|
+
let n = t.filter((e) => e.size <= U && s(e, v));
|
|
31
|
+
if (L(t.length - n.length), n.length) {
|
|
32
|
+
let e = b ? [...l, ...n] : n.slice(0, 1);
|
|
33
|
+
_(x == null ? e : e.slice(0, x));
|
|
34
|
+
}
|
|
35
|
+
}, [
|
|
36
|
+
l,
|
|
37
|
+
U,
|
|
38
|
+
v,
|
|
39
|
+
b,
|
|
40
|
+
x,
|
|
41
|
+
_,
|
|
42
|
+
E
|
|
43
|
+
]), K = {
|
|
44
|
+
onDragOver: (e) => {
|
|
45
|
+
e.preventDefault(), F(!0);
|
|
46
|
+
},
|
|
47
|
+
onDragLeave: () => F(!1),
|
|
48
|
+
onDrop: (e) => {
|
|
49
|
+
e.preventDefault(), F(!1), G(Array.from(e.dataTransfer.files));
|
|
50
|
+
}
|
|
51
|
+
}, q = () => {
|
|
52
|
+
var e;
|
|
53
|
+
return (e = M.current) == null ? void 0 : e.click();
|
|
54
|
+
}, J = () => {
|
|
55
|
+
var e;
|
|
56
|
+
return (e = N.current ?? M.current) == null ? void 0 : e.click();
|
|
57
|
+
}, Y = B ? "Preparando o arquivo…" : S ?? `Selecionar arquivo · até ${y} MB`, X = (e) => _(l.filter((t, n) => n !== e)), Z = x != null && l.length >= x, Q = (b || l.length === 0) && !Z, $ = l.length > 0;
|
|
58
|
+
return /* @__PURE__ */ g("div", {
|
|
59
|
+
ref: j,
|
|
60
|
+
...A,
|
|
61
|
+
className: `select-dropzone-wrap${k ? " " + k : ""}`,
|
|
62
|
+
children: [
|
|
63
|
+
$ && /* @__PURE__ */ g("div", {
|
|
64
|
+
className: "select-filetile-grid",
|
|
65
|
+
children: [l.map((e, t) => /* @__PURE__ */ h(a, {
|
|
66
|
+
src: W[t] ?? void 0,
|
|
67
|
+
docExt: ee(e.name),
|
|
68
|
+
name: e.name,
|
|
69
|
+
sub: c(e.size),
|
|
70
|
+
onRemove: () => X(t)
|
|
71
|
+
}, `${e.name}-${t}`)), Q && /* @__PURE__ */ g("button", {
|
|
72
|
+
type: "button",
|
|
73
|
+
className: `select-dropzone select-dropzone--tile${P ? " is-over" : ""}`,
|
|
74
|
+
onClick: q,
|
|
75
|
+
...K,
|
|
76
|
+
children: [/* @__PURE__ */ h(n, {}), /* @__PURE__ */ h("span", { children: "Adicionar" })]
|
|
77
|
+
})]
|
|
78
|
+
}),
|
|
79
|
+
!$ && Q && C && H && /* @__PURE__ */ g("div", {
|
|
80
|
+
className: "select-dropzone-capture",
|
|
81
|
+
children: [/* @__PURE__ */ g("div", {
|
|
82
|
+
className: "select-dropzone-capture__buttons",
|
|
83
|
+
children: [/* @__PURE__ */ h(e, {
|
|
84
|
+
variant: "primary",
|
|
85
|
+
inline: !0,
|
|
86
|
+
icon: /* @__PURE__ */ h(t, {}),
|
|
87
|
+
onClick: J,
|
|
88
|
+
loading: B,
|
|
89
|
+
children: w
|
|
90
|
+
}), /* @__PURE__ */ h(e, {
|
|
91
|
+
variant: "secondary",
|
|
92
|
+
inline: !0,
|
|
93
|
+
icon: /* @__PURE__ */ h(n, {}),
|
|
94
|
+
onClick: q,
|
|
95
|
+
disabled: B,
|
|
96
|
+
children: T
|
|
97
|
+
})]
|
|
98
|
+
}), S && /* @__PURE__ */ h("p", {
|
|
99
|
+
className: "select-dropzone-capture__hint",
|
|
100
|
+
children: S
|
|
101
|
+
})]
|
|
102
|
+
}),
|
|
103
|
+
!$ && Q && !(C && H) && /* @__PURE__ */ g("button", {
|
|
104
|
+
type: "button",
|
|
105
|
+
className: `select-dropzone${D === "vertical" ? " select-dropzone--vertical" : ""}${P ? " is-over" : ""}`,
|
|
106
|
+
onClick: q,
|
|
107
|
+
disabled: B,
|
|
108
|
+
"aria-busy": B || void 0,
|
|
109
|
+
...K,
|
|
110
|
+
children: [/* @__PURE__ */ h(n, {}), D === "vertical" ? /* @__PURE__ */ g("span", {
|
|
111
|
+
className: "select-dropzone__text",
|
|
112
|
+
children: [/* @__PURE__ */ h("span", {
|
|
113
|
+
className: "select-dropzone__label",
|
|
114
|
+
children: B ? "Preparando o arquivo…" : O
|
|
115
|
+
}), S && !B && /* @__PURE__ */ h("span", {
|
|
116
|
+
className: "select-dropzone__hint",
|
|
117
|
+
children: S
|
|
118
|
+
})]
|
|
119
|
+
}) : /* @__PURE__ */ h("span", { children: Y })]
|
|
120
|
+
}),
|
|
121
|
+
/* @__PURE__ */ h("input", {
|
|
122
|
+
ref: M,
|
|
123
|
+
type: "file",
|
|
124
|
+
accept: v,
|
|
125
|
+
multiple: b,
|
|
126
|
+
hidden: !0,
|
|
127
|
+
onChange: (e) => {
|
|
128
|
+
G(Array.from(e.target.files ?? [])), e.target.value = "";
|
|
129
|
+
}
|
|
130
|
+
}),
|
|
131
|
+
C && /* @__PURE__ */ h("input", {
|
|
132
|
+
ref: N,
|
|
133
|
+
type: "file",
|
|
134
|
+
accept: "image/*",
|
|
135
|
+
capture: C,
|
|
136
|
+
hidden: !0,
|
|
137
|
+
onChange: (e) => {
|
|
138
|
+
G(Array.from(e.target.files ?? [])), e.target.value = "";
|
|
139
|
+
}
|
|
140
|
+
}),
|
|
141
|
+
R && /* @__PURE__ */ h(i, {
|
|
142
|
+
tone: "critical",
|
|
143
|
+
children: R
|
|
144
|
+
}),
|
|
145
|
+
I > 0 && /* @__PURE__ */ g(i, {
|
|
146
|
+
tone: "warning",
|
|
147
|
+
children: [
|
|
148
|
+
I,
|
|
149
|
+
" arquivo(s) ignorado(s): tipo não permitido ou acima de ",
|
|
150
|
+
y,
|
|
151
|
+
" MB."
|
|
152
|
+
]
|
|
153
|
+
})
|
|
154
|
+
]
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
//#endregion
|
|
158
|
+
export { _ as SelectFileDropzone };
|
|
159
|
+
|
|
160
|
+
//# sourceMappingURL=SelectFileDropzone.js.map
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { CloseIcon as e, NoteIcon as t } from "./icons.js";
|
|
2
|
+
import { forwardRef as n } from "react";
|
|
3
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
4
|
+
//#region src/SelectFileTile.tsx
|
|
5
|
+
var a = n(function({ src: n, docExt: a, name: o, sub: s, badge: c, onRemove: l, className: u, ...d }, f) {
|
|
6
|
+
return /* @__PURE__ */ i("div", {
|
|
7
|
+
ref: f,
|
|
8
|
+
...d,
|
|
9
|
+
className: `select-filetile${u ? " " + u : ""}`,
|
|
10
|
+
children: [
|
|
11
|
+
/* @__PURE__ */ i("div", {
|
|
12
|
+
className: "select-filetile__media",
|
|
13
|
+
children: [
|
|
14
|
+
n ? /* @__PURE__ */ r("img", {
|
|
15
|
+
src: n,
|
|
16
|
+
alt: o,
|
|
17
|
+
className: "select-filetile__img",
|
|
18
|
+
onError: (e) => {
|
|
19
|
+
e.currentTarget.style.visibility = "hidden";
|
|
20
|
+
}
|
|
21
|
+
}) : /* @__PURE__ */ i("span", {
|
|
22
|
+
className: "select-filetile__doc",
|
|
23
|
+
children: [/* @__PURE__ */ r(t, {}), /* @__PURE__ */ r("span", { children: a ?? "FILE" })]
|
|
24
|
+
}),
|
|
25
|
+
c && /* @__PURE__ */ r("span", {
|
|
26
|
+
className: "select-filetile__badge",
|
|
27
|
+
children: c
|
|
28
|
+
}),
|
|
29
|
+
l && /* @__PURE__ */ r("button", {
|
|
30
|
+
type: "button",
|
|
31
|
+
className: "select-filetile__remove",
|
|
32
|
+
"aria-label": `Remover ${o}`,
|
|
33
|
+
onClick: l,
|
|
34
|
+
children: /* @__PURE__ */ r(e, {})
|
|
35
|
+
})
|
|
36
|
+
]
|
|
37
|
+
}),
|
|
38
|
+
/* @__PURE__ */ r("span", {
|
|
39
|
+
className: "select-filetile__name",
|
|
40
|
+
title: o,
|
|
41
|
+
children: o
|
|
42
|
+
}),
|
|
43
|
+
s && /* @__PURE__ */ r("span", {
|
|
44
|
+
className: "select-filetile__size",
|
|
45
|
+
children: s
|
|
46
|
+
})
|
|
47
|
+
]
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//#endregion
|
|
51
|
+
export { a as SelectFileTile };
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=SelectFileTile.js.map
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { CheckIcon as e, ChevronDownIcon as t, CloseIcon as n, PlusIcon as r, SearchIcon as i } from "./icons.js";
|
|
2
|
+
import { useSelectMessages as a } from "./SelectLocale.js";
|
|
3
|
+
import { SelectField as o } from "./SelectField.js";
|
|
4
|
+
import { SelectPopover as s } from "./SelectPopover.js";
|
|
5
|
+
import { SelectSearchInput as c } from "./SelectSearchInput.js";
|
|
6
|
+
import { SelectDateField as l } from "./SelectDateField.js";
|
|
7
|
+
import { formatDateValue as u } from "./internal/dateValue.js";
|
|
8
|
+
import { forwardRef as d, useEffect as f, useState as p } from "react";
|
|
9
|
+
import { jsx as m, jsxs as h } from "react/jsx-runtime";
|
|
10
|
+
//#region src/SelectFilterBar.tsx
|
|
11
|
+
function g(e) {
|
|
12
|
+
return (e ?? "").split(",").map((e) => e.trim()).filter(Boolean);
|
|
13
|
+
}
|
|
14
|
+
function _(e, t) {
|
|
15
|
+
let n = new Set(e);
|
|
16
|
+
return (t ? t.map((e) => e.value).filter((e) => n.has(e)) : [...n]).join(",");
|
|
17
|
+
}
|
|
18
|
+
function v(e, t) {
|
|
19
|
+
var n;
|
|
20
|
+
if (e.type === "select") return ((n = e.options) == null || (n = n.find((e) => e.value === t)) == null ? void 0 : n.label) ?? t;
|
|
21
|
+
if (e.type === "multiselect") {
|
|
22
|
+
let n = g(t).map((t) => {
|
|
23
|
+
var n;
|
|
24
|
+
return ((n = e.options) == null || (n = n.find((e) => e.value === t)) == null ? void 0 : n.label) ?? t;
|
|
25
|
+
});
|
|
26
|
+
return n.length > 2 ? `${n[0]} +${n.length - 1}` : n.join(", ");
|
|
27
|
+
}
|
|
28
|
+
return e.type === "date" ? u(t) ?? t : t;
|
|
29
|
+
}
|
|
30
|
+
function y({ filter: n, value: r, onChange: i, open: u, onToggle: d, onClose: y, disabled: b }) {
|
|
31
|
+
let x = a(), [S, C] = p("");
|
|
32
|
+
f(() => {
|
|
33
|
+
u || C("");
|
|
34
|
+
}, [u]);
|
|
35
|
+
let w = r.trim() !== "", T = w ? v(n, r) : null, E = w && !!n.error, D = n.options ?? [], O = D.length > 7, k = O ? D.filter((e) => e.label.toLowerCase().includes(S.trim().toLowerCase())) : D;
|
|
36
|
+
return /* @__PURE__ */ h(s, {
|
|
37
|
+
active: u,
|
|
38
|
+
onClose: y,
|
|
39
|
+
placement: "bottom-start",
|
|
40
|
+
activator: /* @__PURE__ */ h("button", {
|
|
41
|
+
type: "button",
|
|
42
|
+
className: `select-facet${w ? " is-active" : ""}${E ? " is-error" : ""}`,
|
|
43
|
+
onClick: d,
|
|
44
|
+
disabled: b,
|
|
45
|
+
"aria-expanded": u,
|
|
46
|
+
"aria-invalid": E || void 0,
|
|
47
|
+
title: E ? n.error : void 0,
|
|
48
|
+
children: [/* @__PURE__ */ m("span", {
|
|
49
|
+
className: "select-facet__label",
|
|
50
|
+
children: T == null ? n.label : `${n.label}: ${T}`
|
|
51
|
+
}), /* @__PURE__ */ m("span", {
|
|
52
|
+
className: `select-facet__caret${u ? " is-open" : ""}`,
|
|
53
|
+
"aria-hidden": "true",
|
|
54
|
+
children: /* @__PURE__ */ m(t, {})
|
|
55
|
+
})]
|
|
56
|
+
}),
|
|
57
|
+
children: [
|
|
58
|
+
n.type === "multiselect" ? /* @__PURE__ */ h("div", {
|
|
59
|
+
className: "select-facet__panel",
|
|
60
|
+
children: [O && /* @__PURE__ */ m("div", {
|
|
61
|
+
className: "select-facet__search",
|
|
62
|
+
children: /* @__PURE__ */ m(c, {
|
|
63
|
+
value: S,
|
|
64
|
+
onChange: C,
|
|
65
|
+
placeholder: x.filterBar.searchOption
|
|
66
|
+
})
|
|
67
|
+
}), /* @__PURE__ */ m("div", {
|
|
68
|
+
className: "select-facet__options",
|
|
69
|
+
role: "listbox",
|
|
70
|
+
"aria-multiselectable": "true",
|
|
71
|
+
children: k.length === 0 ? /* @__PURE__ */ m("div", {
|
|
72
|
+
className: "select-facet__empty",
|
|
73
|
+
children: x.common.nothingFound
|
|
74
|
+
}) : k.map((t) => {
|
|
75
|
+
let n = g(r), a = n.includes(t.value);
|
|
76
|
+
return /* @__PURE__ */ h("button", {
|
|
77
|
+
type: "button",
|
|
78
|
+
role: "option",
|
|
79
|
+
"aria-selected": a,
|
|
80
|
+
className: "select-facet__opt",
|
|
81
|
+
onClick: () => i(_(a ? n.filter((e) => e !== t.value) : [...n, t.value], D)),
|
|
82
|
+
children: [/* @__PURE__ */ m("span", { children: t.label }), a && /* @__PURE__ */ m("span", {
|
|
83
|
+
className: "select-facet__check",
|
|
84
|
+
"aria-hidden": "true",
|
|
85
|
+
children: /* @__PURE__ */ m(e, {})
|
|
86
|
+
})]
|
|
87
|
+
}, t.value);
|
|
88
|
+
})
|
|
89
|
+
})]
|
|
90
|
+
}) : n.type === "select" ? /* @__PURE__ */ h("div", {
|
|
91
|
+
className: "select-facet__panel",
|
|
92
|
+
children: [O && /* @__PURE__ */ m("div", {
|
|
93
|
+
className: "select-facet__search",
|
|
94
|
+
children: /* @__PURE__ */ m(c, {
|
|
95
|
+
value: S,
|
|
96
|
+
onChange: C,
|
|
97
|
+
placeholder: x.filterBar.searchOption
|
|
98
|
+
})
|
|
99
|
+
}), /* @__PURE__ */ m("div", {
|
|
100
|
+
className: "select-facet__options",
|
|
101
|
+
role: "listbox",
|
|
102
|
+
children: k.length === 0 ? /* @__PURE__ */ m("div", {
|
|
103
|
+
className: "select-facet__empty",
|
|
104
|
+
children: x.common.nothingFound
|
|
105
|
+
}) : k.map((t) => {
|
|
106
|
+
let n = r === t.value;
|
|
107
|
+
return /* @__PURE__ */ h("button", {
|
|
108
|
+
type: "button",
|
|
109
|
+
role: "option",
|
|
110
|
+
"aria-selected": n,
|
|
111
|
+
className: `select-facet__opt${n ? " is-selected" : ""}`,
|
|
112
|
+
onClick: () => {
|
|
113
|
+
i(n ? "" : t.value), y();
|
|
114
|
+
},
|
|
115
|
+
children: [/* @__PURE__ */ m("span", { children: t.label }), n && /* @__PURE__ */ m("span", {
|
|
116
|
+
className: "select-facet__check",
|
|
117
|
+
"aria-hidden": "true",
|
|
118
|
+
children: /* @__PURE__ */ m(e, {})
|
|
119
|
+
})]
|
|
120
|
+
}, t.value);
|
|
121
|
+
})
|
|
122
|
+
})]
|
|
123
|
+
}) : n.type === "date" ? /* @__PURE__ */ m("div", {
|
|
124
|
+
className: "select-facet__field",
|
|
125
|
+
children: /* @__PURE__ */ m(l, {
|
|
126
|
+
value: r,
|
|
127
|
+
onChange: i,
|
|
128
|
+
placeholder: n.placeholder,
|
|
129
|
+
clearable: !1
|
|
130
|
+
})
|
|
131
|
+
}) : /* @__PURE__ */ m("div", {
|
|
132
|
+
className: "select-facet__field",
|
|
133
|
+
onKeyDown: (e) => {
|
|
134
|
+
e.key === "Enter" && (e.preventDefault(), y());
|
|
135
|
+
},
|
|
136
|
+
children: /* @__PURE__ */ m(o, {
|
|
137
|
+
type: "text",
|
|
138
|
+
value: r,
|
|
139
|
+
onChange: i,
|
|
140
|
+
placeholder: n.placeholder,
|
|
141
|
+
autoFocus: !0
|
|
142
|
+
})
|
|
143
|
+
}),
|
|
144
|
+
E && /* @__PURE__ */ m("div", {
|
|
145
|
+
className: "select-facet__error",
|
|
146
|
+
role: "alert",
|
|
147
|
+
children: n.error
|
|
148
|
+
}),
|
|
149
|
+
w && /* @__PURE__ */ m("div", {
|
|
150
|
+
className: "select-facet__foot",
|
|
151
|
+
children: /* @__PURE__ */ m("button", {
|
|
152
|
+
type: "button",
|
|
153
|
+
className: "select-facet__clear",
|
|
154
|
+
onClick: () => {
|
|
155
|
+
i(""), y();
|
|
156
|
+
},
|
|
157
|
+
children: x.filterBar.clear
|
|
158
|
+
})
|
|
159
|
+
})
|
|
160
|
+
]
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
var b = d(function({ filters: e, values: t, onChange: o, onClearAll: c, search: l, leading: u, disabled: d, className: f, ...g }, _) {
|
|
164
|
+
let b = a(), [x, S] = p([]), [C, w] = p(null), [T, E] = p(!1), D = (e) => (t[e.key] ?? "").trim() !== "", O = (e) => !!e.pinned || D(e) || x.includes(e.key), k = e.filter(O), A = e.filter((e) => !O(e)), j = e.filter(D), M = () => {
|
|
165
|
+
S([]), w(null), c();
|
|
166
|
+
}, N = (e) => {
|
|
167
|
+
S((t) => t.includes(e) ? t : [...t, e]), E(!1), w(e);
|
|
168
|
+
};
|
|
169
|
+
return /* @__PURE__ */ h("div", {
|
|
170
|
+
ref: _,
|
|
171
|
+
...g,
|
|
172
|
+
className: `select-filterbar${f ? " " + f : ""}`,
|
|
173
|
+
children: [
|
|
174
|
+
/* @__PURE__ */ h("div", {
|
|
175
|
+
className: "select-filterbar__row",
|
|
176
|
+
children: [
|
|
177
|
+
u,
|
|
178
|
+
l && /* @__PURE__ */ h("div", {
|
|
179
|
+
className: `select-filterbar__query${l.error ? " select-filterbar__query--error" : ""}`,
|
|
180
|
+
children: [
|
|
181
|
+
/* @__PURE__ */ m("span", {
|
|
182
|
+
className: "select-filterbar__query-icon",
|
|
183
|
+
"aria-hidden": "true",
|
|
184
|
+
children: /* @__PURE__ */ m(i, {})
|
|
185
|
+
}),
|
|
186
|
+
/* @__PURE__ */ m("input", {
|
|
187
|
+
className: "select-filterbar__query-input",
|
|
188
|
+
type: "search",
|
|
189
|
+
value: l.value,
|
|
190
|
+
placeholder: l.placeholder ?? b.common.searchPlaceholder,
|
|
191
|
+
onChange: (e) => l.onChange(e.target.value),
|
|
192
|
+
onKeyDown: l.onSubmit ? (e) => {
|
|
193
|
+
if (e.key === "Enter") {
|
|
194
|
+
var t;
|
|
195
|
+
e.preventDefault(), (t = l.onSubmit) == null || t.call(l);
|
|
196
|
+
}
|
|
197
|
+
} : void 0,
|
|
198
|
+
"aria-label": l.ariaLabel ?? l.placeholder ?? b.common.search,
|
|
199
|
+
"aria-invalid": l.error ? !0 : void 0,
|
|
200
|
+
disabled: d
|
|
201
|
+
}),
|
|
202
|
+
l.value && /* @__PURE__ */ m("button", {
|
|
203
|
+
type: "button",
|
|
204
|
+
className: "select-filterbar__query-clear",
|
|
205
|
+
"aria-label": b.filterBar.clearSearch,
|
|
206
|
+
onClick: () => l.onChange(""),
|
|
207
|
+
children: /* @__PURE__ */ m(n, {})
|
|
208
|
+
}),
|
|
209
|
+
l.onSubmit && /* @__PURE__ */ m("button", {
|
|
210
|
+
type: "button",
|
|
211
|
+
className: "select-filterbar__query-submit",
|
|
212
|
+
onClick: l.onSubmit,
|
|
213
|
+
disabled: d,
|
|
214
|
+
children: l.submitLabel ?? b.common.search
|
|
215
|
+
})
|
|
216
|
+
]
|
|
217
|
+
}),
|
|
218
|
+
k.map((e) => /* @__PURE__ */ m(y, {
|
|
219
|
+
filter: e,
|
|
220
|
+
value: t[e.key] ?? "",
|
|
221
|
+
onChange: (t) => o(e.key, t),
|
|
222
|
+
open: C === e.key,
|
|
223
|
+
onToggle: () => w((t) => t === e.key ? null : e.key),
|
|
224
|
+
onClose: () => w((t) => t === e.key ? null : t),
|
|
225
|
+
disabled: d
|
|
226
|
+
}, e.key)),
|
|
227
|
+
A.length > 0 && /* @__PURE__ */ m(s, {
|
|
228
|
+
active: T,
|
|
229
|
+
onClose: () => E(!1),
|
|
230
|
+
placement: "bottom-start",
|
|
231
|
+
activator: /* @__PURE__ */ h("button", {
|
|
232
|
+
type: "button",
|
|
233
|
+
className: "select-facet select-facet--more",
|
|
234
|
+
onClick: () => E((e) => !e),
|
|
235
|
+
disabled: d,
|
|
236
|
+
"aria-expanded": T,
|
|
237
|
+
children: [/* @__PURE__ */ m("span", {
|
|
238
|
+
className: "select-facet__addicon",
|
|
239
|
+
"aria-hidden": "true",
|
|
240
|
+
children: /* @__PURE__ */ m(r, {})
|
|
241
|
+
}), b.filterBar.moreFilters]
|
|
242
|
+
}),
|
|
243
|
+
children: /* @__PURE__ */ m("div", {
|
|
244
|
+
className: "select-facet__options",
|
|
245
|
+
role: "menu",
|
|
246
|
+
children: A.map((e) => /* @__PURE__ */ m("button", {
|
|
247
|
+
type: "button",
|
|
248
|
+
role: "menuitem",
|
|
249
|
+
className: "select-facet__opt",
|
|
250
|
+
onClick: () => N(e.key),
|
|
251
|
+
children: /* @__PURE__ */ m("span", { children: e.label })
|
|
252
|
+
}, e.key))
|
|
253
|
+
})
|
|
254
|
+
})
|
|
255
|
+
]
|
|
256
|
+
}),
|
|
257
|
+
l != null && l.error ? /* @__PURE__ */ m("p", {
|
|
258
|
+
className: "select-filterbar__query-error",
|
|
259
|
+
role: "alert",
|
|
260
|
+
children: l.error
|
|
261
|
+
}) : null,
|
|
262
|
+
j.length > 0 && /* @__PURE__ */ h("div", {
|
|
263
|
+
className: "select-filterbar__applied",
|
|
264
|
+
children: [j.map((e) => /* @__PURE__ */ h("span", {
|
|
265
|
+
className: `select-filterbar__tag${e.error ? " is-error" : ""}`,
|
|
266
|
+
title: e.error || void 0,
|
|
267
|
+
children: [
|
|
268
|
+
e.label,
|
|
269
|
+
": ",
|
|
270
|
+
v(e, t[e.key] ?? ""),
|
|
271
|
+
/* @__PURE__ */ m("button", {
|
|
272
|
+
type: "button",
|
|
273
|
+
className: "select-filterbar__tagx",
|
|
274
|
+
"aria-label": b.filterBar.removeFilter(e.label),
|
|
275
|
+
onClick: () => o(e.key, ""),
|
|
276
|
+
children: /* @__PURE__ */ m(n, {})
|
|
277
|
+
})
|
|
278
|
+
]
|
|
279
|
+
}, e.key)), /* @__PURE__ */ m("button", {
|
|
280
|
+
type: "button",
|
|
281
|
+
className: "select-filterbar__clear",
|
|
282
|
+
onClick: M,
|
|
283
|
+
children: b.filterBar.clearAll
|
|
284
|
+
})]
|
|
285
|
+
})
|
|
286
|
+
]
|
|
287
|
+
});
|
|
288
|
+
});
|
|
289
|
+
//#endregion
|
|
290
|
+
export { b as SelectFilterBar, _ as joinFilterValues, g as splitFilterValues };
|
|
291
|
+
|
|
292
|
+
//# sourceMappingURL=SelectFilterBar.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { PlusIcon as e } from "./icons.js";
|
|
2
|
+
import { formatSelectNumber as t, useSelectLocale as n } from "./SelectLocale.js";
|
|
3
|
+
import { forwardRef as r } from "react";
|
|
4
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
|
+
//#region src/SelectFilterChip.tsx
|
|
6
|
+
var o = r(function({ children: r, onClick: o, active: s = !1, toggle: c = !1, count: l, className: u, ...d }, f) {
|
|
7
|
+
let p = n();
|
|
8
|
+
return /* @__PURE__ */ a("button", {
|
|
9
|
+
ref: f,
|
|
10
|
+
...d,
|
|
11
|
+
type: "button",
|
|
12
|
+
"aria-pressed": c ? s : void 0,
|
|
13
|
+
className: `select-chip${c ? " select-chip--toggle" : ""}${s ? " select-chip--active" : ""}${u ? " " + u : ""}`,
|
|
14
|
+
onClick: o,
|
|
15
|
+
children: [
|
|
16
|
+
!s && !c && /* @__PURE__ */ i("span", {
|
|
17
|
+
className: "select-chip__icon",
|
|
18
|
+
"aria-hidden": "true",
|
|
19
|
+
children: /* @__PURE__ */ i(e, {})
|
|
20
|
+
}),
|
|
21
|
+
r,
|
|
22
|
+
l != null && /* @__PURE__ */ i("span", {
|
|
23
|
+
className: "select-chip__count",
|
|
24
|
+
children: t(l, p)
|
|
25
|
+
})
|
|
26
|
+
]
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//#endregion
|
|
30
|
+
export { o as SelectFilterChip };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=SelectFilterChip.js.map
|