@hkyhy/marsun-components-core 0.1.47 → 0.1.50

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.
Files changed (49) hide show
  1. package/dist/_virtual/zh-cn.js +3 -0
  2. package/dist/_virtual/zh-cn.js.map +1 -0
  3. package/dist/_virtual/zh-cn2.js +5 -0
  4. package/dist/_virtual/zh-cn2.js.map +1 -0
  5. package/dist/components/Filter/FilterDatePicker/index.js +10 -9
  6. package/dist/components/Filter/FilterDatePicker/index.js.map +1 -1
  7. package/dist/components/Filter/FilterDateRange/index.js +3 -2
  8. package/dist/components/Filter/FilterDateRange/index.js.map +1 -1
  9. package/dist/components/ReactFilter/common/TypeDateRangePickerField/index.js +31 -30
  10. package/dist/components/ReactFilter/common/TypeDateRangePickerField/index.js.map +1 -1
  11. package/dist/components/ReactFilter/fields/DatePickerFilterItem.js +7 -6
  12. package/dist/components/ReactFilter/fields/DatePickerFilterItem.js.map +1 -1
  13. package/dist/components/ReactFilter/fields/DateRangePickerFilterItem.js +3 -2
  14. package/dist/components/ReactFilter/fields/DateRangePickerFilterItem.js.map +1 -1
  15. package/dist/components/ReactFilter/fields/TypeDateRangePickerFilterItem.js +11 -10
  16. package/dist/components/ReactFilter/fields/TypeDateRangePickerFilterItem.js.map +1 -1
  17. package/dist/components/SegmentedRadio/SegmentedRadio.d.ts +29 -0
  18. package/dist/components/SegmentedRadio/SegmentedRadio.js +48 -0
  19. package/dist/components/SegmentedRadio/SegmentedRadio.js.map +1 -0
  20. package/dist/components/SegmentedRadio/index.d.ts +2 -0
  21. package/dist/components/SegmentedRadio/style.module.scss.js +9 -0
  22. package/dist/components/SegmentedRadio/style.module.scss.js.map +1 -0
  23. package/dist/components/StateBar/StateBar.d.ts +3 -0
  24. package/dist/components/StateBar/StateBar.js +44 -26
  25. package/dist/components/StateBar/StateBar.js.map +1 -1
  26. package/dist/components/StateBar/style.module.scss.js +8 -6
  27. package/dist/components/StateBar/style.module.scss.js.map +1 -1
  28. package/dist/components/Tag/Tags/index.d.ts +2 -2
  29. package/dist/components/Tag/Tags/index.js +37 -22
  30. package/dist/components/Tag/Tags/index.js.map +1 -1
  31. package/dist/components/Tag/Tags/style.module.scss.js +3 -3
  32. package/dist/components/TooltipInfo/TooltipInfo.d.ts +21 -6
  33. package/dist/components/TooltipInfo/TooltipInfo.js +61 -43
  34. package/dist/components/TooltipInfo/TooltipInfo.js.map +1 -1
  35. package/dist/components/TooltipInfo/index.d.ts +1 -1
  36. package/dist/components/index.d.ts +1 -0
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.js +580 -577
  39. package/dist/index.js.map +1 -1
  40. package/dist/marsun-components-core.css +1 -1
  41. package/dist/node_modules/dayjs/locale/zh-cn.js +25 -0
  42. package/dist/node_modules/dayjs/locale/zh-cn.js.map +1 -0
  43. package/dist/provider/MarsunCoreProvider.js +10 -9
  44. package/dist/provider/MarsunCoreProvider.js.map +1 -1
  45. package/dist/styles/global.css +1 -1
  46. package/dist/utils/ensureDayjsZhCn.d.ts +0 -0
  47. package/dist/utils/ensureDayjsZhCn.js +4 -0
  48. package/dist/utils/ensureDayjsZhCn.js.map +1 -0
  49. package/package.json +6 -2
@@ -0,0 +1,3 @@
1
+ import { __require as r } from "../node_modules/dayjs/locale/zh-cn.js";
2
+ r();
3
+ //# sourceMappingURL=zh-cn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-cn.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,5 @@
1
+ var e = { exports: {} };
2
+ export {
3
+ e as __module
4
+ };
5
+ //# sourceMappingURL=zh-cn2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-cn2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,6 +1,7 @@
1
1
  import { jsxs as T, jsx as O } from "react/jsx-runtime";
2
2
  import { DatePicker as Y } from "antd";
3
3
  import w from "dayjs";
4
+ import "../../../utils/ensureDayjsZhCn.js";
4
5
  import { useState as P, useRef as z, useMemo as M, useEffect as R } from "react";
5
6
  import { parsePickerValue as m, formatPickerValue as G } from "../../../utils/pickerDate.js";
6
7
  import J from "../FilterPopover/index.js";
@@ -20,25 +21,25 @@ function Z(t, l, e) {
20
21
  const i = m(t, l);
21
22
  if (!i.isValid()) return null;
22
23
  for (const s of e) {
23
- const d = s.getValue(), k = l === "year" ? "year" : l === "month" ? "month" : "day";
24
- if (d.isSame(i, k)) return s.key;
24
+ const d = s.getValue(), p = l === "year" ? "year" : l === "month" ? "month" : "day";
25
+ if (d.isSame(i, p)) return s.key;
25
26
  }
26
27
  return null;
27
28
  }
28
- const ae = ({
29
+ const fe = ({
29
30
  filterKey: t,
30
31
  label: l,
31
32
  value: e,
32
33
  onChange: i,
33
34
  picker: s = "date",
34
35
  defaultValue: d,
35
- showDefaultAsSelected: k = !1,
36
+ showDefaultAsSelected: p = !1,
36
37
  showQuickOptions: N = !1,
37
38
  quickOptions: x,
38
39
  placeholder: A,
39
40
  disabledDate: B,
40
41
  active: L,
41
- hidden: p,
42
+ hidden: k,
42
43
  dependsOn: g,
43
44
  clearOnDepsChange: E = !0
44
45
  }) => {
@@ -65,10 +66,10 @@ const ae = ({
65
66
  R(() => {
66
67
  e ? (n(m(e, s)), h(e)) : (n(null), o(null));
67
68
  }, [e, s, f]);
68
- const b = k ? !!e : !!e && !X(e, d), F = M(() => !b || !e ? "" : e, [b, e]);
69
+ const b = p ? !!e : !!e && !X(e, d), F = M(() => !b || !e ? "" : e, [b, e]);
69
70
  return R(() => {
70
71
  if (a) {
71
- if (S(p)) {
72
+ if (S(k)) {
72
73
  a.unregister(t);
73
74
  return;
74
75
  }
@@ -78,7 +79,7 @@ const ae = ({
78
79
  onRemove: () => i == null ? void 0 : i(null)
79
80
  }) : a.unregister(t);
80
81
  }
81
- }, [F, t, D, p]), S(p) ? null : /* @__PURE__ */ T(
82
+ }, [F, t, D, k]), S(k) ? null : /* @__PURE__ */ T(
82
83
  J,
83
84
  {
84
85
  label: D,
@@ -138,7 +139,7 @@ const ae = ({
138
139
  );
139
140
  };
140
141
  export {
141
- ae as default,
142
+ fe as default,
142
143
  Z as findMatchingQuickKey,
143
144
  W as getBuiltInQuickOptions,
144
145
  X as isSamePickerValue
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterDatePicker/index.tsx"],"sourcesContent":["import { DatePicker } from 'antd';\nimport dayjs, { type Dayjs } from 'dayjs';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport {\n formatPickerValue,\n parsePickerValue,\n type DatePickerGranularity,\n} from '@/utils/pickerDate';\nimport FilterPopover from '../FilterPopover';\nimport type { BaseFilterProps } from '../types';\nimport { resolveHidden } from '../types';\nimport { useFilterFieldBridge, useFilterRegister } from '../useFilterState';\nimport styles from './style.module.scss';\nimport classNames from 'classnames';\n\n/** 单值快捷选项 */\ninterface SingleQuickOption {\n key: string;\n label: string;\n getValue: () => Dayjs;\n}\n\ninterface FilterDatePickerProps extends BaseFilterProps {\n value?: string | null;\n onChange?: (value: string | null) => void;\n /** 选择粒度:日 / 月 / 年 */\n picker?: DatePickerGranularity;\n /** 默认值:与默认相同时视为未筛选(除非 showDefaultAsSelected) */\n defaultValue?: string;\n /** 为 true 时,value 等于 defaultValue 仍展示在已选 Tag 中 */\n showDefaultAsSelected?: boolean;\n showQuickOptions?: boolean;\n quickOptions?: SingleQuickOption[];\n placeholder?: string;\n disabledDate?: (current: Dayjs) => boolean;\n}\n\nfunction getBuiltInQuickOptions(picker: DatePickerGranularity): SingleQuickOption[] {\n const now = dayjs();\n if (picker === 'year') {\n return [{ key: 'thisYear', label: '今年', getValue: () => now.startOf('year') }];\n }\n if (picker === 'month') {\n return [{ key: 'thisMonth', label: '本月', getValue: () => now.startOf('month') }];\n }\n return [{ key: 'today', label: '今天', getValue: () => now.startOf('day') }];\n}\n\nfunction isSamePickerValue(a?: string | null, b?: string): boolean {\n if (!a && !b) return true;\n if (!a || !b) return false;\n return a === b;\n}\n\nfunction findMatchingQuickKey(\n value: string | null | undefined,\n picker: DatePickerGranularity,\n opts: SingleQuickOption[],\n): string | null {\n if (!value) return null;\n const current = parsePickerValue(value, picker);\n if (!current.isValid()) return null;\n for (const opt of opts) {\n const candidate = opt.getValue();\n const unit = picker === 'year' ? 'year' : picker === 'month' ? 'month' : 'day';\n if (candidate.isSame(current, unit)) return opt.key;\n }\n return null;\n}\n\nconst FilterDatePicker: React.FC<FilterDatePickerProps> = ({\n filterKey,\n label,\n value,\n onChange,\n picker = 'date',\n defaultValue,\n showDefaultAsSelected = false,\n showQuickOptions = false,\n quickOptions,\n placeholder,\n disabledDate,\n active,\n hidden,\n dependsOn,\n clearOnDepsChange = true,\n}) => {\n const [open, setOpen] = useState(false);\n const [draft, setDraft] = useState<Dayjs | null>(value ? parsePickerValue(value, picker) : null);\n const [activeQuickKey, setActiveQuickKey] = useState<string | null>(null);\n\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const { resolvedLabel } = useFilterFieldBridge({\n filterKey,\n value,\n label,\n dependsOn,\n clearOnDepsChange,\n onDepsClear: () => onChangeRef.current?.(null),\n });\n\n const registerFn = useFilterRegister();\n const opts = useMemo(\n () => quickOptions ?? (showQuickOptions ? getBuiltInQuickOptions(picker) : []),\n [quickOptions, showQuickOptions, picker],\n );\n\n const syncActiveQuickKey = (nextValue: string | null | undefined) => {\n setActiveQuickKey(findMatchingQuickKey(nextValue, picker, opts));\n };\n\n const revertToCommitted = () => {\n if (value) {\n setDraft(parsePickerValue(value, picker));\n syncActiveQuickKey(value);\n } else {\n setDraft(null);\n setActiveQuickKey(null);\n }\n };\n\n useEffect(() => {\n if (value) {\n setDraft(parsePickerValue(value, picker));\n syncActiveQuickKey(value);\n } else {\n setDraft(null);\n setActiveQuickKey(null);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, picker, opts]);\n\n const hasNonDefaultValue = showDefaultAsSelected\n ? !!value\n : !!value && !isSamePickerValue(value, defaultValue);\n\n const valueLabel = useMemo(() => {\n if (!hasNonDefaultValue || !value) return '';\n return value;\n }, [hasNonDefaultValue, value]);\n\n useEffect(() => {\n if (!registerFn) return;\n if (resolveHidden(hidden)) {\n registerFn.unregister(filterKey);\n return;\n }\n if (valueLabel) {\n registerFn.register(filterKey, {\n label: resolvedLabel,\n valueLabel,\n onRemove: () => onChange?.(null),\n });\n } else {\n registerFn.unregister(filterKey);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [valueLabel, filterKey, resolvedLabel, hidden]);\n\n if (resolveHidden(hidden)) return null;\n\n const handleConfirm = () => {\n if (draft) {\n onChange?.(formatPickerValue(draft, picker));\n } else {\n onChange?.(null);\n }\n setOpen(false);\n };\n\n const handleDiscardDraft = () => {\n revertToCommitted();\n setOpen(false);\n };\n\n const handleOpenChange = (nextOpen: boolean) => {\n revertToCommitted();\n setOpen(nextOpen);\n };\n\n return (\n <FilterPopover\n label={resolvedLabel}\n active={active || hasNonDefaultValue}\n open={open}\n onOpenChange={handleOpenChange}\n onConfirm={handleConfirm}\n onReset={handleDiscardDraft}\n >\n {opts.length > 0 ? (\n <div\n className={classNames(\n 'filter-date-picker-quick-options',\n styles['filter-date-picker-quick-options'],\n )}\n >\n {opts.map((opt) => (\n <span\n key={opt.key}\n className={classNames(\n 'filter-date-picker-quick-option',\n styles['filter-date-picker-quick-option'],\n activeQuickKey === opt.key && 'filter-date-picker-quick-option-active',\n activeQuickKey === opt.key && styles['filter-date-picker-quick-option-active'],\n )}\n onClick={() => {\n const next = opt.getValue();\n setDraft(next);\n setActiveQuickKey(opt.key);\n }}\n >\n {opt.label}\n </span>\n ))}\n </div>\n ) : null}\n <DatePicker\n className={classNames('filter-date-picker', styles['filter-date-picker'])}\n picker={picker}\n value={draft}\n placeholder={placeholder}\n disabledDate={disabledDate}\n onChange={(next) => {\n setDraft(next);\n setActiveQuickKey(null);\n }}\n />\n </FilterPopover>\n );\n};\n\nexport default FilterDatePicker;\nexport type { FilterDatePickerProps, SingleQuickOption };\nexport { findMatchingQuickKey, getBuiltInQuickOptions, isSamePickerValue };\n"],"names":["getBuiltInQuickOptions","picker","now","dayjs","isSamePickerValue","a","b","findMatchingQuickKey","value","opts","current","parsePickerValue","opt","candidate","unit","FilterDatePicker","filterKey","label","onChange","defaultValue","showDefaultAsSelected","showQuickOptions","quickOptions","placeholder","disabledDate","active","hidden","dependsOn","clearOnDepsChange","open","setOpen","useState","draft","setDraft","activeQuickKey","setActiveQuickKey","onChangeRef","useRef","resolvedLabel","useFilterFieldBridge","_a","registerFn","useFilterRegister","useMemo","syncActiveQuickKey","nextValue","revertToCommitted","useEffect","hasNonDefaultValue","valueLabel","resolveHidden","jsxs","FilterPopover","nextOpen","formatPickerValue","jsx","classNames","styles","next","DatePicker"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterDatePicker/index.tsx"],"sourcesContent":["import { DatePicker } from 'antd';\nimport dayjs, { type Dayjs } from 'dayjs';\nimport '@/utils/ensureDayjsZhCn';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport {\n formatPickerValue,\n parsePickerValue,\n type DatePickerGranularity,\n} from '@/utils/pickerDate';\nimport FilterPopover from '../FilterPopover';\nimport type { BaseFilterProps } from '../types';\nimport { resolveHidden } from '../types';\nimport { useFilterFieldBridge, useFilterRegister } from '../useFilterState';\nimport styles from './style.module.scss';\nimport classNames from 'classnames';\n\n/** 单值快捷选项 */\ninterface SingleQuickOption {\n key: string;\n label: string;\n getValue: () => Dayjs;\n}\n\ninterface FilterDatePickerProps extends BaseFilterProps {\n value?: string | null;\n onChange?: (value: string | null) => void;\n /** 选择粒度:日 / 月 / 年 */\n picker?: DatePickerGranularity;\n /** 默认值:与默认相同时视为未筛选(除非 showDefaultAsSelected) */\n defaultValue?: string;\n /** 为 true 时,value 等于 defaultValue 仍展示在已选 Tag 中 */\n showDefaultAsSelected?: boolean;\n showQuickOptions?: boolean;\n quickOptions?: SingleQuickOption[];\n placeholder?: string;\n disabledDate?: (current: Dayjs) => boolean;\n}\n\nfunction getBuiltInQuickOptions(picker: DatePickerGranularity): SingleQuickOption[] {\n const now = dayjs();\n if (picker === 'year') {\n return [{ key: 'thisYear', label: '今年', getValue: () => now.startOf('year') }];\n }\n if (picker === 'month') {\n return [{ key: 'thisMonth', label: '本月', getValue: () => now.startOf('month') }];\n }\n return [{ key: 'today', label: '今天', getValue: () => now.startOf('day') }];\n}\n\nfunction isSamePickerValue(a?: string | null, b?: string): boolean {\n if (!a && !b) return true;\n if (!a || !b) return false;\n return a === b;\n}\n\nfunction findMatchingQuickKey(\n value: string | null | undefined,\n picker: DatePickerGranularity,\n opts: SingleQuickOption[],\n): string | null {\n if (!value) return null;\n const current = parsePickerValue(value, picker);\n if (!current.isValid()) return null;\n for (const opt of opts) {\n const candidate = opt.getValue();\n const unit = picker === 'year' ? 'year' : picker === 'month' ? 'month' : 'day';\n if (candidate.isSame(current, unit)) return opt.key;\n }\n return null;\n}\n\nconst FilterDatePicker: React.FC<FilterDatePickerProps> = ({\n filterKey,\n label,\n value,\n onChange,\n picker = 'date',\n defaultValue,\n showDefaultAsSelected = false,\n showQuickOptions = false,\n quickOptions,\n placeholder,\n disabledDate,\n active,\n hidden,\n dependsOn,\n clearOnDepsChange = true,\n}) => {\n const [open, setOpen] = useState(false);\n const [draft, setDraft] = useState<Dayjs | null>(value ? parsePickerValue(value, picker) : null);\n const [activeQuickKey, setActiveQuickKey] = useState<string | null>(null);\n\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const { resolvedLabel } = useFilterFieldBridge({\n filterKey,\n value,\n label,\n dependsOn,\n clearOnDepsChange,\n onDepsClear: () => onChangeRef.current?.(null),\n });\n\n const registerFn = useFilterRegister();\n const opts = useMemo(\n () => quickOptions ?? (showQuickOptions ? getBuiltInQuickOptions(picker) : []),\n [quickOptions, showQuickOptions, picker],\n );\n\n const syncActiveQuickKey = (nextValue: string | null | undefined) => {\n setActiveQuickKey(findMatchingQuickKey(nextValue, picker, opts));\n };\n\n const revertToCommitted = () => {\n if (value) {\n setDraft(parsePickerValue(value, picker));\n syncActiveQuickKey(value);\n } else {\n setDraft(null);\n setActiveQuickKey(null);\n }\n };\n\n useEffect(() => {\n if (value) {\n setDraft(parsePickerValue(value, picker));\n syncActiveQuickKey(value);\n } else {\n setDraft(null);\n setActiveQuickKey(null);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, picker, opts]);\n\n const hasNonDefaultValue = showDefaultAsSelected\n ? !!value\n : !!value && !isSamePickerValue(value, defaultValue);\n\n const valueLabel = useMemo(() => {\n if (!hasNonDefaultValue || !value) return '';\n return value;\n }, [hasNonDefaultValue, value]);\n\n useEffect(() => {\n if (!registerFn) return;\n if (resolveHidden(hidden)) {\n registerFn.unregister(filterKey);\n return;\n }\n if (valueLabel) {\n registerFn.register(filterKey, {\n label: resolvedLabel,\n valueLabel,\n onRemove: () => onChange?.(null),\n });\n } else {\n registerFn.unregister(filterKey);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [valueLabel, filterKey, resolvedLabel, hidden]);\n\n if (resolveHidden(hidden)) return null;\n\n const handleConfirm = () => {\n if (draft) {\n onChange?.(formatPickerValue(draft, picker));\n } else {\n onChange?.(null);\n }\n setOpen(false);\n };\n\n const handleDiscardDraft = () => {\n revertToCommitted();\n setOpen(false);\n };\n\n const handleOpenChange = (nextOpen: boolean) => {\n revertToCommitted();\n setOpen(nextOpen);\n };\n\n return (\n <FilterPopover\n label={resolvedLabel}\n active={active || hasNonDefaultValue}\n open={open}\n onOpenChange={handleOpenChange}\n onConfirm={handleConfirm}\n onReset={handleDiscardDraft}\n >\n {opts.length > 0 ? (\n <div\n className={classNames(\n 'filter-date-picker-quick-options',\n styles['filter-date-picker-quick-options'],\n )}\n >\n {opts.map((opt) => (\n <span\n key={opt.key}\n className={classNames(\n 'filter-date-picker-quick-option',\n styles['filter-date-picker-quick-option'],\n activeQuickKey === opt.key && 'filter-date-picker-quick-option-active',\n activeQuickKey === opt.key && styles['filter-date-picker-quick-option-active'],\n )}\n onClick={() => {\n const next = opt.getValue();\n setDraft(next);\n setActiveQuickKey(opt.key);\n }}\n >\n {opt.label}\n </span>\n ))}\n </div>\n ) : null}\n <DatePicker\n className={classNames('filter-date-picker', styles['filter-date-picker'])}\n picker={picker}\n value={draft}\n placeholder={placeholder}\n disabledDate={disabledDate}\n onChange={(next) => {\n setDraft(next);\n setActiveQuickKey(null);\n }}\n />\n </FilterPopover>\n );\n};\n\nexport default FilterDatePicker;\nexport type { FilterDatePickerProps, SingleQuickOption };\nexport { findMatchingQuickKey, getBuiltInQuickOptions, isSamePickerValue };\n"],"names":["getBuiltInQuickOptions","picker","now","dayjs","isSamePickerValue","a","b","findMatchingQuickKey","value","opts","current","parsePickerValue","opt","candidate","unit","FilterDatePicker","filterKey","label","onChange","defaultValue","showDefaultAsSelected","showQuickOptions","quickOptions","placeholder","disabledDate","active","hidden","dependsOn","clearOnDepsChange","open","setOpen","useState","draft","setDraft","activeQuickKey","setActiveQuickKey","onChangeRef","useRef","resolvedLabel","useFilterFieldBridge","_a","registerFn","useFilterRegister","useMemo","syncActiveQuickKey","nextValue","revertToCommitted","useEffect","hasNonDefaultValue","valueLabel","resolveHidden","jsxs","FilterPopover","nextOpen","formatPickerValue","jsx","classNames","styles","next","DatePicker"],"mappings":";;;;;;;;;;;AAsCA,SAASA,EAAuBC,GAAoD;AAClF,QAAMC,IAAMC,EAAA;AACZ,SAAIF,MAAW,SACN,CAAC,EAAE,KAAK,YAAY,OAAO,MAAM,UAAU,MAAMC,EAAI,QAAQ,MAAM,EAAA,CAAG,IAE3ED,MAAW,UACN,CAAC,EAAE,KAAK,aAAa,OAAO,MAAM,UAAU,MAAMC,EAAI,QAAQ,OAAO,EAAA,CAAG,IAE1E,CAAC,EAAE,KAAK,SAAS,OAAO,MAAM,UAAU,MAAMA,EAAI,QAAQ,KAAK,EAAA,CAAG;AAC3E;AAEA,SAASE,EAAkBC,GAAmBC,GAAqB;AACjE,SAAI,CAACD,KAAK,CAACC,IAAU,KACjB,CAACD,KAAK,CAACC,IAAU,KACdD,MAAMC;AACf;AAEA,SAASC,EACPC,GACAP,GACAQ,GACe;AACf,MAAI,CAACD,EAAO,QAAO;AACnB,QAAME,IAAUC,EAAiBH,GAAOP,CAAM;AAC9C,MAAI,CAACS,EAAQ,QAAA,EAAW,QAAO;AAC/B,aAAWE,KAAOH,GAAM;AACtB,UAAMI,IAAYD,EAAI,SAAA,GAChBE,IAAOb,MAAW,SAAS,SAASA,MAAW,UAAU,UAAU;AACzE,QAAIY,EAAU,OAAOH,GAASI,CAAI,UAAUF,EAAI;AAAA,EAClD;AACA,SAAO;AACT;AAEA,MAAMG,KAAoD,CAAC;AAAA,EACzD,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAT;AAAA,EACA,UAAAU;AAAA,EACA,QAAAjB,IAAS;AAAA,EACT,cAAAkB;AAAA,EACA,uBAAAC,IAAwB;AAAA,EACxB,kBAAAC,IAAmB;AAAA,EACnB,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,mBAAAC,IAAoB;AACtB,MAAM;AACJ,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAS,EAAK,GAChC,CAACC,GAAOC,CAAQ,IAAIF,EAAuBvB,IAAQG,EAAiBH,GAAOP,CAAM,IAAI,IAAI,GACzF,CAACiC,GAAgBC,CAAiB,IAAIJ,EAAwB,IAAI,GAElEK,IAAcC,EAAOnB,CAAQ;AACnC,EAAAkB,EAAY,UAAUlB;AAEtB,QAAM,EAAE,eAAAoB,EAAA,IAAkBC,EAAqB;AAAA,IAC7C,WAAAvB;AAAA,IACA,OAAAR;AAAA,IACA,OAAAS;AAAA,IACA,WAAAU;AAAA,IACA,mBAAAC;AAAA,IACA,aAAa,MAAA;;AAAM,cAAAY,IAAAJ,EAAY,YAAZ,gBAAAI,EAAA,KAAAJ,GAAsB;AAAA;AAAA,EAAI,CAC9C,GAEKK,IAAaC,EAAA,GACbjC,IAAOkC;AAAA,IACX,MAAMrB,MAAiBD,IAAmBrB,EAAuBC,CAAM,IAAI,CAAA;AAAA,IAC3E,CAACqB,GAAcD,GAAkBpB,CAAM;AAAA,EAAA,GAGnC2C,IAAqB,CAACC,MAAyC;AACnE,IAAAV,EAAkB5B,EAAqBsC,GAAW5C,GAAQQ,CAAI,CAAC;AAAA,EACjE,GAEMqC,IAAoB,MAAM;AAC9B,IAAItC,KACFyB,EAAStB,EAAiBH,GAAOP,CAAM,CAAC,GACxC2C,EAAmBpC,CAAK,MAExByB,EAAS,IAAI,GACbE,EAAkB,IAAI;AAAA,EAE1B;AAEA,EAAAY,EAAU,MAAM;AACd,IAAIvC,KACFyB,EAAStB,EAAiBH,GAAOP,CAAM,CAAC,GACxC2C,EAAmBpC,CAAK,MAExByB,EAAS,IAAI,GACbE,EAAkB,IAAI;AAAA,EAG1B,GAAG,CAAC3B,GAAOP,GAAQQ,CAAI,CAAC;AAExB,QAAMuC,IAAqB5B,IACvB,CAAC,CAACZ,IACF,CAAC,CAACA,KAAS,CAACJ,EAAkBI,GAAOW,CAAY,GAE/C8B,IAAaN,EAAQ,MACrB,CAACK,KAAsB,CAACxC,IAAc,KACnCA,GACN,CAACwC,GAAoBxC,CAAK,CAAC;AAoB9B,SAlBAuC,EAAU,MAAM;AACd,QAAKN,GACL;AAAA,UAAIS,EAAcxB,CAAM,GAAG;AACzB,QAAAe,EAAW,WAAWzB,CAAS;AAC/B;AAAA,MACF;AACA,MAAIiC,IACFR,EAAW,SAASzB,GAAW;AAAA,QAC7B,OAAOsB;AAAA,QACP,YAAAW;AAAA,QACA,UAAU,MAAM/B,KAAA,gBAAAA,EAAW;AAAA,MAAI,CAChC,IAEDuB,EAAW,WAAWzB,CAAS;AAAA;AAAA,EAGnC,GAAG,CAACiC,GAAYjC,GAAWsB,GAAeZ,CAAM,CAAC,GAE7CwB,EAAcxB,CAAM,IAAU,OAsBhC,gBAAAyB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOd;AAAA,MACP,QAAQb,KAAUuB;AAAA,MAClB,MAAAnB;AAAA,MACA,cAVqB,CAACwB,MAAsB;AAC9C,QAAAP,EAAA,GACAhB,EAAQuB,CAAQ;AAAA,MAClB;AAAA,MAQI,WAzBkB,MAAM;AAC1B,QAAIrB,IACFd,KAAA,QAAAA,EAAWoC,EAAkBtB,GAAO/B,CAAM,KAE1CiB,KAAA,QAAAA,EAAW,OAEbY,EAAQ,EAAK;AAAA,MACf;AAAA,MAmBI,SAjBuB,MAAM;AAC/B,QAAAgB,EAAA,GACAhB,EAAQ,EAAK;AAAA,MACf;AAAA,MAgBK,UAAA;AAAA,QAAArB,EAAK,SAAS,IACb,gBAAA8C;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWC;AAAA,cACT;AAAA,cACAC,EAAO,kCAAkC;AAAA,YAAA;AAAA,YAG1C,UAAAhD,EAAK,IAAI,CAACG,MACT,gBAAA2C;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAWC;AAAA,kBACT;AAAA,kBACAC,EAAO,iCAAiC;AAAA,kBACxCvB,MAAmBtB,EAAI,OAAO;AAAA,kBAC9BsB,MAAmBtB,EAAI,OAAO6C,EAAO,wCAAwC;AAAA,gBAAA;AAAA,gBAE/E,SAAS,MAAM;AACb,wBAAMC,IAAO9C,EAAI,SAAA;AACjB,kBAAAqB,EAASyB,CAAI,GACbvB,EAAkBvB,EAAI,GAAG;AAAA,gBAC3B;AAAA,gBAEC,UAAAA,EAAI;AAAA,cAAA;AAAA,cAbAA,EAAI;AAAA,YAAA,CAeZ;AAAA,UAAA;AAAA,QAAA,IAED;AAAA,QACJ,gBAAA2C;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,WAAWH,EAAW,sBAAsBC,EAAO,oBAAoB,CAAC;AAAA,YACxE,QAAAxD;AAAA,YACA,OAAO+B;AAAA,YACP,aAAAT;AAAA,YACA,cAAAC;AAAA,YACA,UAAU,CAACkC,MAAS;AAClB,cAAAzB,EAASyB,CAAI,GACbvB,EAAkB,IAAI;AAAA,YACxB;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,6 +1,7 @@
1
1
  import { jsxs as W, jsx as R } from "react/jsx-runtime";
2
2
  import { DatePicker as $ } from "antd";
3
3
  import d from "dayjs";
4
+ import "../../../utils/ensureDayjsZhCn.js";
4
5
  import { useState as q, useRef as E, useMemo as x, useEffect as A } from "react";
5
6
  import { parsePickerValue as f, formatPickerValue as B } from "../../../utils/pickerDate.js";
6
7
  import H from "../FilterPopover/index.js";
@@ -55,7 +56,7 @@ function b(e, r, t) {
55
56
  }
56
57
  return null;
57
58
  }
58
- const dt = ({
59
+ const ut = ({
59
60
  filterKey: e,
60
61
  label: r,
61
62
  value: t,
@@ -168,7 +169,7 @@ const dt = ({
168
169
  );
169
170
  };
170
171
  export {
171
- dt as default,
172
+ ut as default,
172
173
  b as findMatchingQuickKey,
173
174
  K as getBuiltInMonthOptions,
174
175
  X as isSameRange
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterDateRange/index.tsx"],"sourcesContent":["import { DatePicker } from 'antd';\nimport dayjs, { Dayjs } from 'dayjs';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport {\n formatPickerValue,\n parsePickerValue,\n type DatePickerGranularity,\n} from '@/utils/pickerDate';\nimport FilterPopover from '../FilterPopover';\nimport type { BaseFilterProps } from '../types';\nimport { resolveHidden } from '../types';\nimport { useFilterFieldBridge, useFilterRegister } from '../useFilterState';\nimport styles from './style.module.scss';\nimport classNames from 'classnames';\n\nconst { RangePicker } = DatePicker;\n\n/** 快捷选项配置类型 */\ninterface QuickOption {\n key: string;\n label: string;\n getValue: () => [Dayjs, Dayjs] | null;\n}\n\n/** 内置快捷选项(日粒度) */\nconst BUILT_IN_DAY_OPTIONS: QuickOption[] = [\n {\n key: 'lastWeek',\n label: '上周',\n getValue: () => [\n dayjs().subtract(1, 'week').startOf('week'),\n dayjs().subtract(1, 'week').endOf('week'),\n ],\n },\n {\n key: 'thisWeek',\n label: '本周',\n getValue: () => [dayjs().startOf('week'), dayjs().endOf('week')],\n },\n];\n\nfunction getBuiltInMonthOptions(): QuickOption[] {\n const end = dayjs().startOf('month');\n return [\n { key: '1m', label: '近1月', getValue: () => [end, end] },\n {\n key: '3m',\n label: '近3月',\n getValue: () => [end.subtract(2, 'month'), end],\n },\n {\n key: '6m',\n label: '近6月',\n getValue: () => [end.subtract(5, 'month'), end],\n },\n ];\n}\n\ninterface FilterDateRangeProps extends BaseFilterProps {\n value?: [string, string] | null;\n onChange?: (value: [string, string] | null) => void;\n /** 选择粒度:日 / 月 / 年 */\n picker?: DatePickerGranularity;\n /** 默认区间:与默认相同时视为未筛选(除非 showDefaultAsSelected) */\n defaultValue?: [string, string];\n /** 为 true 时,value 等于 defaultValue 仍展示在已选 Tag 中 */\n showDefaultAsSelected?: boolean;\n showQuickOptions?: boolean;\n quickOptions?: QuickOption[];\n disabledDate?: (current: Dayjs) => boolean;\n}\n\nfunction isSameRange(a?: [string, string] | null, b?: [string, string]): boolean {\n if (!a?.[0] || !a?.[1]) return !b?.[0] || !b?.[1];\n if (!b?.[0] || !b?.[1]) return false;\n return a[0] === b[0] && a[1] === b[1];\n}\n\nfunction rangeUnit(picker: DatePickerGranularity): 'day' | 'month' | 'year' {\n if (picker === 'month') return 'month';\n if (picker === 'year') return 'year';\n return 'day';\n}\n\nfunction findMatchingQuickKey(\n range: [string, string] | null | undefined,\n opts: QuickOption[],\n picker: DatePickerGranularity,\n): string | null {\n if (!range?.[0] || !range?.[1]) return null;\n const start = parsePickerValue(range[0], picker);\n const end = parsePickerValue(range[1], picker);\n const unit = rangeUnit(picker);\n for (const opt of opts) {\n const v = opt.getValue();\n if (v && v[0].isSame(start, unit) && v[1].isSame(end, unit)) {\n return opt.key;\n }\n }\n return null;\n}\n\nconst FilterDateRange: React.FC<FilterDateRangeProps> = ({\n filterKey,\n label,\n value,\n onChange,\n picker = 'date',\n defaultValue,\n showDefaultAsSelected = false,\n showQuickOptions = true,\n quickOptions,\n disabledDate,\n active,\n hidden,\n dependsOn,\n clearOnDepsChange = true,\n}) => {\n const [open, setOpen] = useState(false);\n const [dates, setDates] = useState<[Dayjs | null, Dayjs | null] | null>(\n value ? [parsePickerValue(value[0], picker), parsePickerValue(value[1], picker)] : null,\n );\n const [activeQuickKey, setActiveQuickKey] = useState<string | null>(null);\n\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const { resolvedLabel } = useFilterFieldBridge({\n filterKey,\n value,\n label,\n dependsOn,\n clearOnDepsChange,\n onDepsClear: () => onChangeRef.current?.(null),\n });\n\n const registerFn = useFilterRegister();\n const opts = useMemo(\n () =>\n quickOptions ??\n (showQuickOptions\n ? picker === 'month'\n ? getBuiltInMonthOptions()\n : BUILT_IN_DAY_OPTIONS\n : []),\n [quickOptions, showQuickOptions, picker],\n );\n\n const syncActiveQuickKey = (range: [string, string] | null | undefined) => {\n setActiveQuickKey(findMatchingQuickKey(range, opts, picker));\n };\n\n const revertToCommitted = () => {\n if (value?.[0] && value?.[1]) {\n setDates([parsePickerValue(value[0], picker), parsePickerValue(value[1], picker)]);\n syncActiveQuickKey(value);\n } else {\n setDates(null);\n setActiveQuickKey(null);\n }\n };\n\n useEffect(() => {\n if (value?.[0] && value?.[1]) {\n setDates([parsePickerValue(value[0], picker), parsePickerValue(value[1], picker)]);\n syncActiveQuickKey(value);\n } else {\n setDates(null);\n setActiveQuickKey(null);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, opts, picker]);\n\n const hasNonDefaultValue = showDefaultAsSelected\n ? !!value?.[0]\n : !!value?.[0] && !isSameRange(value, defaultValue);\n\n const valueLabel = useMemo(() => {\n if (!hasNonDefaultValue || !value?.[0] || !value?.[1]) return '';\n return `${value[0]} ~ ${value[1]}`;\n }, [hasNonDefaultValue, value]);\n\n useEffect(() => {\n if (!registerFn) return;\n if (resolveHidden(hidden)) {\n registerFn.unregister(filterKey);\n return;\n }\n if (valueLabel) {\n registerFn.register(filterKey, {\n label: resolvedLabel,\n valueLabel,\n onRemove: () => onChange?.(null),\n });\n } else {\n registerFn.unregister(filterKey);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [valueLabel, filterKey, resolvedLabel, hidden]);\n\n if (resolveHidden(hidden)) return null;\n\n const handleConfirm = () => {\n if (dates?.[0] && dates?.[1]) {\n onChange?.([formatPickerValue(dates[0], picker), formatPickerValue(dates[1], picker)]);\n } else {\n onChange?.(null);\n }\n setOpen(false);\n };\n\n const handleDiscardDraft = () => {\n revertToCommitted();\n setOpen(false);\n };\n\n const handleOpenChange = (nextOpen: boolean) => {\n revertToCommitted();\n setOpen(nextOpen);\n };\n\n return (\n <FilterPopover\n label={resolvedLabel}\n active={active || hasNonDefaultValue}\n open={open}\n onOpenChange={handleOpenChange}\n onConfirm={handleConfirm}\n onReset={handleDiscardDraft}\n >\n {opts.length > 0 && (\n <div\n className={classNames(\n 'filter-date-range-quick-options',\n styles['filter-date-range-quick-options'],\n )}\n >\n {opts.map((opt) => (\n <span\n key={opt.key}\n className={classNames(\n 'filter-date-range-quick-option',\n styles['filter-date-range-quick-option'],\n activeQuickKey === opt.key && 'filter-date-range-quick-option-active',\n activeQuickKey === opt.key && styles['filter-date-range-quick-option-active'],\n )}\n onClick={() => {\n const v = opt.getValue();\n if (v) {\n setDates(v);\n setActiveQuickKey(opt.key);\n }\n }}\n >\n {opt.label}\n </span>\n ))}\n </div>\n )}\n <RangePicker\n className={classNames('filter-date-range-picker', styles['filter-date-range-picker'])}\n picker={picker}\n value={dates}\n disabledDate={disabledDate}\n onChange={(vals) => {\n setDates(vals as [Dayjs | null, Dayjs | null] | null);\n setActiveQuickKey(null);\n }}\n />\n </FilterPopover>\n );\n};\n\nexport default FilterDateRange;\nexport type { FilterDateRangeProps, QuickOption };\nexport { findMatchingQuickKey, isSameRange, getBuiltInMonthOptions };\n"],"names":["RangePicker","DatePicker","BUILT_IN_DAY_OPTIONS","dayjs","getBuiltInMonthOptions","end","isSameRange","a","b","rangeUnit","picker","findMatchingQuickKey","range","opts","start","parsePickerValue","unit","opt","v","FilterDateRange","filterKey","label","value","onChange","defaultValue","showDefaultAsSelected","showQuickOptions","quickOptions","disabledDate","active","hidden","dependsOn","clearOnDepsChange","open","setOpen","useState","dates","setDates","activeQuickKey","setActiveQuickKey","onChangeRef","useRef","resolvedLabel","useFilterFieldBridge","_a","registerFn","useFilterRegister","useMemo","syncActiveQuickKey","revertToCommitted","useEffect","hasNonDefaultValue","valueLabel","resolveHidden","jsxs","FilterPopover","nextOpen","formatPickerValue","jsx","classNames","styles","vals"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterDateRange/index.tsx"],"sourcesContent":["import { DatePicker } from 'antd';\nimport dayjs, { type Dayjs } from 'dayjs';\nimport '@/utils/ensureDayjsZhCn';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport {\n formatPickerValue,\n parsePickerValue,\n type DatePickerGranularity,\n} from '@/utils/pickerDate';\nimport FilterPopover from '../FilterPopover';\nimport type { BaseFilterProps } from '../types';\nimport { resolveHidden } from '../types';\nimport { useFilterFieldBridge, useFilterRegister } from '../useFilterState';\nimport styles from './style.module.scss';\nimport classNames from 'classnames';\n\nconst { RangePicker } = DatePicker;\n\n/** 快捷选项配置类型 */\ninterface QuickOption {\n key: string;\n label: string;\n getValue: () => [Dayjs, Dayjs] | null;\n}\n\n/** 内置快捷选项(日粒度) */\nconst BUILT_IN_DAY_OPTIONS: QuickOption[] = [\n {\n key: 'lastWeek',\n label: '上周',\n getValue: () => [\n dayjs().subtract(1, 'week').startOf('week'),\n dayjs().subtract(1, 'week').endOf('week'),\n ],\n },\n {\n key: 'thisWeek',\n label: '本周',\n getValue: () => [dayjs().startOf('week'), dayjs().endOf('week')],\n },\n];\n\nfunction getBuiltInMonthOptions(): QuickOption[] {\n const end = dayjs().startOf('month');\n return [\n { key: '1m', label: '近1月', getValue: () => [end, end] },\n {\n key: '3m',\n label: '近3月',\n getValue: () => [end.subtract(2, 'month'), end],\n },\n {\n key: '6m',\n label: '近6月',\n getValue: () => [end.subtract(5, 'month'), end],\n },\n ];\n}\n\ninterface FilterDateRangeProps extends BaseFilterProps {\n value?: [string, string] | null;\n onChange?: (value: [string, string] | null) => void;\n /** 选择粒度:日 / 月 / 年 */\n picker?: DatePickerGranularity;\n /** 默认区间:与默认相同时视为未筛选(除非 showDefaultAsSelected) */\n defaultValue?: [string, string];\n /** 为 true 时,value 等于 defaultValue 仍展示在已选 Tag 中 */\n showDefaultAsSelected?: boolean;\n showQuickOptions?: boolean;\n quickOptions?: QuickOption[];\n disabledDate?: (current: Dayjs) => boolean;\n}\n\nfunction isSameRange(a?: [string, string] | null, b?: [string, string]): boolean {\n if (!a?.[0] || !a?.[1]) return !b?.[0] || !b?.[1];\n if (!b?.[0] || !b?.[1]) return false;\n return a[0] === b[0] && a[1] === b[1];\n}\n\nfunction rangeUnit(picker: DatePickerGranularity): 'day' | 'month' | 'year' {\n if (picker === 'month') return 'month';\n if (picker === 'year') return 'year';\n return 'day';\n}\n\nfunction findMatchingQuickKey(\n range: [string, string] | null | undefined,\n opts: QuickOption[],\n picker: DatePickerGranularity,\n): string | null {\n if (!range?.[0] || !range?.[1]) return null;\n const start = parsePickerValue(range[0], picker);\n const end = parsePickerValue(range[1], picker);\n const unit = rangeUnit(picker);\n for (const opt of opts) {\n const v = opt.getValue();\n if (v && v[0].isSame(start, unit) && v[1].isSame(end, unit)) {\n return opt.key;\n }\n }\n return null;\n}\n\nconst FilterDateRange: React.FC<FilterDateRangeProps> = ({\n filterKey,\n label,\n value,\n onChange,\n picker = 'date',\n defaultValue,\n showDefaultAsSelected = false,\n showQuickOptions = true,\n quickOptions,\n disabledDate,\n active,\n hidden,\n dependsOn,\n clearOnDepsChange = true,\n}) => {\n const [open, setOpen] = useState(false);\n const [dates, setDates] = useState<[Dayjs | null, Dayjs | null] | null>(\n value ? [parsePickerValue(value[0], picker), parsePickerValue(value[1], picker)] : null,\n );\n const [activeQuickKey, setActiveQuickKey] = useState<string | null>(null);\n\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const { resolvedLabel } = useFilterFieldBridge({\n filterKey,\n value,\n label,\n dependsOn,\n clearOnDepsChange,\n onDepsClear: () => onChangeRef.current?.(null),\n });\n\n const registerFn = useFilterRegister();\n const opts = useMemo(\n () =>\n quickOptions ??\n (showQuickOptions\n ? picker === 'month'\n ? getBuiltInMonthOptions()\n : BUILT_IN_DAY_OPTIONS\n : []),\n [quickOptions, showQuickOptions, picker],\n );\n\n const syncActiveQuickKey = (range: [string, string] | null | undefined) => {\n setActiveQuickKey(findMatchingQuickKey(range, opts, picker));\n };\n\n const revertToCommitted = () => {\n if (value?.[0] && value?.[1]) {\n setDates([parsePickerValue(value[0], picker), parsePickerValue(value[1], picker)]);\n syncActiveQuickKey(value);\n } else {\n setDates(null);\n setActiveQuickKey(null);\n }\n };\n\n useEffect(() => {\n if (value?.[0] && value?.[1]) {\n setDates([parsePickerValue(value[0], picker), parsePickerValue(value[1], picker)]);\n syncActiveQuickKey(value);\n } else {\n setDates(null);\n setActiveQuickKey(null);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, opts, picker]);\n\n const hasNonDefaultValue = showDefaultAsSelected\n ? !!value?.[0]\n : !!value?.[0] && !isSameRange(value, defaultValue);\n\n const valueLabel = useMemo(() => {\n if (!hasNonDefaultValue || !value?.[0] || !value?.[1]) return '';\n return `${value[0]} ~ ${value[1]}`;\n }, [hasNonDefaultValue, value]);\n\n useEffect(() => {\n if (!registerFn) return;\n if (resolveHidden(hidden)) {\n registerFn.unregister(filterKey);\n return;\n }\n if (valueLabel) {\n registerFn.register(filterKey, {\n label: resolvedLabel,\n valueLabel,\n onRemove: () => onChange?.(null),\n });\n } else {\n registerFn.unregister(filterKey);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [valueLabel, filterKey, resolvedLabel, hidden]);\n\n if (resolveHidden(hidden)) return null;\n\n const handleConfirm = () => {\n if (dates?.[0] && dates?.[1]) {\n onChange?.([formatPickerValue(dates[0], picker), formatPickerValue(dates[1], picker)]);\n } else {\n onChange?.(null);\n }\n setOpen(false);\n };\n\n const handleDiscardDraft = () => {\n revertToCommitted();\n setOpen(false);\n };\n\n const handleOpenChange = (nextOpen: boolean) => {\n revertToCommitted();\n setOpen(nextOpen);\n };\n\n return (\n <FilterPopover\n label={resolvedLabel}\n active={active || hasNonDefaultValue}\n open={open}\n onOpenChange={handleOpenChange}\n onConfirm={handleConfirm}\n onReset={handleDiscardDraft}\n >\n {opts.length > 0 && (\n <div\n className={classNames(\n 'filter-date-range-quick-options',\n styles['filter-date-range-quick-options'],\n )}\n >\n {opts.map((opt) => (\n <span\n key={opt.key}\n className={classNames(\n 'filter-date-range-quick-option',\n styles['filter-date-range-quick-option'],\n activeQuickKey === opt.key && 'filter-date-range-quick-option-active',\n activeQuickKey === opt.key && styles['filter-date-range-quick-option-active'],\n )}\n onClick={() => {\n const v = opt.getValue();\n if (v) {\n setDates(v);\n setActiveQuickKey(opt.key);\n }\n }}\n >\n {opt.label}\n </span>\n ))}\n </div>\n )}\n <RangePicker\n className={classNames('filter-date-range-picker', styles['filter-date-range-picker'])}\n picker={picker}\n value={dates}\n disabledDate={disabledDate}\n onChange={(vals) => {\n setDates(vals as [Dayjs | null, Dayjs | null] | null);\n setActiveQuickKey(null);\n }}\n />\n </FilterPopover>\n );\n};\n\nexport default FilterDateRange;\nexport type { FilterDateRangeProps, QuickOption };\nexport { findMatchingQuickKey, isSameRange, getBuiltInMonthOptions };\n"],"names":["RangePicker","DatePicker","BUILT_IN_DAY_OPTIONS","dayjs","getBuiltInMonthOptions","end","isSameRange","a","b","rangeUnit","picker","findMatchingQuickKey","range","opts","start","parsePickerValue","unit","opt","v","FilterDateRange","filterKey","label","value","onChange","defaultValue","showDefaultAsSelected","showQuickOptions","quickOptions","disabledDate","active","hidden","dependsOn","clearOnDepsChange","open","setOpen","useState","dates","setDates","activeQuickKey","setActiveQuickKey","onChangeRef","useRef","resolvedLabel","useFilterFieldBridge","_a","registerFn","useFilterRegister","useMemo","syncActiveQuickKey","revertToCommitted","useEffect","hasNonDefaultValue","valueLabel","resolveHidden","jsxs","FilterPopover","nextOpen","formatPickerValue","jsx","classNames","styles","vals"],"mappings":"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"}
@@ -7,60 +7,61 @@ import S from "classnames";
7
7
  import u from "./style.module.scss.js";
8
8
  import K from "../../hooks/useFilterPopupContainer.js";
9
9
  import { MOBILE_POPUP_Z_INDEX as Q } from "../../constants/mobilePopup.js";
10
+ import "../../../../utils/ensureDayjsZhCn.js";
10
11
  import W from "../../../../node_modules/@kne/react-intl/node_modules/react-intl/lib/src/components/useIntl.js";
11
12
  import "../../../../node_modules/@kne/react-intl/node_modules/react-intl/lib/index.js";
12
- const $ = "react-filter-field-mobile-popup", rt = ({
13
+ const $ = "react-filter-field-mobile-popup", pt = ({
13
14
  value: b,
14
- onChange: r,
15
+ onChange: d,
15
16
  defaultValue: L,
16
17
  shortcuts: F = !0,
17
18
  shortcutOptions: N,
18
- ...l
19
+ ...i
19
20
  }) => {
20
21
  var M, x, A, P, E, I;
21
- const { formatMessage: i } = W(), { isMobile: n, fixedModeClass: R, getPopupContainer: D } = K(), O = S(
22
+ const { formatMessage: l } = W(), { isMobile: n, fixedModeClass: R, getPopupContainer: D } = K(), O = S(
22
23
  u["field-item-mobile-popup"],
23
24
  $,
24
25
  R
25
26
  ), p = n ? { zIndex: Q } : void 0, T = /* @__PURE__ */ new Map([
26
- ["date", i({ id: "customTime" })],
27
- ["month", i({ id: "monthly" })],
28
- ["week", i({ id: "weekly" })]
27
+ ["date", l({ id: "customTime" })],
28
+ ["month", l({ id: "monthly" })],
29
+ ["week", l({ id: "weekly" })]
29
30
  ]), B = j(
30
31
  () => [
31
32
  {
32
- label: i({ id: "last7Days" }),
33
+ label: l({ id: "last7Days" }),
33
34
  getValue: () => [o().subtract(7, "day").startOf("day"), o().endOf("day")]
34
35
  },
35
36
  {
36
- label: i({ id: "thisMonth" }),
37
+ label: l({ id: "thisMonth" }),
37
38
  getValue: () => [o().startOf("month"), o().endOf("month")]
38
39
  },
39
40
  {
40
- label: i({ id: "last3Months" }),
41
+ label: l({ id: "last3Months" }),
41
42
  getValue: () => [o().subtract(3, "month").startOf("day"), o().endOf("day")]
42
43
  },
43
44
  {
44
- label: i({ id: "thisYear" }),
45
+ label: l({ id: "thisYear" }),
45
46
  getValue: () => [o().startOf("year"), o().endOf("day")]
46
47
  },
47
48
  {
48
- label: i({ id: "fullYear" }),
49
+ label: l({ id: "fullYear" }),
49
50
  getValue: () => [o().startOf("year"), o().endOf("year")]
50
51
  }
51
52
  ],
52
- [i]
53
+ [l]
53
54
  ), c = N !== void 0 ? N : F ? B : null, h = b !== void 0, v = J(L || { type: "date", value: null }), e = h ? b : v.current, m = g(
54
55
  (t) => {
55
- h || (v.current = typeof t == "function" ? t(v.current) : t), r == null || r(typeof t == "function" ? t(e) : t);
56
+ h || (v.current = typeof t == "function" ? t(v.current) : t), d == null || d(typeof t == "function" ? t(e) : t);
56
57
  },
57
- [h, r, e]
58
+ [h, d, e]
58
59
  ), C = g(
59
60
  (t) => {
60
- const [s, d] = t.getValue(), a = "date";
61
+ const [s, r] = t.getValue(), a = "date";
61
62
  m({
62
63
  type: a,
63
- value: [s.startOf(a).toDate(), d.endOf(a).toDate()]
64
+ value: [s.startOf(a).toDate(), r.endOf(a).toDate()]
64
65
  });
65
66
  },
66
67
  [m]
@@ -68,7 +69,7 @@ const $ = "react-filter-field-mobile-popup", rt = ({
68
69
  (t) => {
69
70
  if (!(e != null && e.value) || !Array.isArray(e.value) || e.value.length !== 2)
70
71
  return !1;
71
- const [s, d] = t.getValue(), a = (e == null ? void 0 : e.type) || "date", f = o(e.value[0]).startOf(a), Y = o(e.value[1]).endOf(a), z = s.startOf(a), X = d.endOf(a);
72
+ const [s, r] = t.getValue(), a = (e == null ? void 0 : e.type) || "date", f = o(e.value[0]).startOf(a), Y = o(e.value[1]).endOf(a), z = s.startOf(a), X = r.endOf(a);
72
73
  return f.isSame(z, a) && Y.isSame(X, a);
73
74
  },
74
75
  [e]
@@ -100,10 +101,10 @@ const $ = "react-filter-field-mobile-popup", rt = ({
100
101
  var f;
101
102
  if (!((f = s == null ? void 0 : s.value) != null && f.length))
102
103
  return { value: null, type: t || "date" };
103
- const d = o(s.value[0]), a = o(s.value[1]);
104
+ const r = o(s.value[0]), a = o(s.value[1]);
104
105
  return {
105
106
  value: [
106
- d.isValid() ? d.startOf(t || "date").toDate() : null,
107
+ r.isValid() ? r.startOf(t || "date").toDate() : null,
107
108
  a.isValid() ? a.endOf(t || "date").toDate() : null
108
109
  ],
109
110
  type: t || "date"
@@ -119,22 +120,22 @@ const $ = "react-filter-field-mobile-popup", rt = ({
119
120
  /* @__PURE__ */ y(
120
121
  H.RangePicker,
121
122
  {
122
- ...l,
123
+ ...i,
123
124
  getPopupContainer: D,
124
125
  classNames: n ? {
125
- ...l.classNames,
126
+ ...i.classNames,
126
127
  popup: {
127
- ...(M = l.classNames) == null ? void 0 : M.popup,
128
- root: S((A = (x = l.classNames) == null ? void 0 : x.popup) == null ? void 0 : A.root, O)
128
+ ...(M = i.classNames) == null ? void 0 : M.popup,
129
+ root: S((A = (x = i.classNames) == null ? void 0 : x.popup) == null ? void 0 : A.root, O)
129
130
  }
130
- } : l.classNames,
131
+ } : i.classNames,
131
132
  styles: n ? {
132
- ...l.styles,
133
+ ...i.styles,
133
134
  popup: {
134
- ...(P = l.styles) == null ? void 0 : P.popup,
135
- root: Object.assign({}, (I = (E = l.styles) == null ? void 0 : E.popup) == null ? void 0 : I.root, p)
135
+ ...(P = i.styles) == null ? void 0 : P.popup,
136
+ root: Object.assign({}, (I = (E = i.styles) == null ? void 0 : E.popup) == null ? void 0 : I.root, p)
136
137
  }
137
- } : l.styles,
138
+ } : i.styles,
138
139
  popupStyle: p,
139
140
  picker: (e == null ? void 0 : e.type) || "date",
140
141
  value: Array.isArray(e == null ? void 0 : e.value) && e.value.length === 2 ? e.value.map((t) => t && o(t)) : null,
@@ -153,6 +154,6 @@ const $ = "react-filter-field-mobile-popup", rt = ({
153
154
  ] });
154
155
  };
155
156
  export {
156
- rt as default
157
+ pt as default
157
158
  };
158
159
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/ReactFilter/common/TypeDateRangePickerField/index.jsx"],"sourcesContent":["// @ts-nocheck\nimport { DatePicker, Select, Space, Flex } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useRef, useCallback, useMemo } from 'react';\nimport dayjs from 'dayjs';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\nimport useFilterPopupContainer from '../../hooks/useFilterPopupContainer';\nimport { MOBILE_POPUP_Z_INDEX } from '../../constants/mobilePopup';\n\nconst FIELD_MOBILE_POPUP_CLASS = 'react-filter-field-mobile-popup';\n\nconst TypeDateRangePickerField = ({\n value: valueProp,\n onChange: onChangeProp,\n defaultValue,\n shortcuts = true,\n shortcutOptions,\n ...props\n}) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n const { isMobile, fixedModeClass, getPopupContainer } = useFilterPopupContainer();\n const nestedPopupClassName = classnames(\n style['field-item-mobile-popup'],\n FIELD_MOBILE_POPUP_CLASS,\n fixedModeClass,\n );\n const nestedPopupStyle = isMobile ? { zIndex: MOBILE_POPUP_Z_INDEX } : undefined;\n\n const typeList = new Map([\n ['date', formatMessage({ id: 'customTime' })],\n ['month', formatMessage({ id: 'monthly' })],\n ['week', formatMessage({ id: 'weekly' })],\n ]);\n\n const defaultShortcuts = useMemo(\n () => [\n {\n label: formatMessage({ id: 'last7Days' }),\n getValue: () => [dayjs().subtract(7, 'day').startOf('day'), dayjs().endOf('day')],\n },\n {\n label: formatMessage({ id: 'thisMonth' }),\n getValue: () => [dayjs().startOf('month'), dayjs().endOf('month')],\n },\n {\n label: formatMessage({ id: 'last3Months' }),\n getValue: () => [dayjs().subtract(3, 'month').startOf('day'), dayjs().endOf('day')],\n },\n {\n label: formatMessage({ id: 'thisYear' }),\n getValue: () => [dayjs().startOf('year'), dayjs().endOf('day')],\n },\n {\n label: formatMessage({ id: 'fullYear' }),\n getValue: () => [dayjs().startOf('year'), dayjs().endOf('year')],\n },\n ],\n [formatMessage],\n );\n\n const currentShortcuts =\n shortcutOptions !== undefined ? shortcutOptions : shortcuts ? defaultShortcuts : null;\n\n const isControlled = valueProp !== undefined;\n const innerValueRef = useRef(defaultValue || { type: 'date', value: null });\n\n const value = isControlled ? valueProp : innerValueRef.current;\n\n const onChange = useCallback(\n (newValue) => {\n if (!isControlled) {\n innerValueRef.current =\n typeof newValue === 'function' ? newValue(innerValueRef.current) : newValue;\n }\n onChangeProp?.(typeof newValue === 'function' ? newValue(value) : newValue);\n },\n [isControlled, onChangeProp, value],\n );\n\n const handleShortcutClick = useCallback(\n (shortcut) => {\n const [start, end] = shortcut.getValue();\n const type = 'date';\n onChange({\n type,\n value: [start.startOf(type).toDate(), end.endOf(type).toDate()],\n });\n },\n [onChange],\n );\n\n const isShortcutActive = useCallback(\n (shortcut) => {\n if (!value?.value || !Array.isArray(value.value) || value.value.length !== 2) {\n return false;\n }\n const [start, end] = shortcut.getValue();\n const type = value?.type || 'date';\n const valueStart = dayjs(value.value[0]).startOf(type);\n const valueEnd = dayjs(value.value[1]).endOf(type);\n const shortcutStart = start.startOf(type);\n const shortcutEnd = end.endOf(type);\n return valueStart.isSame(shortcutStart, type) && valueEnd.isSame(shortcutEnd, type);\n },\n [value],\n );\n\n const renderShortcuts = useMemo(() => {\n if (!currentShortcuts || currentShortcuts.length === 0) {\n return null;\n }\n return (\n <div className={style['shortcuts-container']}>\n {currentShortcuts.map((shortcut, index) => (\n <span\n key={index}\n className={classnames(style['shortcut-item'], {\n [style['is-active']]: isShortcutActive(shortcut),\n })}\n onClick={() => handleShortcutClick(shortcut)}\n >\n {shortcut.label}\n </span>\n ))}\n </div>\n );\n }, [currentShortcuts, handleShortcutClick, isShortcutActive]);\n\n return (\n <Flex vertical gap={0}>\n <Space.Compact>\n <Select\n style={{ width: '120px' }}\n getPopupContainer={getPopupContainer}\n popupClassName={isMobile ? nestedPopupClassName : undefined}\n classNames={isMobile ? { popup: { root: nestedPopupClassName } } : undefined}\n popupStyle={nestedPopupStyle}\n styles={isMobile ? { popup: { root: nestedPopupStyle } } : undefined}\n value={value?.type || 'date'}\n onChange={(typeValue) => {\n onChange((currentValue) => {\n if (!currentValue?.value?.length) {\n return { value: null, type: typeValue || 'date' };\n }\n const startTime = dayjs(currentValue.value[0]);\n const endTime = dayjs(currentValue.value[1]);\n return {\n value: [\n startTime.isValid() ? startTime.startOf(typeValue || 'date').toDate() : null,\n endTime.isValid() ? endTime.endOf(typeValue || 'date').toDate() : null,\n ],\n type: typeValue || 'date',\n };\n });\n }}\n options={Array.from(typeList).map(([val, label]) => ({\n label,\n value: val,\n }))}\n />\n <DatePicker.RangePicker\n {...props}\n getPopupContainer={getPopupContainer}\n classNames={\n isMobile\n ? {\n ...props.classNames,\n popup: {\n ...props.classNames?.popup,\n root: classnames(props.classNames?.popup?.root, nestedPopupClassName),\n },\n }\n : props.classNames\n }\n styles={\n isMobile\n ? {\n ...props.styles,\n popup: {\n ...props.styles?.popup,\n root: Object.assign({}, props.styles?.popup?.root, nestedPopupStyle),\n },\n }\n : props.styles\n }\n popupStyle={nestedPopupStyle}\n picker={value?.type || 'date'}\n value={\n Array.isArray(value?.value) && value.value.length === 2\n ? value.value.map((item) => item && dayjs(item))\n : null\n }\n onChange={(dateValue) => {\n onChange((currentValue) => {\n return Object.assign({ type: 'date' }, currentValue, {\n value:\n dateValue && dateValue[0] && dateValue[1]\n ? [\n dateValue[0].startOf(currentValue?.type || 'date').toDate(),\n dateValue[1].endOf(currentValue?.type || 'date').toDate(),\n ]\n : null,\n });\n });\n }}\n />\n </Space.Compact>\n {renderShortcuts}\n </Flex>\n );\n};\n\nexport default TypeDateRangePickerField;\n"],"names":["FIELD_MOBILE_POPUP_CLASS","TypeDateRangePickerField","valueProp","onChangeProp","defaultValue","shortcuts","shortcutOptions","props","formatMessage","useIntl","isMobile","fixedModeClass","getPopupContainer","useFilterPopupContainer","nestedPopupClassName","classnames","style","nestedPopupStyle","MOBILE_POPUP_Z_INDEX","typeList","defaultShortcuts","useMemo","dayjs","currentShortcuts","isControlled","innerValueRef","useRef","value","onChange","useCallback","newValue","handleShortcutClick","shortcut","start","end","type","isShortcutActive","valueStart","valueEnd","shortcutStart","shortcutEnd","renderShortcuts","jsx","index","jsxs","Flex","Space","Select","typeValue","currentValue","_a","startTime","endTime","val","label","DatePicker","_c","_b","_d","_f","_e","item","dateValue"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/ReactFilter/common/TypeDateRangePickerField/index.jsx"],"sourcesContent":["// @ts-nocheck\nimport { DatePicker, Select, Space, Flex } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useRef, useCallback, useMemo } from 'react';\nimport dayjs from 'dayjs';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\nimport useFilterPopupContainer from '../../hooks/useFilterPopupContainer';\nimport { MOBILE_POPUP_Z_INDEX } from '../../constants/mobilePopup';\nimport '@/utils/ensureDayjsZhCn';\n\nconst FIELD_MOBILE_POPUP_CLASS = 'react-filter-field-mobile-popup';\n\nconst TypeDateRangePickerField = ({\n value: valueProp,\n onChange: onChangeProp,\n defaultValue,\n shortcuts = true,\n shortcutOptions,\n ...props\n}) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n const { isMobile, fixedModeClass, getPopupContainer } = useFilterPopupContainer();\n const nestedPopupClassName = classnames(\n style['field-item-mobile-popup'],\n FIELD_MOBILE_POPUP_CLASS,\n fixedModeClass,\n );\n const nestedPopupStyle = isMobile ? { zIndex: MOBILE_POPUP_Z_INDEX } : undefined;\n\n const typeList = new Map([\n ['date', formatMessage({ id: 'customTime' })],\n ['month', formatMessage({ id: 'monthly' })],\n ['week', formatMessage({ id: 'weekly' })],\n ]);\n\n const defaultShortcuts = useMemo(\n () => [\n {\n label: formatMessage({ id: 'last7Days' }),\n getValue: () => [dayjs().subtract(7, 'day').startOf('day'), dayjs().endOf('day')],\n },\n {\n label: formatMessage({ id: 'thisMonth' }),\n getValue: () => [dayjs().startOf('month'), dayjs().endOf('month')],\n },\n {\n label: formatMessage({ id: 'last3Months' }),\n getValue: () => [dayjs().subtract(3, 'month').startOf('day'), dayjs().endOf('day')],\n },\n {\n label: formatMessage({ id: 'thisYear' }),\n getValue: () => [dayjs().startOf('year'), dayjs().endOf('day')],\n },\n {\n label: formatMessage({ id: 'fullYear' }),\n getValue: () => [dayjs().startOf('year'), dayjs().endOf('year')],\n },\n ],\n [formatMessage],\n );\n\n const currentShortcuts =\n shortcutOptions !== undefined ? shortcutOptions : shortcuts ? defaultShortcuts : null;\n\n const isControlled = valueProp !== undefined;\n const innerValueRef = useRef(defaultValue || { type: 'date', value: null });\n\n const value = isControlled ? valueProp : innerValueRef.current;\n\n const onChange = useCallback(\n (newValue) => {\n if (!isControlled) {\n innerValueRef.current =\n typeof newValue === 'function' ? newValue(innerValueRef.current) : newValue;\n }\n onChangeProp?.(typeof newValue === 'function' ? newValue(value) : newValue);\n },\n [isControlled, onChangeProp, value],\n );\n\n const handleShortcutClick = useCallback(\n (shortcut) => {\n const [start, end] = shortcut.getValue();\n const type = 'date';\n onChange({\n type,\n value: [start.startOf(type).toDate(), end.endOf(type).toDate()],\n });\n },\n [onChange],\n );\n\n const isShortcutActive = useCallback(\n (shortcut) => {\n if (!value?.value || !Array.isArray(value.value) || value.value.length !== 2) {\n return false;\n }\n const [start, end] = shortcut.getValue();\n const type = value?.type || 'date';\n const valueStart = dayjs(value.value[0]).startOf(type);\n const valueEnd = dayjs(value.value[1]).endOf(type);\n const shortcutStart = start.startOf(type);\n const shortcutEnd = end.endOf(type);\n return valueStart.isSame(shortcutStart, type) && valueEnd.isSame(shortcutEnd, type);\n },\n [value],\n );\n\n const renderShortcuts = useMemo(() => {\n if (!currentShortcuts || currentShortcuts.length === 0) {\n return null;\n }\n return (\n <div className={style['shortcuts-container']}>\n {currentShortcuts.map((shortcut, index) => (\n <span\n key={index}\n className={classnames(style['shortcut-item'], {\n [style['is-active']]: isShortcutActive(shortcut),\n })}\n onClick={() => handleShortcutClick(shortcut)}\n >\n {shortcut.label}\n </span>\n ))}\n </div>\n );\n }, [currentShortcuts, handleShortcutClick, isShortcutActive]);\n\n return (\n <Flex vertical gap={0}>\n <Space.Compact>\n <Select\n style={{ width: '120px' }}\n getPopupContainer={getPopupContainer}\n popupClassName={isMobile ? nestedPopupClassName : undefined}\n classNames={isMobile ? { popup: { root: nestedPopupClassName } } : undefined}\n popupStyle={nestedPopupStyle}\n styles={isMobile ? { popup: { root: nestedPopupStyle } } : undefined}\n value={value?.type || 'date'}\n onChange={(typeValue) => {\n onChange((currentValue) => {\n if (!currentValue?.value?.length) {\n return { value: null, type: typeValue || 'date' };\n }\n const startTime = dayjs(currentValue.value[0]);\n const endTime = dayjs(currentValue.value[1]);\n return {\n value: [\n startTime.isValid() ? startTime.startOf(typeValue || 'date').toDate() : null,\n endTime.isValid() ? endTime.endOf(typeValue || 'date').toDate() : null,\n ],\n type: typeValue || 'date',\n };\n });\n }}\n options={Array.from(typeList).map(([val, label]) => ({\n label,\n value: val,\n }))}\n />\n <DatePicker.RangePicker\n {...props}\n getPopupContainer={getPopupContainer}\n classNames={\n isMobile\n ? {\n ...props.classNames,\n popup: {\n ...props.classNames?.popup,\n root: classnames(props.classNames?.popup?.root, nestedPopupClassName),\n },\n }\n : props.classNames\n }\n styles={\n isMobile\n ? {\n ...props.styles,\n popup: {\n ...props.styles?.popup,\n root: Object.assign({}, props.styles?.popup?.root, nestedPopupStyle),\n },\n }\n : props.styles\n }\n popupStyle={nestedPopupStyle}\n picker={value?.type || 'date'}\n value={\n Array.isArray(value?.value) && value.value.length === 2\n ? value.value.map((item) => item && dayjs(item))\n : null\n }\n onChange={(dateValue) => {\n onChange((currentValue) => {\n return Object.assign({ type: 'date' }, currentValue, {\n value:\n dateValue && dateValue[0] && dateValue[1]\n ? [\n dateValue[0].startOf(currentValue?.type || 'date').toDate(),\n dateValue[1].endOf(currentValue?.type || 'date').toDate(),\n ]\n : null,\n });\n });\n }}\n />\n </Space.Compact>\n {renderShortcuts}\n </Flex>\n );\n};\n\nexport default TypeDateRangePickerField;\n"],"names":["FIELD_MOBILE_POPUP_CLASS","TypeDateRangePickerField","valueProp","onChangeProp","defaultValue","shortcuts","shortcutOptions","props","formatMessage","useIntl","isMobile","fixedModeClass","getPopupContainer","useFilterPopupContainer","nestedPopupClassName","classnames","style","nestedPopupStyle","MOBILE_POPUP_Z_INDEX","typeList","defaultShortcuts","useMemo","dayjs","currentShortcuts","isControlled","innerValueRef","useRef","value","onChange","useCallback","newValue","handleShortcutClick","shortcut","start","end","type","isShortcutActive","valueStart","valueEnd","shortcutStart","shortcutEnd","renderShortcuts","jsx","index","jsxs","Flex","Space","Select","typeValue","currentValue","_a","startTime","endTime","val","label","DatePicker","_c","_b","_d","_f","_e","item","dateValue"],"mappings":";;;;;;;;;;;;AAWA,MAAMA,IAA2B,mCAE3BC,KAA2B,CAAC;AAAA,EAChC,OAAOC;AAAA,EACP,UAAUC;AAAA,EACV,cAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,iBAAAC;AAAA,EACA,GAAGC;AACL,MAAM;;AACJ,QAAM,EAAE,eAAAC,MAAkBC,EAAgC,GACpD,EAAE,UAAAC,GAAU,gBAAAC,GAAgB,mBAAAC,EAAA,IAAsBC,EAAA,GAClDC,IAAuBC;AAAAA,IAC3BC,EAAM,yBAAyB;AAAA,IAC/BhB;AAAA,IACAW;AAAA,EAAA,GAEIM,IAAmBP,IAAW,EAAE,QAAQQ,MAAyB,QAEjEC,wBAAe,IAAI;AAAA,IACvB,CAAC,QAAQX,EAAc,EAAE,IAAI,aAAA,CAAc,CAAC;AAAA,IAC5C,CAAC,SAASA,EAAc,EAAE,IAAI,UAAA,CAAW,CAAC;AAAA,IAC1C,CAAC,QAAQA,EAAc,EAAE,IAAI,SAAA,CAAU,CAAC;AAAA,EAAA,CACzC,GAEKY,IAAmBC;AAAA,IACvB,MAAM;AAAA,MACJ;AAAA,QACE,OAAOb,EAAc,EAAE,IAAI,aAAa;AAAA,QACxC,UAAU,MAAM,CAACc,IAAQ,SAAS,GAAG,KAAK,EAAE,QAAQ,KAAK,GAAGA,EAAA,EAAQ,MAAM,KAAK,CAAC;AAAA,MAAA;AAAA,MAElF;AAAA,QACE,OAAOd,EAAc,EAAE,IAAI,aAAa;AAAA,QACxC,UAAU,MAAM,CAACc,EAAA,EAAQ,QAAQ,OAAO,GAAGA,EAAA,EAAQ,MAAM,OAAO,CAAC;AAAA,MAAA;AAAA,MAEnE;AAAA,QACE,OAAOd,EAAc,EAAE,IAAI,eAAe;AAAA,QAC1C,UAAU,MAAM,CAACc,IAAQ,SAAS,GAAG,OAAO,EAAE,QAAQ,KAAK,GAAGA,EAAA,EAAQ,MAAM,KAAK,CAAC;AAAA,MAAA;AAAA,MAEpF;AAAA,QACE,OAAOd,EAAc,EAAE,IAAI,YAAY;AAAA,QACvC,UAAU,MAAM,CAACc,EAAA,EAAQ,QAAQ,MAAM,GAAGA,EAAA,EAAQ,MAAM,KAAK,CAAC;AAAA,MAAA;AAAA,MAEhE;AAAA,QACE,OAAOd,EAAc,EAAE,IAAI,YAAY;AAAA,QACvC,UAAU,MAAM,CAACc,EAAA,EAAQ,QAAQ,MAAM,GAAGA,EAAA,EAAQ,MAAM,MAAM,CAAC;AAAA,MAAA;AAAA,IACjE;AAAA,IAEF,CAACd,CAAa;AAAA,EAAA,GAGVe,IACJjB,MAAoB,SAAYA,IAAkBD,IAAYe,IAAmB,MAE7EI,IAAetB,MAAc,QAC7BuB,IAAgBC,EAAOtB,KAAgB,EAAE,MAAM,QAAQ,OAAO,MAAM,GAEpEuB,IAAQH,IAAetB,IAAYuB,EAAc,SAEjDG,IAAWC;AAAA,IACf,CAACC,MAAa;AACZ,MAAKN,MACHC,EAAc,UACZ,OAAOK,KAAa,aAAaA,EAASL,EAAc,OAAO,IAAIK,IAEvE3B,KAAA,QAAAA,EAAe,OAAO2B,KAAa,aAAaA,EAASH,CAAK,IAAIG;AAAA,IACpE;AAAA,IACA,CAACN,GAAcrB,GAAcwB,CAAK;AAAA,EAAA,GAG9BI,IAAsBF;AAAA,IAC1B,CAACG,MAAa;AACZ,YAAM,CAACC,GAAOC,CAAG,IAAIF,EAAS,SAAA,GACxBG,IAAO;AACb,MAAAP,EAAS;AAAA,QACP,MAAAO;AAAA,QACA,OAAO,CAACF,EAAM,QAAQE,CAAI,EAAE,OAAA,GAAUD,EAAI,MAAMC,CAAI,EAAE,QAAQ;AAAA,MAAA,CAC/D;AAAA,IACH;AAAA,IACA,CAACP,CAAQ;AAAA,EAAA,GAGLQ,IAAmBP;AAAA,IACvB,CAACG,MAAa;AACZ,UAAI,EAACL,KAAA,QAAAA,EAAO,UAAS,CAAC,MAAM,QAAQA,EAAM,KAAK,KAAKA,EAAM,MAAM,WAAW;AACzE,eAAO;AAET,YAAM,CAACM,GAAOC,CAAG,IAAIF,EAAS,SAAA,GACxBG,KAAOR,KAAA,gBAAAA,EAAO,SAAQ,QACtBU,IAAaf,EAAMK,EAAM,MAAM,CAAC,CAAC,EAAE,QAAQQ,CAAI,GAC/CG,IAAWhB,EAAMK,EAAM,MAAM,CAAC,CAAC,EAAE,MAAMQ,CAAI,GAC3CI,IAAgBN,EAAM,QAAQE,CAAI,GAClCK,IAAcN,EAAI,MAAMC,CAAI;AAClC,aAAOE,EAAW,OAAOE,GAAeJ,CAAI,KAAKG,EAAS,OAAOE,GAAaL,CAAI;AAAA,IACpF;AAAA,IACA,CAACR,CAAK;AAAA,EAAA,GAGFc,IAAkBpB,EAAQ,MAC1B,CAACE,KAAoBA,EAAiB,WAAW,IAC5C,OAGP,gBAAAmB,EAAC,OAAA,EAAI,WAAW1B,EAAM,qBAAqB,GACxC,UAAAO,EAAiB,IAAI,CAACS,GAAUW,MAC/B,gBAAAD;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAW3B,EAAWC,EAAM,eAAe,GAAG;AAAA,QAC5C,CAACA,EAAM,WAAW,CAAC,GAAGoB,EAAiBJ,CAAQ;AAAA,MAAA,CAChD;AAAA,MACD,SAAS,MAAMD,EAAoBC,CAAQ;AAAA,MAE1C,UAAAA,EAAS;AAAA,IAAA;AAAA,IANLW;AAAA,EAAA,CAQR,GACH,GAED,CAACpB,GAAkBQ,GAAqBK,CAAgB,CAAC;AAE5D,SACE,gBAAAQ,EAACC,GAAA,EAAK,UAAQ,IAAC,KAAK,GAClB,UAAA;AAAA,IAAA,gBAAAD,EAACE,EAAM,SAAN,EACC,UAAA;AAAA,MAAA,gBAAAJ;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,OAAO,EAAE,OAAO,QAAA;AAAA,UAChB,mBAAAnC;AAAA,UACA,gBAAgBF,IAAWI,IAAuB;AAAA,UAClD,YAAYJ,IAAW,EAAE,OAAO,EAAE,MAAMI,EAAA,MAA2B;AAAA,UACnE,YAAYG;AAAA,UACZ,QAAQP,IAAW,EAAE,OAAO,EAAE,MAAMO,EAAA,MAAuB;AAAA,UAC3D,QAAOU,KAAA,gBAAAA,EAAO,SAAQ;AAAA,UACtB,UAAU,CAACqB,MAAc;AACvB,YAAApB,EAAS,CAACqB,MAAiB;;AACzB,kBAAI,GAACC,IAAAD,KAAA,gBAAAA,EAAc,UAAd,QAAAC,EAAqB;AACxB,uBAAO,EAAE,OAAO,MAAM,MAAMF,KAAa,OAAA;AAE3C,oBAAMG,IAAY7B,EAAM2B,EAAa,MAAM,CAAC,CAAC,GACvCG,IAAU9B,EAAM2B,EAAa,MAAM,CAAC,CAAC;AAC3C,qBAAO;AAAA,gBACL,OAAO;AAAA,kBACLE,EAAU,YAAYA,EAAU,QAAQH,KAAa,MAAM,EAAE,OAAA,IAAW;AAAA,kBACxEI,EAAQ,YAAYA,EAAQ,MAAMJ,KAAa,MAAM,EAAE,WAAW;AAAA,gBAAA;AAAA,gBAEpE,MAAMA,KAAa;AAAA,cAAA;AAAA,YAEvB,CAAC;AAAA,UACH;AAAA,UACA,SAAS,MAAM,KAAK7B,CAAQ,EAAE,IAAI,CAAC,CAACkC,GAAKC,CAAK,OAAO;AAAA,YACnD,OAAAA;AAAA,YACA,OAAOD;AAAA,UAAA,EACP;AAAA,QAAA;AAAA,MAAA;AAAA,MAEJ,gBAAAX;AAAA,QAACa,EAAW;AAAA,QAAX;AAAA,UACE,GAAGhD;AAAA,UACJ,mBAAAK;AAAA,UACA,YACEF,IACI;AAAA,YACE,GAAGH,EAAM;AAAA,YACT,OAAO;AAAA,cACL,IAAG2C,IAAA3C,EAAM,eAAN,gBAAA2C,EAAkB;AAAA,cACrB,MAAMnC,GAAWyC,KAAAC,IAAAlD,EAAM,eAAN,gBAAAkD,EAAkB,UAAlB,gBAAAD,EAAyB,MAAM1C,CAAoB;AAAA,YAAA;AAAA,UACtE,IAEFP,EAAM;AAAA,UAEZ,QACEG,IACI;AAAA,YACE,GAAGH,EAAM;AAAA,YACT,OAAO;AAAA,cACL,IAAGmD,IAAAnD,EAAM,WAAN,gBAAAmD,EAAc;AAAA,cACjB,MAAM,OAAO,OAAO,CAAA,IAAIC,KAAAC,IAAArD,EAAM,WAAN,gBAAAqD,EAAc,UAAd,gBAAAD,EAAqB,MAAM1C,CAAgB;AAAA,YAAA;AAAA,UACrE,IAEFV,EAAM;AAAA,UAEZ,YAAYU;AAAA,UACZ,SAAQU,KAAA,gBAAAA,EAAO,SAAQ;AAAA,UACvB,OACE,MAAM,QAAQA,KAAA,gBAAAA,EAAO,KAAK,KAAKA,EAAM,MAAM,WAAW,IAClDA,EAAM,MAAM,IAAI,CAACkC,MAASA,KAAQvC,EAAMuC,CAAI,CAAC,IAC7C;AAAA,UAEN,UAAU,CAACC,MAAc;AACvB,YAAAlC,EAAS,CAACqB,MACD,OAAO,OAAO,EAAE,MAAM,OAAA,GAAUA,GAAc;AAAA,cACnD,OACEa,KAAaA,EAAU,CAAC,KAAKA,EAAU,CAAC,IACpC;AAAA,gBACEA,EAAU,CAAC,EAAE,SAAQb,KAAA,gBAAAA,EAAc,SAAQ,MAAM,EAAE,OAAA;AAAA,gBACnDa,EAAU,CAAC,EAAE,OAAMb,KAAA,gBAAAA,EAAc,SAAQ,MAAM,EAAE,OAAA;AAAA,cAAO,IAE1D;AAAA,YAAA,CACP,CACF;AAAA,UACH;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GACF;AAAA,IACCR;AAAA,EAAA,GACH;AAEJ;"}
@@ -1,15 +1,16 @@
1
1
  import { jsx as l } from "react/jsx-runtime";
2
- import { DatePicker as n } from "antd";
3
- import p from "../withFieldItem.js";
2
+ import { DatePicker as p } from "antd";
3
+ import n from "../withFieldItem.js";
4
4
  import c from "dayjs";
5
+ import "../../../utils/ensureDayjsZhCn.js";
5
6
  import d from "../withLocale.js";
6
7
  import u from "../style.module.scss.js";
7
8
  import O from "classnames";
8
- const b = d(
9
- p(({ value: e, onChange: i, picker: t = "date", ...a }) => {
9
+ const g = d(
10
+ n(({ value: e, onChange: i, picker: t = "date", ...a }) => {
10
11
  var r, s, f;
11
12
  return /* @__PURE__ */ l(
12
- n,
13
+ p,
13
14
  {
14
15
  ...a,
15
16
  inputReadOnly: !0,
@@ -34,6 +35,6 @@ const b = d(
34
35
  })
35
36
  );
36
37
  export {
37
- b as default
38
+ g as default
38
39
  };
39
40
  //# sourceMappingURL=DatePickerFilterItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerFilterItem.js","sources":["../../../../src/components/ReactFilter/fields/DatePickerFilterItem.jsx"],"sourcesContent":["// @ts-nocheck\nimport { DatePicker } from 'antd';\nimport withFieldItem from '../withFieldItem';\nimport dayjs from 'dayjs';\nimport withLocale from '../withLocale';\nimport style from '../style.module.scss';\nimport classnames from 'classnames';\n\nconst DatePickerFilterItem = withLocale(\n withFieldItem(({ value, onChange, picker = 'date', ...props }) => {\n return (\n <DatePicker\n {...props}\n inputReadOnly\n picker={picker}\n classNames={{\n ...props.classNames,\n popup: {\n ...props.classNames?.popup,\n root: classnames(props.classNames?.popup?.root, style['date-picker-popup']),\n },\n }}\n value={value && dayjs(value.value)}\n onChange={(value) => {\n const { format } = Object.assign({ format: 'YYYY-MM-DD' }, props);\n value &&\n onChange({\n label:\n picker !== 'date'\n ? `${value.startOf(picker).format(format)}~${value.endOf(picker).format(format)}`\n : value.format(format),\n value: new Date(value.startOf(picker).valueOf()),\n });\n }}\n />\n );\n }),\n);\n\nexport default DatePickerFilterItem;\n"],"names":["DatePickerFilterItem","withLocale","withFieldItem","value","onChange","picker","props","jsx","DatePicker","_a","classnames","_c","_b","style","dayjs","format"],"mappings":";;;;;;;AAQA,MAAMA,IAAuBC;AAAA,EAC3BC,EAAc,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,QAAAC,IAAS,QAAQ,GAAGC,QAAY;;AAChE,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACE,GAAGF;AAAA,QACJ,eAAa;AAAA,QACb,QAAAD;AAAA,QACA,YAAY;AAAA,UACV,GAAGC,EAAM;AAAA,UACT,OAAO;AAAA,YACL,IAAGG,IAAAH,EAAM,eAAN,gBAAAG,EAAkB;AAAA,YACrB,MAAMC,GAAWC,KAAAC,IAAAN,EAAM,eAAN,gBAAAM,EAAkB,UAAlB,gBAAAD,EAAyB,MAAME,EAAM,mBAAmB,CAAC;AAAA,UAAA;AAAA,QAC5E;AAAA,QAEF,OAAOV,KAASW,EAAMX,EAAM,KAAK;AAAA,QACjC,UAAU,CAACA,MAAU;AACnB,gBAAM,EAAE,QAAAY,MAAW,OAAO,OAAO,EAAE,QAAQ,aAAA,GAAgBT,CAAK;AAChEH,UAAAA,KACEC,EAAS;AAAA,YACP,OACEC,MAAW,SACP,GAAGF,EAAM,QAAQE,CAAM,EAAE,OAAOU,CAAM,CAAC,IAAIZ,EAAM,MAAME,CAAM,EAAE,OAAOU,CAAM,CAAC,KAC7EZ,EAAM,OAAOY,CAAM;AAAA,YACzB,OAAO,IAAI,KAAKZ,EAAM,QAAQE,CAAM,EAAE,SAAS;AAAA,UAAA,CAChD;AAAA,QACL;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN,CAAC;AACH;"}
1
+ {"version":3,"file":"DatePickerFilterItem.js","sources":["../../../../src/components/ReactFilter/fields/DatePickerFilterItem.jsx"],"sourcesContent":["// @ts-nocheck\nimport { DatePicker } from 'antd';\nimport withFieldItem from '../withFieldItem';\nimport dayjs from 'dayjs';\nimport '@/utils/ensureDayjsZhCn';\nimport withLocale from '../withLocale';\nimport style from '../style.module.scss';\nimport classnames from 'classnames';\n\nconst DatePickerFilterItem = withLocale(\n withFieldItem(({ value, onChange, picker = 'date', ...props }) => {\n return (\n <DatePicker\n {...props}\n inputReadOnly\n picker={picker}\n classNames={{\n ...props.classNames,\n popup: {\n ...props.classNames?.popup,\n root: classnames(props.classNames?.popup?.root, style['date-picker-popup']),\n },\n }}\n value={value && dayjs(value.value)}\n onChange={(value) => {\n const { format } = Object.assign({ format: 'YYYY-MM-DD' }, props);\n value &&\n onChange({\n label:\n picker !== 'date'\n ? `${value.startOf(picker).format(format)}~${value.endOf(picker).format(format)}`\n : value.format(format),\n value: new Date(value.startOf(picker).valueOf()),\n });\n }}\n />\n );\n }),\n);\n\nexport default DatePickerFilterItem;\n"],"names":["DatePickerFilterItem","withLocale","withFieldItem","value","onChange","picker","props","jsx","DatePicker","_a","classnames","_c","_b","style","dayjs","format"],"mappings":";;;;;;;;AASA,MAAMA,IAAuBC;AAAA,EAC3BC,EAAc,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,QAAAC,IAAS,QAAQ,GAAGC,QAAY;;AAChE,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACE,GAAGF;AAAA,QACJ,eAAa;AAAA,QACb,QAAAD;AAAA,QACA,YAAY;AAAA,UACV,GAAGC,EAAM;AAAA,UACT,OAAO;AAAA,YACL,IAAGG,IAAAH,EAAM,eAAN,gBAAAG,EAAkB;AAAA,YACrB,MAAMC,GAAWC,KAAAC,IAAAN,EAAM,eAAN,gBAAAM,EAAkB,UAAlB,gBAAAD,EAAyB,MAAME,EAAM,mBAAmB,CAAC;AAAA,UAAA;AAAA,QAC5E;AAAA,QAEF,OAAOV,KAASW,EAAMX,EAAM,KAAK;AAAA,QACjC,UAAU,CAACA,MAAU;AACnB,gBAAM,EAAE,QAAAY,MAAW,OAAO,OAAO,EAAE,QAAQ,aAAA,GAAgBT,CAAK;AAChEH,UAAAA,KACEC,EAAS;AAAA,YACP,OACEC,MAAW,SACP,GAAGF,EAAM,QAAQE,CAAM,EAAE,OAAOU,CAAM,CAAC,IAAIZ,EAAM,MAAME,CAAM,EAAE,OAAOU,CAAM,CAAC,KAC7EZ,EAAM,OAAOY,CAAM;AAAA,YACzB,OAAO,IAAI,KAAKZ,EAAM,QAAQE,CAAM,EAAE,SAAS;AAAA,UAAA,CAChD;AAAA,QACL;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN,CAAC;AACH;"}
@@ -2,10 +2,11 @@ import { jsxs as c, jsx as f } from "react/jsx-runtime";
2
2
  import { Flex as n, DatePicker as u } from "antd";
3
3
  import y from "../withFieldItem.js";
4
4
  import g from "dayjs";
5
+ import "../../../utils/ensureDayjsZhCn.js";
5
6
  import j from "../style.module.scss.js";
6
7
  import D from "../withLocale.js";
7
8
  import N from "classnames";
8
- const P = D(
9
+ const R = D(
9
10
  y(({ value: t, onChange: m, header: r, ...a }) => {
10
11
  var s, i, l;
11
12
  return /* @__PURE__ */ c(n, { vertical: !0, children: [
@@ -37,6 +38,6 @@ const P = D(
37
38
  })
38
39
  );
39
40
  export {
40
- P as default
41
+ R as default
41
42
  };
42
43
  //# sourceMappingURL=DateRangePickerFilterItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePickerFilterItem.js","sources":["../../../../src/components/ReactFilter/fields/DateRangePickerFilterItem.jsx"],"sourcesContent":["// @ts-nocheck\nimport { DatePicker, Flex } from 'antd';\nimport withFieldItem from '../withFieldItem';\nimport dayjs from 'dayjs';\nimport style from '../style.module.scss';\nimport withLocale from '../withLocale';\nimport classnames from 'classnames';\n\nconst DateRangePickerFilterItem = withLocale(\n withFieldItem(({ value, onChange, header, ...props }) => {\n return (\n <Flex vertical>\n {typeof header === 'function' ? header({ value, onChange }) : header}\n <DatePicker.RangePicker\n {...props}\n inputReadOnly\n allowEmpty={[false, false]}\n classNames={{\n ...props.classNames,\n popup: {\n ...props.classNames?.popup,\n root: classnames(props.classNames?.popup?.root, style['date-range-picker-popup']),\n },\n }}\n value={\n value &&\n Array.isArray(value.value) &&\n value.value.length === 2 &&\n value.value.map((item) => dayjs(item))\n }\n onChange={(value) => {\n const { format } = Object.assign({ format: 'YYYY-MM-DD' }, props);\n onChange({\n label: value.map((item) => item.format(format)).join('~'),\n value: value.map((item) => new Date(item.valueOf())),\n });\n }}\n />\n </Flex>\n );\n }),\n);\n\nexport default DateRangePickerFilterItem;\n"],"names":["DateRangePickerFilterItem","withLocale","withFieldItem","value","onChange","header","props","jsxs","Flex","jsx","DatePicker","_a","classnames","_c","_b","style","item","dayjs","format"],"mappings":";;;;;;;AAQA,MAAMA,IAA4BC;AAAA,EAChCC,EAAc,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,QAAAC,GAAQ,GAAGC,QAAY;;AACvD,WACE,gBAAAC,EAACC,GAAA,EAAK,UAAQ,IACX,UAAA;AAAA,MAAA,OAAOH,KAAW,aAAaA,EAAO,EAAE,OAAAF,GAAO,UAAAC,EAAA,CAAU,IAAIC;AAAA,MAC9D,gBAAAI;AAAA,QAACC,EAAW;AAAA,QAAX;AAAA,UACE,GAAGJ;AAAA,UACJ,eAAa;AAAA,UACb,YAAY,CAAC,IAAO,EAAK;AAAA,UACzB,YAAY;AAAA,YACV,GAAGA,EAAM;AAAA,YACT,OAAO;AAAA,cACL,IAAGK,IAAAL,EAAM,eAAN,gBAAAK,EAAkB;AAAA,cACrB,MAAMC,GAAWC,KAAAC,IAAAR,EAAM,eAAN,gBAAAQ,EAAkB,UAAlB,gBAAAD,EAAyB,MAAME,EAAM,yBAAyB,CAAC;AAAA,YAAA;AAAA,UAClF;AAAA,UAEF,OACEZ,KACA,MAAM,QAAQA,EAAM,KAAK,KACzBA,EAAM,MAAM,WAAW,KACvBA,EAAM,MAAM,IAAI,CAACa,MAASC,EAAMD,CAAI,CAAC;AAAA,UAEvC,UAAU,CAACb,MAAU;AACnB,kBAAM,EAAE,QAAAe,MAAW,OAAO,OAAO,EAAE,QAAQ,aAAA,GAAgBZ,CAAK;AAChE,YAAAF,EAAS;AAAA,cACP,OAAOD,EAAM,IAAI,CAACa,MAASA,EAAK,OAAOE,CAAM,CAAC,EAAE,KAAK,GAAG;AAAA,cACxD,OAAOf,EAAM,IAAI,CAACa,MAAS,IAAI,KAAKA,EAAK,SAAS,CAAC;AAAA,YAAA,CACpD;AAAA,UACH;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GACF;AAAA,EAEJ,CAAC;AACH;"}
1
+ {"version":3,"file":"DateRangePickerFilterItem.js","sources":["../../../../src/components/ReactFilter/fields/DateRangePickerFilterItem.jsx"],"sourcesContent":["// @ts-nocheck\nimport { DatePicker, Flex } from 'antd';\nimport withFieldItem from '../withFieldItem';\nimport dayjs from 'dayjs';\nimport '@/utils/ensureDayjsZhCn';\nimport style from '../style.module.scss';\nimport withLocale from '../withLocale';\nimport classnames from 'classnames';\n\nconst DateRangePickerFilterItem = withLocale(\n withFieldItem(({ value, onChange, header, ...props }) => {\n return (\n <Flex vertical>\n {typeof header === 'function' ? header({ value, onChange }) : header}\n <DatePicker.RangePicker\n {...props}\n inputReadOnly\n allowEmpty={[false, false]}\n classNames={{\n ...props.classNames,\n popup: {\n ...props.classNames?.popup,\n root: classnames(props.classNames?.popup?.root, style['date-range-picker-popup']),\n },\n }}\n value={\n value &&\n Array.isArray(value.value) &&\n value.value.length === 2 &&\n value.value.map((item) => dayjs(item))\n }\n onChange={(value) => {\n const { format } = Object.assign({ format: 'YYYY-MM-DD' }, props);\n onChange({\n label: value.map((item) => item.format(format)).join('~'),\n value: value.map((item) => new Date(item.valueOf())),\n });\n }}\n />\n </Flex>\n );\n }),\n);\n\nexport default DateRangePickerFilterItem;\n"],"names":["DateRangePickerFilterItem","withLocale","withFieldItem","value","onChange","header","props","jsxs","Flex","jsx","DatePicker","_a","classnames","_c","_b","style","item","dayjs","format"],"mappings":";;;;;;;;AASA,MAAMA,IAA4BC;AAAA,EAChCC,EAAc,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,QAAAC,GAAQ,GAAGC,QAAY;;AACvD,WACE,gBAAAC,EAACC,GAAA,EAAK,UAAQ,IACX,UAAA;AAAA,MAAA,OAAOH,KAAW,aAAaA,EAAO,EAAE,OAAAF,GAAO,UAAAC,EAAA,CAAU,IAAIC;AAAA,MAC9D,gBAAAI;AAAA,QAACC,EAAW;AAAA,QAAX;AAAA,UACE,GAAGJ;AAAA,UACJ,eAAa;AAAA,UACb,YAAY,CAAC,IAAO,EAAK;AAAA,UACzB,YAAY;AAAA,YACV,GAAGA,EAAM;AAAA,YACT,OAAO;AAAA,cACL,IAAGK,IAAAL,EAAM,eAAN,gBAAAK,EAAkB;AAAA,cACrB,MAAMC,GAAWC,KAAAC,IAAAR,EAAM,eAAN,gBAAAQ,EAAkB,UAAlB,gBAAAD,EAAyB,MAAME,EAAM,yBAAyB,CAAC;AAAA,YAAA;AAAA,UAClF;AAAA,UAEF,OACEZ,KACA,MAAM,QAAQA,EAAM,KAAK,KACzBA,EAAM,MAAM,WAAW,KACvBA,EAAM,MAAM,IAAI,CAACa,MAASC,EAAMD,CAAI,CAAC;AAAA,UAEvC,UAAU,CAACb,MAAU;AACnB,kBAAM,EAAE,QAAAe,MAAW,OAAO,OAAO,EAAE,QAAQ,aAAA,GAAgBZ,CAAK;AAChE,YAAAF,EAAS;AAAA,cACP,OAAOD,EAAM,IAAI,CAACa,MAASA,EAAK,OAAOE,CAAM,CAAC,EAAE,KAAK,GAAG;AAAA,cACxD,OAAOf,EAAM,IAAI,CAACa,MAAS,IAAI,KAAKA,EAAK,SAAS,CAAC;AAAA,YAAA,CACpD;AAAA,UACH;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GACF;AAAA,EAEJ,CAAC;AACH;"}
@@ -1,11 +1,12 @@
1
- import { jsx as m } from "react/jsx-runtime";
1
+ import { jsx as n } from "react/jsx-runtime";
2
2
  import y from "../PopoverItem.js";
3
- import d from "../common/TypeDateRangePickerField/index.js";
4
- import p from "../../../_virtual/get.js";
3
+ import p from "../common/TypeDateRangePickerField/index.js";
4
+ import d from "../../../_virtual/get.js";
5
5
  import g from "../style.module.scss.js";
6
6
  import f from "dayjs";
7
7
  import h from "../withLocale.js";
8
- const R = h(({ label: s, value: i, onChange: v, ...n }) => /* @__PURE__ */ m(
8
+ import "../../../utils/ensureDayjsZhCn.js";
9
+ const b = h(({ label: s, value: i, onChange: v, ...m }) => /* @__PURE__ */ n(
9
10
  y,
10
11
  {
11
12
  label: s,
@@ -15,15 +16,15 @@ const R = h(({ label: s, value: i, onChange: v, ...n }) => /* @__PURE__ */ m(
15
16
  const o = r == null ? void 0 : r.value;
16
17
  return (o == null ? void 0 : o.type) && Array.isArray(o == null ? void 0 : o.value) && o.value.length === 2;
17
18
  },
18
- children: ({ value: r, onChange: o }) => /* @__PURE__ */ m(
19
- d,
19
+ children: ({ value: r, onChange: o }) => /* @__PURE__ */ n(
20
+ p,
20
21
  {
21
- ...n,
22
+ ...m,
22
23
  inputReadOnly: !0,
23
24
  className: g["filter-item-text"],
24
- value: p(r, "value"),
25
+ value: d(r, "value"),
25
26
  onChange: (e) => {
26
- const { format: a = "YYYY-MM-DD" } = n, t = (e == null ? void 0 : e.value) || [];
27
+ const { format: a = "YYYY-MM-DD" } = m, t = (e == null ? void 0 : e.value) || [];
27
28
  let l = "";
28
29
  t[0] && !t[1] ? l = `${f(t[0]).format(a)}以后` : !t[0] && t[1] ? l = `${f(t[1]).format(a)}以前` : t[0] && t[1] && (l = `${f(t[0]).format(a)}~${f(t[1]).format(a)}`), o({
29
30
  label: l,
@@ -35,6 +36,6 @@ const R = h(({ label: s, value: i, onChange: v, ...n }) => /* @__PURE__ */ m(
35
36
  }
36
37
  ));
37
38
  export {
38
- R as default
39
+ b as default
39
40
  };
40
41
  //# sourceMappingURL=TypeDateRangePickerFilterItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeDateRangePickerFilterItem.js","sources":["../../../../src/components/ReactFilter/fields/TypeDateRangePickerFilterItem.jsx"],"sourcesContent":["// @ts-nocheck\nimport PopoverItem from '../PopoverItem';\nimport TypeDateRangePickerField from '../common/TypeDateRangePickerField';\nimport get from 'lodash/get';\nimport style from '../style.module.scss';\nimport dayjs from 'dayjs';\nimport withLocale from '../withLocale';\n\nconst TypeDateRangePickerFilterItem = withLocale(({ label, value, onChange, ...props }) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n onValidate={(item) => {\n const itemValue = item?.value;\n return itemValue?.type && Array.isArray(itemValue?.value) && itemValue.value.length === 2;\n }}\n >\n {({ value, onChange }) => (\n <TypeDateRangePickerField\n {...props}\n inputReadOnly\n className={style['filter-item-text']}\n value={get(value, 'value')}\n onChange={(pickerValue) => {\n const { format = 'YYYY-MM-DD' } = props;\n const val = pickerValue?.value || [];\n let displayLabel = '';\n if (val[0] && !val[1]) {\n displayLabel = `${dayjs(val[0]).format(format)}以后`;\n } else if (!val[0] && val[1]) {\n displayLabel = `${dayjs(val[1]).format(format)}以前`;\n } else if (val[0] && val[1]) {\n displayLabel = `${dayjs(val[0]).format(format)}~${dayjs(val[1]).format(format)}`;\n }\n onChange({\n label: displayLabel,\n value: pickerValue,\n });\n }}\n />\n )}\n </PopoverItem>\n );\n});\n\nexport default TypeDateRangePickerFilterItem;\n"],"names":["TypeDateRangePickerFilterItem","withLocale","label","value","onChange","props","jsx","PopoverItem","item","itemValue","TypeDateRangePickerField","style","get","pickerValue","format","val","displayLabel","dayjs"],"mappings":";;;;;;;AAQA,MAAMA,IAAgCC,EAAW,CAAC,EAAE,OAAAC,GAAO,OAAAC,GAAO,UAAAC,GAAU,GAAGC,QAE3E,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,OAAAL;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAY,CAACI,MAAS;AACpB,YAAMC,IAAYD,KAAA,gBAAAA,EAAM;AACxB,cAAOC,KAAA,gBAAAA,EAAW,SAAQ,MAAM,QAAQA,KAAA,gBAAAA,EAAW,KAAK,KAAKA,EAAU,MAAM,WAAW;AAAA,IAC1F;AAAA,IAEC,WAAC,EAAE,OAAAN,GAAO,UAAAC,QACT,gBAAAE;AAAA,MAACI;AAAA,MAAA;AAAA,QACE,GAAGL;AAAA,QACJ,eAAa;AAAA,QACb,WAAWM,EAAM,kBAAkB;AAAA,QACnC,OAAOC,EAAIT,GAAO,OAAO;AAAA,QACzB,UAAU,CAACU,MAAgB;AACzB,gBAAM,EAAE,QAAAC,IAAS,aAAA,IAAiBT,GAC5BU,KAAMF,KAAA,gBAAAA,EAAa,UAAS,CAAA;AAClC,cAAIG,IAAe;AACnB,UAAID,EAAI,CAAC,KAAK,CAACA,EAAI,CAAC,IAClBC,IAAe,GAAGC,EAAMF,EAAI,CAAC,CAAC,EAAE,OAAOD,CAAM,CAAC,OACrC,CAACC,EAAI,CAAC,KAAKA,EAAI,CAAC,IACzBC,IAAe,GAAGC,EAAMF,EAAI,CAAC,CAAC,EAAE,OAAOD,CAAM,CAAC,OACrCC,EAAI,CAAC,KAAKA,EAAI,CAAC,MACxBC,IAAe,GAAGC,EAAMF,EAAI,CAAC,CAAC,EAAE,OAAOD,CAAM,CAAC,IAAIG,EAAMF,EAAI,CAAC,CAAC,EAAE,OAAOD,CAAM,CAAC,KAEhFV,EAAS;AAAA,YACP,OAAOY;AAAA,YACP,OAAOH;AAAA,UAAA,CACR;AAAA,QACH;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAAA,CAIP;"}
1
+ {"version":3,"file":"TypeDateRangePickerFilterItem.js","sources":["../../../../src/components/ReactFilter/fields/TypeDateRangePickerFilterItem.jsx"],"sourcesContent":["// @ts-nocheck\nimport PopoverItem from '../PopoverItem';\nimport TypeDateRangePickerField from '../common/TypeDateRangePickerField';\nimport get from 'lodash/get';\nimport style from '../style.module.scss';\nimport dayjs from 'dayjs';\nimport withLocale from '../withLocale';\nimport '@/utils/ensureDayjsZhCn';\n\nconst TypeDateRangePickerFilterItem = withLocale(({ label, value, onChange, ...props }) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n onValidate={(item) => {\n const itemValue = item?.value;\n return itemValue?.type && Array.isArray(itemValue?.value) && itemValue.value.length === 2;\n }}\n >\n {({ value, onChange }) => (\n <TypeDateRangePickerField\n {...props}\n inputReadOnly\n className={style['filter-item-text']}\n value={get(value, 'value')}\n onChange={(pickerValue) => {\n const { format = 'YYYY-MM-DD' } = props;\n const val = pickerValue?.value || [];\n let displayLabel = '';\n if (val[0] && !val[1]) {\n displayLabel = `${dayjs(val[0]).format(format)}以后`;\n } else if (!val[0] && val[1]) {\n displayLabel = `${dayjs(val[1]).format(format)}以前`;\n } else if (val[0] && val[1]) {\n displayLabel = `${dayjs(val[0]).format(format)}~${dayjs(val[1]).format(format)}`;\n }\n onChange({\n label: displayLabel,\n value: pickerValue,\n });\n }}\n />\n )}\n </PopoverItem>\n );\n});\n\nexport default TypeDateRangePickerFilterItem;\n"],"names":["TypeDateRangePickerFilterItem","withLocale","label","value","onChange","props","jsx","PopoverItem","item","itemValue","TypeDateRangePickerField","style","get","pickerValue","format","val","displayLabel","dayjs"],"mappings":";;;;;;;;AASA,MAAMA,IAAgCC,EAAW,CAAC,EAAE,OAAAC,GAAO,OAAAC,GAAO,UAAAC,GAAU,GAAGC,QAE3E,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,OAAAL;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAY,CAACI,MAAS;AACpB,YAAMC,IAAYD,KAAA,gBAAAA,EAAM;AACxB,cAAOC,KAAA,gBAAAA,EAAW,SAAQ,MAAM,QAAQA,KAAA,gBAAAA,EAAW,KAAK,KAAKA,EAAU,MAAM,WAAW;AAAA,IAC1F;AAAA,IAEC,WAAC,EAAE,OAAAN,GAAO,UAAAC,QACT,gBAAAE;AAAA,MAACI;AAAA,MAAA;AAAA,QACE,GAAGL;AAAA,QACJ,eAAa;AAAA,QACb,WAAWM,EAAM,kBAAkB;AAAA,QACnC,OAAOC,EAAIT,GAAO,OAAO;AAAA,QACzB,UAAU,CAACU,MAAgB;AACzB,gBAAM,EAAE,QAAAC,IAAS,aAAA,IAAiBT,GAC5BU,KAAMF,KAAA,gBAAAA,EAAa,UAAS,CAAA;AAClC,cAAIG,IAAe;AACnB,UAAID,EAAI,CAAC,KAAK,CAACA,EAAI,CAAC,IAClBC,IAAe,GAAGC,EAAMF,EAAI,CAAC,CAAC,EAAE,OAAOD,CAAM,CAAC,OACrC,CAACC,EAAI,CAAC,KAAKA,EAAI,CAAC,IACzBC,IAAe,GAAGC,EAAMF,EAAI,CAAC,CAAC,EAAE,OAAOD,CAAM,CAAC,OACrCC,EAAI,CAAC,KAAKA,EAAI,CAAC,MACxBC,IAAe,GAAGC,EAAMF,EAAI,CAAC,CAAC,EAAE,OAAOD,CAAM,CAAC,IAAIG,EAAMF,EAAI,CAAC,CAAC,EAAE,OAAOD,CAAM,CAAC,KAEhFV,EAAS;AAAA,YACP,OAAOY;AAAA,YACP,OAAOH;AAAA,UAAA,CACR;AAAA,QACH;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAAA,CAIP;"}