@owp/core 2.5.21 → 2.5.23

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 (87) hide show
  1. package/dayjs.d.ts +4 -0
  2. package/dayjs.js +2 -0
  3. package/dist/_virtual/isBetween.js +8 -0
  4. package/dist/_virtual/isBetween.js.map +1 -0
  5. package/dist/_virtual/isBetween2.js +5 -0
  6. package/dist/_virtual/isBetween2.js.map +1 -0
  7. package/dist/components/OwpMrtTable/OwpMrtTable.js +21 -21
  8. package/dist/components/OwpMrtTable/OwpMrtTable.js.map +1 -1
  9. package/dist/components/OwpPageContent/OwpPageContent.js +20 -19
  10. package/dist/components/OwpPageContent/OwpPageContent.js.map +1 -1
  11. package/dist/components/OwpPicker/OwpDatePicker.js +31 -32
  12. package/dist/components/OwpPicker/OwpDatePicker.js.map +1 -1
  13. package/dist/components/OwpPicker/OwpDateRangePicker.js +21 -21
  14. package/dist/components/OwpPicker/OwpDateRangePicker.js.map +1 -1
  15. package/dist/components/OwpPicker/OwpTimePicker.js +29 -30
  16. package/dist/components/OwpPicker/OwpTimePicker.js.map +1 -1
  17. package/dist/components/OwpPicker/OwpWeekDatePicker.js +28 -29
  18. package/dist/components/OwpPicker/OwpWeekDatePicker.js.map +1 -1
  19. package/dist/components/OwpPicker/OwpYearRangePicker.js +1 -1
  20. package/dist/components/OwpPicker/OwpYearRangePicker.js.map +1 -1
  21. package/dist/components/OwpPicker/internal/DatePickerInput.js +5 -5
  22. package/dist/components/OwpPicker/internal/DatePickerInput.js.map +1 -1
  23. package/dist/components/OwpSection/OwpSection.js +118 -111
  24. package/dist/components/OwpSection/OwpSection.js.map +1 -1
  25. package/dist/components/OwpTable/OwpDataTable.js +13 -12
  26. package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
  27. package/dist/components/OwpTable/OwpFieldTable.js +82 -99
  28. package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
  29. package/dist/components/OwpTable/OwpTable.js +56 -55
  30. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  31. package/dist/components/OwpTable/internal/OwpTableBase.js +84 -58
  32. package/dist/components/OwpTable/internal/OwpTableBase.js.map +1 -1
  33. package/dist/components/OwpTable/internal/defaultTableStyle.js +6 -7
  34. package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -1
  35. package/dist/components/OwpTable/utils/tableSx.js +16 -6
  36. package/dist/components/OwpTable/utils/tableSx.js.map +1 -1
  37. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +104 -103
  38. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  39. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js +21 -22
  40. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js.map +1 -1
  41. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +253 -252
  42. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -1
  43. package/dist/constants/table.js +5 -0
  44. package/dist/constants/table.js.map +1 -0
  45. package/dist/constants.js +25 -23
  46. package/dist/constants.js.map +1 -1
  47. package/dist/dayjs.js +18 -0
  48. package/dist/dayjs.js.map +1 -0
  49. package/dist/features/themePreview/components/ThemePreviewCanvas.js +22 -22
  50. package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -1
  51. package/dist/features/themePreview/hooks/useThemePreview.js +16 -16
  52. package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
  53. package/dist/hooks/{useInitCommonCodes.js → internal/useInitCommonCodes.js} +6 -6
  54. package/dist/hooks/internal/useInitCommonCodes.js.map +1 -0
  55. package/dist/hooks/internal/useMinimumVisibleState.js +31 -0
  56. package/dist/hooks/internal/useMinimumVisibleState.js.map +1 -0
  57. package/dist/hooks/useInitApp.js +17 -14
  58. package/dist/hooks/useInitApp.js.map +1 -1
  59. package/dist/hooks.js +49 -51
  60. package/dist/hooks.js.map +1 -1
  61. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/isBetween.js +23 -0
  62. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/isBetween.js.map +1 -0
  63. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
  64. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
  65. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  66. package/dist/types/components/OwpPicker/OwpTimePicker.d.ts +1 -1
  67. package/dist/types/components/OwpSection/OwpSection.d.ts +9 -3
  68. package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +0 -1
  69. package/dist/types/components/OwpTable/utils/tableSx.d.ts +15 -0
  70. package/dist/types/constants/index.d.ts +1 -0
  71. package/dist/types/constants/table.d.ts +1 -0
  72. package/dist/types/dayjs.d.ts +18 -0
  73. package/dist/types/hooks/index.d.ts +0 -1
  74. package/dist/types/hooks/internal/useMinimumVisibleState.d.ts +7 -0
  75. package/dist/types/utils/dayjsBrowser.d.ts +1 -7
  76. package/dist/types/utils/formatDateToYmd.d.ts +1 -1
  77. package/dist/utils/formatDateToYmd.js +3 -3
  78. package/dist/utils/formatDateToYmd.js.map +1 -1
  79. package/dist/utils/treeGridExportExcelUtil.js +1 -1
  80. package/dist/utils/treeGridExportExcelUtil.js.map +1 -1
  81. package/dist/utils/zipUtil.js +3 -3
  82. package/dist/utils/zipUtil.js.map +1 -1
  83. package/package.json +3 -1
  84. package/dist/hooks/useInitCommonCodes.js.map +0 -1
  85. package/dist/utils/dayjsBrowser.js +0 -16
  86. package/dist/utils/dayjsBrowser.js.map +0 -1
  87. /package/dist/types/hooks/{useInitCommonCodes.d.ts → internal/useInitCommonCodes.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"OwpYearRangePicker.js","sources":["../../../src/components/OwpPicker/OwpYearRangePicker.tsx"],"sourcesContent":["import { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport { TextFieldProps } from '@mui/material';\nimport clsx from 'clsx';\nimport { enUS } from 'date-fns/locale/en-US';\nimport { ko } from 'date-fns/locale/ko';\nimport dayjs from 'dayjs';\nimport { isEmpty, isNil, isNull } from 'es-toolkit/compat';\nimport { useMemo } from 'react';\nimport ReactDatePicker, {\n DatePickerProps,\n registerLocale,\n setDefaultLocale,\n} from 'react-datepicker';\nimport { CalendarContainer } from './internal/CalendarContainer';\nimport { DatePickerInput } from './internal/DatePickerInput';\nimport { VALUE_MONTH_FORMATTER } from './constants';\n\nregisterLocale('ko', ko);\nregisterLocale('en', enUS);\nsetDefaultLocale('ko');\n\nconst isNill = (v: Date | string | number | undefined | null) => isNull(v) && isNil(v);\n\ntype DatePickerValue = string | Date;\n\ninterface OwnProps {\n className?: string;\n label?: string;\n variant?: TextFieldProps['variant'];\n sx?: TextFieldProps['sx'];\n value?: DatePickerValue;\n fullWidth?: boolean;\n disabledClearButton?: boolean;\n disabledFutureDates?: boolean;\n onChange?: (value?: DatePickerValue) => void;\n textFieldProps?: Omit<TextFieldProps, 'value' | 'defaultValue' | 'onChange'>;\n}\n\ntype OwpDatePickerProps = OwnProps & DatePickerProps;\n\n/**\n * OwpYearRangePicker 컴포넌트\n * @param className CSS 클래스명\n * @param label 입력 라벨\n * @param variant variant 값\n * @param sx sx 값\n * @param value 현재 값\n * @param fullWidth 전체 너비 사용 여부\n */\nconst OwpYearRangePicker = ({\n className,\n label,\n variant = 'standard',\n sx,\n value,\n fullWidth,\n disabledClearButton,\n disabledFutureDates,\n onChange,\n textFieldProps,\n ...datePickerProps\n}: OwpDatePickerProps) => {\n const { i18n } = useOwpTranslation();\n const {\n selectsMultiple,\n selectsRange,\n selected,\n startDate: passedStartDate,\n endDate: passedEndDate,\n ...resolvedDatePickerProps\n } = datePickerProps;\n void [selectsMultiple, selectsRange, selected, passedStartDate, passedEndDate];\n const languageId = i18n.resolvedLanguage ?? i18n.language ?? 'kr';\n const datePickerLocale = languageId === 'kr' ? 'ko' : 'en';\n const [startDate, endDate] = useMemo(() => {\n if (!value) return [null, null];\n return value\n .split(',')\n .map((v: string) => (!v || isNill(v) ? null : dayjs(v, VALUE_MONTH_FORMATTER)));\n }, [value]);\n\n const handleSelect = (dates: Date[] | null) => {\n if (!dates || isEmpty(dates)) {\n onChange?.(undefined);\n return;\n }\n\n const [start] = dates;\n if (!start || isNill(start)) {\n onChange?.(undefined);\n return;\n }\n\n const year = dayjs(start).year();\n const startDate = dayjs().year(year).month(9).startOf('month');\n const endDate = dayjs()\n .year(year + 1)\n .month(8)\n .endOf('month');\n\n if (!startDate.isValid() || !endDate.isValid()) {\n onChange?.(undefined);\n return;\n }\n\n const displayValue = [startDate, endDate].map((d) => d.format(VALUE_MONTH_FORMATTER)).join(',');\n\n onChange?.(displayValue);\n };\n\n return (\n <ReactDatePicker\n {...resolvedDatePickerProps}\n locale={datePickerLocale}\n popperContainer={CalendarContainer}\n className={clsx(fullWidth && 'w-full')}\n wrapperClassName={clsx(fullWidth && 'w-full', datePickerProps?.wrapperClassName)}\n selectsRange\n startDate={startDate?.toDate?.()}\n endDate={endDate?.toDate?.()}\n maxDate={disabledFutureDates ? new Date() : undefined}\n showPopperArrow={false}\n popperPlacement=\"bottom-start\"\n onChange={handleSelect}\n onCalendarClose={() => {\n if (!isNil(startDate) && isNil(endDate)) {\n const year = startDate.year();\n const endDate = dayjs()\n .year(year + 1)\n .month(8)\n .endOf('month');\n onChange?.([startDate, endDate].map((d) => d.format(VALUE_MONTH_FORMATTER)).join(','));\n }\n }}\n customInput={\n <DatePickerInput\n className={clsx('w-224', className)}\n label={label}\n variant={variant}\n sx={sx}\n {...textFieldProps}\n useRange\n disabledClearButton={disabledClearButton}\n reset={() => onChange?.('')}\n valueFormatter={VALUE_MONTH_FORMATTER}\n />\n }\n />\n );\n};\n\nexport { OwpYearRangePicker };\n"],"names":["registerLocale","ko","enUS","setDefaultLocale","isNill","__name","v","isNull","isNil","OwpYearRangePicker","className","label","variant","sx","value","fullWidth","disabledClearButton","disabledFutureDates","onChange","textFieldProps","datePickerProps","i18n","useOwpTranslation","selectsMultiple","selectsRange","selected","passedStartDate","passedEndDate","resolvedDatePickerProps","datePickerLocale","startDate","endDate","useMemo","dayjs","VALUE_MONTH_FORMATTER","handleSelect","dates","isEmpty","start","year","displayValue","d","jsx","ReactDatePicker","CalendarContainer","clsx","_a","_b","DatePickerInput"],"mappings":"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"}
1
+ {"version":3,"file":"OwpYearRangePicker.js","sources":["../../../src/components/OwpPicker/OwpYearRangePicker.tsx"],"sourcesContent":["import { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport { TextFieldProps } from '@mui/material';\nimport clsx from 'clsx';\nimport { enUS } from 'date-fns/locale/en-US';\nimport { ko } from 'date-fns/locale/ko';\nimport dayjs from '@/dayjs';\nimport { isEmpty, isNil, isNull } from 'es-toolkit/compat';\nimport { useMemo } from 'react';\nimport ReactDatePicker, {\n DatePickerProps,\n registerLocale,\n setDefaultLocale,\n} from 'react-datepicker';\nimport { CalendarContainer } from './internal/CalendarContainer';\nimport { DatePickerInput } from './internal/DatePickerInput';\nimport { VALUE_MONTH_FORMATTER } from './constants';\n\nregisterLocale('ko', ko);\nregisterLocale('en', enUS);\nsetDefaultLocale('ko');\n\nconst isNill = (v: Date | string | number | undefined | null) => isNull(v) && isNil(v);\n\ntype DatePickerValue = string | Date;\n\ninterface OwnProps {\n className?: string;\n label?: string;\n variant?: TextFieldProps['variant'];\n sx?: TextFieldProps['sx'];\n value?: DatePickerValue;\n fullWidth?: boolean;\n disabledClearButton?: boolean;\n disabledFutureDates?: boolean;\n onChange?: (value?: DatePickerValue) => void;\n textFieldProps?: Omit<TextFieldProps, 'value' | 'defaultValue' | 'onChange'>;\n}\n\ntype OwpDatePickerProps = OwnProps & DatePickerProps;\n\n/**\n * OwpYearRangePicker 컴포넌트\n * @param className CSS 클래스명\n * @param label 입력 라벨\n * @param variant variant 값\n * @param sx sx 값\n * @param value 현재 값\n * @param fullWidth 전체 너비 사용 여부\n */\nconst OwpYearRangePicker = ({\n className,\n label,\n variant = 'standard',\n sx,\n value,\n fullWidth,\n disabledClearButton,\n disabledFutureDates,\n onChange,\n textFieldProps,\n ...datePickerProps\n}: OwpDatePickerProps) => {\n const { i18n } = useOwpTranslation();\n const {\n selectsMultiple,\n selectsRange,\n selected,\n startDate: passedStartDate,\n endDate: passedEndDate,\n ...resolvedDatePickerProps\n } = datePickerProps;\n void [selectsMultiple, selectsRange, selected, passedStartDate, passedEndDate];\n const languageId = i18n.resolvedLanguage ?? i18n.language ?? 'kr';\n const datePickerLocale = languageId === 'kr' ? 'ko' : 'en';\n const [startDate, endDate] = useMemo(() => {\n if (!value) return [null, null];\n return value\n .split(',')\n .map((v: string) => (!v || isNill(v) ? null : dayjs(v, VALUE_MONTH_FORMATTER)));\n }, [value]);\n\n const handleSelect = (dates: Date[] | null) => {\n if (!dates || isEmpty(dates)) {\n onChange?.(undefined);\n return;\n }\n\n const [start] = dates;\n if (!start || isNill(start)) {\n onChange?.(undefined);\n return;\n }\n\n const year = dayjs(start).year();\n const startDate = dayjs().year(year).month(9).startOf('month');\n const endDate = dayjs()\n .year(year + 1)\n .month(8)\n .endOf('month');\n\n if (!startDate.isValid() || !endDate.isValid()) {\n onChange?.(undefined);\n return;\n }\n\n const displayValue = [startDate, endDate].map((d) => d.format(VALUE_MONTH_FORMATTER)).join(',');\n\n onChange?.(displayValue);\n };\n\n return (\n <ReactDatePicker\n {...resolvedDatePickerProps}\n locale={datePickerLocale}\n popperContainer={CalendarContainer}\n className={clsx(fullWidth && 'w-full')}\n wrapperClassName={clsx(fullWidth && 'w-full', datePickerProps?.wrapperClassName)}\n selectsRange\n startDate={startDate?.toDate?.()}\n endDate={endDate?.toDate?.()}\n maxDate={disabledFutureDates ? new Date() : undefined}\n showPopperArrow={false}\n popperPlacement=\"bottom-start\"\n onChange={handleSelect}\n onCalendarClose={() => {\n if (!isNil(startDate) && isNil(endDate)) {\n const year = startDate.year();\n const endDate = dayjs()\n .year(year + 1)\n .month(8)\n .endOf('month');\n onChange?.([startDate, endDate].map((d) => d.format(VALUE_MONTH_FORMATTER)).join(','));\n }\n }}\n customInput={\n <DatePickerInput\n className={clsx('w-224', className)}\n label={label}\n variant={variant}\n sx={sx}\n {...textFieldProps}\n useRange\n disabledClearButton={disabledClearButton}\n reset={() => onChange?.('')}\n valueFormatter={VALUE_MONTH_FORMATTER}\n />\n }\n />\n );\n};\n\nexport { OwpYearRangePicker };\n"],"names":["registerLocale","ko","enUS","setDefaultLocale","isNill","__name","v","isNull","isNil","OwpYearRangePicker","className","label","variant","sx","value","fullWidth","disabledClearButton","disabledFutureDates","onChange","textFieldProps","datePickerProps","i18n","useOwpTranslation","selectsMultiple","selectsRange","selected","passedStartDate","passedEndDate","resolvedDatePickerProps","datePickerLocale","startDate","endDate","useMemo","dayjs","VALUE_MONTH_FORMATTER","handleSelect","dates","isEmpty","start","year","displayValue","d","jsx","ReactDatePicker","CalendarContainer","clsx","_a","_b","DatePickerInput"],"mappings":";;;;;;;;;;;;;;;;AAiBAA,EAAe,MAAMC,CAAE;AACvBD,EAAe,MAAME,CAAI;AACzBC,EAAiB,IAAI;AAErB,MAAMC,IAAS,gBAAAC,EAAA,CAACC,MAAiDC,EAAOD,CAAC,KAAKE,EAAMF,CAAC,GAAtE,WA4BTG,KAAqB,gBAAAJ,EAAA,CAAC;AAAA,EAC1B,WAAAK;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,GAAGC;AACL,MAA0B;;AACxB,QAAM,EAAE,MAAAC,EAAA,IAASC,EAAA,GACX;AAAA,IACJ,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAWC;AAAA,IACX,SAASC;AAAA,IACT,GAAGC;AAAA,EAAA,IACDR,GAGES,KADaR,EAAK,oBAAoBA,EAAK,YAAY,UACrB,OAAO,OAAO,MAChD,CAACS,GAAWC,CAAO,IAAIC,EAAQ,MAC9BlB,IACEA,EACJ,MAAM,GAAG,EACT,IAAI,CAACR,MAAe,CAACA,KAAKF,EAAOE,CAAC,IAAI,OAAO2B,EAAM3B,GAAG4B,CAAqB,CAAE,IAH7D,CAAC,MAAM,IAAI,GAI7B,CAACpB,CAAK,CAAC,GAEJqB,IAAe,gBAAA9B,EAAA,CAAC+B,MAAyB;AAC7C,QAAI,CAACA,KAASC,EAAQD,CAAK,GAAG;AAC5B,MAAAlB,KAAA,QAAAA,EAAW;AACX;AAAA,IACF;AAEA,UAAM,CAACoB,CAAK,IAAIF;AAChB,QAAI,CAACE,KAASlC,EAAOkC,CAAK,GAAG;AAC3B,MAAApB,KAAA,QAAAA,EAAW;AACX;AAAA,IACF;AAEA,UAAMqB,IAAON,EAAMK,CAAK,EAAE,KAAA,GACpBR,IAAYG,EAAA,EAAQ,KAAKM,CAAI,EAAE,MAAM,CAAC,EAAE,QAAQ,OAAO,GACvDR,IAAUE,IACb,KAAKM,IAAO,CAAC,EACb,MAAM,CAAC,EACP,MAAM,OAAO;AAEhB,QAAI,CAACT,EAAU,QAAA,KAAa,CAACC,EAAQ,WAAW;AAC9C,MAAAb,KAAA,QAAAA,EAAW;AACX;AAAA,IACF;AAEA,UAAMsB,IAAe,CAACV,GAAWC,CAAO,EAAE,IAAI,CAACU,MAAMA,EAAE,OAAOP,CAAqB,CAAC,EAAE,KAAK,GAAG;AAE9F,IAAAhB,KAAA,QAAAA,EAAWsB;AAAA,EACb,GA3BqB;AA6BrB,SACE,gBAAAE;AAAA,IAACC;AAAAA,IAAA;AAAA,MACE,GAAGf;AAAA,MACJ,QAAQC;AAAA,MACR,iBAAiBe;AAAA,MACjB,WAAWC,EAAK9B,KAAa,QAAQ;AAAA,MACrC,kBAAkB8B,EAAK9B,KAAa,UAAUK,KAAA,gBAAAA,EAAiB,gBAAgB;AAAA,MAC/E,cAAY;AAAA,MACZ,YAAW0B,IAAAhB,KAAA,gBAAAA,EAAW,WAAX,gBAAAgB,EAAA,KAAAhB;AAAA,MACX,UAASiB,IAAAhB,KAAA,gBAAAA,EAAS,WAAT,gBAAAgB,EAAA,KAAAhB;AAAA,MACT,SAASd,IAAsB,oBAAI,KAAA,IAAS;AAAA,MAC5C,iBAAiB;AAAA,MACjB,iBAAgB;AAAA,MAChB,UAAUkB;AAAA,MACV,iBAAiB,gBAAA9B,EAAA,MAAM;AACrB,YAAI,CAACG,EAAMsB,CAAS,KAAKtB,EAAMuB,CAAO,GAAG;AACvC,gBAAMQ,IAAOT,EAAU,KAAA,GACjBC,IAAUE,IACb,KAAKM,IAAO,CAAC,EACb,MAAM,CAAC,EACP,MAAM,OAAO;AAChB,UAAArB,KAAA,QAAAA,EAAW,CAACY,GAAWC,CAAO,EAAE,IAAI,CAACU,MAAMA,EAAE,OAAOP,CAAqB,CAAC,EAAE,KAAK,GAAG;AAAA,QACtF;AAAA,MACF,GATiB;AAAA,MAUjB,aACE,gBAAAQ;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,WAAWH,EAAK,SAASnC,CAAS;AAAA,UAClC,OAAAC;AAAA,UACA,SAAAC;AAAA,UACA,IAAAC;AAAA,UACC,GAAGM;AAAA,UACJ,UAAQ;AAAA,UACR,qBAAAH;AAAA,UACA,OAAO,gBAAAX,EAAA,MAAMa,KAAA,gBAAAA,EAAW,KAAjB;AAAA,UACP,gBAAgBgB;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAIR,GApG2B;"}
@@ -5,7 +5,7 @@ import L from "../../../node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_materi
5
5
  import Q from "../../../node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/CalendarMonth.js";
6
6
  import U from "../../../node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/Clear.js";
7
7
  import { IconButton as b, InputAdornment as W, TextField as X } from "@mui/material";
8
- import z from "dayjs";
8
+ import { owpDayjs as z } from "../../../dayjs.js";
9
9
  import { forwardRef as Y } from "react";
10
10
  const P = /* @__PURE__ */ a((t, m) => {
11
11
  if (t) {
@@ -29,8 +29,8 @@ const P = /* @__PURE__ */ a((t, m) => {
29
29
  inputElementRef: B,
30
30
  onClick: i,
31
31
  onFocus: g,
32
- onKeyDown: l,
33
- onInputFocus: o,
32
+ onKeyDown: o,
33
+ onInputFocus: l,
34
34
  onInputKeyDown: h,
35
35
  inputRef: R,
36
36
  ...x
@@ -39,9 +39,9 @@ const P = /* @__PURE__ */ a((t, m) => {
39
39
  const T = N || d, V = /* @__PURE__ */ a((r) => {
40
40
  p == null || p(), i == null || i(r);
41
41
  }, "handleInputClick"), q = /* @__PURE__ */ a((r) => {
42
- o == null || o(r), g == null || g(r);
42
+ l == null || l(r), g == null || g(r);
43
43
  }, "handleInputFocus"), E = /* @__PURE__ */ a((r) => {
44
- h == null || h(r), l == null || l(r);
44
+ h == null || h(r), o == null || o(r);
45
45
  }, "handleInputKeyDown"), G = /* @__PURE__ */ a((r) => {
46
46
  r.stopPropagation(), e == null || e(), i == null || i(r);
47
47
  }, "handleIconClick");
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerInput.js","sources":["../../../../src/components/OwpPicker/internal/DatePickerInput.tsx"],"sourcesContent":["import AccessTimeIcon from '@mui/icons-material/AccessTime';\nimport CalendarMonthIcon from '@mui/icons-material/CalendarMonth';\nimport ClearIcon from '@mui/icons-material/Clear';\nimport { IconButton, InputAdornment, TextField, TextFieldProps } from '@mui/material';\nimport dayjs from 'dayjs';\nimport { type MouseEventHandler, type Ref, forwardRef } from 'react';\n\ntype DatePickerValue = string | Date;\ntype TextFieldClickEvent = Parameters<NonNullable<TextFieldProps['onClick']>>[0];\ntype TextFieldFocusEventHandler = NonNullable<TextFieldProps['onFocus']>;\ntype TextFieldKeyDownEventHandler = NonNullable<TextFieldProps['onKeyDown']>;\n\ninterface OwnProps {\n valueFormatter?: string;\n value?: DatePickerValue;\n useRange?: boolean;\n showTimeSelect?: boolean;\n showTimeSelectOnly?: boolean;\n disabledClearButton?: boolean;\n reset?: () => void;\n onInputAreaClick?: VoidFunction;\n onIconClick?: VoidFunction;\n inputElementRef?: Ref<HTMLInputElement>;\n onInputFocus?: TextFieldFocusEventHandler;\n onInputKeyDown?: TextFieldKeyDownEventHandler;\n}\n\n/** input ref 값 할당 */\nconst assignInputRef = (\n inputRef: Ref<HTMLInputElement> | undefined,\n value: HTMLInputElement | null,\n) => {\n if (!inputRef) {\n return;\n }\n\n if (typeof inputRef === 'function') {\n inputRef(value);\n return;\n }\n\n (inputRef as { current: HTMLInputElement | null }).current = value;\n};\n\n/**\n * DatePickerInput 컴포넌트\n * @param value 현재 값\n * @param valueFormatter valueFormatter 값\n * @param useRange useRange 값\n * @param showTimeSelect showTimeSelect 값\n * @param showTimeSelectOnly showTimeSelectOnly 값\n * @param disabledClearButton disabledClearButton 값\n * @param reset reset 값\n * @param onInputAreaClick 입력 영역 클릭 핸들러\n * @param onIconClick 아이콘 클릭 핸들러\n * @param ref forwardRef 참조\n */\nexport const DatePickerInput = forwardRef(\n (\n {\n value,\n valueFormatter,\n useRange,\n showTimeSelect,\n showTimeSelectOnly,\n disabledClearButton,\n reset,\n onInputAreaClick,\n onIconClick,\n inputElementRef,\n onClick,\n onFocus,\n onKeyDown,\n onInputFocus,\n onInputKeyDown,\n inputRef: inputRefProp,\n ...restProps\n }: TextFieldProps & OwnProps,\n ref,\n ) => {\n const isTimePickerMode = showTimeSelect || showTimeSelectOnly;\n\n const handleInputClick: MouseEventHandler<HTMLDivElement> = (event) => {\n onInputAreaClick?.();\n onClick?.(event);\n };\n\n const handleInputFocus: TextFieldFocusEventHandler = (event) => {\n onInputFocus?.(event);\n onFocus?.(event);\n };\n\n const handleInputKeyDown: TextFieldKeyDownEventHandler = (event) => {\n onInputKeyDown?.(event);\n onKeyDown?.(event);\n };\n\n const handleIconClick: MouseEventHandler<HTMLButtonElement> = (event) => {\n event.stopPropagation();\n onIconClick?.();\n onClick?.(event as unknown as TextFieldClickEvent);\n };\n\n return (\n <TextField\n variant=\"standard\"\n {...restProps}\n inputRef={(input) => {\n assignInputRef(ref as Ref<HTMLInputElement>, input);\n assignInputRef(inputElementRef, input);\n assignInputRef(inputRefProp, input);\n }}\n onClick={handleInputClick}\n onFocus={handleInputFocus}\n onKeyDown={handleInputKeyDown}\n value={\n value\n ? useRange\n ? typeof value === 'string'\n ? value\n .split(' - ')\n .map((v: string) => (dayjs(v).isValid() ? dayjs(v).format(valueFormatter) : ''))\n .join(' ~ ')\n : ''\n : showTimeSelectOnly && typeof value === 'string'\n ? value\n : dayjs(value).format(valueFormatter)\n : ''\n }\n slotProps={{\n ...restProps.slotProps,\n input: {\n readOnly: true,\n endAdornment: (\n <InputAdornment position=\"end\">\n {!disabledClearButton && (\n <IconButton\n className=\"m-0 p-0\"\n size=\"small\"\n tabIndex={-1}\n onClick={(evt) => {\n evt.stopPropagation();\n reset?.();\n }}\n >\n <ClearIcon fontSize=\"small\" />\n </IconButton>\n )}\n <IconButton\n className=\"m-0 p-0\"\n size=\"small\"\n tabIndex={-1}\n aria-label={isTimePickerMode ? 'time-picker-trigger' : 'date-picker-trigger'}\n onClick={handleIconClick}\n >\n {showTimeSelectOnly ? (\n <AccessTimeIcon fontSize=\"small\" />\n ) : (\n <CalendarMonthIcon fontSize=\"small\" />\n )}\n </IconButton>\n </InputAdornment>\n ),\n ...restProps.slotProps?.input,\n },\n }}\n />\n );\n },\n);\n"],"names":["assignInputRef","__name","inputRef","value","DatePickerInput","forwardRef","valueFormatter","useRange","showTimeSelect","showTimeSelectOnly","disabledClearButton","reset","onInputAreaClick","onIconClick","inputElementRef","onClick","onFocus","onKeyDown","onInputFocus","onInputKeyDown","inputRefProp","restProps","ref","isTimePickerMode","handleInputClick","event","handleInputFocus","handleInputKeyDown","handleIconClick","jsx","TextField","input","v","dayjs","jsxs","InputAdornment","IconButton","evt","ClearIcon","AccessTimeIcon","CalendarMonthIcon","_a"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerInput.js","sources":["../../../../src/components/OwpPicker/internal/DatePickerInput.tsx"],"sourcesContent":["import AccessTimeIcon from '@mui/icons-material/AccessTime';\nimport CalendarMonthIcon from '@mui/icons-material/CalendarMonth';\nimport ClearIcon from '@mui/icons-material/Clear';\nimport { IconButton, InputAdornment, TextField, TextFieldProps } from '@mui/material';\nimport dayjs from '@/dayjs';\nimport { type MouseEventHandler, type Ref, forwardRef } from 'react';\n\ntype DatePickerValue = string | Date;\ntype TextFieldClickEvent = Parameters<NonNullable<TextFieldProps['onClick']>>[0];\ntype TextFieldFocusEventHandler = NonNullable<TextFieldProps['onFocus']>;\ntype TextFieldKeyDownEventHandler = NonNullable<TextFieldProps['onKeyDown']>;\n\ninterface OwnProps {\n valueFormatter?: string;\n value?: DatePickerValue;\n useRange?: boolean;\n showTimeSelect?: boolean;\n showTimeSelectOnly?: boolean;\n disabledClearButton?: boolean;\n reset?: () => void;\n onInputAreaClick?: VoidFunction;\n onIconClick?: VoidFunction;\n inputElementRef?: Ref<HTMLInputElement>;\n onInputFocus?: TextFieldFocusEventHandler;\n onInputKeyDown?: TextFieldKeyDownEventHandler;\n}\n\n/** input ref 값 할당 */\nconst assignInputRef = (\n inputRef: Ref<HTMLInputElement> | undefined,\n value: HTMLInputElement | null,\n) => {\n if (!inputRef) {\n return;\n }\n\n if (typeof inputRef === 'function') {\n inputRef(value);\n return;\n }\n\n (inputRef as { current: HTMLInputElement | null }).current = value;\n};\n\n/**\n * DatePickerInput 컴포넌트\n * @param value 현재 값\n * @param valueFormatter valueFormatter 값\n * @param useRange useRange 값\n * @param showTimeSelect showTimeSelect 값\n * @param showTimeSelectOnly showTimeSelectOnly 값\n * @param disabledClearButton disabledClearButton 값\n * @param reset reset 값\n * @param onInputAreaClick 입력 영역 클릭 핸들러\n * @param onIconClick 아이콘 클릭 핸들러\n * @param ref forwardRef 참조\n */\nexport const DatePickerInput = forwardRef(\n (\n {\n value,\n valueFormatter,\n useRange,\n showTimeSelect,\n showTimeSelectOnly,\n disabledClearButton,\n reset,\n onInputAreaClick,\n onIconClick,\n inputElementRef,\n onClick,\n onFocus,\n onKeyDown,\n onInputFocus,\n onInputKeyDown,\n inputRef: inputRefProp,\n ...restProps\n }: TextFieldProps & OwnProps,\n ref,\n ) => {\n const isTimePickerMode = showTimeSelect || showTimeSelectOnly;\n\n const handleInputClick: MouseEventHandler<HTMLDivElement> = (event) => {\n onInputAreaClick?.();\n onClick?.(event);\n };\n\n const handleInputFocus: TextFieldFocusEventHandler = (event) => {\n onInputFocus?.(event);\n onFocus?.(event);\n };\n\n const handleInputKeyDown: TextFieldKeyDownEventHandler = (event) => {\n onInputKeyDown?.(event);\n onKeyDown?.(event);\n };\n\n const handleIconClick: MouseEventHandler<HTMLButtonElement> = (event) => {\n event.stopPropagation();\n onIconClick?.();\n onClick?.(event as unknown as TextFieldClickEvent);\n };\n\n return (\n <TextField\n variant=\"standard\"\n {...restProps}\n inputRef={(input) => {\n assignInputRef(ref as Ref<HTMLInputElement>, input);\n assignInputRef(inputElementRef, input);\n assignInputRef(inputRefProp, input);\n }}\n onClick={handleInputClick}\n onFocus={handleInputFocus}\n onKeyDown={handleInputKeyDown}\n value={\n value\n ? useRange\n ? typeof value === 'string'\n ? value\n .split(' - ')\n .map((v: string) => (dayjs(v).isValid() ? dayjs(v).format(valueFormatter) : ''))\n .join(' ~ ')\n : ''\n : showTimeSelectOnly && typeof value === 'string'\n ? value\n : dayjs(value).format(valueFormatter)\n : ''\n }\n slotProps={{\n ...restProps.slotProps,\n input: {\n readOnly: true,\n endAdornment: (\n <InputAdornment position=\"end\">\n {!disabledClearButton && (\n <IconButton\n className=\"m-0 p-0\"\n size=\"small\"\n tabIndex={-1}\n onClick={(evt) => {\n evt.stopPropagation();\n reset?.();\n }}\n >\n <ClearIcon fontSize=\"small\" />\n </IconButton>\n )}\n <IconButton\n className=\"m-0 p-0\"\n size=\"small\"\n tabIndex={-1}\n aria-label={isTimePickerMode ? 'time-picker-trigger' : 'date-picker-trigger'}\n onClick={handleIconClick}\n >\n {showTimeSelectOnly ? (\n <AccessTimeIcon fontSize=\"small\" />\n ) : (\n <CalendarMonthIcon fontSize=\"small\" />\n )}\n </IconButton>\n </InputAdornment>\n ),\n ...restProps.slotProps?.input,\n },\n }}\n />\n );\n },\n);\n"],"names":["assignInputRef","__name","inputRef","value","DatePickerInput","forwardRef","valueFormatter","useRange","showTimeSelect","showTimeSelectOnly","disabledClearButton","reset","onInputAreaClick","onIconClick","inputElementRef","onClick","onFocus","onKeyDown","onInputFocus","onInputKeyDown","inputRefProp","restProps","ref","isTimePickerMode","handleInputClick","event","handleInputFocus","handleInputKeyDown","handleIconClick","jsx","TextField","input","v","dayjs","jsxs","InputAdornment","IconButton","evt","ClearIcon","AccessTimeIcon","CalendarMonthIcon","_a"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- var R = Object.defineProperty;
2
- var t = (m, s) => R(m, "name", { value: s, configurable: !0 });
3
- import { jsxs as f, jsx as e } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
- import k from "../../node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/Fitbit.js";
5
- import { CircularProgress as B, Divider as b } from "@mui/material";
6
- import { useHeaderWrapState as H } from "../../hooks/useHeaderWrapState.js";
7
- import { clsx as i } from "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
8
- import { OwpPageTitle as W } from "../OwpPageTitle/OwpPageTitle.js";
9
- const h = /* @__PURE__ */ t((m) => {
10
- switch (m) {
1
+ var H = Object.defineProperty;
2
+ var t = (l, r) => H(l, "name", { value: r, configurable: !0 });
3
+ import { jsxs as n, jsx as e } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
+ import V from "../../node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/Fitbit.js";
5
+ import { CircularProgress as W, Divider as _ } from "@mui/material";
6
+ import { useHeaderWrapState as z } from "../../hooks/useHeaderWrapState.js";
7
+ import { useMinimumVisibleState as F } from "../../hooks/internal/useMinimumVisibleState.js";
8
+ import { clsx as s } from "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
9
+ const g = /* @__PURE__ */ t((l) => {
10
+ switch (l) {
11
11
  case "inherit":
12
12
  return "1em";
13
13
  case "small":
@@ -19,120 +19,127 @@ const h = /* @__PURE__ */ t((m) => {
19
19
  default:
20
20
  return 24;
21
21
  }
22
- }, "getTitleIconSize"), q = /* @__PURE__ */ t(({
23
- className: m,
24
- title: s,
22
+ }, "getTitleIconSize"), J = /* @__PURE__ */ t(({
23
+ className: l,
24
+ title: r,
25
25
  disableTitleIcon: u,
26
- headerProps: l,
27
- usePageTitle: x,
28
- actions: c,
26
+ headerProps: m,
27
+ titleContainerClassName: x,
28
+ titleIconClassName: d,
29
+ titleTextClassName: p,
30
+ actions: f,
29
31
  leftSlot: a,
30
- centerSlot: r,
32
+ centerSlot: i,
31
33
  children: N,
32
- iconSize: d,
33
- loading: o
34
+ iconSize: o,
35
+ loading: y,
36
+ showDivider: h = !1
34
37
  }) => {
35
- const w = s != null && s !== "", p = !!(a || r), { containerRef: v, titleRef: y, slotsRef: g, actionsRef: j, isWrapped: n } = H([
36
- s,
37
- a,
38
+ const w = r != null && r !== "", j = !!(a || i), v = F(y), { containerRef: R, titleRef: b, slotsRef: k, actionsRef: O, isWrapped: c } = z([
38
39
  r,
39
- c,
40
+ a,
41
+ i,
42
+ f,
40
43
  u,
44
+ o,
45
+ v,
46
+ x,
41
47
  d,
42
- o
43
- ]), O = !!(w || c || a || r);
44
- return /* @__PURE__ */ f("div", { className: i("OwpSection-root flex h-full w-full flex-col", m), children: [
45
- O && (x ? /* @__PURE__ */ f("div", { className: "OwpSection-header", children: [
46
- /* @__PURE__ */ e("div", { ...l, className: i("w-full", l == null ? void 0 : l.className), children: /* @__PURE__ */ e(
47
- W,
48
+ p
49
+ ]), B = !!(w || f || a || i);
50
+ return /* @__PURE__ */ n("div", { className: s("OwpSection-root flex h-full w-full flex-col", l), children: [
51
+ B && /* @__PURE__ */ n("div", { className: s("OwpSection-header min-h-36 w-full", !h && "mb-12"), children: [
52
+ /* @__PURE__ */ n(
53
+ "div",
48
54
  {
49
- title: s,
50
- leftSlot: a,
51
- centerSlot: r,
52
- actions: c,
53
- loading: o
54
- }
55
- ) }),
56
- /* @__PURE__ */ e(b, { className: "my-12" })
57
- ] }) : /* @__PURE__ */ e("div", { className: "OwpSection-header mb-12 min-h-36 w-full", children: /* @__PURE__ */ f(
58
- "div",
59
- {
60
- ref: v,
61
- ...l,
62
- className: i(
63
- "min-h-36 w-full",
64
- n ? "flex flex-col gap-8" : "grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-x-8 gap-y-8",
65
- l == null ? void 0 : l.className
66
- ),
67
- children: [
68
- s && /* @__PURE__ */ f(
69
- "div",
70
- {
71
- ref: y,
72
- className: i(
73
- "flex shrink-0 items-center gap-8 whitespace-nowrap",
74
- n ? "order-1 self-start" : "col-start-1"
75
- ),
76
- children: [
77
- !u && (o ? /* @__PURE__ */ e(
78
- B,
79
- {
80
- className: "shrink-0",
81
- size: h(d),
82
- sx: { color: "secondary.main" }
83
- }
84
- ) : /* @__PURE__ */ e(
85
- k,
55
+ ref: R,
56
+ ...m,
57
+ className: s(
58
+ "min-h-36 w-full",
59
+ c ? "flex flex-col gap-8" : "grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-x-8 gap-y-8",
60
+ m == null ? void 0 : m.className
61
+ ),
62
+ children: [
63
+ w && /* @__PURE__ */ n(
64
+ "div",
65
+ {
66
+ ref: b,
67
+ className: s(
68
+ "flex shrink-0 items-center gap-8 whitespace-nowrap",
69
+ c ? "order-1 self-start" : "col-start-1",
70
+ x
71
+ ),
72
+ children: [
73
+ !u && (v ? /* @__PURE__ */ e(
74
+ W,
75
+ {
76
+ className: s("shrink-0", d),
77
+ size: g(o),
78
+ sx: { color: "secondary.main" }
79
+ }
80
+ ) : /* @__PURE__ */ e(
81
+ V,
82
+ {
83
+ className: s("shrink-0", d),
84
+ sx: { fontSize: g(o), color: "secondary.main" }
85
+ }
86
+ )),
87
+ /* @__PURE__ */ e(
88
+ "div",
89
+ {
90
+ className: s(
91
+ "shrink-0 whitespace-nowrap text-2xl font-medium",
92
+ p
93
+ ),
94
+ children: r
95
+ }
96
+ )
97
+ ]
98
+ }
99
+ ),
100
+ j && /* @__PURE__ */ e(
101
+ "div",
102
+ {
103
+ ref: k,
104
+ className: s(
105
+ "flex max-w-full",
106
+ c ? "order-2 self-end justify-end" : "col-start-2 justify-self-center"
107
+ ),
108
+ children: /* @__PURE__ */ n(
109
+ "div",
86
110
  {
87
- className: "shrink-0",
88
- sx: { fontSize: h(d), color: "secondary.main" }
111
+ className: s(
112
+ "flex max-w-full items-center gap-8",
113
+ c ? "flex-wrap justify-end" : "flex-nowrap justify-center"
114
+ ),
115
+ children: [
116
+ a && /* @__PURE__ */ e("div", { className: "max-w-full", children: a }),
117
+ i && /* @__PURE__ */ e("div", { className: "max-w-full", children: i })
118
+ ]
89
119
  }
90
- )),
91
- /* @__PURE__ */ e("h6", { className: "shrink-0 whitespace-nowrap text-2xl font-medium", children: s })
92
- ]
93
- }
94
- ),
95
- p && /* @__PURE__ */ e(
96
- "div",
97
- {
98
- ref: g,
99
- className: i(
100
- "flex max-w-full",
101
- n ? "order-2 self-end justify-end" : "col-start-2 justify-self-center"
102
- ),
103
- children: /* @__PURE__ */ f(
104
- "div",
105
- {
106
- className: i(
107
- "flex max-w-full items-center gap-8",
108
- n ? "flex-wrap justify-end" : "flex-nowrap justify-center"
109
- ),
110
- children: [
111
- a && /* @__PURE__ */ e("div", { className: "max-w-full", children: a }),
112
- r && /* @__PURE__ */ e("div", { className: "max-w-full", children: r })
113
- ]
114
- }
115
- )
116
- }
117
- ),
118
- c && /* @__PURE__ */ e(
119
- "div",
120
- {
121
- ref: j,
122
- className: i(
123
- "flex max-w-full justify-end",
124
- n ? "order-3 self-end" : "col-start-3 justify-self-end"
125
- ),
126
- children: /* @__PURE__ */ e("div", { className: "flex max-w-full flex-wrap items-center gap-8", children: c })
127
- }
128
- )
129
- ]
130
- }
131
- ) })),
120
+ )
121
+ }
122
+ ),
123
+ f && /* @__PURE__ */ e(
124
+ "div",
125
+ {
126
+ ref: O,
127
+ className: s(
128
+ "flex max-w-full justify-end",
129
+ c ? "order-3 self-end" : "col-start-3 justify-self-end"
130
+ ),
131
+ children: /* @__PURE__ */ e("div", { className: "flex max-w-full flex-wrap items-center gap-8", children: f })
132
+ }
133
+ )
134
+ ]
135
+ }
136
+ ),
137
+ h && /* @__PURE__ */ e(_, { className: "my-12" })
138
+ ] }),
132
139
  /* @__PURE__ */ e("div", { className: "OwpSection-body flex min-h-0 flex-1 flex-col", children: N })
133
140
  ] });
134
141
  }, "OwpSection");
135
142
  export {
136
- q as OwpSection
143
+ J as OwpSection
137
144
  };
138
145
  //# sourceMappingURL=OwpSection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OwpSection.js","sources":["../../../src/components/OwpSection/OwpSection.tsx"],"sourcesContent":["import FitbitIcon from '@mui/icons-material/Fitbit';\nimport { CircularProgress, Divider, type IconProps } from '@mui/material';\nimport { useHeaderWrapState } from '@/hooks/useHeaderWrapState';\nimport clsx from 'clsx';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { OwpPageTitle } from '../OwpPageTitle';\n\n/**\n * 제목 아이콘 크기\n * @param iconSize MUI 아이콘 크기\n */\nconst getTitleIconSize = (iconSize?: IconProps['fontSize']) => {\n switch (iconSize) {\n case 'inherit':\n return '1em';\n case 'small':\n return '1.25rem';\n case 'large':\n return '2.1875rem';\n case 'medium':\n return '1.5rem';\n default:\n return 24;\n }\n};\n\ninterface OwpSectionProps {\n className?: string;\n headerProps?: HTMLAttributes<HTMLDivElement>;\n disableTitleIcon?: boolean;\n usePageTitle?: boolean;\n title?: ReactNode;\n actions?: ReactNode;\n leftSlot?: ReactNode;\n centerSlot?: ReactNode;\n children?: ReactNode;\n iconSize?: IconProps['fontSize'];\n loading?: boolean;\n}\n\n/**\n * OwpSection 컴포넌트\n * @param className CSS 클래스명\n * @param title 제목\n * @param disableTitleIcon disableTitleIcon 값\n * @param headerProps headerProps props\n * @param usePageTitle usePageTitle 값\n * @param leftSlot leftSlot 값\n * @param centerSlot centerSlot 값\n * @param actions 액션 영역\n * @param loading 로딩 상태\n */\nconst OwpSection = ({\n className,\n title,\n disableTitleIcon,\n headerProps,\n usePageTitle,\n actions,\n leftSlot,\n centerSlot,\n children,\n iconSize,\n loading,\n}: OwpSectionProps) => {\n const hasTitle = title !== undefined && title !== null && title !== '';\n const hasSlots = Boolean(leftSlot || centerSlot);\n const { containerRef, titleRef, slotsRef, actionsRef, isWrapped } = useHeaderWrapState([\n title,\n leftSlot,\n centerSlot,\n actions,\n disableTitleIcon,\n iconSize,\n loading,\n ]);\n const shouldRenderHeader = usePageTitle\n ? Boolean(hasTitle || actions || leftSlot || centerSlot)\n : Boolean(hasTitle || actions || leftSlot || centerSlot);\n\n return (\n <div className={clsx('OwpSection-root flex h-full w-full flex-col', className)}>\n {shouldRenderHeader &&\n (usePageTitle ? (\n <div className=\"OwpSection-header\">\n <div {...headerProps} className={clsx('w-full', headerProps?.className)}>\n <OwpPageTitle\n title={title}\n leftSlot={leftSlot}\n centerSlot={centerSlot}\n actions={actions}\n loading={loading}\n />\n </div>\n <Divider className=\"my-12\" />\n </div>\n ) : (\n <div className=\"OwpSection-header mb-12 min-h-36 w-full\">\n <div\n ref={containerRef}\n {...headerProps}\n className={clsx(\n 'min-h-36 w-full',\n isWrapped\n ? 'flex flex-col gap-8'\n : 'grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-x-8 gap-y-8',\n headerProps?.className,\n )}\n >\n {title && (\n <div\n ref={titleRef}\n className={clsx(\n 'flex shrink-0 items-center gap-8 whitespace-nowrap',\n isWrapped ? 'order-1 self-start' : 'col-start-1',\n )}\n >\n {!disableTitleIcon && (\n loading ? (\n <CircularProgress\n className=\"shrink-0\"\n size={getTitleIconSize(iconSize)}\n sx={{ color: 'secondary.main' }}\n />\n ) : (\n <FitbitIcon\n className=\"shrink-0\"\n sx={{ fontSize: getTitleIconSize(iconSize), color: 'secondary.main' }}\n />\n )\n )}\n <h6 className=\"shrink-0 whitespace-nowrap text-2xl font-medium\">{title}</h6>\n </div>\n )}\n {hasSlots && (\n <div\n ref={slotsRef}\n className={clsx(\n 'flex max-w-full',\n isWrapped ? 'order-2 self-end justify-end' : 'col-start-2 justify-self-center',\n )}\n >\n <div\n className={clsx(\n 'flex max-w-full items-center gap-8',\n isWrapped ? 'flex-wrap justify-end' : 'flex-nowrap justify-center',\n )}\n >\n {leftSlot && <div className=\"max-w-full\">{leftSlot}</div>}\n {centerSlot && <div className=\"max-w-full\">{centerSlot}</div>}\n </div>\n </div>\n )}\n {actions && (\n <div\n ref={actionsRef}\n className={clsx(\n 'flex max-w-full justify-end',\n isWrapped ? 'order-3 self-end' : 'col-start-3 justify-self-end',\n )}\n >\n <div className=\"flex max-w-full flex-wrap items-center gap-8\">{actions}</div>\n </div>\n )}\n </div>\n </div>\n ))}\n <div className=\"OwpSection-body flex min-h-0 flex-1 flex-col\">{children}</div>\n </div>\n );\n};\n\nexport { OwpSection };\n"],"names":["getTitleIconSize","__name","iconSize","OwpSection","className","title","disableTitleIcon","headerProps","usePageTitle","actions","leftSlot","centerSlot","children","loading","hasTitle","hasSlots","containerRef","titleRef","slotsRef","actionsRef","isWrapped","useHeaderWrapState","shouldRenderHeader","clsx","jsxs","jsx","OwpPageTitle","Divider","CircularProgress","FitbitIcon"],"mappings":"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"}
1
+ {"version":3,"file":"OwpSection.js","sources":["../../../src/components/OwpSection/OwpSection.tsx"],"sourcesContent":["import FitbitIcon from '@mui/icons-material/Fitbit';\nimport { CircularProgress, Divider, type IconProps } from '@mui/material';\nimport { useHeaderWrapState } from '@/hooks/useHeaderWrapState';\nimport { useMinimumVisibleState } from '@/hooks/internal/useMinimumVisibleState';\nimport clsx from 'clsx';\nimport type { HTMLAttributes, ReactNode } from 'react';\n\n/**\n * 제목 아이콘 크기\n * @param iconSize MUI 아이콘 크기\n */\nconst getTitleIconSize = (iconSize?: IconProps['fontSize']) => {\n switch (iconSize) {\n case 'inherit':\n return '1em';\n case 'small':\n return '1.25rem';\n case 'large':\n return '2.1875rem';\n case 'medium':\n return '1.5rem';\n default:\n return 24;\n }\n};\n\ninterface OwpSectionProps {\n className?: string;\n headerProps?: HTMLAttributes<HTMLDivElement>;\n titleContainerClassName?: string;\n titleIconClassName?: string;\n titleTextClassName?: string;\n disableTitleIcon?: boolean;\n title?: ReactNode;\n actions?: ReactNode;\n leftSlot?: ReactNode;\n centerSlot?: ReactNode;\n children?: ReactNode;\n iconSize?: IconProps['fontSize'];\n loading?: boolean;\n showDivider?: boolean;\n}\n\n/**\n * OwpSection 컴포넌트\n * @param className CSS 클래스명\n * @param title 제목\n * @param disableTitleIcon disableTitleIcon 값\n * @param headerProps headerProps props\n * @param titleContainerClassName 제목 영역 CSS 클래스명\n * @param titleIconClassName 제목 아이콘 CSS 클래스명\n * @param titleTextClassName 제목 텍스트 CSS 클래스명\n * @param leftSlot leftSlot 값\n * @param centerSlot centerSlot 값\n * @param actions 액션 영역\n * @param loading 로딩 상태\n * @param showDivider 구분선 표시 여부\n */\nconst OwpSection = ({\n className,\n title,\n disableTitleIcon,\n headerProps,\n titleContainerClassName,\n titleIconClassName,\n titleTextClassName,\n actions,\n leftSlot,\n centerSlot,\n children,\n iconSize,\n loading,\n showDivider = false,\n}: OwpSectionProps) => {\n const hasTitle = title !== undefined && title !== null && title !== '';\n const hasSlots = Boolean(leftSlot || centerSlot);\n const isLoadingVisible = useMinimumVisibleState(loading);\n const { containerRef, titleRef, slotsRef, actionsRef, isWrapped } = useHeaderWrapState([\n title,\n leftSlot,\n centerSlot,\n actions,\n disableTitleIcon,\n iconSize,\n isLoadingVisible,\n titleContainerClassName,\n titleIconClassName,\n titleTextClassName,\n ]);\n const shouldRenderHeader = Boolean(hasTitle || actions || leftSlot || centerSlot);\n\n return (\n <div className={clsx('OwpSection-root flex h-full w-full flex-col', className)}>\n {shouldRenderHeader && (\n <div className={clsx('OwpSection-header min-h-36 w-full', !showDivider && 'mb-12')}>\n <div\n ref={containerRef}\n {...headerProps}\n className={clsx(\n 'min-h-36 w-full',\n isWrapped\n ? 'flex flex-col gap-8'\n : 'grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-x-8 gap-y-8',\n headerProps?.className,\n )}\n >\n {hasTitle && (\n <div\n ref={titleRef}\n className={clsx(\n 'flex shrink-0 items-center gap-8 whitespace-nowrap',\n isWrapped ? 'order-1 self-start' : 'col-start-1',\n titleContainerClassName,\n )}\n >\n {!disableTitleIcon &&\n (isLoadingVisible ? (\n <CircularProgress\n className={clsx('shrink-0', titleIconClassName)}\n size={getTitleIconSize(iconSize)}\n sx={{ color: 'secondary.main' }}\n />\n ) : (\n <FitbitIcon\n className={clsx('shrink-0', titleIconClassName)}\n sx={{ fontSize: getTitleIconSize(iconSize), color: 'secondary.main' }}\n />\n ))}\n <div\n className={clsx(\n 'shrink-0 whitespace-nowrap text-2xl font-medium',\n titleTextClassName,\n )}\n >\n {title}\n </div>\n </div>\n )}\n {hasSlots && (\n <div\n ref={slotsRef}\n className={clsx(\n 'flex max-w-full',\n isWrapped ? 'order-2 self-end justify-end' : 'col-start-2 justify-self-center',\n )}\n >\n <div\n className={clsx(\n 'flex max-w-full items-center gap-8',\n isWrapped ? 'flex-wrap justify-end' : 'flex-nowrap justify-center',\n )}\n >\n {leftSlot && <div className=\"max-w-full\">{leftSlot}</div>}\n {centerSlot && <div className=\"max-w-full\">{centerSlot}</div>}\n </div>\n </div>\n )}\n {actions && (\n <div\n ref={actionsRef}\n className={clsx(\n 'flex max-w-full justify-end',\n isWrapped ? 'order-3 self-end' : 'col-start-3 justify-self-end',\n )}\n >\n <div className=\"flex max-w-full flex-wrap items-center gap-8\">{actions}</div>\n </div>\n )}\n </div>\n {showDivider && <Divider className=\"my-12\" />}\n </div>\n )}\n <div className=\"OwpSection-body flex min-h-0 flex-1 flex-col\">{children}</div>\n </div>\n );\n};\n\nexport { OwpSection };\n"],"names":["getTitleIconSize","__name","iconSize","OwpSection","className","title","disableTitleIcon","headerProps","titleContainerClassName","titleIconClassName","titleTextClassName","actions","leftSlot","centerSlot","children","loading","showDivider","hasTitle","hasSlots","isLoadingVisible","useMinimumVisibleState","containerRef","titleRef","slotsRef","actionsRef","isWrapped","useHeaderWrapState","shouldRenderHeader","clsx","jsxs","jsx","CircularProgress","FitbitIcon","Divider"],"mappings":"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"}
@@ -3,10 +3,11 @@ var a = (t, r) => Go(t, "name", { value: r, configurable: !0 });
3
3
  import { jsxs as V, jsx as l } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
4
  import { resolveOwpGridTheme as Uo } from "../../constants/gridTheme.js";
5
5
  import { resolveOwpTableTheme as ot } from "../../constants/tableTheme.js";
6
+ import { DEFAULT_TABLE_RADIUS as Zo } from "../../constants/table.js";
6
7
  import { getTreeGridFontFaceStyles as tt } from "../../constants/treeGrid.js";
7
8
  import { useGetCurrentSettings as rt } from "../../hooks/useOwpSettings.js";
8
9
  import { TextField as et, Divider as it, Typography as ao } from "@mui/material";
9
- import Zo, { checkboxClasses as nt } from "@mui/material/Checkbox";
10
+ import jo, { checkboxClasses as nt } from "@mui/material/Checkbox";
10
11
  import { grey as at } from "@mui/material/colors";
11
12
  import st from "@mui/material/GlobalStyles";
12
13
  import dt from "@mui/material/Paper";
@@ -15,11 +16,11 @@ import lt from "@mui/material/TableBody";
15
16
  import z from "@mui/material/TableCell";
16
17
  import mt from "@mui/material/TableContainer";
17
18
  import bt from "@mui/material/TableHead";
18
- import jo from "@mui/material/TableRow";
19
+ import Ko from "@mui/material/TableRow";
19
20
  import ct from "@mui/material/TableSortLabel";
20
21
  import { useState as U, useRef as ft, useMemo as B, useEffect as Oo } from "react";
21
22
  import { TREEGRID_TABLE_BODY_BORDER_COLOR as gt, getTreeGridBodyCellSx as oo, getTreeGridBodyRowSx as ht, getTreeGridContainerSx as to, getTreeGridHeaderCellSx as _o, TREEGRID_TABLE_HEADER_BORDER_COLOR as pt } from "./internal/treeGridTableStyle.js";
22
- import { getDefaultTableCellSx as xt, DEFAULT_TABLE_RADIUS as Ko, getDefaultTableHeaderCellSx as Rt, defaultTableSortLabelSx as vt, getDefaultTableHeaderLabelSx as Ho, defaultStyledTableTheme as wt, DEFAULT_TABLE_HEADER_BACKGROUND_COLOR as Io } from "./internal/defaultTableStyle.js";
23
+ import { getDefaultTableCellSx as xt, getDefaultTableHeaderCellSx as Rt, defaultTableSortLabelSx as vt, getDefaultTableHeaderLabelSx as Ho, defaultStyledTableTheme as wt, DEFAULT_TABLE_HEADER_BACKGROUND_COLOR as Io } from "./internal/defaultTableStyle.js";
23
24
  import { toTableRadiusCssValue as kt } from "./utils/tableSx.js";
24
25
  import { uniqueId as Lt } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/util/uniqueId.js";
25
26
  import { isEmpty as Ct } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isEmpty.js";
@@ -46,7 +47,7 @@ const No = /* @__PURE__ */ a((t, r) => ({
46
47
  }), "getDefaultHeaderDividerSx"), g = {
47
48
  borderRadius: 0
48
49
  }, Bt = {
49
- borderRadius: Ko
50
+ borderRadius: Zo
50
51
  }, Dt = {
51
52
  "& > th, & > td": {
52
53
  borderBottomLeftRadius: 0,
@@ -155,7 +156,7 @@ function Ft(t) {
155
156
  P(s, i);
156
157
  }, "createSortHandler");
157
158
  return /* @__PURE__ */ l(bt, { sx: m(E && g), children: /* @__PURE__ */ V(
158
- jo,
159
+ Ko,
159
160
  {
160
161
  sx: m(
161
162
  o && { height: H.header.height },
@@ -177,7 +178,7 @@ function Ft(t) {
177
178
  r
178
179
  ),
179
180
  children: /* @__PURE__ */ l(
180
- Zo,
181
+ jo,
181
182
  {
182
183
  color: "default",
183
184
  sx: m(
@@ -229,7 +230,7 @@ function Ft(t) {
229
230
  ) });
230
231
  }
231
232
  a(Ft, "DataTableHead");
232
- function mr({
233
+ function br({
233
234
  className: t,
234
235
  sx: r,
235
236
  headSx: n,
@@ -243,7 +244,7 @@ function mr({
243
244
  canTableRadiusZero: Q,
244
245
  canUseTableRadius: E = !1,
245
246
  canUseTreeGridStyle: o = !1,
246
- tableBorderRadius: H = Ko,
247
+ tableBorderRadius: H = Zo,
247
248
  fixedRowCount: w,
248
249
  onSelect: I,
249
250
  onBlur: i
@@ -343,7 +344,7 @@ function mr({
343
344
  /* @__PURE__ */ l(lt, { sx: m(h && g), children: go.map((d, u) => {
344
345
  const f = K.some((e) => ro(e, d)), X = go.length - 1 === u, L = x ? u >= $.length : !1, y = `${Jo.current}-${u}`;
345
346
  return /* @__PURE__ */ V(
346
- jo,
347
+ Ko,
347
348
  {
348
349
  hover: !0,
349
350
  role: o ? void 0 : "checkbox",
@@ -387,7 +388,7 @@ function mr({
387
388
  h && g
388
389
  ),
389
390
  children: /* @__PURE__ */ l(
390
- Zo,
391
+ jo,
391
392
  {
392
393
  color: "default",
393
394
  checked: f,
@@ -533,8 +534,8 @@ function mr({
533
534
  }
534
535
  );
535
536
  }
536
- a(mr, "OwpDataTable");
537
+ a(br, "OwpDataTable");
537
538
  export {
538
- mr as OwpDataTable
539
+ br as OwpDataTable
539
540
  };
540
541
  //# sourceMappingURL=OwpDataTable.js.map