@medyat/react-data-table 0.0.0-stage → 0.2.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/LICENSE +21 -0
- package/README.md +229 -2
- package/dist/bottom-sheet-BMVYPFta.js +1123 -0
- package/dist/bottom-sheet-BMVYPFta.js.map +1 -0
- package/dist/columns-dialog-Dv6KDZpP.js +419 -0
- package/dist/columns-dialog-Dv6KDZpP.js.map +1 -0
- package/dist/date-editor-CxGAEK_C.js +378 -0
- package/dist/date-editor-CxGAEK_C.js.map +1 -0
- package/dist/filters-sheet-DAf-n-Nv.js +298 -0
- package/dist/filters-sheet-DAf-n-Nv.js.map +1 -0
- package/dist/index.d.ts +763 -0
- package/dist/index.js +4870 -0
- package/dist/index.js.map +1 -0
- package/dist/model-RkRyfM7C.js +288 -0
- package/dist/model-RkRyfM7C.js.map +1 -0
- package/dist/provider-BgZBSzsH.js +908 -0
- package/dist/provider-BgZBSzsH.js.map +1 -0
- package/dist/shadcn-bridge-hsl.css +24 -0
- package/dist/shadcn-bridge.css +25 -0
- package/dist/sortable-rows-DR8aAZrB.js +111 -0
- package/dist/sortable-rows-DR8aAZrB.js.map +1 -0
- package/dist/style.css +2 -0
- package/dist/switch-B8TN4kJ-.js +23 -0
- package/dist/switch-B8TN4kJ-.js.map +1 -0
- package/docs/backend-integration.md +596 -0
- package/package.json +95 -4
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import { h as e, n as t, s as n, t as r } from "./bottom-sheet-BMVYPFta.js";
|
|
2
|
+
import { n as ee } from "./provider-BgZBSzsH.js";
|
|
3
|
+
import { c as te, i, n as ne, s as re, t as ie } from "./model-RkRyfM7C.js";
|
|
4
|
+
import { c as ae } from "react/compiler-runtime";
|
|
5
|
+
import { useRef as oe, useState as a } from "react";
|
|
6
|
+
import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
|
+
import { ArrowDownIcon as se, ArrowUpIcon as ce, CaretDownIcon as le, CaretLeftIcon as ue, CaretRightIcon as de, MagnifyingGlassIcon as fe, PlusIcon as pe, XIcon as me } from "@phosphor-icons/react";
|
|
8
|
+
import { Toggle as he } from "@base-ui/react/toggle";
|
|
9
|
+
import { ToggleGroup as ge } from "@base-ui/react/toggle-group";
|
|
10
|
+
// src/core/filters/filters-sheet.tsx
|
|
11
|
+
function l(e) {
|
|
12
|
+
let l = ae(45), { open: u, onOpenChange: d, column: f, columns: p, chips: m, sort: be, rows: xe, labels: Se, summaryOf: Ce, currenciesOf: we, onApply: h } = e, { i18n: g } = ee(), _;
|
|
13
|
+
l[0] === p ? _ = l[1] : (_ = (e) => p.find((t) => t.id === e), l[0] = p, l[1] = _);
|
|
14
|
+
let v = _, y;
|
|
15
|
+
l[2] === v ? y = l[3] : (y = (e) => v(e)?.header ?? e, l[2] = v, l[3] = y);
|
|
16
|
+
let b = y, x;
|
|
17
|
+
l[4] === v ? x = l[5] : (x = (e, t) => {
|
|
18
|
+
let n = v(t);
|
|
19
|
+
if (!n) return {
|
|
20
|
+
draft: e,
|
|
21
|
+
editing: null
|
|
22
|
+
};
|
|
23
|
+
let r = e.find((e) => e.column === t);
|
|
24
|
+
return n.type === "boolean" ? {
|
|
25
|
+
draft: r ? e.map((e) => e === r ? {
|
|
26
|
+
...e,
|
|
27
|
+
value: e.value !== !0
|
|
28
|
+
} : e) : [...e, {
|
|
29
|
+
column: t,
|
|
30
|
+
op: ne(n),
|
|
31
|
+
value: !0
|
|
32
|
+
}],
|
|
33
|
+
editing: null
|
|
34
|
+
} : {
|
|
35
|
+
draft: r ? e : [...e, {
|
|
36
|
+
column: t,
|
|
37
|
+
op: ne(n)
|
|
38
|
+
}],
|
|
39
|
+
editing: t
|
|
40
|
+
};
|
|
41
|
+
}, l[4] = v, l[5] = x);
|
|
42
|
+
let S = x, C;
|
|
43
|
+
l[6] !== m || l[7] !== f || l[8] !== S ? (C = () => f ? S(m, f) : {
|
|
44
|
+
draft: m,
|
|
45
|
+
editing: null
|
|
46
|
+
}, l[6] = m, l[7] = f, l[8] = S, l[9] = C) : C = l[9];
|
|
47
|
+
let [w] = a(C), [T, E] = a(w.draft), [D, Te] = a(be[0] ?? null), [O, Ee] = a(w.editing), [k, A] = a(w.editing ? "editor" : "main"), [j, De] = a(""), Oe = oe(null), ke = p.filter(ye), Ae = p.filter(ve), M;
|
|
48
|
+
l[10] === T ? M = l[11] : (M = (e) => T.some((t) => t.column === e), l[10] = T, l[11] = M);
|
|
49
|
+
let N = M, P;
|
|
50
|
+
l[12] === N ? P = l[13] : (P = (e) => e.suggested && !N(e.id), l[12] = N, l[13] = P);
|
|
51
|
+
let je = ke.filter(P), Me = j.toLocaleLowerCase(), Ne = ke.filter((e) => !N(e.id) && (!j || e.header.toLocaleLowerCase().includes(Me))), F = T.find((e) => e.column === O) ?? null, I = O ? v(O) : void 0, L;
|
|
52
|
+
l[14] !== T || l[15] !== S ? (L = (e) => {
|
|
53
|
+
let t = S(T, e);
|
|
54
|
+
E(t.draft), t.editing && (Ee(t.editing), A("editor"));
|
|
55
|
+
}, l[14] = T, l[15] = S, l[16] = L) : L = l[16];
|
|
56
|
+
let R = L, z;
|
|
57
|
+
l[17] === Symbol.for("react.memo_cache_sentinel") ? (z = (e) => E((t) => t.map((t) => t.column === e.column ? e : t)), l[17] = z) : z = l[17];
|
|
58
|
+
let B = z, V;
|
|
59
|
+
l[18] === Symbol.for("react.memo_cache_sentinel") ? (V = (e) => E((t) => t.filter((t) => t.column !== e)), l[18] = V) : V = l[18];
|
|
60
|
+
let Pe = V, H = () => {
|
|
61
|
+
I && E((e) => e.filter((e) => e.column !== O || i(e, I.type))), Ee(null), A("main");
|
|
62
|
+
}, U;
|
|
63
|
+
l[19] !== v || l[20] !== T || l[21] !== D || l[22] !== h || l[23] !== d ? (U = () => {
|
|
64
|
+
h(T.filter((e) => i(e, v(e.column).type)), D ? [D] : []), d(!1);
|
|
65
|
+
}, l[19] = v, l[20] = T, l[21] = D, l[22] = h, l[23] = d, l[24] = U) : U = l[24];
|
|
66
|
+
let W = U, G = k === "main" ? g.t("mobile.filters") : k === "picker" ? g.t("filter.addFilter") : I?.header ?? "", Fe = Array.isArray(F?.value) ? F.value.length : 1, K = r, q;
|
|
67
|
+
l[25] !== H || l[26] !== g || l[27] !== k ? (q = k !== "main" && /* @__PURE__ */ s("button", {
|
|
68
|
+
type: "button",
|
|
69
|
+
className: "dt-bsheet-back",
|
|
70
|
+
"aria-label": g.t("mobile.backToFilters"),
|
|
71
|
+
onClick: H,
|
|
72
|
+
children: /* @__PURE__ */ s(ue, {
|
|
73
|
+
size: 20,
|
|
74
|
+
"aria-hidden": "true"
|
|
75
|
+
})
|
|
76
|
+
}), l[25] = H, l[26] = g, l[27] = k, l[28] = q) : q = l[28];
|
|
77
|
+
let J = k === "main" ? /* @__PURE__ */ s("button", {
|
|
78
|
+
type: "button",
|
|
79
|
+
className: "dt-bsheet-action",
|
|
80
|
+
onClick: () => E([]),
|
|
81
|
+
children: g.t("filter.clearAll")
|
|
82
|
+
}) : k === "editor" && /* @__PURE__ */ s("button", {
|
|
83
|
+
type: "button",
|
|
84
|
+
className: "dt-bsheet-action",
|
|
85
|
+
disabled: F?.value === void 0,
|
|
86
|
+
onClick: () => {
|
|
87
|
+
Oe.current?.querySelector("input, textarea, button")?.focus(), F && B({
|
|
88
|
+
...F,
|
|
89
|
+
value: void 0
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
children: g.t("common.clear")
|
|
93
|
+
}), Y;
|
|
94
|
+
l[29] !== W || l[30] !== H || l[31] !== g || l[32] !== k ? (Y = k === "editor" ? /* @__PURE__ */ s("button", {
|
|
95
|
+
type: "button",
|
|
96
|
+
className: "dt-bsheet-primary",
|
|
97
|
+
onClick: H,
|
|
98
|
+
children: g.t("common.done")
|
|
99
|
+
}) : /* @__PURE__ */ s("button", {
|
|
100
|
+
type: "button",
|
|
101
|
+
className: "dt-bsheet-primary",
|
|
102
|
+
onClick: W,
|
|
103
|
+
children: g.t("mobile.showResults")
|
|
104
|
+
}), l[29] = W, l[30] = H, l[31] = g, l[32] = k, l[33] = Y) : Y = l[33];
|
|
105
|
+
let X = k === "main" && /* @__PURE__ */ c(o, { children: [
|
|
106
|
+
T.map((e) => /* @__PURE__ */ c("div", {
|
|
107
|
+
className: "dt-bsheet-row is-split",
|
|
108
|
+
children: [/* @__PURE__ */ c("button", {
|
|
109
|
+
type: "button",
|
|
110
|
+
className: "dt-bsheet-row-main",
|
|
111
|
+
onClick: () => R(e.column),
|
|
112
|
+
children: [/* @__PURE__ */ s("span", {
|
|
113
|
+
className: "dt-bsheet-field",
|
|
114
|
+
children: b(e.column)
|
|
115
|
+
}), /* @__PURE__ */ s("span", {
|
|
116
|
+
className: "dt-bsheet-value is-strong",
|
|
117
|
+
children: Ce(e).text
|
|
118
|
+
})]
|
|
119
|
+
}), /* @__PURE__ */ s("button", {
|
|
120
|
+
type: "button",
|
|
121
|
+
className: "dt-bsheet-x",
|
|
122
|
+
"aria-label": g.t("filter.removeAria", { column: b(e.column) }),
|
|
123
|
+
onClick: () => Pe(e.column),
|
|
124
|
+
children: /* @__PURE__ */ s(me, {
|
|
125
|
+
size: 16,
|
|
126
|
+
"aria-hidden": "true"
|
|
127
|
+
})
|
|
128
|
+
})]
|
|
129
|
+
}, e.column)),
|
|
130
|
+
je.length > 0 && /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("div", {
|
|
131
|
+
className: "dt-bsheet-label",
|
|
132
|
+
children: g.t("picker.suggested")
|
|
133
|
+
}), je.map((e) => /* @__PURE__ */ c("button", {
|
|
134
|
+
type: "button",
|
|
135
|
+
className: "dt-bsheet-row",
|
|
136
|
+
onClick: () => R(e.id),
|
|
137
|
+
children: [
|
|
138
|
+
/* @__PURE__ */ s("span", {
|
|
139
|
+
className: "dt-bsheet-field",
|
|
140
|
+
children: e.header
|
|
141
|
+
}),
|
|
142
|
+
/* @__PURE__ */ s("span", {
|
|
143
|
+
className: "dt-bsheet-value",
|
|
144
|
+
children: g.t("common.any")
|
|
145
|
+
}),
|
|
146
|
+
/* @__PURE__ */ s(de, {
|
|
147
|
+
size: 16,
|
|
148
|
+
"aria-hidden": "true"
|
|
149
|
+
})
|
|
150
|
+
]
|
|
151
|
+
}, e.id))] }),
|
|
152
|
+
/* @__PURE__ */ c("button", {
|
|
153
|
+
type: "button",
|
|
154
|
+
className: "dt-bsheet-row is-accent",
|
|
155
|
+
onClick: () => A("picker"),
|
|
156
|
+
children: [/* @__PURE__ */ s(pe, {
|
|
157
|
+
size: 18,
|
|
158
|
+
"aria-hidden": "true"
|
|
159
|
+
}), g.t("filter.addFilter")]
|
|
160
|
+
}),
|
|
161
|
+
/* @__PURE__ */ s("div", { className: "dt-bsheet-sep" }),
|
|
162
|
+
/* @__PURE__ */ s("div", {
|
|
163
|
+
className: "dt-bsheet-label",
|
|
164
|
+
children: g.t("mobile.sort")
|
|
165
|
+
}),
|
|
166
|
+
/* @__PURE__ */ c("div", {
|
|
167
|
+
className: "dt-bsheet-row is-sort",
|
|
168
|
+
children: [/* @__PURE__ */ c("label", {
|
|
169
|
+
className: "dt-select dt-bsheet-select",
|
|
170
|
+
children: [/* @__PURE__ */ c("select", {
|
|
171
|
+
value: D?.column ?? "",
|
|
172
|
+
"aria-label": g.t("mobile.sort"),
|
|
173
|
+
onChange: (e) => Te(e.target.value ? {
|
|
174
|
+
column: e.target.value,
|
|
175
|
+
dir: D?.dir ?? "asc"
|
|
176
|
+
} : null),
|
|
177
|
+
children: [/* @__PURE__ */ s("option", {
|
|
178
|
+
value: "",
|
|
179
|
+
children: g.t("common.empty")
|
|
180
|
+
}), Ae.map(_e)]
|
|
181
|
+
}), /* @__PURE__ */ s(le, {
|
|
182
|
+
size: 14,
|
|
183
|
+
"aria-hidden": "true"
|
|
184
|
+
})]
|
|
185
|
+
}), /* @__PURE__ */ s(ge, {
|
|
186
|
+
className: "dt-seg dt-bsheet-dir",
|
|
187
|
+
value: D ? [D.dir] : [],
|
|
188
|
+
disabled: !D,
|
|
189
|
+
onValueChange: (e) => {
|
|
190
|
+
let t = e[0];
|
|
191
|
+
(t === "asc" || t === "desc") && D && Te({
|
|
192
|
+
...D,
|
|
193
|
+
dir: t
|
|
194
|
+
});
|
|
195
|
+
},
|
|
196
|
+
children: ["asc", "desc"].map((e) => /* @__PURE__ */ s(he, {
|
|
197
|
+
className: "dt-seg-item",
|
|
198
|
+
value: e,
|
|
199
|
+
"data-state": D?.dir === e ? "on" : "off",
|
|
200
|
+
"aria-label": g.t(e === "asc" ? "header.sortAsc" : "header.sortDesc"),
|
|
201
|
+
children: s(e === "asc" ? ce : se, {
|
|
202
|
+
size: 16,
|
|
203
|
+
"aria-hidden": "true"
|
|
204
|
+
})
|
|
205
|
+
}, e))
|
|
206
|
+
})]
|
|
207
|
+
})
|
|
208
|
+
] }), Z = k === "picker" && /* @__PURE__ */ c(o, { children: [
|
|
209
|
+
/* @__PURE__ */ c("label", {
|
|
210
|
+
className: "dt-input has-icon dt-bsheet-search",
|
|
211
|
+
children: [/* @__PURE__ */ s("span", {
|
|
212
|
+
className: "dt-input-icon",
|
|
213
|
+
children: /* @__PURE__ */ s(fe, {
|
|
214
|
+
size: 16,
|
|
215
|
+
"aria-hidden": "true"
|
|
216
|
+
})
|
|
217
|
+
}), /* @__PURE__ */ s("input", {
|
|
218
|
+
type: "search",
|
|
219
|
+
value: j,
|
|
220
|
+
placeholder: g.t("picker.search"),
|
|
221
|
+
"aria-label": g.t("picker.search"),
|
|
222
|
+
onChange: (e) => De(e.target.value)
|
|
223
|
+
})]
|
|
224
|
+
}),
|
|
225
|
+
Ne.map((e) => {
|
|
226
|
+
let t = n[e.type];
|
|
227
|
+
return /* @__PURE__ */ c("button", {
|
|
228
|
+
type: "button",
|
|
229
|
+
className: "dt-bsheet-row",
|
|
230
|
+
onClick: () => R(e.id),
|
|
231
|
+
children: [/* @__PURE__ */ s(t, {
|
|
232
|
+
size: 16,
|
|
233
|
+
className: "dt-bsheet-icon",
|
|
234
|
+
"aria-hidden": "true"
|
|
235
|
+
}), e.header]
|
|
236
|
+
}, e.id);
|
|
237
|
+
}),
|
|
238
|
+
Ne.length === 0 && /* @__PURE__ */ s("div", {
|
|
239
|
+
className: "dt-options-empty",
|
|
240
|
+
children: g.t("picker.noMatch")
|
|
241
|
+
})
|
|
242
|
+
] }), Q = k === "editor" && F && I && /* @__PURE__ */ c("div", {
|
|
243
|
+
ref: Oe,
|
|
244
|
+
className: "dt-bsheet-editor",
|
|
245
|
+
children: [/* @__PURE__ */ c("label", {
|
|
246
|
+
className: "dt-select dt-bsheet-select",
|
|
247
|
+
children: [/* @__PURE__ */ s("select", {
|
|
248
|
+
value: F.op,
|
|
249
|
+
"aria-label": g.t("mobile.operator"),
|
|
250
|
+
onChange: (e) => B(ie(F, e.target.value, I.type)),
|
|
251
|
+
children: te(I).map((e) => /* @__PURE__ */ s("option", {
|
|
252
|
+
value: e,
|
|
253
|
+
children: re(g, e, I.type, Fe)
|
|
254
|
+
}, e))
|
|
255
|
+
}), /* @__PURE__ */ s(le, {
|
|
256
|
+
size: 14,
|
|
257
|
+
"aria-hidden": "true"
|
|
258
|
+
})]
|
|
259
|
+
}), /* @__PURE__ */ s(t, {
|
|
260
|
+
chip: F,
|
|
261
|
+
column: I,
|
|
262
|
+
rows: xe,
|
|
263
|
+
labels: Se,
|
|
264
|
+
currencies: we(I),
|
|
265
|
+
onChange: B,
|
|
266
|
+
onDone: H
|
|
267
|
+
})]
|
|
268
|
+
}), $;
|
|
269
|
+
return l[34] !== K || l[35] !== d || l[36] !== u || l[37] !== q || l[38] !== J || l[39] !== Y || l[40] !== X || l[41] !== Z || l[42] !== Q || l[43] !== G ? ($ = /* @__PURE__ */ c(K, {
|
|
270
|
+
open: u,
|
|
271
|
+
onOpenChange: d,
|
|
272
|
+
title: G,
|
|
273
|
+
className: "dt-filters-sheet",
|
|
274
|
+
headStart: q,
|
|
275
|
+
headEnd: J,
|
|
276
|
+
foot: Y,
|
|
277
|
+
children: [
|
|
278
|
+
X,
|
|
279
|
+
Z,
|
|
280
|
+
Q
|
|
281
|
+
]
|
|
282
|
+
}), l[34] = K, l[35] = d, l[36] = u, l[37] = q, l[38] = J, l[39] = Y, l[40] = X, l[41] = Z, l[42] = Q, l[43] = G, l[44] = $) : $ = l[44], $;
|
|
283
|
+
}
|
|
284
|
+
function _e(e) {
|
|
285
|
+
return /* @__PURE__ */ s("option", {
|
|
286
|
+
value: e.id,
|
|
287
|
+
children: e.header
|
|
288
|
+
}, e.id);
|
|
289
|
+
}
|
|
290
|
+
function ve(t) {
|
|
291
|
+
return t.sortable ?? e[t.type].sortable;
|
|
292
|
+
}
|
|
293
|
+
function ye(t) {
|
|
294
|
+
return t.filterable ?? e[t.type].filterable;
|
|
295
|
+
}
|
|
296
|
+
export { l as FiltersSheet };
|
|
297
|
+
|
|
298
|
+
//# sourceMappingURL=filters-sheet-DAf-n-Nv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters-sheet-DAf-n-Nv.js","names":["Toggle","ToggleGroup","ArrowDownIcon","ArrowUpIcon","CaretDownIcon","CaretLeftIcon","CaretRightIcon","MagnifyingGlassIcon","PlusIcon","XIcon","useRef","useState","ColumnDef","FilterOp","SortRule","RemoteLabels","TYPE_SPECS","useDataTableContext","BottomSheet","changeOperator","defaultOperator","isComplete","opLabel","operatorsOf","Chip","Summary","TYPE_ICONS","ValueEditor","Level","FiltersSheet","t0","$","_c","open","onOpenChange","column","columns","chips","sort","rows","labels","summaryOf","currenciesOf","onApply","i18n","t1","id","find","c","defOf","t2","id_0","header","headerOf","t3","list","id_1","def","draft","editing","existing","c_0","type","map","c_1","value","op","editIn","t4","start","setDraft","draftSort","setDraftSort","setEditing","level","setLevel","q","setQ","editor","filterable","filter","_temp","sortable","_temp2","t5","id_2","some","c_4","drafted","t6","c_5","suggested","needle","toLocaleLowerCase","pickable","c_6","includes","chip","c_7","chipDef","undefined","t7","id_3","next","edit","t8","Symbol","for","next_0","d","c_8","replace","t9","id_4","d_0","c_9","remove","back","d_1","c_10","t10","c_11","apply","title","t","count","Array","isArray","length","T0","t11","t12","t13","current","querySelector","focus","t14","t15","c_12","text","c_13","e","target","dir","_temp3","v","const","d_2","t16","e_0","c_15","Icon","t17","e_1","t18","c_14","c_3","c_2","_c","_Fragment","TYPE_SPECS","ValueEditor","TYPE_ICONS","BottomSheet","useDataTableContext","operatorsOf","defaultOperator","opLabel","changeOperator","Fragment$1","FiltersSheet","$","c","t0","t1","columns","id","defOf","t2","id_0","headerOf","t3","def","id_1","list","existing","c_0","c_1","editIn","t4","chips","column","start","useState","draft","setDraft","draftSort","setDraftSort","sort","editing","setEditing","level","setLevel","q","setQ","editor","useRef","filterable","_temp","sortable","_temp2","t5","c_4","id_2","drafted","t6","c_5","suggested","needle","pickable","c_6","chip","c_7","chipDef","t7","next","id_3","edit","t8","d","c_8","next_0","replace","t9","d_0","c_9","id_4","remove","back","d_1","c_10","isComplete","t10","onApply","onOpenChange","c_11","apply","title","i18n","count","T0","t12","CaretLeftIcon","t13","t14","t15","c_12","summaryOf","XIcon","c_13","CaretRightIcon","PlusIcon","_temp3","CaretDownIcon","ToggleGroup","dir","v","Toggle","d_2","jsx","ArrowUpIcon","ArrowDownIcon","t16","MagnifyingGlassIcon","e_0","Icon","c_15","t17","e_1","op","currenciesOf","t18","open","c_14","c_3","c_2"],"sources":["../src/core/filters/filters-sheet.tsx"],"sourcesContent":["// Telefon Filters alt sayfası (04 §9, handoff 04 §6.1–6.2, T13-04/05): uygulanmış filtreler · Suggested · Add filter · Sort ·\n// Show results. Değişiklikler taslakta birikir ve Show results'la tek seferde uygulanır (masaüstündeki anında uygulamadan\n// farklı). Değer editörü ve sütun seçici aynı sayfanın alt seviyeleridir (geri okuyla döner). Her açılışta yeniden kurulur\n// (`key`): taslak o anki çiplerden ve sıralamadan başlar.\nimport { Toggle } from '@base-ui/react/toggle'\nimport { ToggleGroup } from '@base-ui/react/toggle-group'\nimport {\n ArrowDownIcon,\n ArrowUpIcon,\n CaretDownIcon,\n CaretLeftIcon,\n CaretRightIcon,\n MagnifyingGlassIcon,\n PlusIcon,\n XIcon,\n} from '@phosphor-icons/react'\nimport { useRef, useState } from 'react'\nimport type { ColumnDef } from '../../types/columns'\nimport type { FilterOp, SortRule } from '../../types/query'\nimport type { RemoteLabels } from '../cells/remote-labels'\nimport { TYPE_SPECS } from '../cells/specs'\nimport { useDataTableContext } from '../provider'\nimport { BottomSheet } from '../ui/bottom-sheet'\nimport { changeOperator, defaultOperator, isComplete, opLabel, operatorsOf, type Chip, type Summary } from './model'\nimport { TYPE_ICONS } from './type-icons'\nimport { ValueEditor } from './value-editor'\n\ntype Level = 'main' | 'editor' | 'picker'\n\nexport function FiltersSheet({\n open,\n onOpenChange,\n column,\n columns,\n chips,\n sort,\n rows,\n labels,\n summaryOf,\n currenciesOf,\n onApply,\n}: {\n open: boolean\n onOpenChange: (open: boolean) => void\n /** Verilirse doğrudan o sütunun editörüyle açılır (çip, header hunisi, picker). */\n column?: string\n columns: ColumnDef[]\n chips: Chip[]\n sort: SortRule[]\n rows: object[]\n labels: RemoteLabels\n summaryOf: (chip: Chip) => Summary\n currenciesOf: (def: ColumnDef) => string[]\n onApply: (chips: Chip[], sort: SortRule[]) => void\n}) {\n const { i18n } = useDataTableContext()\n const defOf = (id: string) => columns.find((c) => c.id === id)\n const headerOf = (id: string) => defOf(id)?.header ?? id\n\n /** Var olan taslak çipi açar, yoksa varsayılan operatörle oluşturur. boolean'ın editörü yok: dokunuş Yes ↔ No. */\n const editIn = (list: Chip[], id: string): { draft: Chip[]; editing: string | null } => {\n const def = defOf(id)\n if (!def) return { draft: list, editing: null }\n const existing = list.find((c) => c.column === id)\n if (def.type === 'boolean')\n return {\n draft: existing\n ? list.map((c) => (c === existing ? { ...c, value: c.value !== true } : c))\n : [...list, { column: id, op: defaultOperator(def), value: true }],\n editing: null,\n }\n return { draft: existing ? list : [...list, { column: id, op: defaultOperator(def) }], editing: id }\n }\n const [start] = useState(() => (column ? editIn(chips, column) : { draft: chips, editing: null }))\n const [draft, setDraft] = useState<Chip[]>(start.draft)\n // shortcut: telefonda tek sıralama kuralı; çoklu sıralama masaüstünde (ikincil kurallar Show results'ta düşer).\n const [draftSort, setDraftSort] = useState<SortRule | null>(sort[0] ?? null)\n const [editing, setEditing] = useState<string | null>(start.editing)\n const [level, setLevel] = useState<Level>(start.editing ? 'editor' : 'main')\n const [q, setQ] = useState('')\n const editor = useRef<HTMLDivElement>(null)\n\n const filterable = columns.filter((c) => c.filterable ?? TYPE_SPECS[c.type].filterable)\n const sortable = columns.filter((c) => c.sortable ?? TYPE_SPECS[c.type].sortable)\n const drafted = (id: string) => draft.some((c) => c.column === id)\n const suggested = filterable.filter((c) => c.suggested && !drafted(c.id as string))\n const needle = q.toLocaleLowerCase()\n const pickable = filterable.filter(\n (c) => !drafted(c.id as string) && (!q || c.header.toLocaleLowerCase().includes(needle)),\n )\n const chip = draft.find((c) => c.column === editing) ?? null\n const chipDef = editing ? defOf(editing) : undefined\n\n const edit = (id: string) => {\n const next = editIn(draft, id)\n setDraft(next.draft)\n if (!next.editing) return\n setEditing(next.editing)\n setLevel('editor')\n }\n // Updater'lar: metin editörü Enter'da aynı olayda önce değeri yazar sonra Done der; `back` güncel taslağı görmeli.\n const replace = (next: Chip) => setDraft((d) => d.map((c) => (c.column === next.column ? next : c)))\n const remove = (id: string) => setDraft((d) => d.filter((c) => c.column !== id))\n /** Geri / Done: değer seçilmemiş çip taslaktan düşer (04 §1). */\n const back = () => {\n if (chipDef) setDraft((d) => d.filter((c) => c.column !== editing || isComplete(c, chipDef.type)))\n setEditing(null)\n setLevel('main')\n }\n const apply = () => {\n onApply(\n draft.filter((c) => isComplete(c, defOf(c.column)!.type)),\n draftSort ? [draftSort] : [],\n )\n onOpenChange(false)\n }\n const title =\n level === 'main'\n ? i18n.t('mobile.filters')\n : level === 'picker'\n ? i18n.t('filter.addFilter')\n : (chipDef?.header ?? '')\n const count = Array.isArray(chip?.value) ? chip.value.length : 1\n\n return (\n <BottomSheet\n open={open}\n onOpenChange={onOpenChange}\n title={title}\n className=\"dt-filters-sheet\"\n headStart={\n level !== 'main' && (\n <button type=\"button\" className=\"dt-bsheet-back\" aria-label={i18n.t('mobile.backToFilters')} onClick={back}>\n <CaretLeftIcon size={20} aria-hidden=\"true\" />\n </button>\n )\n }\n headEnd={\n level === 'main' ? (\n <button type=\"button\" className=\"dt-bsheet-action\" onClick={() => setDraft([])}>\n {i18n.t('filter.clearAll')}\n </button>\n ) : (\n level === 'editor' && (\n <button\n type=\"button\"\n className=\"dt-bsheet-action\"\n disabled={chip?.value === undefined}\n onClick={() => {\n // Devre dışı kalacak düğmeden odak body'ye düşmesin: değer alanına (operatör seçicisi hariç).\n editor.current?.querySelector<HTMLElement>('input, textarea, button')?.focus()\n if (chip) replace({ ...chip, value: undefined })\n }}\n >\n {i18n.t('common.clear')}\n </button>\n )\n )\n }\n foot={\n level === 'editor' ? (\n <button type=\"button\" className=\"dt-bsheet-primary\" onClick={back}>\n {i18n.t('common.done')}\n </button>\n ) : (\n <button type=\"button\" className=\"dt-bsheet-primary\" onClick={apply}>\n {i18n.t('mobile.showResults')}\n </button>\n )\n }\n >\n {level === 'main' && (\n <>\n {draft.map((c) => (\n <div key={c.column} className=\"dt-bsheet-row is-split\">\n <button type=\"button\" className=\"dt-bsheet-row-main\" onClick={() => edit(c.column)}>\n <span className=\"dt-bsheet-field\">{headerOf(c.column)}</span>\n <span className=\"dt-bsheet-value is-strong\">{summaryOf(c).text}</span>\n </button>\n <button\n type=\"button\"\n className=\"dt-bsheet-x\"\n aria-label={i18n.t('filter.removeAria', { column: headerOf(c.column) })}\n onClick={() => remove(c.column)}\n >\n <XIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n ))}\n {suggested.length > 0 && (\n <>\n <div className=\"dt-bsheet-label\">{i18n.t('picker.suggested')}</div>\n {suggested.map((c) => (\n <button key={c.id} type=\"button\" className=\"dt-bsheet-row\" onClick={() => edit(c.id as string)}>\n <span className=\"dt-bsheet-field\">{c.header}</span>\n <span className=\"dt-bsheet-value\">{i18n.t('common.any')}</span>\n <CaretRightIcon size={16} aria-hidden=\"true\" />\n </button>\n ))}\n </>\n )}\n <button type=\"button\" className=\"dt-bsheet-row is-accent\" onClick={() => setLevel('picker')}>\n <PlusIcon size={18} aria-hidden=\"true\" />\n {i18n.t('filter.addFilter')}\n </button>\n <div className=\"dt-bsheet-sep\" />\n <div className=\"dt-bsheet-label\">{i18n.t('mobile.sort')}</div>\n <div className=\"dt-bsheet-row is-sort\">\n <label className=\"dt-select dt-bsheet-select\">\n <select\n value={draftSort?.column ?? ''}\n aria-label={i18n.t('mobile.sort')}\n onChange={(e) =>\n setDraftSort(e.target.value ? { column: e.target.value, dir: draftSort?.dir ?? 'asc' } : null)\n }\n >\n <option value=\"\">{i18n.t('common.empty')}</option>\n {sortable.map((c) => (\n <option key={c.id} value={c.id}>\n {c.header}\n </option>\n ))}\n </select>\n <CaretDownIcon size={14} aria-hidden=\"true\" />\n </label>\n <ToggleGroup\n className=\"dt-seg dt-bsheet-dir\"\n value={draftSort ? [draftSort.dir] : []}\n disabled={!draftSort}\n onValueChange={(v) => {\n const dir = v[0]\n if ((dir === 'asc' || dir === 'desc') && draftSort) setDraftSort({ ...draftSort, dir })\n }}\n >\n {(['asc', 'desc'] as const).map((d) => (\n <Toggle\n key={d}\n className=\"dt-seg-item\"\n value={d}\n data-state={draftSort?.dir === d ? 'on' : 'off'}\n aria-label={i18n.t(d === 'asc' ? 'header.sortAsc' : 'header.sortDesc')}\n >\n {d === 'asc' ? (\n <ArrowUpIcon size={16} aria-hidden=\"true\" />\n ) : (\n <ArrowDownIcon size={16} aria-hidden=\"true\" />\n )}\n </Toggle>\n ))}\n </ToggleGroup>\n </div>\n </>\n )}\n\n {level === 'picker' && (\n <>\n <label className=\"dt-input has-icon dt-bsheet-search\">\n <span className=\"dt-input-icon\">\n <MagnifyingGlassIcon size={16} aria-hidden=\"true\" />\n </span>\n <input\n type=\"search\"\n value={q}\n placeholder={i18n.t('picker.search')}\n aria-label={i18n.t('picker.search')}\n onChange={(e) => setQ(e.target.value)}\n />\n </label>\n {pickable.map((c) => {\n const Icon = TYPE_ICONS[c.type]\n return (\n <button key={c.id} type=\"button\" className=\"dt-bsheet-row\" onClick={() => edit(c.id as string)}>\n <Icon size={16} className=\"dt-bsheet-icon\" aria-hidden=\"true\" />\n {c.header}\n </button>\n )\n })}\n {pickable.length === 0 && <div className=\"dt-options-empty\">{i18n.t('picker.noMatch')}</div>}\n </>\n )}\n\n {level === 'editor' && chip && chipDef && (\n <div ref={editor} className=\"dt-bsheet-editor\">\n <label className=\"dt-select dt-bsheet-select\">\n <select\n value={chip.op}\n aria-label={i18n.t('mobile.operator')}\n onChange={(e) => replace(changeOperator(chip, e.target.value as FilterOp, chipDef.type))}\n >\n {operatorsOf(chipDef).map((op) => (\n <option key={op} value={op}>\n {opLabel(i18n, op, chipDef.type, count)}\n </option>\n ))}\n </select>\n <CaretDownIcon size={14} aria-hidden=\"true\" />\n </label>\n <ValueEditor\n chip={chip}\n column={chipDef}\n rows={rows}\n labels={labels}\n currencies={currenciesOf(chipDef)}\n onChange={replace}\n onDone={back}\n />\n </div>\n )}\n </BottomSheet>\n )\n}\n"],"mappings":"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"}
|