pds-dev-kit-web-test 2.7.514 → 2.7.516

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.
@@ -15,4 +15,9 @@ export declare function getTextOptionStyles(props: CB_STYLE_PROP_TEXTOPTION, dev
15
15
  overflowY: string;
16
16
  };
17
17
  };
18
+ /**
19
+ * 문자열이 유효한 날짜 형태인지 판별합니다.
20
+ * (YYYY-MM-DD, ISO 8601, UTC 형태 등을 지원)
21
+ */
22
+ export declare const isValidDate: (value: string) => boolean;
18
23
  export {};
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.getTextOptionStyles = exports.getTextStyles = void 0;
17
+ exports.isValidDate = exports.getTextOptionStyles = exports.getTextStyles = void 0;
18
18
  var jsx_runtime_1 = require("react/jsx-runtime");
19
19
  /* eslint-disable react/destructuring-assignment */
20
20
  var react_1 = require("react");
@@ -99,14 +99,15 @@ function Text(props) {
99
99
  return t('str_paid');
100
100
  }
101
101
  }
102
- if (CB_CONTENT_PROP_TEXT_SPEC_CONNECTDATA.endsWith('Date')) {
103
- var localtime = convertToLocalTime(value);
102
+ if (CB_CONTENT_PROP_TEXT_SPEC_CONNECTDATA.endsWith('Date') ||
103
+ CB_CONTENT_PROP_TEXT_SPEC_CONNECTDATA.endsWith('At')) {
104
104
  if (formatOption) {
105
- return formatOption.formatter(localtime);
105
+ return formatOption.formatter(convertToUTC(value));
106
106
  }
107
+ return convertToLocalTime(value);
107
108
  }
108
109
  if (formatOption) {
109
- return formatOption.formatter(value);
110
+ return formatOption.formatter(convertToUTC(value));
110
111
  }
111
112
  return value;
112
113
  }
@@ -257,6 +258,34 @@ function domstringToPlain(domstring, ellipsis, useEnter) {
257
258
  * @returns 로컬 시간으로 변환된 문자열
258
259
  */
259
260
  var convertToLocalTime = function (utcString) {
261
+ if ((0, exports.isValidDate)(utcString) === false) {
262
+ return utcString;
263
+ }
260
264
  var date = new Date("".concat(utcString.replace(' ', 'T'), "Z"));
261
265
  return date.toLocaleString();
262
266
  };
267
+ var convertToUTC = function (string) {
268
+ if ((0, exports.isValidDate)(string) === false) {
269
+ return string;
270
+ }
271
+ var date = new Date("".concat(string.replace(' ', 'T'), "Z"));
272
+ return date.toISOString();
273
+ };
274
+ /**
275
+ * 문자열이 유효한 날짜 형태인지 판별합니다.
276
+ * (YYYY-MM-DD, ISO 8601, UTC 형태 등을 지원)
277
+ */
278
+ var isValidDate = function (value) {
279
+ if (!value || typeof value !== 'string')
280
+ return false;
281
+ // 1. 기본적인 날짜 구조인지 정규식으로 확인 (숫자와 특수기호 조합)
282
+ // 최소한 "0000-00-00" 또는 "00/00/00" 형태는 갖춰야 함
283
+ var datePattern = /^\d{4}[./-]\d{1,2}[./-]\d{1,2}/;
284
+ if (!datePattern.test(value))
285
+ return false;
286
+ // 2. Date 객체 생성을 시도 (UTC 처리를 위해 공백을 T로 치환 고려)
287
+ var d = new Date(value.replace(' ', 'T'));
288
+ // 3. 존재하지 않는 날짜(예: 13월, 32일)라면 getTime()이 NaN을 반환함
289
+ return !isNaN(d.getTime());
290
+ };
291
+ exports.isValidDate = isValidDate;
@@ -9,7 +9,7 @@ exports.TEXT_SPEC_FORMAT_OPRIONS = {
9
9
  var num = Number(value);
10
10
  if (isNaN(num))
11
11
  return value; // Return original if not a number
12
- return new Intl.NumberFormat('en-US', {
12
+ return new Intl.NumberFormat(undefined, {
13
13
  maximumFractionDigits: 0
14
14
  }).format(num);
15
15
  }
@@ -21,7 +21,7 @@ exports.TEXT_SPEC_FORMAT_OPRIONS = {
21
21
  var num = Number(value);
22
22
  if (isNaN(num))
23
23
  return value; // Return original if not a number
24
- return new Intl.NumberFormat('en-US', {
24
+ return new Intl.NumberFormat(undefined, {
25
25
  minimumFractionDigits: 1,
26
26
  maximumFractionDigits: 1
27
27
  }).format(num);
@@ -34,7 +34,7 @@ exports.TEXT_SPEC_FORMAT_OPRIONS = {
34
34
  var num = Number(value);
35
35
  if (isNaN(num))
36
36
  return value; // Return original if not a number
37
- return new Intl.NumberFormat('en-US', {
37
+ return new Intl.NumberFormat(undefined, {
38
38
  minimumFractionDigits: 2,
39
39
  maximumFractionDigits: 2
40
40
  }).format(num);
@@ -139,7 +139,7 @@ exports.TEXT_SPEC_FORMAT_OPRIONS = {
139
139
  if (isNaN(d.getTime()))
140
140
  return value;
141
141
  var dd = String(d.getDate()).padStart(2, '0');
142
- var mmm = d.toLocaleString('en-US', { month: 'short' });
142
+ var mmm = d.toLocaleString(undefined, { month: 'short' });
143
143
  return "".concat(dd, " ").concat(mmm);
144
144
  }
145
145
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pds-dev-kit-web-test",
3
- "version": "2.7.514",
3
+ "version": "2.7.516",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "dist/index.js",