@medyat/vue-data-table 1.0.0 → 1.0.1

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.
@@ -0,0 +1,266 @@
1
+ import { W as e } from "./query-CGNWUi2E.js";
2
+ import { t } from "./Layer-Di-tPd8b.js";
3
+ import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createSlots as c, createTextVNode as l, createVNode as u, defineAsyncComponent as d, defineComponent as f, openBlock as p, ref as m, renderList as h, resolveDynamicComponent as g, toDisplayString as _, unref as v, watch as y, withCtx as b } from "vue";
4
+ import { PhArrowDown as x, PhArrowUp as S, PhCaretLeft as C, PhCaretRight as w, PhCheck as T, PhDotsThree as E, PhX as D } from "@phosphor-icons/vue";
5
+ import { SwitchRoot as O, SwitchThumb as k } from "reka-ui";
6
+ //#region src/core/toolbar/SortPanel.vue?vue&type=script&setup=true&lang.ts
7
+ var A = { class: "dt-head-sort-index" }, j = { class: "dt-col-name" }, M = ["onClick"], N = ["aria-label", "onClick"], P = { class: "dt-pop-foot" }, F = ["disabled"], I = /* @__PURE__ */ f({
8
+ __name: "SortPanel",
9
+ props: {
10
+ sort: {},
11
+ headerOf: { type: Function }
12
+ },
13
+ emits: [
14
+ "sort-dir",
15
+ "sort-remove",
16
+ "sort-clear"
17
+ ],
18
+ setup(t, { emit: r }) {
19
+ let a = r, { i18n: c } = e();
20
+ return (e, r) => (p(), o(n, null, [(p(!0), o(n, null, h(t.sort, (e, n) => (p(), o("div", {
21
+ key: e.column,
22
+ class: "dt-col-row dt-sort-row"
23
+ }, [
24
+ s("span", A, _(n + 1), 1),
25
+ s("span", j, _(t.headerOf(e.column)), 1),
26
+ s("button", {
27
+ type: "button",
28
+ class: "dt-btn dt-btn-xs has-icon",
29
+ onClick: (t) => a("sort-dir", e.column, e.dir === "asc" ? "desc" : "asc")
30
+ }, [(p(), i(g(e.dir === "asc" ? v(S) : v(x)), {
31
+ size: 12,
32
+ "aria-hidden": "true"
33
+ })), l(" " + _(v(c).t(e.dir === "asc" ? "sr.asc" : "sr.desc")), 1)], 8, M),
34
+ s("button", {
35
+ type: "button",
36
+ class: "dt-icon-btn-sm",
37
+ "aria-label": v(c).t("header.clearSort"),
38
+ onClick: (t) => a("sort-remove", e.column)
39
+ }, [u(v(D), {
40
+ size: 14,
41
+ "aria-hidden": "true"
42
+ })], 8, N)
43
+ ]))), 128)), s("div", P, [s("span", null, _(v(c).t("sort.addHint")), 1), s("button", {
44
+ type: "button",
45
+ class: "dt-pop-action",
46
+ disabled: !t.sort.length,
47
+ onClick: r[0] ||= (e) => a("sort-clear")
48
+ }, _(v(c).t("header.clearSort")), 9, F)])], 64));
49
+ }
50
+ }), L = ["aria-label"], R = ["aria-label"], z = { class: "dt-bsheet-label" }, B = { class: "dt-bsheet-value" }, V = { class: "dt-bsheet-value" }, H = { class: "dt-bsheet-value" }, U = {
51
+ key: 0,
52
+ class: "dt-bsheet-sep"
53
+ }, W = {
54
+ key: 5,
55
+ class: "dt-bsheet-row"
56
+ }, G = { class: "dt-bsheet-note" }, K = ["onClick"], q = /* @__PURE__ */ f({
57
+ __name: "PhoneMoreSheet",
58
+ props: {
59
+ density: {},
60
+ columns: {},
61
+ counts: {},
62
+ sort: {},
63
+ persistent: { type: Boolean },
64
+ refresh: { type: Boolean },
65
+ export: { type: [String, Boolean] },
66
+ import: { type: Boolean },
67
+ print: { type: Boolean },
68
+ autoRefresh: { type: Boolean },
69
+ autoRefreshOn: { type: Boolean }
70
+ },
71
+ emits: [
72
+ "update:density",
73
+ "columns-save",
74
+ "sort-dir",
75
+ "sort-remove",
76
+ "sort-clear",
77
+ "reset",
78
+ "refresh",
79
+ "export",
80
+ "import",
81
+ "print",
82
+ "update:autoRefreshOn"
83
+ ],
84
+ setup(f, { emit: g }) {
85
+ let x = d(() => import("./ColumnsDialog-dngip-aF.js")), S = m(!1), D = f, A = g, { i18n: j } = e(), M = m(!1), N = m("main"), P = m(!1), F = m(null), q = (e) => {
86
+ e.preventDefault(), F.value?.focus();
87
+ };
88
+ y(M, (e) => {
89
+ e || (N.value = "main");
90
+ });
91
+ let J = [
92
+ "comfortable",
93
+ "standard",
94
+ "compact"
95
+ ], Y = {
96
+ main: "toolbar.more",
97
+ density: "display.density",
98
+ sort: "display.sort",
99
+ export: "sheet.export"
100
+ }, X = (e) => D.columns.find((t) => t.id === e)?.def.header ?? e, Z = r(() => {
101
+ let e = D.sort[0];
102
+ if (!e) return j.t("common.empty");
103
+ let t = D.sort.length > 1 ? ` +${D.sort.length - 1}` : "";
104
+ return `${X(e.column)} ${e.dir === "asc" ? "↑" : "↓"}${t}`;
105
+ }), Q = r(() => D.export || D.import || D.print || D.refresh || D.autoRefresh), $ = (e) => {
106
+ M.value = !1, e();
107
+ }, ee = (e) => {
108
+ A("update:density", e), N.value = "main";
109
+ };
110
+ return (e, r) => (p(), o(n, null, [u(t, {
111
+ open: M.value,
112
+ "onUpdate:open": r[15] ||= (e) => M.value = e,
113
+ sheet: "",
114
+ "content-class": "dt-more-sheet",
115
+ title: v(j).t(Y[N.value]),
116
+ "hide-title": N.value === "main"
117
+ }, c({
118
+ trigger: b(() => [s("button", {
119
+ ref_key: "trigger",
120
+ ref: F,
121
+ type: "button",
122
+ class: "dt-btn dt-btn-icon dt-more-trigger",
123
+ "aria-label": v(j).t("toolbar.more")
124
+ }, [u(v(E), {
125
+ size: 20,
126
+ weight: "bold",
127
+ "aria-hidden": "true"
128
+ })], 8, L)]),
129
+ default: b(() => [N.value === "main" ? (p(), o(n, { key: 0 }, [
130
+ s("div", z, _(v(j).t("toolbar.display")), 1),
131
+ s("button", {
132
+ type: "button",
133
+ class: "dt-bsheet-row",
134
+ onClick: r[1] ||= (e) => N.value = "density"
135
+ }, [
136
+ l(_(v(j).t("display.density")) + " ", 1),
137
+ s("span", B, _(v(j).t(`display.${f.density}`)), 1),
138
+ u(v(w), {
139
+ size: 16,
140
+ "aria-hidden": "true"
141
+ })
142
+ ]),
143
+ s("button", {
144
+ type: "button",
145
+ class: "dt-bsheet-row",
146
+ onClick: r[2] ||= (e) => $(() => S.value = P.value = !0)
147
+ }, [
148
+ l(_(v(j).t("display.columns")) + " ", 1),
149
+ s("span", V, _(v(j).t("columns.shownOf", f.counts)), 1),
150
+ u(v(w), {
151
+ size: 16,
152
+ "aria-hidden": "true"
153
+ })
154
+ ]),
155
+ s("button", {
156
+ type: "button",
157
+ class: "dt-bsheet-row",
158
+ onClick: r[3] ||= (e) => N.value = "sort"
159
+ }, [
160
+ l(_(v(j).t("display.sort")) + " ", 1),
161
+ s("span", H, _(Z.value), 1),
162
+ u(v(w), {
163
+ size: 16,
164
+ "aria-hidden": "true"
165
+ })
166
+ ]),
167
+ Q.value ? (p(), o("div", U)) : a("", !0),
168
+ e.$props.export ? (p(), o("button", {
169
+ key: 1,
170
+ type: "button",
171
+ class: "dt-bsheet-row",
172
+ onClick: r[4] ||= (e) => N.value = "export"
173
+ }, [l(_(e.$props.export) + " ", 1), u(v(w), {
174
+ size: 16,
175
+ class: "dt-bsheet-end",
176
+ "aria-hidden": "true"
177
+ })])) : a("", !0),
178
+ e.$props.import ? (p(), o("button", {
179
+ key: 2,
180
+ type: "button",
181
+ class: "dt-bsheet-row",
182
+ onClick: r[5] ||= (e) => $(() => A("import"))
183
+ }, _(v(j).t("toolbar.import")), 1)) : a("", !0),
184
+ f.print ? (p(), o("button", {
185
+ key: 3,
186
+ type: "button",
187
+ class: "dt-bsheet-row",
188
+ onClick: r[6] ||= (e) => $(() => A("print"))
189
+ }, _(v(j).t("toolbar.print")), 1)) : a("", !0),
190
+ f.refresh ? (p(), o("button", {
191
+ key: 4,
192
+ type: "button",
193
+ class: "dt-bsheet-row",
194
+ onClick: r[7] ||= (e) => $(() => A("refresh"))
195
+ }, _(v(j).t("toolbar.refresh")), 1)) : a("", !0),
196
+ f.autoRefresh ? (p(), o("label", W, [l(_(v(j).t("toolbar.autoRefresh")) + " ", 1), u(v(O), {
197
+ class: "dt-switch dt-bsheet-end",
198
+ "model-value": f.autoRefreshOn,
199
+ "onUpdate:modelValue": r[8] ||= (e) => A("update:autoRefreshOn", e)
200
+ }, {
201
+ default: b(() => [u(v(k), { class: "dt-switch-thumb" })]),
202
+ _: 1
203
+ }, 8, ["model-value"])])) : a("", !0),
204
+ s("div", G, [s("span", null, _(f.persistent ? v(j).t("display.savedForYou") : ""), 1), s("button", {
205
+ type: "button",
206
+ class: "dt-bsheet-action",
207
+ onClick: r[9] ||= (e) => A("reset")
208
+ }, _(v(j).t("common.reset")), 1)])
209
+ ], 64)) : N.value === "density" ? (p(), o(n, { key: 1 }, h(J, (e) => s("button", {
210
+ key: e,
211
+ type: "button",
212
+ class: "dt-bsheet-row",
213
+ onClick: (t) => ee(e)
214
+ }, [l(_(v(j).t(`display.${e}`)) + " ", 1), e === f.density ? (p(), i(v(T), {
215
+ key: 0,
216
+ size: 18,
217
+ class: "dt-bsheet-end dt-bsheet-check",
218
+ "aria-hidden": "true"
219
+ })) : a("", !0)], 8, K)), 64)) : N.value === "sort" ? (p(), i(I, {
220
+ key: 2,
221
+ sort: f.sort,
222
+ "header-of": X,
223
+ onSortDir: r[10] ||= (e, t) => A("sort-dir", e, t),
224
+ onSortRemove: r[11] ||= (e) => A("sort-remove", e),
225
+ onSortClear: r[12] ||= (e) => A("sort-clear")
226
+ }, null, 8, ["sort"])) : (p(), o(n, { key: 3 }, [s("button", {
227
+ type: "button",
228
+ class: "dt-bsheet-row",
229
+ onClick: r[13] ||= (e) => $(() => A("export", "csv"))
230
+ }, _(v(j).t("toolbar.csv")), 1), s("button", {
231
+ type: "button",
232
+ class: "dt-bsheet-row",
233
+ onClick: r[14] ||= (e) => $(() => A("export", "xlsx"))
234
+ }, _(v(j).t("toolbar.xlsx")), 1)], 64))]),
235
+ _: 2
236
+ }, [N.value === "main" ? void 0 : {
237
+ name: "head-start",
238
+ fn: b(() => [s("button", {
239
+ type: "button",
240
+ class: "dt-bsheet-back",
241
+ "aria-label": v(j).t("common.back"),
242
+ onClick: r[0] ||= (e) => N.value = "main"
243
+ }, [u(v(C), {
244
+ size: 20,
245
+ "aria-hidden": "true"
246
+ })], 8, R)]),
247
+ key: "0"
248
+ }]), 1032, [
249
+ "open",
250
+ "title",
251
+ "hide-title"
252
+ ]), S.value ? (p(), i(v(x), {
253
+ key: 0,
254
+ open: P.value,
255
+ "onUpdate:open": r[16] ||= (e) => P.value = e,
256
+ phone: "",
257
+ columns: f.columns,
258
+ onSave: r[17] ||= (e) => A("columns-save", e),
259
+ onCloseAutoFocus: q
260
+ }, null, 8, ["open", "columns"])) : a("", !0)], 64));
261
+ }
262
+ });
263
+ //#endregion
264
+ export { q as default };
265
+
266
+ //# sourceMappingURL=PhoneMoreSheet-66OdIZrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhoneMoreSheet-66OdIZrl.js","names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_openBlock","_createElementBlock","_Fragment","_renderList","_createElementVNode","_toDisplayString","_createBlock","_resolveDynamicComponent","_unref","_createTextVNode","_createVNode","_sfc_main","$props","_openBlock","_createElementBlock","_Fragment","_createVNode","Layer","_unref","_createSlots","_withCtx","_createElementVNode","_toDisplayString","_createTextVNode","_createCommentVNode","_renderList","_createBlock","SortPanel","_sfc_main","useDataTableContext","_hoisted_1$1","_hoisted_2$1","_hoisted_3$1","_hoisted_4$1","_hoisted_5$1","_hoisted_6$1","SortPanel_default","defineComponent","__emit","emit","openBlock","createElementBlock","Fragment","renderList","__props","s","createElementVNode","toDisplayString","i","createBlock","resolveDynamicComponent","unref","PhArrowUp","PhArrowDown","createTextVNode","i18n","createVNode","PhX","_cache","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","PhoneMoreSheet_default","ColumnsDialog","defineAsyncComponent","columnsUsed","ref","props","open","level","columnsOpen","trigger","focusTrigger","o","DENSITIES","TITLES","headerOf","c","id","sortSummary","computed","first","more","hasActions","close","fn","setDensity","d","Layer_default","$event","createSlots","withCtx","PhDotsThree","PhCaretRight","createCommentVNode","_ctx","SwitchRoot","v","SwitchThumb","PhCheck","PhCaretLeft"],"sources":["../src/core/toolbar/SortPanel.vue","../src/core/toolbar/SortPanel.vue","../src/core/toolbar/PhoneMoreSheet.vue","../src/core/toolbar/PhoneMoreSheet.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// Sort paneli (04 §6; Display › Sort ve telefon ⋯ sayfası): sıra numarası · sütun · yön · kaldır; altta ipucu + Clear sort.\nimport { PhArrowDown, PhArrowUp, PhX } from '@phosphor-icons/vue'\nimport type { SortRule } from '../../types/query'\nimport { useDataTableContext } from '../plugin'\n\ndefineProps<{ sort: SortRule[]; headerOf: (id: string) => string }>()\nconst emit = defineEmits<{\n 'sort-dir': [column: string, dir: 'asc' | 'desc']\n 'sort-remove': [column: string]\n 'sort-clear': []\n}>()\nconst { i18n } = useDataTableContext()\n</script>\n\n<template>\n <div v-for=\"(s, i) in sort\" :key=\"s.column\" class=\"dt-col-row dt-sort-row\">\n <span class=\"dt-head-sort-index\">{{ i + 1 }}</span>\n <span class=\"dt-col-name\">{{ headerOf(s.column) }}</span>\n <button\n type=\"button\"\n class=\"dt-btn dt-btn-xs has-icon\"\n @click=\"emit('sort-dir', s.column, s.dir === 'asc' ? 'desc' : 'asc')\"\n >\n <component :is=\"s.dir === 'asc' ? PhArrowUp : PhArrowDown\" :size=\"12\" aria-hidden=\"true\" />\n {{ i18n.t(s.dir === 'asc' ? 'sr.asc' : 'sr.desc') }}\n </button>\n <button\n type=\"button\"\n class=\"dt-icon-btn-sm\"\n :aria-label=\"i18n.t('header.clearSort')\"\n @click=\"emit('sort-remove', s.column)\"\n >\n <PhX :size=\"14\" aria-hidden=\"true\" />\n </button>\n </div>\n <div class=\"dt-pop-foot\">\n <span>{{ i18n.t('sort.addHint') }}</span>\n <button type=\"button\" class=\"dt-pop-action\" :disabled=\"!sort.length\" @click=\"emit('sort-clear')\">\n {{ i18n.t('header.clearSort') }}\n </button>\n </div>\n</template>\n","<script setup lang=\"ts\">\n// Sort paneli (04 §6; Display › Sort ve telefon ⋯ sayfası): sıra numarası · sütun · yön · kaldır; altta ipucu + Clear sort.\nimport { PhArrowDown, PhArrowUp, PhX } from '@phosphor-icons/vue'\nimport type { SortRule } from '../../types/query'\nimport { useDataTableContext } from '../plugin'\n\ndefineProps<{ sort: SortRule[]; headerOf: (id: string) => string }>()\nconst emit = defineEmits<{\n 'sort-dir': [column: string, dir: 'asc' | 'desc']\n 'sort-remove': [column: string]\n 'sort-clear': []\n}>()\nconst { i18n } = useDataTableContext()\n</script>\n\n<template>\n <div v-for=\"(s, i) in sort\" :key=\"s.column\" class=\"dt-col-row dt-sort-row\">\n <span class=\"dt-head-sort-index\">{{ i + 1 }}</span>\n <span class=\"dt-col-name\">{{ headerOf(s.column) }}</span>\n <button\n type=\"button\"\n class=\"dt-btn dt-btn-xs has-icon\"\n @click=\"emit('sort-dir', s.column, s.dir === 'asc' ? 'desc' : 'asc')\"\n >\n <component :is=\"s.dir === 'asc' ? PhArrowUp : PhArrowDown\" :size=\"12\" aria-hidden=\"true\" />\n {{ i18n.t(s.dir === 'asc' ? 'sr.asc' : 'sr.desc') }}\n </button>\n <button\n type=\"button\"\n class=\"dt-icon-btn-sm\"\n :aria-label=\"i18n.t('header.clearSort')\"\n @click=\"emit('sort-remove', s.column)\"\n >\n <PhX :size=\"14\" aria-hidden=\"true\" />\n </button>\n </div>\n <div class=\"dt-pop-foot\">\n <span>{{ i18n.t('sort.addHint') }}</span>\n <button type=\"button\" class=\"dt-pop-action\" :disabled=\"!sort.length\" @click=\"emit('sort-clear')\">\n {{ i18n.t('header.clearSort') }}\n </button>\n </div>\n</template>\n","<script setup lang=\"ts\">\n// Telefon ⋯ alt sayfası (handoff 04 §6.4, T13-07): Display (Density › · Columns (dialog, D45) · Sort ›) · Export matching rows › · Import ·\n// Print · Refresh · Auto-refresh · \"Saved for you only\" + Reset. Masaüstündeki Display popover'ı ve ⋯ menüsünün yerini alır.\nimport { PhCaretLeft, PhCaretRight, PhCheck, PhDotsThree } from '@phosphor-icons/vue'\nimport { SwitchRoot, SwitchThumb } from 'reka-ui'\nimport { computed, defineAsyncComponent, ref, watch } from 'vue'\nimport type { Density } from '../../types/core'\nimport type { SortRule } from '../../types/query'\nimport { useDataTableContext } from '../plugin'\nimport Layer from '../ui/Layer.vue'\nimport type { ColumnsDraft, PanelColumn } from './ColumnsDialog.vue'\nimport SortPanel from './SortPanel.vue'\n\n// Dialog ve @dnd-kit yalnızca Columns ilk açılışta yüklenir; sonra bağlı kalır (odak dönüşü).\nconst ColumnsDialog = defineAsyncComponent(() => import('./ColumnsDialog.vue'))\nconst columnsUsed = ref(false)\n\nconst props = defineProps<{\n density: Density\n columns: PanelColumn[]\n counts: { shown: number; total: number }\n sort: SortRule[]\n persistent: boolean\n refresh: boolean\n /** Export menü etiketi (\"Export 100 rows\" / \"Export 3 selected rows\"); false → yok. */\n export: string | false\n import: boolean\n print: boolean\n autoRefresh: boolean\n autoRefreshOn: boolean\n}>()\nconst emit = defineEmits<{\n 'update:density': [density: Density]\n 'columns-save': [draft: ColumnsDraft]\n 'sort-dir': [column: string, dir: 'asc' | 'desc']\n 'sort-remove': [column: string]\n 'sort-clear': []\n reset: []\n refresh: []\n export: [format: 'csv' | 'xlsx']\n import: []\n print: []\n 'update:autoRefreshOn': [on: boolean]\n}>()\nconst { i18n } = useDataTableContext()\nconst open = ref(false)\nconst level = ref<'main' | 'density' | 'sort' | 'export'>('main')\nconst columnsOpen = ref(false)\nconst trigger = ref<HTMLButtonElement | null>(null)\nconst focusTrigger = (e: Event) => {\n e.preventDefault()\n trigger.value?.focus()\n}\nwatch(open, (o) => {\n if (!o) level.value = 'main'\n})\nconst DENSITIES: Density[] = ['comfortable', 'standard', 'compact']\nconst TITLES = {\n main: 'toolbar.more',\n density: 'display.density',\n sort: 'display.sort',\n export: 'sheet.export',\n} as const\nconst headerOf = (id: string) => props.columns.find((c) => c.id === id)?.def.header ?? id\nconst sortSummary = computed(() => {\n const first = props.sort[0]\n if (!first) return i18n.t('common.empty')\n const more = props.sort.length > 1 ? ` +${props.sort.length - 1}` : ''\n return `${headerOf(first.column)} ${first.dir === 'asc' ? '↑' : '↓'}${more}`\n})\nconst hasActions = computed(() => props.export || props.import || props.print || props.refresh || props.autoRefresh)\nconst close = (fn: () => void) => {\n open.value = false\n fn()\n}\nconst setDensity = (d: Density) => {\n emit('update:density', d)\n level.value = 'main'\n}\n</script>\n\n<template>\n <Layer\n v-model:open=\"open\"\n sheet\n content-class=\"dt-more-sheet\"\n :title=\"i18n.t(TITLES[level])\"\n :hide-title=\"level === 'main'\"\n >\n <template #trigger>\n <button ref=\"trigger\" type=\"button\" class=\"dt-btn dt-btn-icon dt-more-trigger\" :aria-label=\"i18n.t('toolbar.more')\">\n <PhDotsThree :size=\"20\" weight=\"bold\" aria-hidden=\"true\" />\n </button>\n </template>\n <template v-if=\"level !== 'main'\" #head-start>\n <button type=\"button\" class=\"dt-bsheet-back\" :aria-label=\"i18n.t('common.back')\" @click=\"level = 'main'\">\n <PhCaretLeft :size=\"20\" aria-hidden=\"true\" />\n </button>\n </template>\n\n <template v-if=\"level === 'main'\">\n <div class=\"dt-bsheet-label\">{{ i18n.t('toolbar.display') }}</div>\n <button type=\"button\" class=\"dt-bsheet-row\" @click=\"level = 'density'\">\n {{ i18n.t('display.density') }}\n <span class=\"dt-bsheet-value\">{{ i18n.t(`display.${density}`) }}</span>\n <PhCaretRight :size=\"16\" aria-hidden=\"true\" />\n </button>\n <button type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => (columnsUsed = columnsOpen = true))\">\n {{ i18n.t('display.columns') }}\n <span class=\"dt-bsheet-value\">{{ i18n.t('columns.shownOf', counts) }}</span>\n <PhCaretRight :size=\"16\" aria-hidden=\"true\" />\n </button>\n <button type=\"button\" class=\"dt-bsheet-row\" @click=\"level = 'sort'\">\n {{ i18n.t('display.sort') }}\n <span class=\"dt-bsheet-value\">{{ sortSummary }}</span>\n <PhCaretRight :size=\"16\" aria-hidden=\"true\" />\n </button>\n <div v-if=\"hasActions\" class=\"dt-bsheet-sep\" />\n <button v-if=\"$props.export\" type=\"button\" class=\"dt-bsheet-row\" @click=\"level = 'export'\">\n {{ $props.export }}\n <PhCaretRight :size=\"16\" class=\"dt-bsheet-end\" aria-hidden=\"true\" />\n </button>\n <button v-if=\"$props.import\" type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => emit('import'))\">\n {{ i18n.t('toolbar.import') }}\n </button>\n <button v-if=\"print\" type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => emit('print'))\">\n {{ i18n.t('toolbar.print') }}\n </button>\n <button v-if=\"refresh\" type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => emit('refresh'))\">\n {{ i18n.t('toolbar.refresh') }}\n </button>\n <label v-if=\"autoRefresh\" class=\"dt-bsheet-row\">\n {{ i18n.t('toolbar.autoRefresh') }}\n <SwitchRoot\n class=\"dt-switch dt-bsheet-end\"\n :model-value=\"autoRefreshOn\"\n @update:model-value=\"(v) => emit('update:autoRefreshOn', v)\"\n >\n <SwitchThumb class=\"dt-switch-thumb\" />\n </SwitchRoot>\n </label>\n <div class=\"dt-bsheet-note\">\n <span>{{ persistent ? i18n.t('display.savedForYou') : '' }}</span>\n <button type=\"button\" class=\"dt-bsheet-action\" @click=\"emit('reset')\">{{ i18n.t('common.reset') }}</button>\n </div>\n </template>\n\n <template v-else-if=\"level === 'density'\">\n <button v-for=\"d in DENSITIES\" :key=\"d\" type=\"button\" class=\"dt-bsheet-row\" @click=\"setDensity(d)\">\n {{ i18n.t(`display.${d}`) }}\n <PhCheck v-if=\"d === density\" :size=\"18\" class=\"dt-bsheet-end dt-bsheet-check\" aria-hidden=\"true\" />\n </button>\n </template>\n\n <SortPanel\n v-else-if=\"level === 'sort'\"\n :sort=\"sort\"\n :header-of=\"headerOf\"\n @sort-dir=\"(c, d) => emit('sort-dir', c, d)\"\n @sort-remove=\"(c) => emit('sort-remove', c)\"\n @sort-clear=\"emit('sort-clear')\"\n />\n\n <template v-else>\n <button type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => emit('export', 'csv'))\">\n {{ i18n.t('toolbar.csv') }}\n </button>\n <button type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => emit('export', 'xlsx'))\">\n {{ i18n.t('toolbar.xlsx') }}\n </button>\n </template>\n </Layer>\n <ColumnsDialog\n v-if=\"columnsUsed\"\n v-model:open=\"columnsOpen\"\n phone\n :columns=\"columns\"\n @save=\"(d) => emit('columns-save', d)\"\n @close-auto-focus=\"focusTrigger\"\n />\n</template>\n","<script setup lang=\"ts\">\n// Telefon ⋯ alt sayfası (handoff 04 §6.4, T13-07): Display (Density › · Columns (dialog, D45) · Sort ›) · Export matching rows › · Import ·\n// Print · Refresh · Auto-refresh · \"Saved for you only\" + Reset. Masaüstündeki Display popover'ı ve ⋯ menüsünün yerini alır.\nimport { PhCaretLeft, PhCaretRight, PhCheck, PhDotsThree } from '@phosphor-icons/vue'\nimport { SwitchRoot, SwitchThumb } from 'reka-ui'\nimport { computed, defineAsyncComponent, ref, watch } from 'vue'\nimport type { Density } from '../../types/core'\nimport type { SortRule } from '../../types/query'\nimport { useDataTableContext } from '../plugin'\nimport Layer from '../ui/Layer.vue'\nimport type { ColumnsDraft, PanelColumn } from './ColumnsDialog.vue'\nimport SortPanel from './SortPanel.vue'\n\n// Dialog ve @dnd-kit yalnızca Columns ilk açılışta yüklenir; sonra bağlı kalır (odak dönüşü).\nconst ColumnsDialog = defineAsyncComponent(() => import('./ColumnsDialog.vue'))\nconst columnsUsed = ref(false)\n\nconst props = defineProps<{\n density: Density\n columns: PanelColumn[]\n counts: { shown: number; total: number }\n sort: SortRule[]\n persistent: boolean\n refresh: boolean\n /** Export menü etiketi (\"Export 100 rows\" / \"Export 3 selected rows\"); false → yok. */\n export: string | false\n import: boolean\n print: boolean\n autoRefresh: boolean\n autoRefreshOn: boolean\n}>()\nconst emit = defineEmits<{\n 'update:density': [density: Density]\n 'columns-save': [draft: ColumnsDraft]\n 'sort-dir': [column: string, dir: 'asc' | 'desc']\n 'sort-remove': [column: string]\n 'sort-clear': []\n reset: []\n refresh: []\n export: [format: 'csv' | 'xlsx']\n import: []\n print: []\n 'update:autoRefreshOn': [on: boolean]\n}>()\nconst { i18n } = useDataTableContext()\nconst open = ref(false)\nconst level = ref<'main' | 'density' | 'sort' | 'export'>('main')\nconst columnsOpen = ref(false)\nconst trigger = ref<HTMLButtonElement | null>(null)\nconst focusTrigger = (e: Event) => {\n e.preventDefault()\n trigger.value?.focus()\n}\nwatch(open, (o) => {\n if (!o) level.value = 'main'\n})\nconst DENSITIES: Density[] = ['comfortable', 'standard', 'compact']\nconst TITLES = {\n main: 'toolbar.more',\n density: 'display.density',\n sort: 'display.sort',\n export: 'sheet.export',\n} as const\nconst headerOf = (id: string) => props.columns.find((c) => c.id === id)?.def.header ?? id\nconst sortSummary = computed(() => {\n const first = props.sort[0]\n if (!first) return i18n.t('common.empty')\n const more = props.sort.length > 1 ? ` +${props.sort.length - 1}` : ''\n return `${headerOf(first.column)} ${first.dir === 'asc' ? '↑' : '↓'}${more}`\n})\nconst hasActions = computed(() => props.export || props.import || props.print || props.refresh || props.autoRefresh)\nconst close = (fn: () => void) => {\n open.value = false\n fn()\n}\nconst setDensity = (d: Density) => {\n emit('update:density', d)\n level.value = 'main'\n}\n</script>\n\n<template>\n <Layer\n v-model:open=\"open\"\n sheet\n content-class=\"dt-more-sheet\"\n :title=\"i18n.t(TITLES[level])\"\n :hide-title=\"level === 'main'\"\n >\n <template #trigger>\n <button ref=\"trigger\" type=\"button\" class=\"dt-btn dt-btn-icon dt-more-trigger\" :aria-label=\"i18n.t('toolbar.more')\">\n <PhDotsThree :size=\"20\" weight=\"bold\" aria-hidden=\"true\" />\n </button>\n </template>\n <template v-if=\"level !== 'main'\" #head-start>\n <button type=\"button\" class=\"dt-bsheet-back\" :aria-label=\"i18n.t('common.back')\" @click=\"level = 'main'\">\n <PhCaretLeft :size=\"20\" aria-hidden=\"true\" />\n </button>\n </template>\n\n <template v-if=\"level === 'main'\">\n <div class=\"dt-bsheet-label\">{{ i18n.t('toolbar.display') }}</div>\n <button type=\"button\" class=\"dt-bsheet-row\" @click=\"level = 'density'\">\n {{ i18n.t('display.density') }}\n <span class=\"dt-bsheet-value\">{{ i18n.t(`display.${density}`) }}</span>\n <PhCaretRight :size=\"16\" aria-hidden=\"true\" />\n </button>\n <button type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => (columnsUsed = columnsOpen = true))\">\n {{ i18n.t('display.columns') }}\n <span class=\"dt-bsheet-value\">{{ i18n.t('columns.shownOf', counts) }}</span>\n <PhCaretRight :size=\"16\" aria-hidden=\"true\" />\n </button>\n <button type=\"button\" class=\"dt-bsheet-row\" @click=\"level = 'sort'\">\n {{ i18n.t('display.sort') }}\n <span class=\"dt-bsheet-value\">{{ sortSummary }}</span>\n <PhCaretRight :size=\"16\" aria-hidden=\"true\" />\n </button>\n <div v-if=\"hasActions\" class=\"dt-bsheet-sep\" />\n <button v-if=\"$props.export\" type=\"button\" class=\"dt-bsheet-row\" @click=\"level = 'export'\">\n {{ $props.export }}\n <PhCaretRight :size=\"16\" class=\"dt-bsheet-end\" aria-hidden=\"true\" />\n </button>\n <button v-if=\"$props.import\" type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => emit('import'))\">\n {{ i18n.t('toolbar.import') }}\n </button>\n <button v-if=\"print\" type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => emit('print'))\">\n {{ i18n.t('toolbar.print') }}\n </button>\n <button v-if=\"refresh\" type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => emit('refresh'))\">\n {{ i18n.t('toolbar.refresh') }}\n </button>\n <label v-if=\"autoRefresh\" class=\"dt-bsheet-row\">\n {{ i18n.t('toolbar.autoRefresh') }}\n <SwitchRoot\n class=\"dt-switch dt-bsheet-end\"\n :model-value=\"autoRefreshOn\"\n @update:model-value=\"(v) => emit('update:autoRefreshOn', v)\"\n >\n <SwitchThumb class=\"dt-switch-thumb\" />\n </SwitchRoot>\n </label>\n <div class=\"dt-bsheet-note\">\n <span>{{ persistent ? i18n.t('display.savedForYou') : '' }}</span>\n <button type=\"button\" class=\"dt-bsheet-action\" @click=\"emit('reset')\">{{ i18n.t('common.reset') }}</button>\n </div>\n </template>\n\n <template v-else-if=\"level === 'density'\">\n <button v-for=\"d in DENSITIES\" :key=\"d\" type=\"button\" class=\"dt-bsheet-row\" @click=\"setDensity(d)\">\n {{ i18n.t(`display.${d}`) }}\n <PhCheck v-if=\"d === density\" :size=\"18\" class=\"dt-bsheet-end dt-bsheet-check\" aria-hidden=\"true\" />\n </button>\n </template>\n\n <SortPanel\n v-else-if=\"level === 'sort'\"\n :sort=\"sort\"\n :header-of=\"headerOf\"\n @sort-dir=\"(c, d) => emit('sort-dir', c, d)\"\n @sort-remove=\"(c) => emit('sort-remove', c)\"\n @sort-clear=\"emit('sort-clear')\"\n />\n\n <template v-else>\n <button type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => emit('export', 'csv'))\">\n {{ i18n.t('toolbar.csv') }}\n </button>\n <button type=\"button\" class=\"dt-bsheet-row\" @click=\"close(() => emit('export', 'xlsx'))\">\n {{ i18n.t('toolbar.xlsx') }}\n </button>\n </template>\n </Layer>\n <ColumnsDialog\n v-if=\"columnsUsed\"\n v-model:open=\"columnsOpen\"\n phone\n :columns=\"columns\"\n @save=\"(d) => emit('columns-save', d)\"\n @close-auto-focus=\"focusTrigger\"\n />\n</template>\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { B as e, R as t, W as n, z as r } from "./query-DQWMlX0m.js";
2
- import { i } from "./plugin-DhgcjEdi.js";
1
+ import { I as e, L as t, R as n, W as r, Y as i } from "./query-CGNWUi2E.js";
3
2
  import { Fragment as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, normalizeClass as m, normalizeStyle as h, onBeforeUnmount as g, onMounted as _, openBlock as v, ref as y, renderList as b, toDisplayString as x, unref as S, vModelText as C, watch as w, withCtx as T, withDirectives as E, withKeys as D, withModifiers as O } from "vue";
4
3
  import { PhBracketsCurly as k, PhCalendarBlank as A, PhCheckSquare as j, PhClock as M, PhCreditCard as N, PhEnvelope as P, PhHash as F, PhLink as I, PhLinkSimple as L, PhListBullets as R, PhListChecks as z, PhMagnifyingGlass as B, PhPalette as V, PhPercent as H, PhPhone as U, PhRadioButton as W, PhStar as G, PhTextAlignLeft as K, PhTextT as q, PhUser as J } from "@phosphor-icons/vue";
5
4
  import { ToggleGroupItem as Y, ToggleGroupRoot as X } from "reka-ui";
@@ -51,38 +50,38 @@ var Z = {
51
50
  "update:currency",
52
51
  "done"
53
52
  ],
54
- setup(e, { emit: n }) {
55
- let r = e, f = n, { i18n: p, locale: h } = i(), k = o(() => r.op === "between"), A = new Intl.NumberFormat(h, { maximumFractionDigits: 6 }), j = (e) => typeof e == "number" && Number.isFinite(e) ? A.format(e) : "", M = () => {
56
- let e = r.modelValue;
53
+ setup(t, { emit: n }) {
54
+ let i = t, f = n, { i18n: p, locale: h } = r(), k = o(() => i.op === "between"), A = new Intl.NumberFormat(h, { maximumFractionDigits: 6 }), j = (e) => typeof e == "number" && Number.isFinite(e) ? A.format(e) : "", M = () => {
55
+ let e = i.modelValue;
57
56
  return k.value ? [j(Array.isArray(e) ? e[0] : void 0), j(Array.isArray(e) ? e[1] : void 0)] : [j(e), ""];
58
57
  }, [N, P] = M(), F = y(N ?? ""), I = y(P ?? "");
59
- w(() => [r.modelValue, r.op], () => {
60
- let [e, n] = M();
61
- t(h, F.value) !== t(h, e ?? "") && (F.value = e ?? ""), t(h, I.value) !== t(h, n ?? "") && (I.value = n ?? "");
58
+ w(() => [i.modelValue, i.op], () => {
59
+ let [t, n] = M();
60
+ e(h, F.value) !== e(h, t ?? "") && (F.value = t ?? ""), e(h, I.value) !== e(h, n ?? "") && (I.value = n ?? "");
62
61
  });
63
62
  let L = y(null);
64
63
  _(() => L.value?.focus());
65
64
  let R = () => {
66
- let e = t(h, F.value);
65
+ let t = e(h, F.value);
67
66
  if (k.value) {
68
- let n = t(h, I.value);
69
- f("update:modelValue", e === null && n === null ? void 0 : [e, n]);
70
- } else f("update:modelValue", e ?? void 0);
67
+ let n = e(h, I.value);
68
+ f("update:modelValue", t === null && n === null ? void 0 : [t, n]);
69
+ } else f("update:modelValue", t ?? void 0);
71
70
  }, z, B = () => {
72
71
  clearTimeout(z), z = setTimeout(R, 250);
73
72
  }, V = () => {
74
73
  clearTimeout(z), R(), f("done");
75
74
  };
76
75
  g(() => clearTimeout(z));
77
- let H = r.column.type === "percentage" ? "%" : "";
78
- return (t, n) => (v(), l("div", Q, [e.currencies.length > 1 ? (v(), s(S(X), {
76
+ let H = i.column.type === "percentage" ? "%" : "";
77
+ return (e, n) => (v(), l("div", Q, [t.currencies.length > 1 ? (v(), s(S(X), {
79
78
  key: 0,
80
79
  class: "dt-seg dt-seg-xs",
81
80
  type: "single",
82
- "model-value": e.currency,
81
+ "model-value": t.currency,
83
82
  "onUpdate:modelValue": n[0] ||= (e) => e && f("update:currency", String(e))
84
83
  }, {
85
- default: T(() => [(v(!0), l(a, null, b(e.currencies, (e) => (v(), s(S(Y), {
84
+ default: T(() => [(v(!0), l(a, null, b(t.currencies, (e) => (v(), s(S(Y), {
86
85
  key: e,
87
86
  class: "dt-seg-item",
88
87
  value: e
@@ -137,12 +136,12 @@ var Z = {
137
136
  labels: {}
138
137
  },
139
138
  emits: ["update:modelValue", "unassigned"],
140
- setup(t, { emit: p }) {
141
- let _ = t, T = p, { i18n: D } = i(), k = o(() => _.column), A = o(() => k.value.type === "ajax" || k.value.type === "user" ? k.value.remote : void 0), j = o(() => k.value.type === "user"), M = y(""), N = () => {
139
+ setup(e, { emit: p }) {
140
+ let _ = e, T = p, { i18n: D } = r(), k = o(() => _.column), A = o(() => k.value.type === "ajax" || k.value.type === "user" ? k.value.remote : void 0), j = o(() => k.value.type === "user"), M = y(""), N = () => {
142
141
  let e = /* @__PURE__ */ new Set();
143
142
  for (let t of _.rows) {
144
- let r = k.value.accessor ? k.value.accessor(t) : n(t, k.value.id);
145
- for (let t of Array.isArray(r) ? r : [r]) t != null && t !== "" && e.add(t);
143
+ let n = k.value.accessor ? k.value.accessor(t) : i(t, k.value.id);
144
+ for (let t of Array.isArray(n) ? n : [n]) t != null && t !== "" && e.add(t);
146
145
  }
147
146
  return [...e].sort((e, t) => String(e).localeCompare(String(t))).map((e) => ({
148
147
  value: e,
@@ -188,11 +187,11 @@ var Z = {
188
187
  "select",
189
188
  "multiselect",
190
189
  "user"
191
- ].includes(k.value.type)), $ = (t) => k.value.type === "user" ? [
192
- r(t.o),
190
+ ].includes(k.value.type)), $ = (e) => k.value.type === "user" ? [
191
+ t(e.o),
193
192
  " ",
194
- t.o.label
195
- ] : e(t.o.tone ?? "gray", t.o.label);
193
+ e.o.label
194
+ ] : n(e.o.tone ?? "gray", e.o.label);
196
195
  return (e, t) => (v(), l("div", ue, [G.value ? (v(), l("label", de, [u("span", fe, [f(S(B), {
197
196
  size: 14,
198
197
  "aria-hidden": "true"
@@ -328,4 +327,4 @@ var Z = {
328
327
  //#endregion
329
328
  export { Z as a, le as i, Ae as n, De as r, Ne as t };
330
329
 
331
- //# sourceMappingURL=TextEditor-DPqiiRau.js.map
330
+ //# sourceMappingURL=TextEditor-CHLM6u-l.js.map