@medyat/react-data-table 0.1.0 → 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/README.md +30 -7
- package/dist/{bottom-sheet-NHUT908D.js → bottom-sheet-BMVYPFta.js} +3 -3
- package/dist/{bottom-sheet-NHUT908D.js.map → bottom-sheet-BMVYPFta.js.map} +1 -1
- package/dist/columns-dialog-Dv6KDZpP.js +419 -0
- package/dist/{columns-dialog-COcldc3X.js.map → columns-dialog-Dv6KDZpP.js.map} +1 -1
- package/dist/{date-editor-CJFd5YEo.js → date-editor-CxGAEK_C.js} +2 -2
- package/dist/{date-editor-CJFd5YEo.js.map → date-editor-CxGAEK_C.js.map} +1 -1
- package/dist/{filters-sheet-CWzMaMFo.js → filters-sheet-DAf-n-Nv.js} +3 -3
- package/dist/{filters-sheet-CWzMaMFo.js.map → filters-sheet-DAf-n-Nv.js.map} +1 -1
- package/dist/index.d.ts +31 -4
- package/dist/index.js +1657 -1556
- package/dist/index.js.map +1 -1
- package/dist/{provider-CTTHEpE3.js → provider-BgZBSzsH.js} +28 -4
- package/dist/provider-BgZBSzsH.js.map +1 -0
- package/dist/sortable-rows-DR8aAZrB.js +111 -0
- package/dist/sortable-rows-DR8aAZrB.js.map +1 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/columns-dialog-COcldc3X.js +0 -419
- package/dist/provider-CTTHEpE3.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-editor-CJFd5YEo.js","names":["CaretDownIcon","CaretLeftIcon","CaretRightIcon","CheckIcon","useEffect","useRef","useState","DayPicker","DayButtonProps","DatePreset","FilterOp","isoDay","resolvePreset","weekStart","useDataTableContext","PRESETS","dayOf","v","Date","test","undefined","y","m","d","slice","split","map","Number","DAY_OFFSETS","ordered","a","b","from","to","View","Cell","key","label","aria","today","selected","pick","PickGrid","t0","$","_c","cells","onBack","t1","find","_temp","_temp2","focus","t2","Symbol","for","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","STEP","t3","e","stopPropagation","step","preventDefault","buttons","currentTarget","querySelectorAll","i","indexOf","document","activeElement","HTMLButtonElement","Math","min","length","max","t4","t5","c_1","c","c_0","Day","day","modifiers","props","ref","focused","current","name","on","date","t6","t7","t8","t9","t10","DateEditor","op","value","onChange","onDone","i18n","locale","range","obj","Record","single","anchor","setAnchor","hover","setHover","getFullYear","getMonth","month","setMonth","view","setView","title","nextOp","back","full","heading","monthFmt","onDay","selection","shift","weekday","weekdayLong","now","applyPreset","p","r","t11","p_0","r_0","presetOn","relative","Intl","RelativeTimeFormat","numeric","dayAt","n","getDate","dayName","n_0","s","format","charAt","toLocaleUpperCase","t12","r_1","t13","mode","const","t14","band","t15","dtBand","dtStart","dtEnd","t16","DateTimeFormat","dateStyle","t17","t18","year","first","shown","n_1","monthShort","yearFmt","Array","_","__0","i_0","presetItem","_temp3","p_1","t","n_2","String","t19","t20","t21","t22","t23","t24","t25","t26","root","month_grid","day_button","MonthCaption","_temp4","DayButton","t27","t28","t29","d_0","d_1","t30","formatWeekdayName","d_2","t31","d_3","t32","d_4","t33","d_5","t34","labelDayButton","labelGrid","labelWeekday","t35","_temp5","t36","t37","t38","t39","t40","onClick","_c","_Fragment","isoDay","resolvePreset","weekStart","useDataTableContext","Fragment$1","PRESETS","dayOf","v","y","m","d","DAY_OFFSETS","ordered","a","b","PickGrid","$","c","t0","t1","cells","_temp","_temp2","focus","t2","STEP","t3","onBack","step","buttons","i","t4","t5","c_1","c_0","Day","day","modifiers","props","ref","useRef","useEffect","name","on","t6","t7","t8","t9","t10","DateEditor","range","op","obj","value","from","to","single","anchor","setAnchor","useState","hover","setHover","month","setMonth","view","setView","title","onChange","onDone","nextOp","pick","back","full","heading","monthFmt","onDay","selection","shift","weekday","weekdayLong","i18n","locale","now","today","applyPreset","r","p","t11","r_0","p_0","presetOn","relative","dayAt","n","dayName","s","n_0","t12","r_1","t13","t14","band","t15","t16","t17","t18","first","shown","n_1","monthShort","yearFmt","i_0","presetItem","_temp3","p_1","n_2","CaretDownIcon","CaretLeftIcon","t19","CaretRightIcon","t20","t21","t22","t23","t24","t25","t26","_temp4","t27","t28","t29","d_0","d_1","t30","d_2","t31","d_3","t32","d_4","t33","d_5","t34","t35","DayPicker","_temp5","t36","t37","t38","t39","t40","label","CheckIcon","key"],"sources":["../src/core/editors/date-editor.tsx"],"sourcesContent":["// Tarih editörü (04 §3, T2-04): `within` → solda hazır aralıklar, sağda aralık takvimi; `eq/before/after` → bugün, dün,\n// evvelsi gün, yarın, öbür gün + tek takvim. Hazır tıklanınca uygulanır ve kapanır; takvimde aralık ikinci uç seçilince. Hafta başı yerel ayardan.\n// Vue'dan sapma: hazır aralık göreli kalmaz, seçildiği günün tarihleriyle yazılır (çip ve görünüm sabit tarih taşır);\n// başlangıcı olmayan Overdue `before <bugün>` olur. Custom range düğmesi yok: takvim her zaman aralık seçer.\n// Takvim react-day-picker (R10); gün düğmesi Vue paketindeki reka takviminin nitelikleriyle çizilir. Başlık editörün:\n// tıklanınca gün → ay → yıl ızgarası açılır (hızlı gezinme), seçim bir alt görünüme döner. Izgara gizlenen gün takviminin\n// üstüne oturur, popover boyu oynamaz. Ay, gün adı ve okunuşlar Intl'den. Tembel yüklenir (FilterChip).\nimport { CaretDownIcon, CaretLeftIcon, CaretRightIcon, CheckIcon } from '@phosphor-icons/react'\nimport { useEffect, useRef, useState } from 'react'\nimport { DayPicker, type DayButtonProps } from 'react-day-picker'\nimport type { DatePreset, FilterOp } from '../../types/query'\nimport { isoDay, resolvePreset, weekStart } from '../filters/model'\nimport { useDataTableContext } from '../provider'\n\nconst PRESETS: DatePreset[] = [\n 'today',\n 'this_week',\n 'next_7_days',\n 'this_month',\n 'last_30_days',\n 'this_quarter',\n 'overdue',\n]\n\n/** 'Y-m-d' → yerel gün; `new Date(text)` UTC okur ve günü kaydırır. */\nfunction dayOf(v: unknown): Date | undefined {\n if (typeof v !== 'string' || !/^\\d{4}-\\d{2}-\\d{2}/.test(v)) return undefined\n const [y, m, d] = v.slice(0, 10).split('-').map(Number)\n return new Date(y!, m! - 1, d!)\n}\n/** Tek gün hazırları: bugünden gün farkı; adları Intl'den (tr: bugün, dün, evvelsi gün, yarın, öbür gün). */\nconst DAY_OFFSETS = [0, -1, -2, 1, 2]\nconst ordered = (a: Date, b: Date) => (a <= b ? { from: a, to: b } : { from: b, to: a })\n\ntype View = 'days' | 'months' | 'years'\ninterface Cell {\n key: number\n label: string\n aria: string\n today: boolean\n selected: boolean\n pick: () => void\n}\n\n/** Ay ya da yıl ızgarası (3 × 4): oklar odağı taşır, Esc bir üst görünüme döner; açılınca seçili (yoksa bugünkü) hücre odakta. */\nfunction PickGrid({ cells, onBack }: { cells: Cell[]; onBack: () => void }) {\n const focus = cells.find((c) => c.selected) ?? cells.find((c) => c.today) ?? cells[0]!\n const STEP: Record<string, number> = { ArrowLeft: -1, ArrowRight: 1, ArrowUp: -3, ArrowDown: 3 }\n return (\n <div\n className=\"dt-cal-pick\"\n role=\"group\"\n onKeyDown={(e) => {\n if (e.key === 'Escape') {\n // Popover'ı kapatmasın: Esc önce görünümden çıkar.\n e.stopPropagation()\n return onBack()\n }\n const step = STEP[e.key]\n if (!step) return\n e.preventDefault()\n const buttons = [...e.currentTarget.querySelectorAll('button')]\n const i = buttons.indexOf(document.activeElement as HTMLButtonElement)\n buttons[Math.min(buttons.length - 1, Math.max(0, i + step))]?.focus()\n }}\n >\n {cells.map((c) => (\n <button\n key={c.key}\n type=\"button\"\n className=\"dt-cal-day\"\n aria-label={c.aria}\n aria-pressed={c.selected}\n autoFocus={c === focus}\n data-today={c.today ? '' : undefined}\n data-selected={c.selected ? '' : undefined}\n onClick={c.pick}\n >\n {c.label}\n </button>\n ))}\n </div>\n )\n}\n\n/** Gün düğmesi: durumlar reka adlarıyla (`data-selected`, `data-selection-start` …); aralık bandı hücrede (`is-band`). */\nfunction Day({ day, modifiers, ...props }: DayButtonProps) {\n const ref = useRef<HTMLButtonElement>(null)\n // Klavye gezinmesinde odak DayPicker'ın `focused` işaretiyle taşınır; özel düğme bunu kendisi yapar.\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus()\n }, [modifiers.focused])\n const on = (name: string) => (modifiers[name] ? '' : undefined)\n return (\n <button\n ref={ref}\n {...props}\n data-value={isoDay(day.date)}\n data-today={on('today')}\n data-outside-view={on('outside')}\n data-selected={on('selected')}\n data-selection-start={on('dtStart')}\n data-selection-end={on('dtEnd')}\n />\n )\n}\n\nexport default function DateEditor({\n op,\n value,\n onChange,\n onDone,\n}: {\n op: FilterOp\n value: unknown\n /** `op` yalnızca Overdue'da verilir: aralık `before`'a döner. */\n onChange: (value: unknown, op?: FilterOp) => void\n onDone: () => void\n}) {\n const { i18n, locale } = useDataTableContext()\n const range = op === 'within'\n const obj = value && typeof value === 'object' ? (value as Record<string, unknown>) : null\n const from = dayOf(obj?.from)\n const to = dayOf(obj?.to)\n const single = dayOf(value)\n // Özel aralıkta ilk uç seçildi, ikincisi bekleniyor; fare ya da odak önizleme aralığını çizer.\n const [anchor, setAnchor] = useState<Date | null>(null)\n const [hover, setHover] = useState<Date | null>(null)\n const [month, setMonth] = useState(() => {\n const d = (range ? from : single) ?? new Date()\n return new Date(d.getFullYear(), d.getMonth(), 1)\n })\n const [view, setView] = useState<View>('days')\n const title = useRef<HTMLButtonElement>(null)\n\n const pick = (v: unknown, nextOp?: FilterOp) => {\n onChange(v, nextOp)\n onDone()\n }\n const now = new Date()\n const today = isoDay(now)\n const applyPreset = (p: DatePreset) => {\n const r = resolvePreset(p, locale)\n if (r.from === null) pick(today, 'before')\n else pick(r)\n }\n // Değer hazır aralığın bugünkü tarihleriyle aynıysa o aralık işaretli görünür.\n const presetOn = (p: DatePreset) => {\n const r = resolvePreset(p, locale)\n return r.from !== null && obj?.from === r.from && obj?.to === r.to\n }\n const relative = new Intl.RelativeTimeFormat(locale, { numeric: 'auto' })\n const dayAt = (n: number) => isoDay(new Date(now.getFullYear(), now.getMonth(), now.getDate() + n))\n const dayName = (n: number) => {\n const s = relative.format(n, 'day')\n return s.charAt(0).toLocaleUpperCase(locale) + s.slice(1)\n }\n const onDay = (day: Date) => {\n if (!range) return pick(isoDay(day))\n if (!anchor) {\n setAnchor(day)\n setHover(day)\n return\n }\n const r = ordered(anchor, day)\n setAnchor(null)\n pick({ from: isoDay(r.from), to: isoDay(r.to) })\n }\n // Seçim `mode` ile verilir ki Tab takvimde seçili güne (yoksa bugüne) girsin; tıklamayı `onDayClick` yönetir, bu yüzden\n // `onSelect` boştur ve seçim tamamen kontrollüdür.\n const selection = range\n ? {\n mode: 'range' as const,\n selected: anchor ? { from: anchor, to: undefined } : from && to ? { from, to } : undefined,\n }\n : { mode: 'single' as const, selected: single }\n // Bant: kaydedilmiş aralık ya da ikinci uç beklenirken önizleme; hücreye çizilir ki günler arasında kesilmesin.\n const band = anchor && hover ? ordered(anchor, hover) : from && to ? { from, to } : undefined\n const modifiers = range\n ? {\n dtBand: band,\n dtStart: band?.from,\n dtEnd: band?.to,\n }\n : {}\n const full = new Intl.DateTimeFormat(locale, { dateStyle: 'full' })\n const weekday = new Intl.DateTimeFormat(locale, { weekday: 'short' })\n const weekdayLong = new Intl.DateTimeFormat(locale, { weekday: 'long' })\n const monthFmt = new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' })\n const y = month.getFullYear()\n const m = month.getMonth()\n const first = y - (y % 12)\n const shown = range ? from : single\n const shift = (n: number) =>\n setMonth(new Date(view === 'years' ? y + 12 * n : view === 'months' ? y + n : y, view === 'days' ? m + n : m, 1))\n const back = () => {\n setView(view === 'years' ? 'months' : 'days')\n title.current?.focus()\n }\n const monthShort = new Intl.DateTimeFormat(locale, { month: 'short' })\n const yearFmt = new Intl.DateTimeFormat(locale, { year: 'numeric' })\n const cells: Cell[] =\n view === 'months'\n ? Array.from({ length: 12 }, (_, i) => ({\n key: i,\n label: monthShort.format(new Date(y, i, 1)),\n aria: monthFmt.format(new Date(y, i, 1)),\n today: now.getFullYear() === y && now.getMonth() === i,\n selected: shown?.getFullYear() === y && shown.getMonth() === i,\n pick: () => {\n setMonth(new Date(y, i, 1))\n back()\n },\n }))\n : Array.from({ length: 12 }, (_, i) => ({\n key: first + i,\n label: yearFmt.format(new Date(first + i, 0, 1)),\n aria: yearFmt.format(new Date(first + i, 0, 1)),\n today: now.getFullYear() === first + i,\n selected: shown?.getFullYear() === first + i,\n pick: () => {\n setMonth(new Date(first + i, m, 1))\n setView('months')\n },\n }))\n const heading =\n view === 'days'\n ? monthFmt.format(new Date(y, m, 1))\n : view === 'months'\n ? yearFmt.format(new Date(y, 0, 1))\n : `${yearFmt.format(new Date(first, 0, 1))} – ${yearFmt.format(new Date(first + 11, 0, 1))}`\n const presetItem = (key: string, label: string, on: boolean, onClick: () => void) => (\n <button\n key={key}\n type=\"button\"\n className={on ? 'dt-pop-item dt-date-preset is-on' : 'dt-pop-item dt-date-preset'}\n onClick={onClick}\n >\n {label}\n {on && <CheckIcon size={14} className=\"dt-pop-end\" aria-hidden=\"true\" />}\n </button>\n )\n\n return (\n <div className=\"dt-editor-date\">\n <div className=\"dt-date-presets\">\n {range\n ? PRESETS.map((p) => presetItem(p, i18n.t(`date.${p}`), presetOn(p), () => applyPreset(p)))\n : DAY_OFFSETS.map((n) => presetItem(String(n), dayName(n), value === dayAt(n), () => pick(dayAt(n))))}\n </div>\n <div className=\"dt-calendar\">\n <div className=\"dt-cal-head\">\n {view === 'years' ? (\n <span className=\"dt-cal-title\">{heading}</span>\n ) : (\n <button\n ref={title}\n type=\"button\"\n className=\"dt-cal-title\"\n onClick={() => setView(view === 'days' ? 'months' : 'years')}\n >\n {heading}\n <CaretDownIcon size={12} aria-hidden=\"true\" />\n </button>\n )}\n <button\n type=\"button\"\n className=\"dt-icon-btn-sm\"\n aria-label={i18n.t('page.previous')}\n onClick={() => shift(-1)}\n >\n <CaretLeftIcon size={16} aria-hidden=\"true\" />\n </button>\n <button type=\"button\" className=\"dt-icon-btn-sm\" aria-label={i18n.t('page.next')} onClick={() => shift(1)}>\n <CaretRightIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n <div className=\"dt-cal-body\">\n <div className={view === 'days' ? undefined : 'dt-cal-hidden'} inert={view !== 'days'}>\n <DayPicker\n classNames={{\n root: 'dt-cal-days',\n month_grid: 'dt-cal-grid',\n weekday: 'dt-cal-dow',\n day: 'dt-cal-cell',\n day_button: 'dt-cal-day',\n }}\n modifiersClassNames={{ dtBand: 'is-band', dtStart: 'is-band-start', dtEnd: 'is-band-end' }}\n components={{ MonthCaption: () => <></>, DayButton: Day }}\n {...selection}\n onSelect={() => {}}\n hideNavigation\n showOutsideDays\n fixedWeeks\n weekStartsOn={(weekStart(locale) % 7) as 0 | 1 | 2 | 3 | 4 | 5 | 6}\n month={month}\n onMonthChange={setMonth}\n modifiers={modifiers}\n onDayClick={onDay}\n onDayMouseEnter={(d) => anchor && setHover(d)}\n onDayFocus={(d) => anchor && setHover(d)}\n formatters={{ formatWeekdayName: (d) => weekday.format(d) }}\n labels={{\n labelDayButton: (d) => full.format(d),\n labelGrid: (d) => monthFmt.format(d),\n labelWeekday: (d) => weekdayLong.format(d),\n }}\n />\n </div>\n {view !== 'days' && <PickGrid key={view} cells={cells} onBack={back} />}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-editor-CxGAEK_C.js","names":["CaretDownIcon","CaretLeftIcon","CaretRightIcon","CheckIcon","useEffect","useRef","useState","DayPicker","DayButtonProps","DatePreset","FilterOp","isoDay","resolvePreset","weekStart","useDataTableContext","PRESETS","dayOf","v","Date","test","undefined","y","m","d","slice","split","map","Number","DAY_OFFSETS","ordered","a","b","from","to","View","Cell","key","label","aria","today","selected","pick","PickGrid","t0","$","_c","cells","onBack","t1","find","_temp","_temp2","focus","t2","Symbol","for","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","STEP","t3","e","stopPropagation","step","preventDefault","buttons","currentTarget","querySelectorAll","i","indexOf","document","activeElement","HTMLButtonElement","Math","min","length","max","t4","t5","c_1","c","c_0","Day","day","modifiers","props","ref","focused","current","name","on","date","t6","t7","t8","t9","t10","DateEditor","op","value","onChange","onDone","i18n","locale","range","obj","Record","single","anchor","setAnchor","hover","setHover","getFullYear","getMonth","month","setMonth","view","setView","title","nextOp","back","full","heading","monthFmt","onDay","selection","shift","weekday","weekdayLong","now","applyPreset","p","r","t11","p_0","r_0","presetOn","relative","Intl","RelativeTimeFormat","numeric","dayAt","n","getDate","dayName","n_0","s","format","charAt","toLocaleUpperCase","t12","r_1","t13","mode","const","t14","band","t15","dtBand","dtStart","dtEnd","t16","DateTimeFormat","dateStyle","t17","t18","year","first","shown","n_1","monthShort","yearFmt","Array","_","__0","i_0","presetItem","_temp3","p_1","t","n_2","String","t19","t20","t21","t22","t23","t24","t25","t26","root","month_grid","day_button","MonthCaption","_temp4","DayButton","t27","t28","t29","d_0","d_1","t30","formatWeekdayName","d_2","t31","d_3","t32","d_4","t33","d_5","t34","labelDayButton","labelGrid","labelWeekday","t35","_temp5","t36","t37","t38","t39","t40","onClick","_c","_Fragment","isoDay","resolvePreset","weekStart","useDataTableContext","Fragment$1","PRESETS","dayOf","v","y","m","d","DAY_OFFSETS","ordered","a","b","PickGrid","$","c","t0","t1","cells","_temp","_temp2","focus","t2","STEP","t3","onBack","step","buttons","i","t4","t5","c_1","c_0","Day","day","modifiers","props","ref","useRef","useEffect","name","on","t6","t7","t8","t9","t10","DateEditor","range","op","obj","value","from","to","single","anchor","setAnchor","useState","hover","setHover","month","setMonth","view","setView","title","onChange","onDone","nextOp","pick","back","full","heading","monthFmt","onDay","selection","shift","weekday","weekdayLong","i18n","locale","now","today","applyPreset","r","p","t11","r_0","p_0","presetOn","relative","dayAt","n","dayName","s","n_0","t12","r_1","t13","t14","band","t15","t16","t17","t18","first","shown","n_1","monthShort","yearFmt","i_0","presetItem","_temp3","p_1","n_2","CaretDownIcon","CaretLeftIcon","t19","CaretRightIcon","t20","t21","t22","t23","t24","t25","t26","_temp4","t27","t28","t29","d_0","d_1","t30","d_2","t31","d_3","t32","d_4","t33","d_5","t34","t35","DayPicker","_temp5","t36","t37","t38","t39","t40","label","CheckIcon","key"],"sources":["../src/core/editors/date-editor.tsx"],"sourcesContent":["// Tarih editörü (04 §3, T2-04): `within` → solda hazır aralıklar, sağda aralık takvimi; `eq/before/after` → bugün, dün,\n// evvelsi gün, yarın, öbür gün + tek takvim. Hazır tıklanınca uygulanır ve kapanır; takvimde aralık ikinci uç seçilince. Hafta başı yerel ayardan.\n// Vue'dan sapma: hazır aralık göreli kalmaz, seçildiği günün tarihleriyle yazılır (çip ve görünüm sabit tarih taşır);\n// başlangıcı olmayan Overdue `before <bugün>` olur. Custom range düğmesi yok: takvim her zaman aralık seçer.\n// Takvim react-day-picker (R10); gün düğmesi Vue paketindeki reka takviminin nitelikleriyle çizilir. Başlık editörün:\n// tıklanınca gün → ay → yıl ızgarası açılır (hızlı gezinme), seçim bir alt görünüme döner. Izgara gizlenen gün takviminin\n// üstüne oturur, popover boyu oynamaz. Ay, gün adı ve okunuşlar Intl'den. Tembel yüklenir (FilterChip).\nimport { CaretDownIcon, CaretLeftIcon, CaretRightIcon, CheckIcon } from '@phosphor-icons/react'\nimport { useEffect, useRef, useState } from 'react'\nimport { DayPicker, type DayButtonProps } from 'react-day-picker'\nimport type { DatePreset, FilterOp } from '../../types/query'\nimport { isoDay, resolvePreset, weekStart } from '../filters/model'\nimport { useDataTableContext } from '../provider'\n\nconst PRESETS: DatePreset[] = [\n 'today',\n 'this_week',\n 'next_7_days',\n 'this_month',\n 'last_30_days',\n 'this_quarter',\n 'overdue',\n]\n\n/** 'Y-m-d' → yerel gün; `new Date(text)` UTC okur ve günü kaydırır. */\nfunction dayOf(v: unknown): Date | undefined {\n if (typeof v !== 'string' || !/^\\d{4}-\\d{2}-\\d{2}/.test(v)) return undefined\n const [y, m, d] = v.slice(0, 10).split('-').map(Number)\n return new Date(y!, m! - 1, d!)\n}\n/** Tek gün hazırları: bugünden gün farkı; adları Intl'den (tr: bugün, dün, evvelsi gün, yarın, öbür gün). */\nconst DAY_OFFSETS = [0, -1, -2, 1, 2]\nconst ordered = (a: Date, b: Date) => (a <= b ? { from: a, to: b } : { from: b, to: a })\n\ntype View = 'days' | 'months' | 'years'\ninterface Cell {\n key: number\n label: string\n aria: string\n today: boolean\n selected: boolean\n pick: () => void\n}\n\n/** Ay ya da yıl ızgarası (3 × 4): oklar odağı taşır, Esc bir üst görünüme döner; açılınca seçili (yoksa bugünkü) hücre odakta. */\nfunction PickGrid({ cells, onBack }: { cells: Cell[]; onBack: () => void }) {\n const focus = cells.find((c) => c.selected) ?? cells.find((c) => c.today) ?? cells[0]!\n const STEP: Record<string, number> = { ArrowLeft: -1, ArrowRight: 1, ArrowUp: -3, ArrowDown: 3 }\n return (\n <div\n className=\"dt-cal-pick\"\n role=\"group\"\n onKeyDown={(e) => {\n if (e.key === 'Escape') {\n // Popover'ı kapatmasın: Esc önce görünümden çıkar.\n e.stopPropagation()\n return onBack()\n }\n const step = STEP[e.key]\n if (!step) return\n e.preventDefault()\n const buttons = [...e.currentTarget.querySelectorAll('button')]\n const i = buttons.indexOf(document.activeElement as HTMLButtonElement)\n buttons[Math.min(buttons.length - 1, Math.max(0, i + step))]?.focus()\n }}\n >\n {cells.map((c) => (\n <button\n key={c.key}\n type=\"button\"\n className=\"dt-cal-day\"\n aria-label={c.aria}\n aria-pressed={c.selected}\n autoFocus={c === focus}\n data-today={c.today ? '' : undefined}\n data-selected={c.selected ? '' : undefined}\n onClick={c.pick}\n >\n {c.label}\n </button>\n ))}\n </div>\n )\n}\n\n/** Gün düğmesi: durumlar reka adlarıyla (`data-selected`, `data-selection-start` …); aralık bandı hücrede (`is-band`). */\nfunction Day({ day, modifiers, ...props }: DayButtonProps) {\n const ref = useRef<HTMLButtonElement>(null)\n // Klavye gezinmesinde odak DayPicker'ın `focused` işaretiyle taşınır; özel düğme bunu kendisi yapar.\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus()\n }, [modifiers.focused])\n const on = (name: string) => (modifiers[name] ? '' : undefined)\n return (\n <button\n ref={ref}\n {...props}\n data-value={isoDay(day.date)}\n data-today={on('today')}\n data-outside-view={on('outside')}\n data-selected={on('selected')}\n data-selection-start={on('dtStart')}\n data-selection-end={on('dtEnd')}\n />\n )\n}\n\nexport default function DateEditor({\n op,\n value,\n onChange,\n onDone,\n}: {\n op: FilterOp\n value: unknown\n /** `op` yalnızca Overdue'da verilir: aralık `before`'a döner. */\n onChange: (value: unknown, op?: FilterOp) => void\n onDone: () => void\n}) {\n const { i18n, locale } = useDataTableContext()\n const range = op === 'within'\n const obj = value && typeof value === 'object' ? (value as Record<string, unknown>) : null\n const from = dayOf(obj?.from)\n const to = dayOf(obj?.to)\n const single = dayOf(value)\n // Özel aralıkta ilk uç seçildi, ikincisi bekleniyor; fare ya da odak önizleme aralığını çizer.\n const [anchor, setAnchor] = useState<Date | null>(null)\n const [hover, setHover] = useState<Date | null>(null)\n const [month, setMonth] = useState(() => {\n const d = (range ? from : single) ?? new Date()\n return new Date(d.getFullYear(), d.getMonth(), 1)\n })\n const [view, setView] = useState<View>('days')\n const title = useRef<HTMLButtonElement>(null)\n\n const pick = (v: unknown, nextOp?: FilterOp) => {\n onChange(v, nextOp)\n onDone()\n }\n const now = new Date()\n const today = isoDay(now)\n const applyPreset = (p: DatePreset) => {\n const r = resolvePreset(p, locale)\n if (r.from === null) pick(today, 'before')\n else pick(r)\n }\n // Değer hazır aralığın bugünkü tarihleriyle aynıysa o aralık işaretli görünür.\n const presetOn = (p: DatePreset) => {\n const r = resolvePreset(p, locale)\n return r.from !== null && obj?.from === r.from && obj?.to === r.to\n }\n const relative = new Intl.RelativeTimeFormat(locale, { numeric: 'auto' })\n const dayAt = (n: number) => isoDay(new Date(now.getFullYear(), now.getMonth(), now.getDate() + n))\n const dayName = (n: number) => {\n const s = relative.format(n, 'day')\n return s.charAt(0).toLocaleUpperCase(locale) + s.slice(1)\n }\n const onDay = (day: Date) => {\n if (!range) return pick(isoDay(day))\n if (!anchor) {\n setAnchor(day)\n setHover(day)\n return\n }\n const r = ordered(anchor, day)\n setAnchor(null)\n pick({ from: isoDay(r.from), to: isoDay(r.to) })\n }\n // Seçim `mode` ile verilir ki Tab takvimde seçili güne (yoksa bugüne) girsin; tıklamayı `onDayClick` yönetir, bu yüzden\n // `onSelect` boştur ve seçim tamamen kontrollüdür.\n const selection = range\n ? {\n mode: 'range' as const,\n selected: anchor ? { from: anchor, to: undefined } : from && to ? { from, to } : undefined,\n }\n : { mode: 'single' as const, selected: single }\n // Bant: kaydedilmiş aralık ya da ikinci uç beklenirken önizleme; hücreye çizilir ki günler arasında kesilmesin.\n const band = anchor && hover ? ordered(anchor, hover) : from && to ? { from, to } : undefined\n const modifiers = range\n ? {\n dtBand: band,\n dtStart: band?.from,\n dtEnd: band?.to,\n }\n : {}\n const full = new Intl.DateTimeFormat(locale, { dateStyle: 'full' })\n const weekday = new Intl.DateTimeFormat(locale, { weekday: 'short' })\n const weekdayLong = new Intl.DateTimeFormat(locale, { weekday: 'long' })\n const monthFmt = new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' })\n const y = month.getFullYear()\n const m = month.getMonth()\n const first = y - (y % 12)\n const shown = range ? from : single\n const shift = (n: number) =>\n setMonth(new Date(view === 'years' ? y + 12 * n : view === 'months' ? y + n : y, view === 'days' ? m + n : m, 1))\n const back = () => {\n setView(view === 'years' ? 'months' : 'days')\n title.current?.focus()\n }\n const monthShort = new Intl.DateTimeFormat(locale, { month: 'short' })\n const yearFmt = new Intl.DateTimeFormat(locale, { year: 'numeric' })\n const cells: Cell[] =\n view === 'months'\n ? Array.from({ length: 12 }, (_, i) => ({\n key: i,\n label: monthShort.format(new Date(y, i, 1)),\n aria: monthFmt.format(new Date(y, i, 1)),\n today: now.getFullYear() === y && now.getMonth() === i,\n selected: shown?.getFullYear() === y && shown.getMonth() === i,\n pick: () => {\n setMonth(new Date(y, i, 1))\n back()\n },\n }))\n : Array.from({ length: 12 }, (_, i) => ({\n key: first + i,\n label: yearFmt.format(new Date(first + i, 0, 1)),\n aria: yearFmt.format(new Date(first + i, 0, 1)),\n today: now.getFullYear() === first + i,\n selected: shown?.getFullYear() === first + i,\n pick: () => {\n setMonth(new Date(first + i, m, 1))\n setView('months')\n },\n }))\n const heading =\n view === 'days'\n ? monthFmt.format(new Date(y, m, 1))\n : view === 'months'\n ? yearFmt.format(new Date(y, 0, 1))\n : `${yearFmt.format(new Date(first, 0, 1))} – ${yearFmt.format(new Date(first + 11, 0, 1))}`\n const presetItem = (key: string, label: string, on: boolean, onClick: () => void) => (\n <button\n key={key}\n type=\"button\"\n className={on ? 'dt-pop-item dt-date-preset is-on' : 'dt-pop-item dt-date-preset'}\n onClick={onClick}\n >\n {label}\n {on && <CheckIcon size={14} className=\"dt-pop-end\" aria-hidden=\"true\" />}\n </button>\n )\n\n return (\n <div className=\"dt-editor-date\">\n <div className=\"dt-date-presets\">\n {range\n ? PRESETS.map((p) => presetItem(p, i18n.t(`date.${p}`), presetOn(p), () => applyPreset(p)))\n : DAY_OFFSETS.map((n) => presetItem(String(n), dayName(n), value === dayAt(n), () => pick(dayAt(n))))}\n </div>\n <div className=\"dt-calendar\">\n <div className=\"dt-cal-head\">\n {view === 'years' ? (\n <span className=\"dt-cal-title\">{heading}</span>\n ) : (\n <button\n ref={title}\n type=\"button\"\n className=\"dt-cal-title\"\n onClick={() => setView(view === 'days' ? 'months' : 'years')}\n >\n {heading}\n <CaretDownIcon size={12} aria-hidden=\"true\" />\n </button>\n )}\n <button\n type=\"button\"\n className=\"dt-icon-btn-sm\"\n aria-label={i18n.t('page.previous')}\n onClick={() => shift(-1)}\n >\n <CaretLeftIcon size={16} aria-hidden=\"true\" />\n </button>\n <button type=\"button\" className=\"dt-icon-btn-sm\" aria-label={i18n.t('page.next')} onClick={() => shift(1)}>\n <CaretRightIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n <div className=\"dt-cal-body\">\n <div className={view === 'days' ? undefined : 'dt-cal-hidden'} inert={view !== 'days'}>\n <DayPicker\n classNames={{\n root: 'dt-cal-days',\n month_grid: 'dt-cal-grid',\n weekday: 'dt-cal-dow',\n day: 'dt-cal-cell',\n day_button: 'dt-cal-day',\n }}\n modifiersClassNames={{ dtBand: 'is-band', dtStart: 'is-band-start', dtEnd: 'is-band-end' }}\n components={{ MonthCaption: () => <></>, DayButton: Day }}\n {...selection}\n onSelect={() => {}}\n hideNavigation\n showOutsideDays\n fixedWeeks\n weekStartsOn={(weekStart(locale) % 7) as 0 | 1 | 2 | 3 | 4 | 5 | 6}\n month={month}\n onMonthChange={setMonth}\n modifiers={modifiers}\n onDayClick={onDay}\n onDayMouseEnter={(d) => anchor && setHover(d)}\n onDayFocus={(d) => anchor && setHover(d)}\n formatters={{ formatWeekdayName: (d) => weekday.format(d) }}\n labels={{\n labelDayButton: (d) => full.format(d),\n labelGrid: (d) => monthFmt.format(d),\n labelWeekday: (d) => weekdayLong.format(d),\n }}\n />\n </div>\n {view !== 'days' && <PickGrid key={view} cells={cells} onBack={back} />}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAcA,IAAMe,IAAwB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;AAAS;AAIX,SAASC,EAAMC,GAA8B;CAC3C,IAAI,OAAOA,KAAM,YAAY,CAAC,qBAAqBE,KAAKF,CAAC,GAAG;CAC5D,IAAM,CAACI,GAAGC,GAAGC,KAAKN,EAAEO,MAAM,GAAG,EAAE,CAAC,CAACC,MAAM,GAAG,CAAC,CAACC,IAAIC,MAAM;CACtD,OAAO,IAAIT,KAAKG,GAAIC,IAAK,GAAGC,CAAE;AAChC;AAEA,IAAMK,IAAc;CAAC;CAAG;CAAI;CAAI;CAAG;AAAC,GAC9BC,KAAWC,GAASC,MAAaD,KAAKC,IAAI;CAAEC,MAAMF;CAAGG,IAAIF;AAAE,IAAI;CAAEC,MAAMD;CAAGE,IAAIH;AAAE;AAatF,SAAAY,EAAAC,GAAA;CAAA,IAAAC,IAAAC,GAAA,EAAA,GAAkB,EAAAC,UAAAC,cAAAJ,GAAwDK;CAAA,AAAAJ,EAAA,OAAAE,IACcE,IAAAJ,EAAA,MAAxEI,IAAAF,EAAKG,KAAMC,CAA+C,KAAzBJ,EAAKG,KAAME,CAAc,KAAKL,EAAK,IAAIF,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAtF,IAAAI,IAAcJ,GAAwEK;CAAA,AAAAT,EAAA,OAAAU,OAAAC,IAAA,2BAAA,KACjDF,IAAA;EAAAG,WAAa;EAAEC,YAAc;EAACC,SAAW;EAAEC,WAAa;CAAE,GAACf,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAAhG,IAAAgB,IAAqCP,GAA2DQ;CAAA,AAAAjB,EAAA,OAAAG,IAiB3Fc,IAAAjB,EAAA,MAZUiB,KAAAC,MAAA;EACT,IAAIA,EAAC1B,QAAS,UAEO,OAAnB0B,EAACC,gBAAiB,GACXhB,EAAO;EAEhB,IAAAiB,IAAaJ,EAAKE,EAAC1B;EACnB,IAAI,CAAC4B,GAAI;EACTF,EAACG,eAAgB;EACjB,IAAAC,IAAgB,CAAA,GAAIJ,EAACK,cAAcC,iBAAkB,QAAQ,CAAC,GAC9DC,KAAUH,EAAOI,QAASC,SAAQC,aAAmC;EACrEN,EAAQQ,KAAIC,IAAKT,EAAOU,SAAU,GAAGF,KAAIG,IAAK,GAAGR,KAAIL,CAAI,CAAC,EAAS,EAAAZ,MAAC;CAAC,GACtER,EAAA,KAAAG,GAAAH,EAAA,KAAAiB;CAAA,IAAAiB;CAAA,IAAAlC,EAAA,OAAAE,KAAAF,EAAA,OAAAQ,GAAA;EAAA,IAAA2B;EAgBCnC,AAhBDA,EAAA,OAAAQ,IAgBA2B,IAAAnC,EAAA,MAdUmC,KAAAC,MACT,kBAAA,UAAA;GAEO,MAAA;GACK,WAAA;GACE,cAAAC,EAAC3C;GACC,gBAAA2C,EAACzC;GACJ,WAAAyC,MAAM7B;GACL,cAAA6B,EAAC1C,QAAD,KAAAnB,KAAAA;GACG,iBAAA6D,EAACzC,WAAD,KAAApB,KAAAA;GACN,SAAA6D,EAACxC;GAETwC,UAAAA,EAAC5C;EACK,GAXF4C,EAAC7C,GAWC,GACVQ,EAAA,KAAAQ,GAAAR,EAAA,KAAAmC,IAdAD,IAAAhC,EAAKpB,IAAKqD,CAcV,GAACnC,EAAA,KAAAE,GAAAF,EAAA,KAAAQ,GAAAR,EAAA,KAAAkC;CAAA,OAAAA,IAAAlC,EAAA;CAAA,IAAAmC;CACE,OADFnC,EAAA,QAAAiB,KAAAjB,EAAA,QAAAkC,KA/BJC,IAAA,kBAAA,OAAA;EACY,WAAA;EACL,MAAA;EACM,WAAAlB;EAcViB,UAAAA;CAeG,CAAA,GAAAlC,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkC,GAAAlC,EAAA,MAAAmC,KAAAA,IAAAnC,EAAA,KAhCNmC;AAgCM;AApCV,SAAA5B,EAAA8B,GAAA;CAAA,OACmEA,EAAC1C;AAAM;AAD1E,SAAAW,EAAAgC,GAAA;CAAA,OACkCD,EAACzC;AAAS;AAwC5C,SAAA2C,EAAAxC,GAAA;CAAA,IAAAC,IAAAC,GAAA,EAAA,GAAAuC,GAAAC,GAAAC;CAAA,AAAA1C,EAAA,OAAAD,KAAyDyC,IAAAxC,EAAA,IAAAyC,IAAAzC,EAAA,IAAA0C,IAAA1C,EAAA,OAA5C,uBAAA,GAAA0C,KAAA3C,GAA4CC,EAAA,KAAAD,GAAAC,EAAA,KAAAwC,GAAAxC,EAAA,KAAAyC,GAAAzC,EAAA,KAAA0C;CACvD,IAAAC,IAAYlF,EAA0B,IAAI,GAAC2C,GAAAK;CAE3CjD,AAF2CwC,EAAA,OAAAyC,EAAAG,WAIrBxC,IAAAJ,EAAA,IAAAS,IAAAT,EAAA,OAFZI,UAAA;EACR,AAAIqC,EAASG,WAAUD,EAAGE,SAAerC,MAAC;CAAC,GAC1CC,IAAA,CAACgC,EAASG,OAAQ,GAAC5C,EAAA,KAAAyC,EAAAG,SAAA5C,EAAA,KAAAI,GAAAJ,EAAA,KAAAS,IAFtBjD,EAAU4C,GAEPK,CAAmB;CAAC,IAAAQ;CAAA,AAAAjB,EAAA,OAAAyC,IACwCxB,IAAAjB,EAAA,MAApDiB,KAAA6B,MAAmBL,EAAUK,KAAV,KAAAtE,KAAAA,GAAiCwB,EAAA,KAAAyC,GAAAzC,EAAA,KAAAiB;CAA/D,IAAA8B,IAAW9B,GAAoDiB;CAAA,AAAAlC,EAAA,OAAAwC,EAAAQ,OAK/Bd,IAAAlC,EAAA,OAAhBkC,IAAAnE,EAAOyE,EAAGQ,IAAK,GAAChD,EAAA,KAAAwC,EAAAQ,MAAAhD,EAAA,MAAAkC;CAAA,IAAAC;CAAA,AAAAnC,EAAA,QAAA+C,IACLZ,IAAAnC,EAAA,OAAXmC,IAAAY,EAAG,OAAO,GAAC/C,EAAA,MAAA+C,GAAA/C,EAAA,MAAAmC;CAAA,IAAAc;CAAA,AAAAjD,EAAA,QAAA+C,IACSE,IAAAjD,EAAA,OAAbiD,IAAAF,EAAG,SAAS,GAAC/C,EAAA,MAAA+C,GAAA/C,EAAA,MAAAiD;CAAA,IAAAC;CAAA,AAAAlD,EAAA,QAAA+C,IACHG,IAAAlD,EAAA,OAAdkD,IAAAH,EAAG,UAAU,GAAC/C,EAAA,MAAA+C,GAAA/C,EAAA,MAAAkD;CAAA,IAAAC;CAAA,AAAAnD,EAAA,QAAA+C,IACMI,IAAAnD,EAAA,OAAbmD,IAAAJ,EAAG,SAAS,GAAC/C,EAAA,MAAA+C,GAAA/C,EAAA,MAAAmD;CAAA,IAAAC;CAAA,AAAApD,EAAA,QAAA+C,IACJK,IAAApD,EAAA,OAAXoD,IAAAL,EAAG,OAAO,GAAC/C,EAAA,MAAA+C,GAAA/C,EAAA,MAAAoD;CAAA,IAAAC;CAC/B,OAD+BrD,EAAA,QAAA0C,KAAA1C,EAAA,QAAAkC,KAAAlC,EAAA,QAAAmC,KAAAnC,EAAA,QAAAiD,KAAAjD,EAAA,QAAAkD,KAAAlD,EAAA,QAAAmD,KAAAnD,EAAA,QAAAoD,KARjCC,IAAA,kBAAA,UAAA;EACOV;EAAG,GACJD;EACQ,cAAAR;EACA,cAAAC;EACO,qBAAAc;EACJ,iBAAAC;EACO,wBAAAC;EACF,sBAAAC;CAAW,CAAA,GAC/BpD,EAAA,MAAA0C,GAAA1C,EAAA,MAAAkC,GAAAlC,EAAA,MAAAmC,GAAAnC,EAAA,MAAAiD,GAAAjD,EAAA,MAAAkD,GAAAlD,EAAA,MAAAmD,GAAAnD,EAAA,MAAAoD,GAAApD,EAAA,MAAAqD,KAAAA,IAAArD,EAAA,KATFqD;AASE;AAIN,SAAeC,EAAAvD,GAAA;CAAA,IAAAC,IAAAC,GAAA,GAAA,GAAoB,EAAAsD,OAAAC,UAAAC,aAAAC,cAAA3D,GAYjC,EAAA4D,SAAAC,cAAyB1F,EAAoB,GAC7C2F,IAAcN,MAAO,UACrBO,IAAYN,KAAS,OAAOA,KAAU,WAAYA,IAAtC,MACOpD,KAAA0D,GAAG1E,MAAMqB;CAAA,AAAAT,EAAA,OAAAI,KAACK,IAAAT,EAAA,MAAhBS,IAAArC,EAAMgC,EAAS,GAACJ,EAAA,KAAAI,IAAAJ,EAAA,KAAAS;CAA7B,IAAArB,IAAaqB,GACIQ,KAAA6C,GAAGzE,IAAI6C;CAAA,AAAAlC,EAAA,OAAAiB,KAACiB,KAAAlC,EAAA,MAAdkC,KAAA9D,EAAM6C,EAAO,GAACjB,EAAA,KAAAiB,IAAAjB,EAAA,KAAAkC;CAAzB,IAAA7C,IAAW6C,IAAcC;CAAA,AAAAnC,EAAA,OAAAwD,IACErB,KAAAnC,EAAA,MAAZmC,KAAA/D,EAAMoF,CAAK,GAACxD,EAAA,KAAAwD,GAAAxD,EAAA,KAAAmC;CAA3B,IAAA6B,IAAe7B,IAEf,CAAA8B,GAAAC,MAA4BxG,EAAsB,IAAI,GACtD,CAAAyG,IAAAC,MAA0B1G,EAAsB,IAAI,GAACuF;CAAA,AAAAjD,EAAA,OAAAZ,KAAAY,EAAA,OAAA6D,KAAA7D,EAAA,OAAAgE,KAClBf,WAAA;EACjC,IAAAtE,KAAWkF,IAAAzE,IAAA4E,sBAAD,IAA+B1F,KAAK;EAAC,OACxC,IAAIA,KAAKK,EAAC0F,YAAa,GAAG1F,EAAC2F,SAAU,GAAG,CAAC;CAAC,GAClDtE,EAAA,KAAAZ,GAAAY,EAAA,KAAA6D,GAAA7D,EAAA,KAAAgE,GAAAhE,EAAA,KAAAiD,MAAAA,KAAAjD,EAAA;CAHD,IAAA,CAAAuE,GAAAC,MAA0B9G,EAASuF,EAGlC,GACD,CAAAwB,GAAAC,MAAwBhH,EAAe,MAAM,GAC7CiH,KAAclH,EAA0B,IAAI,GAACyF;CAAA,AAAAlD,EAAA,QAAAyD,KAAAzD,EAAA,QAAA0D,KAEhCR,MAAA7E,GAAAuG,MAAA;EAEXlB,AADAD,EAASpF,GAAGuG,CAAM,GAClBlB,EAAO;CAAC,GACT1D,EAAA,MAAAyD,GAAAzD,EAAA,MAAA0D,GAAA1D,EAAA,MAAAkD,MAAAA,KAAAlD,EAAA;CAHD,IAAAH,IAAaqD,IAGZ2B,GAAA3E,GAAA4E,GAAAC,GAAAtC,GAAAuC,GAAAC,GAAAC,GAAAC,GAAA9B,GAAAF,GAAAC,GAAAgC,GAAAC;CAAA,IAAArF,EAAA,QAAAiE,KAAAjE,EAAA,QAAAZ,KAAAY,EAAA,QAAAmE,MAAAnE,EAAA,QAAA2D,KAAA3D,EAAA,QAAA4D,KAAA5D,EAAA,QAAAuE,KAAAvE,EAAA,QAAA8D,GAAA1E,QAAAY,EAAA,QAAA8D,GAAAzE,MAAAW,EAAA,QAAAH,KAAAG,EAAA,QAAA6D,KAAA7D,EAAA,QAAAgE,KAAAhE,EAAA,QAAAX,KAAAW,EAAA,QAAAwD,KAAAxD,EAAA,QAAAyE,GAAA;EACD,IAAAa,oBAAY,IAAIhH,KAAK,GACrBqB,IAAc5B,EAAOuH,CAAG,GACxBC,MAAoBC,MAAA;GAClB,IAAAC,IAAUzH,EAAcwH,GAAG5B,CAAM;GACjC,AAAI6B,EAACrG,SAAU,OAAMS,EAAKF,GAAO,QAAQ,IACpCE,EAAK4F,CAAC;EAAC,GACbC;EAAA,AAAA1F,EAAA,QAAA4D,KAAA5D,EAAA,QAAA8D,GAAA1E,QAAAY,EAAA,QAAA8D,GAAAzE,MAEgBqG,KAAAC,MAAA;GACf,IAAAC,IAAU5H,EAAcwH,GAAG5B,CAAM;GAAC,OAC3B6B,EAACrG,SAAU,QAAQ0E,GAAG1E,SAAWqG,EAACrG,QAAS0E,GAAGzE,OAASoG,EAACpG;EAAG,GACnEW,EAAA,MAAA4D,GAAA5D,EAAA,MAAA8D,GAAA1E,MAAAY,EAAA,MAAA8D,GAAAzE,IAAAW,EAAA,MAAA0F,KAAAA,IAAA1F,EAAA;EAHD,IAAA6F,IAAiBH,GAIjBI,IAAiB,IAAIC,KAAIC,mBAAoBpC,GAAQ,EAAAqC,SAAW,OAAO,CAAC,GACxEC,KAAcC,MAAepI,EAAO,IAAIO,KAAKgH,EAAGjB,YAAa,GAAGiB,EAAGhB,SAAU,GAAGgB,EAAGc,QAAS,IAAID,CAAC,CAAC,GAClGE,KAAgBC,MAAA;GACd,IAAAC,IAAUT,EAAQU,OAAQL,GAAG,KAAK;GAAC,OAC5BI,EAACE,OAAQ,CAAC,CAAC,CAAAC,kBAAmB9C,CAAM,IAAI2C,EAAC3H,MAAO,CAAC;EAAC,GAC1D+H;EACD1B,AADCjF,EAAA,QAAAiE,KAAAjE,EAAA,QAAAH,KAAAG,EAAA,QAAA6D,KACa8C,KAAAnE,MAAA;GACZ,IAAI,CAACqB,GAAK,OAAShE,EAAK9B,EAAOyE,CAAG,CAAC;GACnC,IAAI,CAACyB,GAAM;IAETG,AADAF,GAAU1B,CAAG,GACb4B,GAAS5B,CAAG;IAAC;GAAA;GAGf,IAAAoE,IAAU3H,EAAQgF,GAAQzB,CAAG;GAE7B3C,AADAqE,GAAU,IAAI,GACdrE,EAAK;IAAAT,MAAQrB,EAAO0H,EAACrG,IAAK;IAACC,IAAMtB,EAAO0H,EAACpG,EAAG;GAAE,CAAC;EAAC,GACjDW,EAAA,MAAAiE,GAAAjE,EAAA,MAAAH,GAAAG,EAAA,MAAA6D,GAAA7D,EAAA,MAAA2G,KAAAA,IAAA3G,EAAA,KAVDiF,IAAc0B;EAUb,IAAAE;EAGD3B,AAHClF,EAAA,QAAAiE,KAAAjE,EAAA,QAAAZ,KAAAY,EAAA,QAAA6D,KAAA7D,EAAA,QAAAgE,KAAAhE,EAAA,QAAAX,KAGiBwH,IAAAhD,IAAA;GAAAiD,MAEN;GAAgBlH,UACZqE,IAAA;IAAA7E,MAAiB6E;IAAM5E,IAAMb,KAAAA;GAAkD,IAApCY,KAAAC,IAAA;IAAAD;IAAAC;GAAoC,IAApCb,KAAAA;EAEX,IAL9B;GAAAsI,MAKN;GAAiBlH,UAAYoE;EAAO,GAAChE,EAAA,MAAAiE,GAAAjE,EAAA,MAAAZ,GAAAY,EAAA,MAAA6D,GAAA7D,EAAA,MAAAgE,GAAAhE,EAAA,MAAAX,GAAAW,EAAA,MAAA6G,KAAAA,IAAA7G,EAAA,KALjDkF,IAAkB2B;EAK+B,IAAAG;EAAA,AAAAhH,EAAA,QAAAiE,KAAAjE,EAAA,QAAAZ,KAAAY,EAAA,QAAAmE,MAAAnE,EAAA,QAAAX,KAEpC2H,IAAA/C,KAAAE,KAAkBlF,EAAQgF,GAAQE,EAA6C,IAApC/E,KAAAC,IAAA;GAAAD;GAAAC;EAAoC,IAApCb,KAAAA,GAAqCwB,EAAA,MAAAiE,GAAAjE,EAAA,MAAAZ,GAAAY,EAAA,MAAAmE,IAAAnE,EAAA,MAAAX,GAAAW,EAAA,MAAAgH,KAAAA,IAAAhH,EAAA;EAA7F,IAAAiH,IAAaD,GAAgFE;EAC7FzE,AAD6FzC,EAAA,QAAAiH,KAAAjH,EAAA,QAAA6D,KAC3EqD,IAAArD,IAAA;GAAAsD,QAEJF;GAAIG,SACHH,GAAI7H;GAAMiI,OACZJ,GAAI5H;EAEZ,IANa,CAMb,GAACW,EAAA,MAAAiH,GAAAjH,EAAA,MAAA6D,GAAA7D,EAAA,MAAAkH,KAAAA,IAAAlH,EAAA,KANNyC,IAAkByE;EAMZ,IAAAI;EACNxC,AADM9E,EAAA,QAAA4D,IAC6D0D,IAAAtH,EAAA,OAAtDsH,IAAA,IAAIvB,KAAIwB,eAAgB3D,GAAQ,EAAA4D,WAAa,OAAO,CAAC,GAACxH,EAAA,MAAA4D,GAAA5D,EAAA,MAAAsH,IAAnExC,IAAawC;EAAsD,IAAAG;EACnErC,AADmEpF,EAAA,QAAA4D,IACE6D,IAAAzH,EAAA,OAArDyH,IAAA,IAAI1B,KAAIwB,eAAgB3D,GAAQ,EAAAwB,SAAW,QAAQ,CAAC,GAACpF,EAAA,MAAA4D,GAAA5D,EAAA,MAAAyH,IAArErC,IAAgBqC;EAAqD,IAAAC;EAErE1C,AAFqEhF,EAAA,QAAA4D,IACG8D,IAAA1H,EAAA,OAApD0H,IAAA,IAAI3B,KAAIwB,eAAgB3D,GAAQ,EAAAwB,SAAW,OAAO,CAAC,GAACpF,EAAA,MAAA4D,GAAA5D,EAAA,MAAA0H,IAAxErC,IAAoBqC,GACpB1C,IAAiB,IAAIe,KAAIwB,eAAgB3D,GAAQ;GAAAW,OAAS;GAAMoD,MAAQ;EAAU,CAAC;EACnF,IAAAlJ,IAAU8F,EAAKF,YAAa,GAC5B3F,IAAU6F,EAAKD,SAAU,GACzBsD,IAAcnJ,IAAKA,IAAI,IACvBoJ,KAAchE,IAAAzE,IAAA4E;EAGda,AAFAM,KAAc2C,MACZtD,GAAS,IAAIlG,KAAKmG,MAAS,UAAUhG,IAAI,KAAK0H,IAAI1B,MAAS,WAAWhG,IAAI0H,IAAxB1H,GAA+BgG,MAAS,SAAS/F,IAAIyH,IAAtBzH,GAA6B,CAAC,CAAC,GAClHmG,UAAa;GAEXF,AADAD,GAAQD,MAAS,UAAT,WAAA,MAAoC,GAC5CE,GAAK9B,SAAerC,MAAC;EAAC;EAExB,IAAAuH,KAAmB,IAAIhC,KAAIwB,eAAgB3D,GAAQ,EAAAW,OAAS,QAAQ,CAAC,GACrEyD,IAAgB,IAAIjC,KAAIwB,eAAgB3D,GAAQ,EAAA+D,MAAQ,UAAU,CAAC;EAyBnE5C,AAxBA7E,IACEuE,MAAS,WACLwD,MAAK7I,KAAM,EAAA4C,QAAU,GAAG,IAAGkG,GAAAzG,OAAW;GAAAjC,KAC/BiC;GAAChC,OACCsI,GAAUvB,OAAQ,IAAIlI,KAAKG,GAAGgD,GAAG,CAAC,CAAC;GAAC/B,MACrCsF,EAAQwB,OAAQ,IAAIlI,KAAKG,GAAGgD,GAAG,CAAC,CAAC;GAAC9B,OACjC2F,EAAGjB,YAAa,MAAM5F,KAAK6G,EAAGhB,SAAU,MAAM7C;GAAC7B,UAC5CiI,IAAKxD,YAAc,MAAM5F,KAAKoJ,GAAKvD,SAAU,MAAM7C;GAAC5B,YACxD;IAEJgF,AADAL,GAAS,IAAIlG,KAAKG,GAAGgD,GAAG,CAAC,CAAC,GAC1BoD,EAAK;GAAC;EAEV,EAWE,IAVFoD,MAAK7I,KAAM,EAAA4C,QAAU,GAAG,IAAGmG,GAAAC,OAAW;GAAA5I,KAC/BoI,IAAQnG;GAAChC,OACPuI,EAAOxB,OAAQ,IAAIlI,KAAKsJ,IAAQnG,GAAG,GAAG,CAAC,CAAC;GAAC/B,MAC1CsI,EAAOxB,OAAQ,IAAIlI,KAAKsJ,IAAQnG,GAAG,GAAG,CAAC,CAAC;GAAC9B,OACxC2F,EAAGjB,YAAa,MAAMuD,IAAQnG;GAAC7B,UAC5BiI,IAAKxD,YAAc,MAAMuD,IAAQnG;GAAC5B,YACtC;IAEJ6E,AADAF,GAAS,IAAIlG,KAAKsJ,IAAQnG,GAAG/C,GAAG,CAAC,CAAC,GAClCgG,GAAQ,QAAQ;GAAC;EAErB,EAAE,GACRK,IACEN,MAAS,SACLO,EAAQwB,OAAQ,IAAIlI,KAAKG,GAAGC,GAAG,CAAC,CAG2D,IAF3F+F,MAAS,WACPuD,EAAOxB,OAAQ,IAAIlI,KAAKG,GAAG,GAAG,CAAC,CAC0D,IAF3F,GAEKuJ,EAAOxB,OAAQ,IAAIlI,KAAKsJ,GAAO,GAAG,CAAC,CAAC,EAAC,KAAMI,EAAOxB,OAAQ,IAAIlI,KAAKsJ,IAAQ,IAAI,GAAG,CAAC,CAAC;EAC/F,IAAAS,KAAmBC;EAiB0FtI,AAJ5FqD,IAAA,kBACEF,IAAA,mBACZC,IAAAS,IACG1F,EAAOW,KAAKyJ,MAAOF,GAAW7C,GAAG7B,EAAI6E,EAAG,QAAQhD,GAAG,GAAGK,EAASL,CAAC,SAASD,GAAYC,CAAC,CAAC,CACW,IAAlGxG,EAAWF,KAAK2J,MAAOJ,GAAWK,OAAOvC,CAAC,GAAGE,EAAQF,CAAC,GAAG3C,MAAU0C,EAAMC,CAAC,SAAStG,EAAKqG,EAAMC,CAAC,CAAC,CAAC,CAAC,GAACnG,EAAA,MAAAiE,GAAAjE,EAAA,MAAAZ,GAAAY,EAAA,MAAAmE,IAAAnE,EAAA,MAAA2D,GAAA3D,EAAA,MAAA4D,GAAA5D,EAAA,MAAAuE,GAAAvE,EAAA,MAAA8D,GAAA1E,MAAAY,EAAA,MAAA8D,GAAAzE,IAAAW,EAAA,MAAAH,GAAAG,EAAA,MAAA6D,GAAA7D,EAAA,MAAAgE,GAAAhE,EAAA,MAAAX,GAAAW,EAAA,MAAAwD,GAAAxD,EAAA,MAAAyE,GAAAzE,EAAA,MAAA6E,GAAA7E,EAAA,MAAAE,GAAAF,EAAA,MAAA8E,GAAA9E,EAAA,MAAA+E,GAAA/E,EAAA,MAAAyC,GAAAzC,EAAA,MAAAgF,GAAAhF,EAAA,MAAAiF,GAAAjF,EAAA,MAAAkF,GAAAlF,EAAA,MAAAmF,GAAAnF,EAAA,MAAAqD,GAAArD,EAAA,MAAAmD,GAAAnD,EAAA,MAAAoD,GAAApD,EAAA,MAAAoF,GAAApF,EAAA,MAAAqF;CAAA,OAAAA,AAAAR,IAAA7E,EAAA,KAAAE,IAAAF,EAAA,KAAA8E,IAAA9E,EAAA,KAAA+E,IAAA/E,EAAA,KAAAyC,IAAAzC,EAAA,KAAAgF,IAAAhF,EAAA,KAAAiF,IAAAjF,EAAA,KAAAkF,IAAAlF,EAAA,KAAAmF,IAAAnF,EAAA,KAAAqD,IAAArD,EAAA,KAAAmD,IAAAnD,EAAA,KAAAoD,IAAApD,EAAA,KAAAoF,IAAApF,EAAA,KAAAqF,IAAArF,EAAA;CAAA,IAAA0F;CAAA,AAAA1F,EAAA,QAAAmD,KAAAnD,EAAA,QAAAoD,KAHzGsC,KAAA,kBAAA,OAAA;EAAe,WAAAvC;EACZC,UAAAA;CAGG,CAAA,GAAApD,EAAA,MAAAmD,GAAAnD,EAAA,MAAAoD,GAAApD,EAAA,MAAA0F,MAAAA,KAAA1F,EAAA;CAAA,IAAA2G;CAAA,AAAA3G,EAAA,QAAA+E,KAAA/E,EAAA,QAAAyE,KAGDkC,IAAAlC,MAAS,UACR,kBAAA,QAAA;EAAgB,WAAA;EAAgBM,UAAAA;CAAe,CAAA,IAE/C,kBAAA,UAAA;EACOJ,KAAAA;EACA,MAAA;EACK,WAAA;EACD,eAAMD,GAAQD,MAAS,SAAT,WAAA,OAAoC;EAJ7D,UAAA,CAMGM,GACD,kBAAC0N,GAAD;GAAqB,MAAA;GAAgB,eAAA;EAAM,CAAA,CACpC;C,IACVzS,EAAA,MAAA+E,GAAA/E,EAAA,MAAAyE,GAAAzE,EAAA,MAAA2G,KAAAA,IAAA3G,EAAA;CAAA,IAAA6G;CAAA,AAAA7G,EAAA,QAAA2D,IAIoCkD,KAAA7G,EAAA,OAAvB6G,KAAAlD,EAAI6E,EAAG,eAAe,GAACxI,EAAA,MAAA2D,GAAA3D,EAAA,MAAA6G;CAAA,IAAAG;CAAA,AAAAhH,EAAA,QAAAmF,IACX6B,KAAAhH,EAAA,OAAfgH,WAAM7B,EAAM,EAAE,GAACnF,EAAA,MAAAmF,GAAAnF,EAAA,MAAAgH;CAAA,IAAAE;CAAA,AAAAlH,EAAA,QAAAU,OAAAC,IAAA,2BAAA,KAExBuG,KAAA,kBAACwL,GAAD;EAAqB,MAAA;EAAgB,eAAA;CAAM,CAAA,GAAG1S,EAAA,MAAAkH,MAAAA,KAAAlH,EAAA;CAAA,IAAAsH;CAAA,AAAAtH,EAAA,QAAA6G,MAAA7G,EAAA,QAAAgH,MANhDM,KAAA,kBAAA,UAAA;EACO,MAAA;EACK,WAAA;EACE,cAAAT;EACH,SAAAG;EAETE,UAAAA;CACO,CAAA,GAAAlH,EAAA,MAAA6G,IAAA7G,EAAA,MAAAgH,IAAAhH,EAAA,MAAAsH,MAAAA,KAAAtH,EAAA;CAAA,IAAAyH;CAAA,AAAAzH,EAAA,QAAA2D,IACuE8D,KAAAzH,EAAA,OAAnByH,KAAA9D,EAAI6E,EAAG,WAAW,GAACxI,EAAA,MAAA2D,GAAA3D,EAAA,MAAAyH;CAAA,IAAAC;CAAA,AAAA1H,EAAA,QAAAmF,IAAyBuC,KAAA1H,EAAA,OAAd0H,WAAMvC,EAAM,CAAC,GAACnF,EAAA,MAAAmF,GAAAnF,EAAA,MAAA0H;CAAA,IAAAiB;CAAA,AAAA3I,EAAA,QAAAU,OAAAC,IAAA,2BAAA,KACvGgI,KAAA,kBAACiK,GAAD;EAAsB,MAAA;EAAgB,eAAA;CAAM,CAAA,GAAG5S,EAAA,MAAA2I,MAAAA,KAAA3I,EAAA;CAAA,IAAA4I;CAAA,AAAA5I,EAAA,QAAAyH,MAAAzH,EAAA,QAAA0H,MADjDkB,KAAA,kBAAA,UAAA;EAAa,MAAA;EAAmB,WAAA;EAA6B,cAAAnB;EAA8B,SAAAC;EACzFiB,UAAAA;CACO,CAAA,GAAA3I,EAAA,MAAAyH,IAAAzH,EAAA,MAAA0H,IAAA1H,EAAA,MAAA4I,MAAAA,KAAA5I,EAAA;CAAA,IAAA6I;CAAA,AAAA7I,EAAA,QAAA2G,KAAA3G,EAAA,QAAAsH,MAAAtH,EAAA,QAAA4I,MAxBXC,KAAA,kBAAA,OAAA;EAAe,WAAA;EAAf,UAAA;GACGlC;GAaDW;GAQAsB;EAGI;C,IAAA5I,EAAA,MAAA2G,GAAA3G,EAAA,MAAAsH,IAAAtH,EAAA,MAAA4I,IAAA5I,EAAA,MAAA6I,MAAAA,KAAA7I,EAAA;CAEY,IAAA8I,KAAArE,MAAS,SAATjG,KAAAA,IAAA,iBAAsDuK,KAAAtE,MAAS,QAAMuE,IAAAC,IAAAC;CAAA,AAAAlJ,EAAA,QAAAU,OAAAC,IAAA,2BAAA,KAErEqI,KAAA;EAAAG,MACJ;EAAaC,YACP;EAAahE,SAChB;EAAY5C,KAChB;EAAa6G,YACN;CACd,GACqBJ,KAAA;EAAA9B,QAAU;EAASC,SAAW;EAAeC,OAAS;CAAc,GAC7E6B,KAAA;EAAAI,cAAgBC;EAAWC,WAAajH;CAAI,GAACvC,EAAA,MAAAgJ,IAAAhJ,EAAA,MAAAiJ,IAAAjJ,EAAA,MAAAkJ,OAAAF,KAAAhJ,EAAA,KAAAiJ,KAAAjJ,EAAA,KAAAkJ,KAAAlJ,EAAA;CAM3C,IAAAyJ,KAACxL,EAAU2F,CAAM,IAAI,GAA+B8F,IAAAC;CAAA,AAAA3J,EAAA,QAAAiE,KAM1ByF,KAAA1J,EAAA,KAAA2J,KAAA3J,EAAA,SADvB0J,MAAAE,MAAO3F,KAAUG,GAASzF,CAAC,GAChCgL,MAAAE,MAAO5F,KAAUG,GAASzF,CAAC,GAACqB,EAAA,MAAAiE,GAAAjE,EAAA,MAAA0J,IAAA1J,EAAA,OAAA2J;CAAA,IAAAG;CAAA,AAAA9J,EAAA,SAAAoF,IACmB0E,KAAA9J,EAAA,QAA/C8J,KAAA,EAAAC,oBAAqBC,MAAO5E,EAAOoB,OAAQ7H,CAAC,EAAE,GAACqB,EAAA,OAAAoF,GAAApF,EAAA,OAAA8J;CAAA,IAAAG;CAAA,AAAAjK,EAAA,SAAA8E,IAEpBmF,IAAAjK,EAAA,QAArBiK,KAAAC,MAAOpF,EAAI0B,OAAQ7H,CAAC,GAACqB,EAAA,OAAA8E,GAAA9E,EAAA,OAAAiK;CAAA,IAAAE;CAAA,AAAAnK,EAAA,SAAAgF,IACDmF,KAAAnK,EAAA,QAAzBmK,MAAAC,MAAOpF,EAAQwB,OAAQ7H,CAAC,GAACqB,EAAA,OAAAgF,GAAAhF,EAAA,OAAAmK;CAAA,IAAAE;CAAA,AAAArK,EAAA,SAAAqF,IACMgF,KAAArK,EAAA,QAA5BqK,MAAAC,MAAOjF,EAAWmB,OAAQ7H,CAAC,GAACqB,EAAA,OAAAqF,GAAArF,EAAA,OAAAqK;CAAA,IAAAE;CAAA,AAAAvK,EAAA,SAAAiK,KAAAjK,EAAA,SAAAmK,MAAAnK,EAAA,SAAAqK,MAHpCE,KAAA;EAAAC,gBACUP;EAAqBQ,WAC1BN;EAAyBO,cACtBL;CAChB,GAACrK,EAAA,OAAAiK,GAAAjK,EAAA,OAAAmK,IAAAnK,EAAA,OAAAqK,IAAArK,EAAA,OAAAuK,MAAAA,KAAAvK,EAAA;CAAA,IAAA2K;CAAA,AAAA3K,EAAA,SAAAyC,KAAAzC,EAAA,SAAAuE,KAAAvE,EAAA,SAAAiF,KAAAjF,EAAA,SAAAkF,KAAAlF,EAAA,SAAAyJ,MAAAzJ,EAAA,SAAA0J,MAAA1J,EAAA,SAAA2J,MAAA3J,EAAA,SAAA8J,MAAA9J,EAAA,SAAAuK,MA3BHI,KAAA,kBAACyJ,GAAD;EACc,YAAApL;EAOS,qBAAAC;EACT,YAAAC;EAA6C,GACrDhE;EACM,UAAA0F;EACV,gBAAA;EACA,iBAAA;EACA,YAAA;EACc,cAAAnB;EACPlF;EACQC,eAAAA;EACJ/B;EACCwC,YAAAA;EACK,iBAAAyE;EACL,YAAAC;EACA,YAAAG;EACJ,QAAAS;CAIP,CAAA,GACDvK,EAAA,OAAAyC,GAAAzC,EAAA,OAAAuE,GAAAvE,EAAA,OAAAiF,GAAAjF,EAAA,OAAAkF,GAAAlF,EAAA,OAAAyJ,IAAAzJ,EAAA,OAAA0J,IAAA1J,EAAA,OAAA2J,IAAA3J,EAAA,OAAA8J,IAAA9J,EAAA,OAAAuK,IAAAvK,EAAA,OAAA2K,MAAAA,KAAA3K,EAAA;CAAA,IAAA6K;CAAA,AAAA7K,EAAA,SAAA8I,MAAA9I,EAAA,SAAA+I,MAAA/I,EAAA,SAAA2K,MA7BJE,KAAA,kBAAA,OAAA;EAAgB,WAAA/B;EAAsD,OAAAC;EACpE4B,UAAAA;CA6BI,CAAA,GAAA3K,EAAA,OAAA8I,IAAA9I,EAAA,OAAA+I,IAAA/I,EAAA,OAAA2K,IAAA3K,EAAA,OAAA6K,MAAAA,KAAA7K,EAAA;CAAA,IAAA8K;CAAA,AAAA9K,EAAA,SAAA6E,KAAA7E,EAAA,SAAAE,KAAAF,EAAA,SAAAyE,KACLqG,KAAArG,MAAS,UAAU,kBAAC2H,GAAD;EAA4BlM;EAAe2E,QAAAA;CAAI,GAAhCJ,CAAgC,GAAIzE,EAAA,OAAA6E,GAAA7E,EAAA,OAAAE,GAAAF,EAAA,OAAAyE,GAAAzE,EAAA,OAAA8K,MAAAA,KAAA9K,EAAA;CAAA,IAAA+K;CAAA,AAAA/K,EAAA,SAAA6K,MAAA7K,EAAA,SAAA8K,MAhCzEC,KAAA,kBAAA,OAAA;EAAe,WAAA;EAAf,UAAA,CACEF,IA+BCC,EACG;C,IAAA9K,EAAA,OAAA6K,IAAA7K,EAAA,OAAA8K,IAAA9K,EAAA,OAAA+K,MAAAA,KAAA/K,EAAA;CAAA,IAAAgL;CAAA,AAAAhL,EAAA,SAAA6I,MAAA7I,EAAA,SAAA+K,MA5DRC,IAAA,kBAAA,OAAA;EAAe,WAAA;EAAf,UAAA,CACEnC,IA0BAkC,EAkCI;C,IAAA/K,EAAA,OAAA6I,IAAA7I,EAAA,OAAA+K,IAAA/K,EAAA,OAAAgL,KAAAA,IAAAhL,EAAA;CAAA,IAAAiL;CACF,OADEjL,EAAA,SAAAqD,KAAArD,EAAA,SAAA0F,MAAA1F,EAAA,SAAAgL,KAnERC,KAAA,kBAAA,OAAA;EAAe,WAAA5H;EAAf,UAAA,CACEqC,IAKAsF,CA8DI;C,IAAAhL,EAAA,OAAAqD,GAAArD,EAAA,OAAA0F,IAAA1F,EAAA,OAAAgL,GAAAhL,EAAA,OAAAiL,MAAAA,KAAAjL,EAAA,MApENiL;AAoEM;AA7MK,SAAAL,IAAA,CAAA;AAAA,SAAArB,KAAA;CAAA,OAqLiC,kBAAA6B,GAAA,CAAA,CAAA;AAAK;AArLtC,SAAA9C,GAAA9I,GAAAC,GAAAsD,GAAAmI,GAAA;CAAA,OA6HX,kBAAA,UAAA;EAEO,MAAA;EACM,WAAAnI,IAAA,qCAAA;EACFmI;EAJX,UAAA,CAMGzL,GACAsD,KAAM,kBAAC6R,GAAD;GAAiB,MAAA;GAAc,WAAA;GAAyB,eAAA;EAAM,CAAA,CAC9D;CAPFpV,GAAAA,CAOE;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as e, n as t, s as n, t as r } from "./bottom-sheet-
|
|
2
|
-
import { n as ee } from "./provider-
|
|
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
3
|
import { c as te, i, n as ne, s as re, t as ie } from "./model-RkRyfM7C.js";
|
|
4
4
|
import { c as ae } from "react/compiler-runtime";
|
|
5
5
|
import { useRef as oe, useState as a } from "react";
|
|
@@ -295,4 +295,4 @@ function ye(t) {
|
|
|
295
295
|
}
|
|
296
296
|
export { l as FiltersSheet };
|
|
297
297
|
|
|
298
|
-
//# sourceMappingURL=filters-sheet-
|
|
298
|
+
//# sourceMappingURL=filters-sheet-DAf-n-Nv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters-sheet-CWzMaMFo.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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"}
|
|
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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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -195,7 +195,7 @@ export declare function createLocalStorageViews(options: {
|
|
|
195
195
|
scope: string;
|
|
196
196
|
}): ViewsAdapter;
|
|
197
197
|
|
|
198
|
-
export declare function DataTable<Row extends object>({ table, result, label, empty, toolbar, toolbarEnd, notice, searchPlaceholder, autoRefresh, onPrint, exportable, onExport, shortcuts, onRowClick, rowClick, onRowOpen, rowActions, selectable, selectionBar, bulkActions, selectionActions, onSelectionChange, renderExpanded, canExpand, rowError, }: {
|
|
198
|
+
export declare function DataTable<Row extends object>({ table, result, label, empty, toolbar, toolbarEnd, notice, searchPlaceholder, autoRefresh, onPrint, exportable, onExport, shortcuts, onRowClick, rowClick, onRowOpen, rowActions, selectable, selectionBar, bulkActions, selectionActions, onSelectionChange, renderExpanded, canExpand, rowError, reorder, }: {
|
|
199
199
|
table: DataTableInstance<Row>;
|
|
200
200
|
/** Sunucu modu: `useQuery` sonucu, dönüştürmeden (R4). İstemci modunda verilmez. */
|
|
201
201
|
result?: DataTableResult<Row>;
|
|
@@ -267,6 +267,8 @@ export declare function DataTable<Row extends object>({ table, result, label, em
|
|
|
267
267
|
/** Satır hatası (D35): metin ya da metin listesi → hata zemini, ⋯ hücresinde uyarı ikonu, satırda tooltip. Harita
|
|
268
268
|
* uygulamanın: paket hata saklamaz, temizlemez. */
|
|
269
269
|
rowError?: (row: Row) => string | string[] | null | undefined;
|
|
270
|
+
/** Satır sıralama (R21): verilince satırın başında tutamak; paket taşımayı komşularıyla bildirir, numara üretmez. */
|
|
271
|
+
reorder?: RowReorder<Row>;
|
|
270
272
|
}): JSX.Element;
|
|
271
273
|
|
|
272
274
|
export declare interface DataTableContext {
|
|
@@ -507,6 +509,21 @@ export declare type RowClickMode = 'none' | 'open' | 'expand';
|
|
|
507
509
|
|
|
508
510
|
export declare type RowKey = string | number;
|
|
509
511
|
|
|
512
|
+
/** Satır taşıma (R21): `after` yeni yerde üstte kalan, `before` altta kalan satır; liste başı / sonu → `null`. */
|
|
513
|
+
export declare interface RowMove<Row = unknown> {
|
|
514
|
+
row: Row;
|
|
515
|
+
after: Row | null;
|
|
516
|
+
before: Row | null;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
/** Satır sıralama (R21): varsayılan kapalı; verilince satırın başında tutamak. Paket numara üretmez, taşımayı bildirir. */
|
|
520
|
+
export declare interface RowReorder<Row = any> {
|
|
521
|
+
/** true veya gerekçe metni → tutamak pasif, gerekçe tooltip'te. Sıranın anlamlı olduğu durumu uygulama bilir. */
|
|
522
|
+
disabled?: boolean | string;
|
|
523
|
+
/** Bırakınca. Promise reddedilirse eski sıraya döner; hata mesajı uygulamanın (D20). */
|
|
524
|
+
onMove: (move: RowMove<Row>) => void | Promise<unknown>;
|
|
525
|
+
}
|
|
526
|
+
|
|
510
527
|
export declare interface SortRule {
|
|
511
528
|
column: string;
|
|
512
529
|
dir: 'asc' | 'desc';
|
|
@@ -573,6 +590,9 @@ export declare function useDataTable<Row extends object>(options: UseDataTableOp
|
|
|
573
590
|
};
|
|
574
591
|
views: {
|
|
575
592
|
all: View[];
|
|
593
|
+
defaultId: string | null;
|
|
594
|
+
activeId: string | null;
|
|
595
|
+
current: ViewState;
|
|
576
596
|
sections: {
|
|
577
597
|
system: View[];
|
|
578
598
|
personal: View[];
|
|
@@ -583,6 +603,7 @@ export declare function useDataTable<Row extends object>(options: UseDataTableOp
|
|
|
583
603
|
canSave: boolean;
|
|
584
604
|
hasDraft: (id: string) => boolean;
|
|
585
605
|
writable: (v: View | null) => boolean;
|
|
606
|
+
setDefault: (id: string | null) => void;
|
|
586
607
|
select: (id: string) => void;
|
|
587
608
|
saveChanges: () => Promise<void>;
|
|
588
609
|
discard: () => void;
|
|
@@ -669,12 +690,18 @@ export declare interface UseDataTableOptions<Row extends object> {
|
|
|
669
690
|
density?: Density;
|
|
670
691
|
/** Boş durum, hata ve sayfa metinlerinde: { one: 'order', other: 'orders' }. Verilmezse `id`. */
|
|
671
692
|
entityName?: Plural;
|
|
672
|
-
/**
|
|
693
|
+
/**
|
|
694
|
+
* Controlled durum (R5). Verilince tablonun durumu yalnızca budur; eksik alan varsayılandır: görünüm → varsayılan
|
|
695
|
+
* görünüm, filtre ve sıralama → görünümün kayıtlısı, arama boş, sayfa 1, sayfa boyutu tercih.
|
|
696
|
+
*/
|
|
673
697
|
state?: Partial<TableState>;
|
|
674
698
|
/** Uncontrolled başlangıç. */
|
|
675
699
|
initialState?: Partial<TableState>;
|
|
676
|
-
/**
|
|
677
|
-
|
|
700
|
+
/**
|
|
701
|
+
* Her değişimde: tam durum ve yalnızca varsayılandan farklı alanlar (`changed`). Adrese `changed` yazılır; boşsa
|
|
702
|
+
* adres temizdir. Açılışta çağrılmaz.
|
|
703
|
+
*/
|
|
704
|
+
onStateChange?: (state: TableState, changed: Partial<TableState>) => void;
|
|
678
705
|
/** Tercih yoksa sayfa boyutu. Varsayılan 100. */
|
|
679
706
|
pageSize?: number;
|
|
680
707
|
/** Varsayılan [50, 100, 250, 500]. */
|