persian-data-grid 0.5.0 → 0.7.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/OFL.txt +93 -0
- package/README.md +179 -22
- package/dist/ERPTableGroupRow-E5Q6FYDS.js +125 -0
- package/dist/ERPTableGroupRow-E5Q6FYDS.js.map +1 -0
- package/dist/ERPTableGroupRow-F2IPDYL5.cjs +131 -0
- package/dist/ERPTableGroupRow-F2IPDYL5.cjs.map +1 -0
- package/dist/GridPlugin-Bewn0X51.d.ts +57 -0
- package/dist/GridPlugin-DewWufGZ.d.cts +57 -0
- package/dist/GridPresenceService-GEH6535Q.js +3 -0
- package/dist/GridPresenceService-GEH6535Q.js.map +1 -0
- package/dist/GridPresenceService-RDN5FXHQ.cjs +12 -0
- package/dist/GridPresenceService-RDN5FXHQ.cjs.map +1 -0
- package/dist/GridSession-CeIfVFck.d.ts +2625 -0
- package/dist/GridSession-CmQn2RnL.d.cts +2625 -0
- package/dist/GridSyncService-3JQLEY65.cjs +12 -0
- package/dist/GridSyncService-3JQLEY65.cjs.map +1 -0
- package/dist/GridSyncService-GECXGEKL.js +3 -0
- package/dist/GridSyncService-GECXGEKL.js.map +1 -0
- package/dist/PdfRenderer-B9FJaCo_.d.cts +22 -0
- package/dist/PdfRenderer-bN7ca_Aj.d.ts +22 -0
- package/dist/RemoteApi-CCQxiSf1.d.cts +28 -0
- package/dist/RemoteApi-CCQxiSf1.d.ts +28 -0
- package/dist/SelectImpl-NM4O4IGW.js +447 -0
- package/dist/SelectImpl-NM4O4IGW.js.map +1 -0
- package/dist/SelectImpl-W2EI4T7O.cjs +453 -0
- package/dist/SelectImpl-W2EI4T7O.cjs.map +1 -0
- package/dist/UITableController-C71LXBiX.d.ts +678 -0
- package/dist/UITableController-CIwnHIw8.d.cts +678 -0
- package/dist/VazirmatnPdfRenderer-CpCqA-Wh.d.cts +96 -0
- package/dist/VazirmatnPdfRenderer-D46smncn.d.ts +96 -0
- package/dist/adapters/arian-erp.cjs +89 -0
- package/dist/adapters/arian-erp.cjs.map +1 -0
- package/dist/adapters/arian-erp.d.cts +62 -0
- package/dist/adapters/arian-erp.d.ts +62 -0
- package/dist/adapters/arian-erp.js +79 -0
- package/dist/adapters/arian-erp.js.map +1 -0
- package/dist/appendAtEnd-RHIQRG2W.cjs +35 -0
- package/dist/appendAtEnd-RHIQRG2W.cjs.map +1 -0
- package/dist/appendAtEnd-TJEABLGD.js +33 -0
- package/dist/appendAtEnd-TJEABLGD.js.map +1 -0
- package/dist/applyImportedRows-C2fWYoPy.d.cts +135 -0
- package/dist/applyImportedRows-Cqh_N_0k.d.ts +135 -0
- package/dist/applyRowVisibilityHandler-Q64ZFC7A.cjs +86 -0
- package/dist/applyRowVisibilityHandler-Q64ZFC7A.cjs.map +1 -0
- package/dist/applyRowVisibilityHandler-ZLZXQEGY.js +84 -0
- package/dist/applyRowVisibilityHandler-ZLZXQEGY.js.map +1 -0
- package/dist/broadcastChannelTransport-FHUMV76O.cjs +12 -0
- package/dist/broadcastChannelTransport-FHUMV76O.cjs.map +1 -0
- package/dist/broadcastChannelTransport-MIH53VNZ.js +3 -0
- package/dist/broadcastChannelTransport-MIH53VNZ.js.map +1 -0
- package/dist/callbackRemoteApi-BYLjmSI6.d.ts +51 -0
- package/dist/callbackRemoteApi-Cv26MmSD.d.cts +51 -0
- package/dist/cellRenderContext-BaNh4qn_.d.ts +42 -0
- package/dist/cellRenderContext-DvngkptV.d.cts +42 -0
- package/dist/chunk-27ALJSZP.js +12187 -0
- package/dist/chunk-27ALJSZP.js.map +1 -0
- package/dist/chunk-3HP3HQCW.cjs +688 -0
- package/dist/chunk-3HP3HQCW.cjs.map +1 -0
- package/dist/chunk-3Y3KKGEC.js +3 -0
- package/dist/chunk-3Y3KKGEC.js.map +1 -0
- package/dist/chunk-52LFOPXD.cjs +588 -0
- package/dist/chunk-52LFOPXD.cjs.map +1 -0
- package/dist/chunk-5ALMNLUR.cjs +1408 -0
- package/dist/chunk-5ALMNLUR.cjs.map +1 -0
- package/dist/chunk-5HKVMPBD.js +937 -0
- package/dist/chunk-5HKVMPBD.js.map +1 -0
- package/dist/chunk-72IVAOTK.cjs +38 -0
- package/dist/chunk-72IVAOTK.cjs.map +1 -0
- package/dist/chunk-77UXAJII.js +112 -0
- package/dist/chunk-77UXAJII.js.map +1 -0
- package/dist/chunk-7GWV5HGO.js +36 -0
- package/dist/chunk-7GWV5HGO.js.map +1 -0
- package/dist/chunk-7T6AWRPU.js +581 -0
- package/dist/chunk-7T6AWRPU.js.map +1 -0
- package/dist/chunk-AU3RDJYQ.js +243 -0
- package/dist/chunk-AU3RDJYQ.js.map +1 -0
- package/dist/chunk-CILNIWYW.cjs +100 -0
- package/dist/chunk-CILNIWYW.cjs.map +1 -0
- package/dist/chunk-CMQ4VLCW.cjs +840 -0
- package/dist/chunk-CMQ4VLCW.cjs.map +1 -0
- package/dist/chunk-DFFP7SJ6.cjs +257 -0
- package/dist/chunk-DFFP7SJ6.cjs.map +1 -0
- package/dist/chunk-E2J533UH.cjs +53 -0
- package/dist/chunk-E2J533UH.cjs.map +1 -0
- package/dist/chunk-EBV6HGZB.cjs +33 -0
- package/dist/chunk-EBV6HGZB.cjs.map +1 -0
- package/dist/chunk-F4PYOYHR.js +112 -0
- package/dist/chunk-F4PYOYHR.js.map +1 -0
- package/dist/chunk-F6EMC75A.cjs +34 -0
- package/dist/chunk-F6EMC75A.cjs.map +1 -0
- package/dist/chunk-GKE33FOJ.js +32 -0
- package/dist/chunk-GKE33FOJ.js.map +1 -0
- package/dist/chunk-GQEDLUMB.js +168 -0
- package/dist/chunk-GQEDLUMB.js.map +1 -0
- package/dist/chunk-HLOHWFOA.js +645 -0
- package/dist/chunk-HLOHWFOA.js.map +1 -0
- package/dist/chunk-IMPCRWYP.cjs +251 -0
- package/dist/chunk-IMPCRWYP.cjs.map +1 -0
- package/dist/chunk-IPPIXOVQ.js +317 -0
- package/dist/chunk-IPPIXOVQ.js.map +1 -0
- package/dist/chunk-J4XJ4UBC.js +1404 -0
- package/dist/chunk-J4XJ4UBC.js.map +1 -0
- package/dist/chunk-J7CPPFXT.cjs +89 -0
- package/dist/chunk-J7CPPFXT.cjs.map +1 -0
- package/dist/chunk-JOICD47Q.cjs +41 -0
- package/dist/chunk-JOICD47Q.cjs.map +1 -0
- package/dist/chunk-KCNTKYUY.js +206 -0
- package/dist/chunk-KCNTKYUY.js.map +1 -0
- package/dist/chunk-KHMG6EI2.js +13 -0
- package/dist/chunk-KHMG6EI2.js.map +1 -0
- package/dist/chunk-KMRURD5J.cjs +15 -0
- package/dist/chunk-KMRURD5J.cjs.map +1 -0
- package/dist/chunk-KRJG3KMP.cjs +174 -0
- package/dist/chunk-KRJG3KMP.cjs.map +1 -0
- package/dist/chunk-LY27YAXE.cjs +208 -0
- package/dist/chunk-LY27YAXE.cjs.map +1 -0
- package/dist/chunk-MT3KLB2Q.cjs +944 -0
- package/dist/chunk-MT3KLB2Q.cjs.map +1 -0
- package/dist/chunk-MUQQKPWR.js +84 -0
- package/dist/chunk-MUQQKPWR.js.map +1 -0
- package/dist/chunk-N7SJTINL.cjs +4 -0
- package/dist/chunk-N7SJTINL.cjs.map +1 -0
- package/dist/chunk-NB5GCGHL.js +833 -0
- package/dist/chunk-NB5GCGHL.js.map +1 -0
- package/dist/chunk-NQUVAJQA.js +298 -0
- package/dist/chunk-NQUVAJQA.js.map +1 -0
- package/dist/chunk-NTV2UUAJ.cjs +149 -0
- package/dist/chunk-NTV2UUAJ.cjs.map +1 -0
- package/dist/chunk-PJQWHF6T.js +31 -0
- package/dist/chunk-PJQWHF6T.js.map +1 -0
- package/dist/chunk-PQY54EL5.js +248 -0
- package/dist/chunk-PQY54EL5.js.map +1 -0
- package/dist/chunk-Q7TBBUTX.cjs +110 -0
- package/dist/chunk-Q7TBBUTX.cjs.map +1 -0
- package/dist/chunk-QZN7R2WP.cjs +114 -0
- package/dist/chunk-QZN7R2WP.cjs.map +1 -0
- package/dist/chunk-RKVSJU46.js +35 -0
- package/dist/chunk-RKVSJU46.js.map +1 -0
- package/dist/chunk-SVO62ZV2.js +50 -0
- package/dist/chunk-SVO62ZV2.js.map +1 -0
- package/dist/chunk-SX4VQXAA.cjs +114 -0
- package/dist/chunk-SX4VQXAA.cjs.map +1 -0
- package/dist/chunk-SZ7BLAY3.js +92 -0
- package/dist/chunk-SZ7BLAY3.js.map +1 -0
- package/dist/chunk-TN4MG6FY.js +112 -0
- package/dist/chunk-TN4MG6FY.js.map +1 -0
- package/dist/chunk-UC7PHDM6.cjs +331 -0
- package/dist/chunk-UC7PHDM6.cjs.map +1 -0
- package/dist/chunk-UXVLYUUW.js +108 -0
- package/dist/chunk-UXVLYUUW.js.map +1 -0
- package/dist/chunk-VBAZ77Q4.js +932 -0
- package/dist/chunk-VBAZ77Q4.js.map +1 -0
- package/dist/chunk-VSAFQTW5.cjs +319 -0
- package/dist/chunk-VSAFQTW5.cjs.map +1 -0
- package/dist/chunk-VYJQ2HTA.cjs +936 -0
- package/dist/chunk-VYJQ2HTA.cjs.map +1 -0
- package/dist/chunk-W5256BJ4.js +56 -0
- package/dist/chunk-W5256BJ4.js.map +1 -0
- package/dist/chunk-WTHTVKVI.cjs +12299 -0
- package/dist/chunk-WTHTVKVI.cjs.map +1 -0
- package/dist/chunk-WUMOSOEK.cjs +62 -0
- package/dist/chunk-WUMOSOEK.cjs.map +1 -0
- package/dist/chunk-XLRE2J25.js +140 -0
- package/dist/chunk-XLRE2J25.js.map +1 -0
- package/dist/chunk-Z4QPZ3Z3.cjs +114 -0
- package/dist/chunk-Z4QPZ3Z3.cjs.map +1 -0
- package/dist/createEngineGridQuery-BBkud5oE.d.ts +939 -0
- package/dist/createEngineGridQuery-D-fgO_jg.d.cts +939 -0
- package/dist/date-picker-jalali.cjs +263 -0
- package/dist/date-picker-jalali.cjs.map +1 -0
- package/dist/date-picker-jalali.d.cts +62 -0
- package/dist/date-picker-jalali.d.ts +62 -0
- package/dist/date-picker-jalali.js +256 -0
- package/dist/date-picker-jalali.js.map +1 -0
- package/dist/finance.cjs +205 -0
- package/dist/finance.cjs.map +1 -0
- package/dist/finance.d.cts +90 -0
- package/dist/finance.d.ts +90 -0
- package/dist/finance.js +157 -0
- package/dist/finance.js.map +1 -0
- package/dist/foldedColumn-IHDT4ARZ.cjs +66 -0
- package/dist/foldedColumn-IHDT4ARZ.cjs.map +1 -0
- package/dist/foldedColumn-TFURUKFG.js +64 -0
- package/dist/foldedColumn-TFURUKFG.js.map +1 -0
- package/dist/headless.cjs +729 -0
- package/dist/headless.cjs.map +1 -0
- package/dist/headless.d.cts +508 -0
- package/dist/headless.d.ts +508 -0
- package/dist/headless.js +226 -0
- package/dist/headless.js.map +1 -0
- package/dist/index-DN8M8Jkq.d.cts +14 -0
- package/dist/index-DmzL-F_o.d.ts +14 -0
- package/dist/index.cjs +8060 -11409
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +457 -2305
- package/dist/index.d.ts +457 -2305
- package/dist/index.js +7302 -11084
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.cjs +12 -0
- package/dist/locales/ar.cjs.map +1 -0
- package/dist/locales/ar.d.cts +6 -0
- package/dist/locales/ar.d.ts +6 -0
- package/dist/locales/ar.js +3 -0
- package/dist/locales/ar.js.map +1 -0
- package/dist/locales/en.cjs +12 -0
- package/dist/locales/en.cjs.map +1 -0
- package/dist/locales/en.d.cts +6 -0
- package/dist/locales/en.d.ts +6 -0
- package/dist/locales/en.js +3 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/fa.cjs +12 -0
- package/dist/locales/fa.cjs.map +1 -0
- package/dist/locales/fa.d.cts +6 -0
- package/dist/locales/fa.d.ts +6 -0
- package/dist/locales/fa.js +3 -0
- package/dist/locales/fa.js.map +1 -0
- package/dist/locales/index.cjs +51 -0
- package/dist/locales/index.cjs.map +1 -0
- package/dist/locales/index.d.cts +5 -0
- package/dist/locales/index.d.ts +5 -0
- package/dist/locales/index.js +6 -0
- package/dist/locales/index.js.map +1 -0
- package/dist/memoryRecords-AWDKUJ2F.cjs +50 -0
- package/dist/memoryRecords-AWDKUJ2F.cjs.map +1 -0
- package/dist/memoryRecords-OJTGXLRH.js +47 -0
- package/dist/memoryRecords-OJTGXLRH.js.map +1 -0
- package/dist/pagedFooterTotals-DXCGDO6F.cjs +27 -0
- package/dist/pagedFooterTotals-DXCGDO6F.cjs.map +1 -0
- package/dist/pagedFooterTotals-ORWKUNE7.js +25 -0
- package/dist/pagedFooterTotals-ORWKUNE7.js.map +1 -0
- package/dist/pagedKit-MFGAJFSK.cjs +134 -0
- package/dist/pagedKit-MFGAJFSK.cjs.map +1 -0
- package/dist/pagedKit-WYWY4LRV.js +127 -0
- package/dist/pagedKit-WYWY4LRV.js.map +1 -0
- package/dist/pagedSearch-HCPJW7VM.js +38 -0
- package/dist/pagedSearch-HCPJW7VM.js.map +1 -0
- package/dist/pagedSearch-U3WCG4GN.cjs +42 -0
- package/dist/pagedSearch-U3WCG4GN.cjs.map +1 -0
- package/dist/plugins/csv.cjs +124 -0
- package/dist/plugins/csv.cjs.map +1 -0
- package/dist/plugins/csv.d.cts +44 -0
- package/dist/plugins/csv.d.ts +44 -0
- package/dist/plugins/csv.js +120 -0
- package/dist/plugins/csv.js.map +1 -0
- package/dist/plugins/excel.cjs +52 -0
- package/dist/plugins/excel.cjs.map +1 -0
- package/dist/plugins/excel.d.cts +14 -0
- package/dist/plugins/excel.d.ts +14 -0
- package/dist/plugins/excel.js +7 -0
- package/dist/plugins/excel.js.map +1 -0
- package/dist/plugins/pdf/fonts/vazirmatn.cjs +50 -0
- package/dist/plugins/pdf/fonts/vazirmatn.cjs.map +1 -0
- package/dist/plugins/pdf/fonts/vazirmatn.d.cts +24 -0
- package/dist/plugins/pdf/fonts/vazirmatn.d.ts +24 -0
- package/dist/plugins/pdf/fonts/vazirmatn.js +39 -0
- package/dist/plugins/pdf/fonts/vazirmatn.js.map +1 -0
- package/dist/plugins/pdf.cjs +24 -0
- package/dist/plugins/pdf.cjs.map +1 -0
- package/dist/plugins/pdf.d.cts +21 -0
- package/dist/plugins/pdf.d.ts +21 -0
- package/dist/plugins/pdf.js +7 -0
- package/dist/plugins/pdf.js.map +1 -0
- package/dist/presence.cjs +56 -0
- package/dist/presence.cjs.map +1 -0
- package/dist/presence.d.cts +17 -0
- package/dist/presence.d.ts +17 -0
- package/dist/presence.js +54 -0
- package/dist/presence.js.map +1 -0
- package/dist/rebuildRowVisibility-66EAZ356.cjs +21 -0
- package/dist/rebuildRowVisibility-66EAZ356.cjs.map +1 -0
- package/dist/rebuildRowVisibility-6TYM5BP2.js +19 -0
- package/dist/rebuildRowVisibility-6TYM5BP2.js.map +1 -0
- package/dist/styles.css +1440 -0
- package/dist/sync.cjs +148 -0
- package/dist/sync.cjs.map +1 -0
- package/dist/sync.d.cts +17 -0
- package/dist/sync.d.ts +17 -0
- package/dist/sync.js +146 -0
- package/dist/sync.js.map +1 -0
- package/dist/types-D__47BKv.d.cts +23 -0
- package/dist/types-D__47BKv.d.ts +23 -0
- package/package.json +185 -29
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var chunkWUMOSOEK_cjs = require('./chunk-WUMOSOEK.cjs');
|
|
6
|
+
var chunk3HP3HQCW_cjs = require('./chunk-3HP3HQCW.cjs');
|
|
7
|
+
require('./chunk-CILNIWYW.cjs');
|
|
8
|
+
require('./chunk-SX4VQXAA.cjs');
|
|
9
|
+
require('./chunk-QZN7R2WP.cjs');
|
|
10
|
+
require('./chunk-Z4QPZ3Z3.cjs');
|
|
11
|
+
var chunkKRJG3KMP_cjs = require('./chunk-KRJG3KMP.cjs');
|
|
12
|
+
require('./chunk-J7CPPFXT.cjs');
|
|
13
|
+
require('./chunk-DFFP7SJ6.cjs');
|
|
14
|
+
var react = require('react');
|
|
15
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
16
|
+
|
|
17
|
+
function JalaliCalendar({
|
|
18
|
+
mode = "single",
|
|
19
|
+
value = null,
|
|
20
|
+
range,
|
|
21
|
+
onSelect,
|
|
22
|
+
onRangeChange,
|
|
23
|
+
showHolidays = true,
|
|
24
|
+
className
|
|
25
|
+
}) {
|
|
26
|
+
const theme = chunk3HP3HQCW_cjs.useERPTableTheme();
|
|
27
|
+
const t = chunk3HP3HQCW_cjs.useTranslations();
|
|
28
|
+
const seed = value ?? range?.start ?? range?.end ?? /* @__PURE__ */ new Date();
|
|
29
|
+
const seedYmd = chunk3HP3HQCW_cjs.toJalaliYmd(seed);
|
|
30
|
+
const [view, setView] = react.useState({ jy: seedYmd.jy, jm: seedYmd.jm });
|
|
31
|
+
const [draftStart, setDraftStart] = react.useState(
|
|
32
|
+
range?.start ?? null
|
|
33
|
+
);
|
|
34
|
+
const cells = react.useMemo(
|
|
35
|
+
() => chunk3HP3HQCW_cjs.buildJalaliMonthGrid(view.jy, view.jm),
|
|
36
|
+
[view.jy, view.jm]
|
|
37
|
+
);
|
|
38
|
+
const effectiveRange = mode === "range" ? {
|
|
39
|
+
start: range?.start ?? draftStart,
|
|
40
|
+
end: range?.end ?? null
|
|
41
|
+
} : { start: value, end: value };
|
|
42
|
+
const go = (delta) => {
|
|
43
|
+
setView((v) => chunk3HP3HQCW_cjs.addJalaliMonths(v.jy, v.jm, delta));
|
|
44
|
+
};
|
|
45
|
+
const handleDayClick = (date) => {
|
|
46
|
+
if (mode === "single") {
|
|
47
|
+
onSelect?.(date);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (!draftStart || range?.start && range?.end) {
|
|
51
|
+
setDraftStart(date);
|
|
52
|
+
onRangeChange?.({ start: date, end: null });
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const start = draftStart;
|
|
56
|
+
const ordered = chunk3HP3HQCW_cjs.compareJalaliDay(start, date) <= 0 ? { start, end: date } : { start: date, end: start };
|
|
57
|
+
setDraftStart(null);
|
|
58
|
+
onRangeChange?.(ordered);
|
|
59
|
+
};
|
|
60
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
61
|
+
"div",
|
|
62
|
+
{
|
|
63
|
+
className: `pdg-jalali-cal ${className ?? ""}`,
|
|
64
|
+
dir: "rtl",
|
|
65
|
+
role: "group",
|
|
66
|
+
"aria-label": t("date.calendar"),
|
|
67
|
+
children: [
|
|
68
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pdg-jalali-cal__header", children: [
|
|
69
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
70
|
+
"button",
|
|
71
|
+
{
|
|
72
|
+
type: "button",
|
|
73
|
+
className: "pdg-jalali-cal__nav",
|
|
74
|
+
"aria-label": t("date.nextMonth"),
|
|
75
|
+
onClick: () => go(1),
|
|
76
|
+
children: "\u2039"
|
|
77
|
+
}
|
|
78
|
+
),
|
|
79
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "pdg-jalali-cal__title", children: [
|
|
80
|
+
chunk3HP3HQCW_cjs.jalaliMonthName(view.jm),
|
|
81
|
+
" ",
|
|
82
|
+
view.jy
|
|
83
|
+
] }),
|
|
84
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
85
|
+
"button",
|
|
86
|
+
{
|
|
87
|
+
type: "button",
|
|
88
|
+
className: "pdg-jalali-cal__nav",
|
|
89
|
+
"aria-label": t("date.prevMonth"),
|
|
90
|
+
onClick: () => go(-1),
|
|
91
|
+
children: "\u203A"
|
|
92
|
+
}
|
|
93
|
+
)
|
|
94
|
+
] }),
|
|
95
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pdg-jalali-cal__weekdays", "aria-hidden": true, children: chunk3HP3HQCW_cjs.JALALI_WEEKDAY_LABELS_FA.map((d) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pdg-jalali-cal__wd", children: d }, d)) }),
|
|
96
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pdg-jalali-cal__grid", role: "grid", children: cells.map((cell) => {
|
|
97
|
+
const selected = mode === "single" ? value != null && chunk3HP3HQCW_cjs.sameJalaliDay(cell.date, value) : Boolean(
|
|
98
|
+
effectiveRange.start && chunk3HP3HQCW_cjs.sameJalaliDay(cell.date, effectiveRange.start)
|
|
99
|
+
) || Boolean(
|
|
100
|
+
effectiveRange.end && chunk3HP3HQCW_cjs.sameJalaliDay(cell.date, effectiveRange.end)
|
|
101
|
+
);
|
|
102
|
+
const inRange = mode === "range" && chunk3HP3HQCW_cjs.isDateInRange(cell.date, effectiveRange);
|
|
103
|
+
const holiday = showHolidays && chunkWUMOSOEK_cjs.isIranHoliday(cell.date);
|
|
104
|
+
const today = chunk3HP3HQCW_cjs.sameJalaliDay(cell.date, /* @__PURE__ */ new Date());
|
|
105
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
106
|
+
"button",
|
|
107
|
+
{
|
|
108
|
+
type: "button",
|
|
109
|
+
role: "gridcell",
|
|
110
|
+
className: [
|
|
111
|
+
"pdg-jalali-cal__day",
|
|
112
|
+
cell.inCurrentMonth ? "" : "is-outside",
|
|
113
|
+
selected ? "is-selected" : "",
|
|
114
|
+
inRange ? "is-in-range" : "",
|
|
115
|
+
holiday ? "is-holiday" : "",
|
|
116
|
+
today ? "is-today" : ""
|
|
117
|
+
].filter(Boolean).join(" "),
|
|
118
|
+
onClick: () => handleDayClick(cell.date),
|
|
119
|
+
style: selected ? {
|
|
120
|
+
background: theme.params.accentColor,
|
|
121
|
+
color: "var(--pdg-bg)"
|
|
122
|
+
} : inRange ? { background: theme.params.rowStripeColor } : void 0,
|
|
123
|
+
children: cell.ymd.jd
|
|
124
|
+
},
|
|
125
|
+
`${cell.ymd.jy}-${cell.ymd.jm}-${cell.ymd.jd}`
|
|
126
|
+
);
|
|
127
|
+
}) })
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
function parseValue(value, adapter) {
|
|
133
|
+
return adapter.parse(value);
|
|
134
|
+
}
|
|
135
|
+
function PersianRangeDatePicker(props) {
|
|
136
|
+
const theme = chunk3HP3HQCW_cjs.useERPTableTheme();
|
|
137
|
+
const t = chunk3HP3HQCW_cjs.useTranslations();
|
|
138
|
+
const hostAdapter = chunk3HP3HQCW_cjs.useDateAdapter();
|
|
139
|
+
const adapter = hostAdapter.id === "jalali" ? hostAdapter : chunkKRJG3KMP_cjs.jalaliAdapter;
|
|
140
|
+
const panelId = react.useId();
|
|
141
|
+
const rootRef = react.useRef(null);
|
|
142
|
+
const [open, setOpen] = react.useState(false);
|
|
143
|
+
const isRange = props.mode === "range";
|
|
144
|
+
react.useEffect(() => {
|
|
145
|
+
if (!open) return;
|
|
146
|
+
const onDoc = (e) => {
|
|
147
|
+
if (!rootRef.current?.contains(e.target)) setOpen(false);
|
|
148
|
+
};
|
|
149
|
+
document.addEventListener("mousedown", onDoc);
|
|
150
|
+
return () => document.removeEventListener("mousedown", onDoc);
|
|
151
|
+
}, [open]);
|
|
152
|
+
if (isRange) {
|
|
153
|
+
const range = props.range ?? { start: null, end: null };
|
|
154
|
+
const label = range.start && range.end ? `${adapter.format(range.start)} \u2013 ${adapter.format(range.end)}` : range.start ? `${adapter.format(range.start)} \u2013 \u2026` : t("date.pickRange");
|
|
155
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
156
|
+
"div",
|
|
157
|
+
{
|
|
158
|
+
ref: rootRef,
|
|
159
|
+
className: `erp-table-date pdg-date-range ${props.className ?? ""}`,
|
|
160
|
+
children: [
|
|
161
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
162
|
+
"button",
|
|
163
|
+
{
|
|
164
|
+
type: "button",
|
|
165
|
+
className: "pdg-cell-editor pdg-date-range__trigger",
|
|
166
|
+
disabled: props.disabled,
|
|
167
|
+
"aria-expanded": open,
|
|
168
|
+
"aria-controls": panelId,
|
|
169
|
+
onClick: () => setOpen((v) => !v),
|
|
170
|
+
style: { accentColor: theme.params.accentColor },
|
|
171
|
+
children: label
|
|
172
|
+
}
|
|
173
|
+
),
|
|
174
|
+
open && !props.disabled ? /* @__PURE__ */ jsxRuntime.jsx("div", { id: panelId, className: "pdg-date-range__popover", role: "dialog", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
175
|
+
JalaliCalendar,
|
|
176
|
+
{
|
|
177
|
+
mode: "range",
|
|
178
|
+
range,
|
|
179
|
+
showHolidays: props.showHolidays !== false,
|
|
180
|
+
onRangeChange: (next) => {
|
|
181
|
+
props.onRangeChange?.(next);
|
|
182
|
+
if (next.start && next.end) setOpen(false);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
) }) : null
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
const value = props.value;
|
|
191
|
+
const onChange = props.onChange;
|
|
192
|
+
const disabled = props.disabled;
|
|
193
|
+
const parsed = parseValue(value, adapter);
|
|
194
|
+
const text = parsed ? adapter.format(parsed) : "";
|
|
195
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
196
|
+
"div",
|
|
197
|
+
{
|
|
198
|
+
ref: rootRef,
|
|
199
|
+
className: `erp-table-date pdg-date-range ${props.className ?? ""}`,
|
|
200
|
+
children: [
|
|
201
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
202
|
+
"button",
|
|
203
|
+
{
|
|
204
|
+
type: "button",
|
|
205
|
+
className: "pdg-cell-editor pdg-date-range__trigger",
|
|
206
|
+
disabled,
|
|
207
|
+
"aria-expanded": open,
|
|
208
|
+
"aria-controls": panelId,
|
|
209
|
+
onClick: () => setOpen((v) => !v),
|
|
210
|
+
style: { accentColor: theme.params.accentColor },
|
|
211
|
+
children: text || t("date.pickDate")
|
|
212
|
+
}
|
|
213
|
+
),
|
|
214
|
+
open && !disabled ? /* @__PURE__ */ jsxRuntime.jsxs("div", { id: panelId, className: "pdg-date-range__popover", role: "dialog", children: [
|
|
215
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
216
|
+
JalaliCalendar,
|
|
217
|
+
{
|
|
218
|
+
mode: "single",
|
|
219
|
+
value: parsed,
|
|
220
|
+
showHolidays: props.showHolidays !== false,
|
|
221
|
+
onSelect: (date) => {
|
|
222
|
+
onChange?.(date.getTime());
|
|
223
|
+
setOpen(false);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
),
|
|
227
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pdg-date-range__actions", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
228
|
+
"button",
|
|
229
|
+
{
|
|
230
|
+
type: "button",
|
|
231
|
+
className: "pdg-date-range__clear",
|
|
232
|
+
onClick: () => {
|
|
233
|
+
onChange?.("");
|
|
234
|
+
setOpen(false);
|
|
235
|
+
},
|
|
236
|
+
children: t("date.clear")
|
|
237
|
+
}
|
|
238
|
+
) })
|
|
239
|
+
] }) : null
|
|
240
|
+
]
|
|
241
|
+
}
|
|
242
|
+
);
|
|
243
|
+
}
|
|
244
|
+
function PersianRangeDateCell(ctx) {
|
|
245
|
+
const raw = ctx.value;
|
|
246
|
+
const value = raw == null || raw === "" ? void 0 : typeof raw === "number" ? raw : new Date(raw).valueOf();
|
|
247
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
248
|
+
PersianRangeDatePicker,
|
|
249
|
+
{
|
|
250
|
+
className: ctx.meta.className,
|
|
251
|
+
disabled: ctx.isDeleted || !ctx.isEditable,
|
|
252
|
+
value,
|
|
253
|
+
onChange: (v) => ctx.dispatchChangeValue(v)
|
|
254
|
+
}
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
exports.JalaliCalendar = JalaliCalendar;
|
|
259
|
+
exports.PersianRangeDateCell = PersianRangeDateCell;
|
|
260
|
+
exports.PersianRangeDatePicker = PersianRangeDatePicker;
|
|
261
|
+
exports.default = PersianRangeDatePicker;
|
|
262
|
+
//# sourceMappingURL=date-picker-jalali.cjs.map
|
|
263
|
+
//# sourceMappingURL=date-picker-jalali.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../ui/date/JalaliCalendar.tsx","../ui/date/PersianRangeDatePicker.tsx"],"names":["useERPTableTheme","useTranslations","toJalaliYmd","useState","useMemo","buildJalaliMonthGrid","addJalaliMonths","compareJalaliDay","jsxs","jsx","jalaliMonthName","JALALI_WEEKDAY_LABELS_FA","sameJalaliDay","isDateInRange","isIranHoliday","useDateAdapter","jalaliAdapter","useId","useRef","useEffect"],"mappings":";;;;;;;;;;;;;;;;AA+BO,SAAS,cAAA,CAAe;AAAA,EAC7B,IAAA,GAAO,QAAA;AAAA,EACP,KAAA,GAAQ,IAAA;AAAA,EACR,KAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA,GAAe,IAAA;AAAA,EACf;AACF,CAAA,EAAwB;AACtB,EAAA,MAAM,QAAQA,kCAAA,EAAiB;AAC/B,EAAA,MAAM,IAAIC,iCAAA,EAAgB;AAC1B,EAAA,MAAM,OAAO,KAAA,IAAS,KAAA,EAAO,SAAS,KAAA,EAAO,GAAA,wBAAW,IAAA,EAAK;AAC7D,EAAA,MAAM,OAAA,GAAUC,8BAAY,IAAI,CAAA;AAChC,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIC,cAAA,CAAS,EAAE,EAAA,EAAI,OAAA,CAAQ,EAAA,EAAI,EAAA,EAAI,OAAA,CAAQ,EAAA,EAAI,CAAA;AACnE,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,cAAA;AAAA,IAClC,OAAO,KAAA,IAAS;AAAA,GAClB;AAEA,EAAA,MAAM,KAAA,GAAQC,aAAA;AAAA,IACZ,MAAMC,sCAAA,CAAqB,IAAA,CAAK,EAAA,EAAI,KAAK,EAAE,CAAA;AAAA,IAC3C,CAAC,IAAA,CAAK,EAAA,EAAI,IAAA,CAAK,EAAE;AAAA,GACnB;AAEA,EAAA,MAAM,cAAA,GACJ,SAAS,OAAA,GACL;AAAA,IACE,KAAA,EAAO,OAAO,KAAA,IAAS,UAAA;AAAA,IACvB,GAAA,EAAK,OAAO,GAAA,IAAO;AAAA,GACrB,GACA,EAAE,KAAA,EAAO,KAAA,EAAO,KAAK,KAAA,EAAM;AAEjC,EAAA,MAAM,EAAA,GAAK,CAAC,KAAA,KAAkB;AAC5B,IAAA,OAAA,CAAQ,CAAC,MAAMC,iCAAA,CAAgB,CAAA,CAAE,IAAI,CAAA,CAAE,EAAA,EAAI,KAAK,CAAC,CAAA;AAAA,EACnD,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,CAAC,IAAA,KAAe;AACrC,IAAA,IAAI,SAAS,QAAA,EAAU;AACrB,MAAA,QAAA,GAAW,IAAI,CAAA;AACf,MAAA;AAAA,IACF;AACA,IAAA,IAAI,CAAC,UAAA,IAAe,KAAA,EAAO,KAAA,IAAS,OAAO,GAAA,EAAM;AAC/C,MAAA,aAAA,CAAc,IAAI,CAAA;AAClB,MAAA,aAAA,GAAgB,EAAE,KAAA,EAAO,IAAA,EAAM,GAAA,EAAK,MAAM,CAAA;AAC1C,MAAA;AAAA,IACF;AACA,IAAA,MAAM,KAAA,GAAQ,UAAA;AACd,IAAA,MAAM,OAAA,GACJC,kCAAA,CAAiB,KAAA,EAAO,IAAI,KAAK,CAAA,GAC7B,EAAE,KAAA,EAAO,GAAA,EAAK,MAAK,GACnB,EAAE,KAAA,EAAO,IAAA,EAAM,KAAK,KAAA,EAAM;AAChC,IAAA,aAAA,CAAc,IAAI,CAAA;AAClB,IAAA,aAAA,GAAgB,OAAO,CAAA;AAAA,EACzB,CAAA;AAEA,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,CAAA,eAAA,EAAkB,SAAA,IAAa,EAAE,CAAA,CAAA;AAAA,MAC5C,GAAA,EAAI,KAAA;AAAA,MACJ,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAY,EAAE,eAAe,CAAA;AAAA,MAE7B,QAAA,EAAA;AAAA,wBAAAA,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wBAAA,EACb,QAAA,EAAA;AAAA,0BAAAC,cAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,SAAA,EAAU,qBAAA;AAAA,cACV,YAAA,EAAY,EAAE,gBAAgB,CAAA;AAAA,cAC9B,OAAA,EAAS,MAAM,EAAA,CAAG,CAAC,CAAA;AAAA,cACpB,QAAA,EAAA;AAAA;AAAA,WAED;AAAA,0BACAD,eAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uBAAA,EACb,QAAA,EAAA;AAAA,YAAAE,iCAAA,CAAgB,KAAK,EAAE,CAAA;AAAA,YAAE,GAAA;AAAA,YAAE,IAAA,CAAK;AAAA,WAAA,EACnC,CAAA;AAAA,0BACAD,cAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,SAAA,EAAU,qBAAA;AAAA,cACV,YAAA,EAAY,EAAE,gBAAgB,CAAA;AAAA,cAC9B,OAAA,EAAS,MAAM,EAAA,CAAG,EAAE,CAAA;AAAA,cACrB,QAAA,EAAA;AAAA;AAAA;AAED,SAAA,EACF,CAAA;AAAA,uCACC,KAAA,EAAA,EAAI,SAAA,EAAU,0BAAA,EAA2B,aAAA,EAAW,MAClD,QAAA,EAAAE,0CAAA,CAAyB,GAAA,CAAI,CAAC,CAAA,oCAC5B,MAAA,EAAA,EAAa,SAAA,EAAU,sBACrB,QAAA,EAAA,CAAA,EAAA,EADQ,CAEX,CACD,CAAA,EACH,CAAA;AAAA,wBACAF,cAAA,CAAC,SAAI,SAAA,EAAU,sBAAA,EAAuB,MAAK,MAAA,EACxC,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAS;AACnB,UAAA,MAAM,QAAA,GACJ,SAAS,QAAA,GACL,KAAA,IAAS,QAAQG,+BAAA,CAAc,IAAA,CAAK,IAAA,EAAM,KAAK,CAAA,GAC/C,OAAA;AAAA,YACE,eAAe,KAAA,IACbA,+BAAA,CAAc,IAAA,CAAK,IAAA,EAAM,eAAe,KAAK;AAAA,WACjD,IACA,OAAA;AAAA,YACE,eAAe,GAAA,IACbA,+BAAA,CAAc,IAAA,CAAK,IAAA,EAAM,eAAe,GAAG;AAAA,WAC/C;AACN,UAAA,MAAM,UACJ,IAAA,KAAS,OAAA,IAAWC,+BAAA,CAAc,IAAA,CAAK,MAAM,cAAc,CAAA;AAC7D,UAAA,MAAM,OAAA,GAAU,YAAA,IAAgBC,+BAAA,CAAc,IAAA,CAAK,IAAI,CAAA;AACvD,UAAA,MAAM,QAAQF,+BAAA,CAAc,IAAA,CAAK,IAAA,kBAAM,IAAI,MAAM,CAAA;AAEjD,UAAA,uBACEH,cAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cAEC,IAAA,EAAK,QAAA;AAAA,cACL,IAAA,EAAK,UAAA;AAAA,cACL,SAAA,EAAW;AAAA,gBACT,qBAAA;AAAA,gBACA,IAAA,CAAK,iBAAiB,EAAA,GAAK,YAAA;AAAA,gBAC3B,WAAW,aAAA,GAAgB,EAAA;AAAA,gBAC3B,UAAU,aAAA,GAAgB,EAAA;AAAA,gBAC1B,UAAU,YAAA,GAAe,EAAA;AAAA,gBACzB,QAAQ,UAAA,GAAa;AAAA,eACvB,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AAAA,cACX,OAAA,EAAS,MAAM,cAAA,CAAe,IAAA,CAAK,IAAI,CAAA;AAAA,cACvC,OACE,QAAA,GACI;AAAA,gBACE,UAAA,EAAY,MAAM,MAAA,CAAO,WAAA;AAAA,gBACzB,KAAA,EAAO;AAAA,kBAET,OAAA,GACE,EAAE,YAAY,KAAA,CAAM,MAAA,CAAO,gBAAe,GAC1C,MAAA;AAAA,cAGP,eAAK,GAAA,CAAI;AAAA,aAAA;AAAA,YAzBL,CAAA,EAAG,IAAA,CAAK,GAAA,CAAI,EAAE,CAAA,CAAA,EAAI,IAAA,CAAK,GAAA,CAAI,EAAE,CAAA,CAAA,EAAI,IAAA,CAAK,GAAA,CAAI,EAAE,CAAA;AAAA,WA0BnD;AAAA,QAEJ,CAAC,CAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ;AClIA,SAAS,UAAA,CACP,OACA,OAAA,EACa;AACb,EAAA,OAAO,OAAA,CAAQ,MAAM,KAAK,CAAA;AAC5B;AAKO,SAAS,uBAAuB,KAAA,EAAoC;AACzE,EAAA,MAAM,QAAQT,kCAAA,EAAiB;AAC/B,EAAA,MAAM,IAAIC,iCAAA,EAAgB;AAC1B,EAAA,MAAM,cAAcc,gCAAA,EAAe;AACnC,EAAA,MAAM,OAAA,GACJ,WAAA,CAAY,EAAA,KAAO,QAAA,GAAW,WAAA,GAAcC,+BAAA;AAC9C,EAAA,MAAM,UAAUC,WAAA,EAAM;AACtB,EAAA,MAAM,OAAA,GAAUC,aAAuB,IAAI,CAAA;AAC3C,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIf,eAAS,KAAK,CAAA;AAEtC,EAAA,MAAM,OAAA,GAAU,MAAM,IAAA,KAAS,OAAA;AAE/B,EAAAgB,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAA,EAAM;AACX,IAAA,MAAM,KAAA,GAAQ,CAAC,CAAA,KAAkB;AAC/B,MAAA,IAAI,CAAC,QAAQ,OAAA,EAAS,QAAA,CAAS,EAAE,MAAc,CAAA,UAAW,KAAK,CAAA;AAAA,IACjE,CAAA;AACA,IAAA,QAAA,CAAS,gBAAA,CAAiB,aAAa,KAAK,CAAA;AAC5C,IAAA,OAAO,MAAM,QAAA,CAAS,mBAAA,CAAoB,WAAA,EAAa,KAAK,CAAA;AAAA,EAC9D,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,MAAM,QAAQ,KAAA,CAAM,KAAA,IAAS,EAAE,KAAA,EAAO,IAAA,EAAM,KAAK,IAAA,EAAK;AACtD,IAAA,MAAM,KAAA,GACJ,KAAA,CAAM,KAAA,IAAS,KAAA,CAAM,GAAA,GACjB,CAAA,EAAG,OAAA,CAAQ,MAAA,CAAO,KAAA,CAAM,KAAK,CAAC,CAAA,QAAA,EAAM,OAAA,CAAQ,MAAA,CAAO,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA,GAC7D,KAAA,CAAM,KAAA,GACJ,CAAA,EAAG,OAAA,CAAQ,MAAA,CAAO,KAAA,CAAM,KAAK,CAAC,CAAA,cAAA,CAAA,GAC9B,CAAA,CAAE,gBAAgB,CAAA;AAE1B,IAAA,uBACEX,eAAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,OAAA;AAAA,QACL,SAAA,EAAW,CAAA,8BAAA,EAAiC,KAAA,CAAM,SAAA,IAAa,EAAE,CAAA,CAAA;AAAA,QAEjE,QAAA,EAAA;AAAA,0BAAAC,cAAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,SAAA,EAAU,yCAAA;AAAA,cACV,UAAU,KAAA,CAAM,QAAA;AAAA,cAChB,eAAA,EAAe,IAAA;AAAA,cACf,eAAA,EAAe,OAAA;AAAA,cACf,SAAS,MAAM,OAAA,CAAQ,CAAC,CAAA,KAAM,CAAC,CAAC,CAAA;AAAA,cAChC,KAAA,EAAO,EAAE,WAAA,EAAa,KAAA,CAAM,OAAO,WAAA,EAAY;AAAA,cAE9C,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,UACC,IAAA,IAAQ,CAAC,KAAA,CAAM,QAAA,mBACdA,cAAAA,CAAC,KAAA,EAAA,EAAI,EAAA,EAAI,OAAA,EAAS,SAAA,EAAU,yBAAA,EAA0B,IAAA,EAAK,UACzD,QAAA,kBAAAA,cAAAA;AAAA,YAAC,cAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,OAAA;AAAA,cACL,KAAA;AAAA,cACA,YAAA,EAAc,MAAM,YAAA,KAAiB,KAAA;AAAA,cACrC,aAAA,EAAe,CAAC,IAAA,KAAS;AACvB,gBAAA,KAAA,CAAM,gBAAgB,IAAI,CAAA;AAC1B,gBAAA,IAAI,IAAA,CAAK,KAAA,IAAS,IAAA,CAAK,GAAA,UAAa,KAAK,CAAA;AAAA,cAC3C;AAAA;AAAA,aAEJ,CAAA,GACE;AAAA;AAAA;AAAA,KACN;AAAA,EAEJ;AAEA,EAAA,MAAM,QAAQ,KAAA,CAAM,KAAA;AACpB,EAAA,MAAM,WAAW,KAAA,CAAM,QAAA;AACvB,EAAA,MAAM,WAAW,KAAA,CAAM,QAAA;AACvB,EAAA,MAAM,MAAA,GAAS,UAAA,CAAW,KAAA,EAAO,OAAO,CAAA;AACxC,EAAA,MAAM,IAAA,GAAO,MAAA,GAAS,OAAA,CAAQ,MAAA,CAAO,MAAM,CAAA,GAAI,EAAA;AAE/C,EAAA,uBACED,eAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,OAAA;AAAA,MACL,SAAA,EAAW,CAAA,8BAAA,EAAiC,KAAA,CAAM,SAAA,IAAa,EAAE,CAAA,CAAA;AAAA,MAEjE,QAAA,EAAA;AAAA,wBAAAC,cAAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,SAAA,EAAU,yCAAA;AAAA,YACV,QAAA;AAAA,YACA,eAAA,EAAe,IAAA;AAAA,YACf,eAAA,EAAe,OAAA;AAAA,YACf,SAAS,MAAM,OAAA,CAAQ,CAAC,CAAA,KAAM,CAAC,CAAC,CAAA;AAAA,YAChC,KAAA,EAAO,EAAE,WAAA,EAAa,KAAA,CAAM,OAAO,WAAA,EAAY;AAAA,YAE9C,QAAA,EAAA,IAAA,IAAQ,EAAE,eAAe;AAAA;AAAA,SAC5B;AAAA,QACC,IAAA,IAAQ,CAAC,QAAA,mBACRD,eAAAA,CAAC,KAAA,EAAA,EAAI,EAAA,EAAI,OAAA,EAAS,SAAA,EAAU,yBAAA,EAA0B,IAAA,EAAK,QAAA,EACzD,QAAA,EAAA;AAAA,0BAAAC,cAAAA;AAAA,YAAC,cAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,KAAA,EAAO,MAAA;AAAA,cACP,YAAA,EAAc,MAAM,YAAA,KAAiB,KAAA;AAAA,cACrC,QAAA,EAAU,CAAC,IAAA,KAAS;AAClB,gBAAA,QAAA,GAAW,IAAA,CAAK,SAAS,CAAA;AACzB,gBAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,cACf;AAAA;AAAA,WACF;AAAA,0BACAA,cAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2BACb,QAAA,kBAAAA,cAAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,SAAA,EAAU,uBAAA;AAAA,cACV,SAAS,MAAM;AACb,gBAAA,QAAA,GAAW,EAAE,CAAA;AACb,gBAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,cACf,CAAA;AAAA,cAEC,YAAE,YAAY;AAAA;AAAA,WACjB,EACF;AAAA,SAAA,EACF,CAAA,GACE;AAAA;AAAA;AAAA,GACN;AAEJ;AAGO,SAAS,qBAAqB,GAAA,EAAwB;AAC3D,EAAA,MAAM,MAAM,GAAA,CAAI,KAAA;AAChB,EAAA,MAAM,KAAA,GACJ,GAAA,IAAO,IAAA,IAAQ,GAAA,KAAQ,KACnB,MAAA,GACA,OAAO,GAAA,KAAQ,QAAA,GACb,GAAA,GACA,IAAI,IAAA,CAAK,GAAa,EAAE,OAAA,EAAQ;AAExC,EAAA,uBACEA,cAAAA;AAAA,IAAC,sBAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,IAAI,IAAA,CAAK,SAAA;AAAA,MACpB,QAAA,EAAU,GAAA,CAAI,SAAA,IAAa,CAAC,GAAA,CAAI,UAAA;AAAA,MAChC,KAAA;AAAA,MACA,QAAA,EAAU,CAAC,CAAA,KAAM,GAAA,CAAI,oBAAoB,CAAC;AAAA;AAAA,GAC5C;AAEJ","file":"date-picker-jalali.cjs","sourcesContent":["\"use client\";\r\n\r\nimport React, { useMemo, useState } from 'react';\r\n\r\nimport {\r\n JALALI_WEEKDAY_LABELS_FA,\r\n addJalaliMonths,\r\n buildJalaliMonthGrid,\r\n compareJalaliDay,\r\n isDateInRange,\r\n jalaliMonthName,\r\n sameJalaliDay,\r\n toJalaliYmd,\r\n type DateRangeValue,\r\n} from '../../infrastructure/date/jalaliCalendarModel';\r\nimport { isIranHoliday } from '../../infrastructure/finance/holidays';\r\nimport { useERPTableTheme, useTranslations } from '../host';\r\n\r\nexport type JalaliCalendarProps = {\r\n mode?: 'single' | 'range';\r\n value?: Date | null;\r\n range?: DateRangeValue;\r\n onSelect?: (date: Date) => void;\r\n onRangeChange?: (range: DateRangeValue) => void;\r\n showHolidays?: boolean;\r\n className?: string;\r\n};\r\n\r\n/**\r\n * Internal Jalali month calendar — no external peer (PR-140).\r\n */\r\nexport function JalaliCalendar({\r\n mode = 'single',\r\n value = null,\r\n range,\r\n onSelect,\r\n onRangeChange,\r\n showHolidays = true,\r\n className,\r\n}: JalaliCalendarProps) {\r\n const theme = useERPTableTheme();\r\n const t = useTranslations();\r\n const seed = value ?? range?.start ?? range?.end ?? new Date();\r\n const seedYmd = toJalaliYmd(seed);\r\n const [view, setView] = useState({ jy: seedYmd.jy, jm: seedYmd.jm });\r\n const [draftStart, setDraftStart] = useState<Date | null>(\r\n range?.start ?? null,\r\n );\r\n\r\n const cells = useMemo(\r\n () => buildJalaliMonthGrid(view.jy, view.jm),\r\n [view.jy, view.jm],\r\n );\r\n\r\n const effectiveRange: DateRangeValue =\r\n mode === 'range'\r\n ? {\r\n start: range?.start ?? draftStart,\r\n end: range?.end ?? null,\r\n }\r\n : { start: value, end: value };\r\n\r\n const go = (delta: number) => {\r\n setView((v) => addJalaliMonths(v.jy, v.jm, delta));\r\n };\r\n\r\n const handleDayClick = (date: Date) => {\r\n if (mode === 'single') {\r\n onSelect?.(date);\r\n return;\r\n }\r\n if (!draftStart || (range?.start && range?.end)) {\r\n setDraftStart(date);\r\n onRangeChange?.({ start: date, end: null });\r\n return;\r\n }\r\n const start = draftStart;\r\n const ordered =\r\n compareJalaliDay(start, date) <= 0\r\n ? { start, end: date }\r\n : { start: date, end: start };\r\n setDraftStart(null);\r\n onRangeChange?.(ordered);\r\n };\r\n\r\n return (\r\n <div\r\n className={`pdg-jalali-cal ${className ?? ''}`}\r\n dir=\"rtl\"\r\n role=\"group\"\r\n aria-label={t('date.calendar')}\r\n >\r\n <div className=\"pdg-jalali-cal__header\">\r\n <button\r\n type=\"button\"\r\n className=\"pdg-jalali-cal__nav\"\r\n aria-label={t('date.nextMonth')}\r\n onClick={() => go(1)}\r\n >\r\n ‹\r\n </button>\r\n <span className=\"pdg-jalali-cal__title\">\r\n {jalaliMonthName(view.jm)} {view.jy}\r\n </span>\r\n <button\r\n type=\"button\"\r\n className=\"pdg-jalali-cal__nav\"\r\n aria-label={t('date.prevMonth')}\r\n onClick={() => go(-1)}\r\n >\r\n ›\r\n </button>\r\n </div>\r\n <div className=\"pdg-jalali-cal__weekdays\" aria-hidden>\r\n {JALALI_WEEKDAY_LABELS_FA.map((d) => (\r\n <span key={d} className=\"pdg-jalali-cal__wd\">\r\n {d}\r\n </span>\r\n ))}\r\n </div>\r\n <div className=\"pdg-jalali-cal__grid\" role=\"grid\">\r\n {cells.map((cell) => {\r\n const selected =\r\n mode === 'single'\r\n ? value != null && sameJalaliDay(cell.date, value)\r\n : Boolean(\r\n effectiveRange.start &&\r\n sameJalaliDay(cell.date, effectiveRange.start),\r\n ) ||\r\n Boolean(\r\n effectiveRange.end &&\r\n sameJalaliDay(cell.date, effectiveRange.end),\r\n );\r\n const inRange =\r\n mode === 'range' && isDateInRange(cell.date, effectiveRange);\r\n const holiday = showHolidays && isIranHoliday(cell.date);\r\n const today = sameJalaliDay(cell.date, new Date());\r\n\r\n return (\r\n <button\r\n key={`${cell.ymd.jy}-${cell.ymd.jm}-${cell.ymd.jd}`}\r\n type=\"button\"\r\n role=\"gridcell\"\r\n className={[\r\n 'pdg-jalali-cal__day',\r\n cell.inCurrentMonth ? '' : 'is-outside',\r\n selected ? 'is-selected' : '',\r\n inRange ? 'is-in-range' : '',\r\n holiday ? 'is-holiday' : '',\r\n today ? 'is-today' : '',\r\n ]\r\n .filter(Boolean)\r\n .join(' ')}\r\n onClick={() => handleDayClick(cell.date)}\r\n style={\r\n selected\r\n ? {\r\n background: theme.params.accentColor,\r\n color: 'var(--pdg-bg)',\r\n }\r\n : inRange\r\n ? { background: theme.params.rowStripeColor }\r\n : undefined\r\n }\r\n >\r\n {cell.ymd.jd}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default JalaliCalendar;\r\n","/**\r\n * Internal Jalali date / range picker (PR-140).\r\n * Zero external calendar dependencies — uses `infrastructure/date` math.\r\n *\r\n * @example\r\n * ```tsx\r\n * import { PersianRangeDateCell } from 'persian-data-grid/date-picker-jalali';\r\n * <DataGrid components={{ date: PersianRangeDateCell }} />\r\n * ```\r\n */\r\n\r\n\"use client\";\r\n\r\nimport React, { useEffect, useId, useRef, useState } from 'react';\r\n\r\nimport { jalaliAdapter } from '../../infrastructure/date/jalaliAdapter';\r\nimport type { DateRangeValue } from '../../infrastructure/date/jalaliCalendarModel';\r\nimport type { CellRenderContext } from '../cellRenderer/cellRenderContext';\r\nimport { useDateAdapter, useERPTableTheme, useTranslations } from '../host';\r\nimport { JalaliCalendar } from './JalaliCalendar';\r\n\r\ntype SingleProps = {\r\n mode?: 'single';\r\n value?: unknown;\r\n onChange?: (value: unknown) => void;\r\n disabled?: boolean;\r\n className?: string;\r\n showMask?: boolean;\r\n showHolidays?: boolean;\r\n};\r\n\r\ntype RangeProps = {\r\n mode: 'range';\r\n range?: DateRangeValue;\r\n onRangeChange?: (range: DateRangeValue) => void;\r\n disabled?: boolean;\r\n className?: string;\r\n showHolidays?: boolean;\r\n};\r\n\r\nexport type PersianRangeDatePickerProps = SingleProps | RangeProps;\r\n\r\nfunction parseValue(\r\n value: unknown,\r\n adapter: typeof jalaliAdapter,\r\n): Date | null {\r\n return adapter.parse(value);\r\n}\r\n\r\n/**\r\n * Cell editor (single) or standalone range picker.\r\n */\r\nexport function PersianRangeDatePicker(props: PersianRangeDatePickerProps) {\r\n const theme = useERPTableTheme();\r\n const t = useTranslations();\r\n const hostAdapter = useDateAdapter();\r\n const adapter =\r\n hostAdapter.id === 'jalali' ? hostAdapter : jalaliAdapter;\r\n const panelId = useId();\r\n const rootRef = useRef<HTMLDivElement>(null);\r\n const [open, setOpen] = useState(false);\r\n\r\n const isRange = props.mode === 'range';\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n const onDoc = (e: MouseEvent) => {\r\n if (!rootRef.current?.contains(e.target as Node)) setOpen(false);\r\n };\r\n document.addEventListener('mousedown', onDoc);\r\n return () => document.removeEventListener('mousedown', onDoc);\r\n }, [open]);\r\n\r\n if (isRange) {\r\n const range = props.range ?? { start: null, end: null };\r\n const label =\r\n range.start && range.end\r\n ? `${adapter.format(range.start)} – ${adapter.format(range.end)}`\r\n : range.start\r\n ? `${adapter.format(range.start)} – …`\r\n : t('date.pickRange');\r\n\r\n return (\r\n <div\r\n ref={rootRef}\r\n className={`erp-table-date pdg-date-range ${props.className ?? ''}`}\r\n >\r\n <button\r\n type=\"button\"\r\n className=\"pdg-cell-editor pdg-date-range__trigger\"\r\n disabled={props.disabled}\r\n aria-expanded={open}\r\n aria-controls={panelId}\r\n onClick={() => setOpen((v) => !v)}\r\n style={{ accentColor: theme.params.accentColor }}\r\n >\r\n {label}\r\n </button>\r\n {open && !props.disabled ? (\r\n <div id={panelId} className=\"pdg-date-range__popover\" role=\"dialog\">\r\n <JalaliCalendar\r\n mode=\"range\"\r\n range={range}\r\n showHolidays={props.showHolidays !== false}\r\n onRangeChange={(next) => {\r\n props.onRangeChange?.(next);\r\n if (next.start && next.end) setOpen(false);\r\n }}\r\n />\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n }\r\n\r\n const value = props.value;\r\n const onChange = props.onChange;\r\n const disabled = props.disabled;\r\n const parsed = parseValue(value, adapter);\r\n const text = parsed ? adapter.format(parsed) : '';\r\n\r\n return (\r\n <div\r\n ref={rootRef}\r\n className={`erp-table-date pdg-date-range ${props.className ?? ''}`}\r\n >\r\n <button\r\n type=\"button\"\r\n className=\"pdg-cell-editor pdg-date-range__trigger\"\r\n disabled={disabled}\r\n aria-expanded={open}\r\n aria-controls={panelId}\r\n onClick={() => setOpen((v) => !v)}\r\n style={{ accentColor: theme.params.accentColor }}\r\n >\r\n {text || t('date.pickDate')}\r\n </button>\r\n {open && !disabled ? (\r\n <div id={panelId} className=\"pdg-date-range__popover\" role=\"dialog\">\r\n <JalaliCalendar\r\n mode=\"single\"\r\n value={parsed}\r\n showHolidays={props.showHolidays !== false}\r\n onSelect={(date) => {\r\n onChange?.(date.getTime());\r\n setOpen(false);\r\n }}\r\n />\r\n <div className=\"pdg-date-range__actions\">\r\n <button\r\n type=\"button\"\r\n className=\"pdg-date-range__clear\"\r\n onClick={() => {\r\n onChange?.('');\r\n setOpen(false);\r\n }}\r\n >\r\n {t('date.clear')}\r\n </button>\r\n </div>\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n\r\n/** `components.date` adapter — receives {@link CellRenderContext}. */\r\nexport function PersianRangeDateCell(ctx: CellRenderContext) {\r\n const raw = ctx.value;\r\n const value =\r\n raw == null || raw === ''\r\n ? undefined\r\n : typeof raw === 'number'\r\n ? raw\r\n : new Date(raw as string).valueOf();\r\n\r\n return (\r\n <PersianRangeDatePicker\r\n className={ctx.meta.className}\r\n disabled={ctx.isDeleted || !ctx.isEditable}\r\n value={value}\r\n onChange={(v) => ctx.dispatchChangeValue(v)}\r\n />\r\n );\r\n}\r\n\r\nexport { JalaliCalendar } from './JalaliCalendar';\r\nexport type { JalaliCalendarProps } from './JalaliCalendar';\r\nexport type { DateRangeValue } from '../../infrastructure/date/jalaliCalendarModel';\r\n\r\nexport default PersianRangeDatePicker;\r\n"]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { C as CellRenderContext } from './cellRenderContext-DvngkptV.cjs';
|
|
3
|
+
import './GridSession-CmQn2RnL.cjs';
|
|
4
|
+
import './RemoteApi-CCQxiSf1.cjs';
|
|
5
|
+
import './UITableController-CIwnHIw8.cjs';
|
|
6
|
+
|
|
7
|
+
type DateRangeValue = {
|
|
8
|
+
start: Date | null;
|
|
9
|
+
end: Date | null;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
type JalaliCalendarProps = {
|
|
13
|
+
mode?: 'single' | 'range';
|
|
14
|
+
value?: Date | null;
|
|
15
|
+
range?: DateRangeValue;
|
|
16
|
+
onSelect?: (date: Date) => void;
|
|
17
|
+
onRangeChange?: (range: DateRangeValue) => void;
|
|
18
|
+
showHolidays?: boolean;
|
|
19
|
+
className?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Internal Jalali month calendar — no external peer (PR-140).
|
|
23
|
+
*/
|
|
24
|
+
declare function JalaliCalendar({ mode, value, range, onSelect, onRangeChange, showHolidays, className, }: JalaliCalendarProps): React__default.JSX.Element;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Internal Jalali date / range picker (PR-140).
|
|
28
|
+
* Zero external calendar dependencies — uses `infrastructure/date` math.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* import { PersianRangeDateCell } from 'persian-data-grid/date-picker-jalali';
|
|
33
|
+
* <DataGrid components={{ date: PersianRangeDateCell }} />
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
type SingleProps = {
|
|
38
|
+
mode?: 'single';
|
|
39
|
+
value?: unknown;
|
|
40
|
+
onChange?: (value: unknown) => void;
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
className?: string;
|
|
43
|
+
showMask?: boolean;
|
|
44
|
+
showHolidays?: boolean;
|
|
45
|
+
};
|
|
46
|
+
type RangeProps = {
|
|
47
|
+
mode: 'range';
|
|
48
|
+
range?: DateRangeValue;
|
|
49
|
+
onRangeChange?: (range: DateRangeValue) => void;
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
className?: string;
|
|
52
|
+
showHolidays?: boolean;
|
|
53
|
+
};
|
|
54
|
+
type PersianRangeDatePickerProps = SingleProps | RangeProps;
|
|
55
|
+
/**
|
|
56
|
+
* Cell editor (single) or standalone range picker.
|
|
57
|
+
*/
|
|
58
|
+
declare function PersianRangeDatePicker(props: PersianRangeDatePickerProps): React__default.JSX.Element;
|
|
59
|
+
/** `components.date` adapter — receives {@link CellRenderContext}. */
|
|
60
|
+
declare function PersianRangeDateCell(ctx: CellRenderContext): React__default.JSX.Element;
|
|
61
|
+
|
|
62
|
+
export { type DateRangeValue, JalaliCalendar, type JalaliCalendarProps, PersianRangeDateCell, PersianRangeDatePicker, type PersianRangeDatePickerProps, PersianRangeDatePicker as default };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { C as CellRenderContext } from './cellRenderContext-BaNh4qn_.js';
|
|
3
|
+
import './GridSession-CeIfVFck.js';
|
|
4
|
+
import './RemoteApi-CCQxiSf1.js';
|
|
5
|
+
import './UITableController-C71LXBiX.js';
|
|
6
|
+
|
|
7
|
+
type DateRangeValue = {
|
|
8
|
+
start: Date | null;
|
|
9
|
+
end: Date | null;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
type JalaliCalendarProps = {
|
|
13
|
+
mode?: 'single' | 'range';
|
|
14
|
+
value?: Date | null;
|
|
15
|
+
range?: DateRangeValue;
|
|
16
|
+
onSelect?: (date: Date) => void;
|
|
17
|
+
onRangeChange?: (range: DateRangeValue) => void;
|
|
18
|
+
showHolidays?: boolean;
|
|
19
|
+
className?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Internal Jalali month calendar — no external peer (PR-140).
|
|
23
|
+
*/
|
|
24
|
+
declare function JalaliCalendar({ mode, value, range, onSelect, onRangeChange, showHolidays, className, }: JalaliCalendarProps): React__default.JSX.Element;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Internal Jalali date / range picker (PR-140).
|
|
28
|
+
* Zero external calendar dependencies — uses `infrastructure/date` math.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* import { PersianRangeDateCell } from 'persian-data-grid/date-picker-jalali';
|
|
33
|
+
* <DataGrid components={{ date: PersianRangeDateCell }} />
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
type SingleProps = {
|
|
38
|
+
mode?: 'single';
|
|
39
|
+
value?: unknown;
|
|
40
|
+
onChange?: (value: unknown) => void;
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
className?: string;
|
|
43
|
+
showMask?: boolean;
|
|
44
|
+
showHolidays?: boolean;
|
|
45
|
+
};
|
|
46
|
+
type RangeProps = {
|
|
47
|
+
mode: 'range';
|
|
48
|
+
range?: DateRangeValue;
|
|
49
|
+
onRangeChange?: (range: DateRangeValue) => void;
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
className?: string;
|
|
52
|
+
showHolidays?: boolean;
|
|
53
|
+
};
|
|
54
|
+
type PersianRangeDatePickerProps = SingleProps | RangeProps;
|
|
55
|
+
/**
|
|
56
|
+
* Cell editor (single) or standalone range picker.
|
|
57
|
+
*/
|
|
58
|
+
declare function PersianRangeDatePicker(props: PersianRangeDatePickerProps): React__default.JSX.Element;
|
|
59
|
+
/** `components.date` adapter — receives {@link CellRenderContext}. */
|
|
60
|
+
declare function PersianRangeDateCell(ctx: CellRenderContext): React__default.JSX.Element;
|
|
61
|
+
|
|
62
|
+
export { type DateRangeValue, JalaliCalendar, type JalaliCalendarProps, PersianRangeDateCell, PersianRangeDatePicker, type PersianRangeDatePickerProps, PersianRangeDatePicker as default };
|