@wipco/sdui 1.8.3 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-DTCZPXOT.js → chunk-33LRJ25P.js} +199 -21
- package/dist/{chunk-PN5IJPA5.js → chunk-3LPLTD66.js} +1 -1
- package/dist/{chunk-TCHXA35K.js → chunk-3M64LBYZ.js} +2 -2
- package/dist/{chunk-ZDWCLHIY.js → chunk-4FQB6O4T.js} +5 -5
- package/dist/{chunk-TK3WS7XE.js → chunk-55524GIB.js} +2 -2
- package/dist/{chunk-JDTVNS3H.js → chunk-5NDYDUMJ.js} +1 -1
- package/dist/{chunk-YOLT2TPX.js → chunk-A2PG44CM.js} +1 -1
- package/dist/{chunk-YK7ZNV2C.js → chunk-CZMSQ3B3.js} +1 -1
- package/dist/{chunk-KVQXQLAP.js → chunk-DE3HYL4K.js} +2 -2
- package/dist/{chunk-3PGKBTBZ.js → chunk-DELAII7K.js} +2 -2
- package/dist/{chunk-ZW42VDR3.js → chunk-F2ICWCV3.js} +1 -1
- package/dist/{chunk-KJDHF6VU.js → chunk-FR7S52ZL.js} +1 -1
- package/dist/{chunk-HAK2YXSF.js → chunk-GHKRT7EA.js} +1 -1
- package/dist/{chunk-JRCHWX2B.js → chunk-GUXKGL76.js} +1 -1
- package/dist/{chunk-37CLBWCE.js → chunk-GW2LSUA4.js} +1 -1
- package/dist/{chunk-B6U2YWUP.js → chunk-HKYLKLF6.js} +2 -2
- package/dist/{chunk-UNQ6VAVD.js → chunk-I45MRYCE.js} +2 -2
- package/dist/{chunk-CFFSCGDV.js → chunk-IOQNDAWT.js} +3 -3
- package/dist/{chunk-YJJMK5R5.js → chunk-J2SPMIMO.js} +2 -2
- package/dist/{chunk-UDJVLMDH.js → chunk-JHWJSVZH.js} +2 -2
- package/dist/{chunk-5JXXCRXA.js → chunk-LDIEWJNP.js} +2 -2
- package/dist/{chunk-K7K6WOIG.js → chunk-LEYVJAXU.js} +3 -3
- package/dist/{chunk-OI2GPBIL.js → chunk-LK7MHTJO.js} +2 -2
- package/dist/{chunk-QP7AQEGZ.js → chunk-LNEFMVHL.js} +3 -3
- package/dist/{chunk-I2URQNZZ.js → chunk-MIFCOTLQ.js} +9 -7
- package/dist/{chunk-TQV4M3SB.js → chunk-MRCTYYBS.js} +2 -2
- package/dist/{chunk-DNUO63VZ.js → chunk-NHKQZDBX.js} +2 -2
- package/dist/{chunk-KIHN7DGA.js → chunk-NKRZVRGH.js} +206 -6
- package/dist/{chunk-4SVSS7VO.js → chunk-NTMFLJEE.js} +4 -4
- package/dist/{chunk-XFNHHGFR.js → chunk-RMYGRGKS.js} +1 -1
- package/dist/{chunk-O3SD2HS6.js → chunk-RT2I2U45.js} +1 -1
- package/dist/{chunk-ITFSPOOB.js → chunk-SANCYRIQ.js} +1 -1
- package/dist/{chunk-H7RLEDKJ.js → chunk-SMVPMDWO.js} +2 -2
- package/dist/{chunk-PGAP2RLS.js → chunk-TYPNHH3I.js} +1 -1
- package/dist/{chunk-6TWP3E2L.js → chunk-UX37MB4P.js} +3 -3
- package/dist/{chunk-LONXOEZY.js → chunk-UYOQ3SEG.js} +1 -1
- package/dist/{chunk-CUAGMSSG.js → chunk-VGNLXT3A.js} +1 -1
- package/dist/{chunk-LGKLA22B.js → chunk-VSCAW4LS.js} +1 -1
- package/dist/{chunk-AMKIMOTU.js → chunk-YMJUK3V4.js} +2 -2
- package/dist/{chunk-FXEKHHEA.js → chunk-Z2SOMUZF.js} +1 -1
- package/dist/{chunk-DDX7KJAW.js → chunk-Z5Q44VXX.js} +1 -1
- package/dist/{chunk-WW65XEEE.js → chunk-ZHWBTWHS.js} +2 -2
- package/dist/index.d.ts +40 -5
- package/dist/index.js +16 -16
- package/dist/meta.js +59 -6
- package/dist/rich/ExcelUploadCard.js +3 -3
- package/dist/rich.js +5 -5
- package/dist/widgets/ApprovalLineEditor.js +7 -7
- package/dist/widgets/ApprovalOverridesEditor.js +9 -9
- package/dist/widgets/ApprovalStepper.js +2 -2
- package/dist/widgets/AutocompleteField.d.ts +29 -3
- package/dist/widgets/AutocompleteField.js +7 -7
- package/dist/widgets/ColumnBoard.js +2 -2
- package/dist/widgets/DiffView.js +2 -2
- package/dist/widgets/Disclosure.js +2 -2
- package/dist/widgets/EventCalendar.js +3 -3
- package/dist/widgets/FileDropzone.js +5 -5
- package/dist/widgets/ImageLightbox.js +3 -3
- package/dist/widgets/InlineEdit.js +2 -2
- package/dist/widgets/JsonField.js +2 -2
- package/dist/widgets/OptionSchemaEditor.js +3 -3
- package/dist/widgets/OptionValueFields.js +3 -3
- package/dist/widgets/OrgChart.js +2 -2
- package/dist/widgets/OrgChartBoard.js +5 -5
- package/dist/widgets/PeriodFilter.js +4 -4
- package/dist/widgets/PermissionMatrixEditor.js +3 -3
- package/dist/widgets/PositionSelect.js +3 -3
- package/dist/widgets/PrintSheet.js +2 -2
- package/dist/widgets/ProfileEditDiffCard.js +3 -3
- package/dist/widgets/QRDisplay.js +3 -3
- package/dist/widgets/RankBoard.js +4 -4
- package/dist/widgets/RoleMemberPicker.js +4 -4
- package/dist/widgets/SearchableMultiPicker.js +5 -5
- package/dist/widgets/SecureScreen.js +2 -2
- package/dist/widgets/StagePeriodEditor.js +4 -4
- package/dist/widgets/TagInput.js +2 -2
- package/dist/widgets/TagMultiSelect.js +3 -3
- package/dist/widgets/Timeline.js +3 -3
- package/dist/widgets/TreePicker.js +6 -6
- package/dist/widgets/TreeView.js +5 -5
- package/dist/widgets/index.js +71 -71
- package/package.json +1 -1
|
@@ -1268,6 +1268,90 @@ var ICON_NODES = {
|
|
|
1268
1268
|
{ t: "line", x1: "8", x2: "14", y1: "11", y2: "11" }
|
|
1269
1269
|
]
|
|
1270
1270
|
};
|
|
1271
|
+
|
|
1272
|
+
// src/number-text.ts
|
|
1273
|
+
function halfWidth(ch) {
|
|
1274
|
+
const code = ch.charCodeAt(0);
|
|
1275
|
+
if (code >= 65296 && code <= 65305) return String.fromCharCode(code - 65296 + 48);
|
|
1276
|
+
if (code === 65294) return ".";
|
|
1277
|
+
if (code === 65293 || code === 8722) return "-";
|
|
1278
|
+
return ch;
|
|
1279
|
+
}
|
|
1280
|
+
function sanitizeNumberText(text) {
|
|
1281
|
+
let out = "";
|
|
1282
|
+
let dot = false;
|
|
1283
|
+
for (const raw of text) {
|
|
1284
|
+
const ch = halfWidth(raw);
|
|
1285
|
+
if (ch >= "0" && ch <= "9") out += ch;
|
|
1286
|
+
else if (ch === "." && !dot) {
|
|
1287
|
+
dot = true;
|
|
1288
|
+
out += ch;
|
|
1289
|
+
} else if (ch === "-" && out === "") out += ch;
|
|
1290
|
+
}
|
|
1291
|
+
return out;
|
|
1292
|
+
}
|
|
1293
|
+
function groupNumberText(clean) {
|
|
1294
|
+
const negative = clean.startsWith("-");
|
|
1295
|
+
const body = negative ? clean.slice(1) : clean;
|
|
1296
|
+
const dotAt = body.indexOf(".");
|
|
1297
|
+
const integer = dotAt === -1 ? body : body.slice(0, dotAt);
|
|
1298
|
+
const tail = dotAt === -1 ? "" : body.slice(dotAt);
|
|
1299
|
+
return `${negative ? "-" : ""}${integer.replace(/\B(?=(\d{3})+(?!\d))/g, ",")}${tail}`;
|
|
1300
|
+
}
|
|
1301
|
+
function parseNumberText(clean) {
|
|
1302
|
+
if (!/\d/.test(clean)) return null;
|
|
1303
|
+
const n = Number(clean);
|
|
1304
|
+
if (!Number.isFinite(n)) return null;
|
|
1305
|
+
return n === 0 ? 0 : n;
|
|
1306
|
+
}
|
|
1307
|
+
function plainNumberText(value) {
|
|
1308
|
+
if (!Number.isFinite(value)) return "";
|
|
1309
|
+
const text = String(value === 0 ? 0 : value);
|
|
1310
|
+
if (!/e/i.test(text)) return text;
|
|
1311
|
+
return value.toLocaleString("en-US", { useGrouping: false, maximumFractionDigits: 20 });
|
|
1312
|
+
}
|
|
1313
|
+
function numberInputValue(value) {
|
|
1314
|
+
if (typeof value === "number") return Number.isFinite(value) ? value === 0 ? 0 : value : null;
|
|
1315
|
+
if (typeof value !== "string") return null;
|
|
1316
|
+
const plain = value.replace(/,/g, "").trim();
|
|
1317
|
+
if (/^[+-]?(\d+(\.\d*)?|\.\d+)$/.test(plain)) return parseNumberText(plain.replace(/^\+/, ""));
|
|
1318
|
+
return parseNumberText(sanitizeNumberText(value));
|
|
1319
|
+
}
|
|
1320
|
+
function formatNumberInputValue(value) {
|
|
1321
|
+
const n = numberInputValue(value);
|
|
1322
|
+
return n === null ? "" : groupNumberText(plainNumberText(n));
|
|
1323
|
+
}
|
|
1324
|
+
function significantBefore(text, caret) {
|
|
1325
|
+
return sanitizeNumberText(text.slice(0, Math.max(0, caret))).length;
|
|
1326
|
+
}
|
|
1327
|
+
function caretAfterSignificant(formatted, count) {
|
|
1328
|
+
if (count <= 0) return 0;
|
|
1329
|
+
let seen = 0;
|
|
1330
|
+
for (let i = 0; i < formatted.length; i += 1) {
|
|
1331
|
+
if (formatted[i] === ",") continue;
|
|
1332
|
+
seen += 1;
|
|
1333
|
+
if (seen === count) return i + 1;
|
|
1334
|
+
}
|
|
1335
|
+
return formatted.length;
|
|
1336
|
+
}
|
|
1337
|
+
function editNumberText(raw, caret, previous, inputType) {
|
|
1338
|
+
let source = raw;
|
|
1339
|
+
let at = Math.max(0, Math.min(caret, raw.length));
|
|
1340
|
+
if (previous !== void 0 && raw.length === previous.length - 1 && previous[at] === "," && raw === previous.slice(0, at) + previous.slice(at + 1)) {
|
|
1341
|
+
if (inputType === "deleteContentForward") {
|
|
1342
|
+
source = previous.slice(0, at + 1) + previous.slice(at + 2);
|
|
1343
|
+
} else if (at > 0) {
|
|
1344
|
+
source = previous.slice(0, at - 1) + previous.slice(at);
|
|
1345
|
+
at -= 1;
|
|
1346
|
+
}
|
|
1347
|
+
}
|
|
1348
|
+
const clean = sanitizeNumberText(source);
|
|
1349
|
+
const text = groupNumberText(clean);
|
|
1350
|
+
return { text, caret: caretAfterSignificant(text, significantBefore(source, at)), value: parseNumberText(clean) };
|
|
1351
|
+
}
|
|
1352
|
+
function sameNumberValue(a, b) {
|
|
1353
|
+
return a === b;
|
|
1354
|
+
}
|
|
1271
1355
|
function asArray(value) {
|
|
1272
1356
|
return Array.isArray(value) ? value : [];
|
|
1273
1357
|
}
|
|
@@ -1367,23 +1451,139 @@ function IconButton({
|
|
|
1367
1451
|
}
|
|
1368
1452
|
);
|
|
1369
1453
|
}
|
|
1370
|
-
function
|
|
1454
|
+
function unitPaddingRight(unit) {
|
|
1455
|
+
let width = 0;
|
|
1456
|
+
for (const ch of unit) {
|
|
1457
|
+
if (/[\u1100-\u11ff\u3000-\u9fff\uac00-\ud7af\uff00-\uffef]/.test(ch)) width += 12;
|
|
1458
|
+
else if (/[A-Z%@#&WM]/.test(ch)) width += 9;
|
|
1459
|
+
else if (ch === " ") width += 3.5;
|
|
1460
|
+
else width += 7;
|
|
1461
|
+
}
|
|
1462
|
+
return `${Math.ceil(width + 18)}px`;
|
|
1463
|
+
}
|
|
1464
|
+
function Input(props) {
|
|
1465
|
+
const {
|
|
1466
|
+
size = "md",
|
|
1467
|
+
icon,
|
|
1468
|
+
invalid = false,
|
|
1469
|
+
mono = false,
|
|
1470
|
+
trailing,
|
|
1471
|
+
unit,
|
|
1472
|
+
thousands,
|
|
1473
|
+
className = "",
|
|
1474
|
+
style,
|
|
1475
|
+
...rest
|
|
1476
|
+
} = props;
|
|
1371
1477
|
const classes = ["wp-input"];
|
|
1372
1478
|
if (size !== "md") classes.push(`wp-input--${size}`);
|
|
1373
1479
|
if (invalid) classes.push("wp-input--invalid");
|
|
1374
1480
|
if (mono) classes.push("wp-input--mono");
|
|
1375
1481
|
if (className) classes.push(className);
|
|
1376
|
-
const
|
|
1377
|
-
if (
|
|
1482
|
+
const unitText = unit === void 0 || unit === null || String(unit) === "" ? void 0 : String(unit);
|
|
1483
|
+
if (unitText !== void 0 && trailing) {
|
|
1484
|
+
warnOnce("input:unit+trailing", "[sdui] Input: unit \uACFC trailing \uC744 \uD568\uAED8 \uC8FC\uBA74 unit \uB9CC \uADF8\uB9BD\uB2C8\uB2E4");
|
|
1485
|
+
}
|
|
1486
|
+
const inputStyle = unitText !== void 0 ? { paddingRight: unitPaddingRight(unitText), ...style } : style;
|
|
1487
|
+
const input = thousands ? /* @__PURE__ */ jsx(
|
|
1488
|
+
ThousandsInput,
|
|
1489
|
+
{
|
|
1490
|
+
className: classes.join(" "),
|
|
1491
|
+
"aria-invalid": invalid || void 0,
|
|
1492
|
+
style: inputStyle,
|
|
1493
|
+
...rest
|
|
1494
|
+
}
|
|
1495
|
+
) : /* @__PURE__ */ jsx(
|
|
1496
|
+
"input",
|
|
1497
|
+
{
|
|
1498
|
+
className: classes.join(" "),
|
|
1499
|
+
"aria-invalid": invalid || void 0,
|
|
1500
|
+
style: inputStyle,
|
|
1501
|
+
...rest
|
|
1502
|
+
}
|
|
1503
|
+
);
|
|
1504
|
+
const trail = unitText !== void 0 ? /* @__PURE__ */ jsx(
|
|
1505
|
+
"span",
|
|
1506
|
+
{
|
|
1507
|
+
className: "wp-inputwrap__trail",
|
|
1508
|
+
"data-unit": "",
|
|
1509
|
+
style: { fontSize: "var(--wp-size-xs)", color: "var(--wp-text-muted)", whiteSpace: "nowrap", lineHeight: 1 },
|
|
1510
|
+
children: unitText
|
|
1511
|
+
}
|
|
1512
|
+
) : trailing ? /* @__PURE__ */ jsx("span", { className: "wp-inputwrap__trail", children: typeof trailing === "string" ? /* @__PURE__ */ jsx(Icon, { name: trailing, size: 15 }) : trailing }) : null;
|
|
1513
|
+
if (!icon && !trail) return input;
|
|
1378
1514
|
const wrap = ["wp-inputwrap"];
|
|
1379
1515
|
if (icon) wrap.push("wp-inputwrap--lead");
|
|
1380
|
-
if (
|
|
1516
|
+
if (trail) wrap.push("wp-inputwrap--trail");
|
|
1381
1517
|
return /* @__PURE__ */ jsxs("div", { className: wrap.join(" "), children: [
|
|
1382
1518
|
icon ? /* @__PURE__ */ jsx("span", { className: "wp-inputwrap__lead", children: /* @__PURE__ */ jsx(Icon, { name: icon, size: 15 }) }) : null,
|
|
1383
1519
|
input,
|
|
1384
|
-
|
|
1520
|
+
trail
|
|
1385
1521
|
] });
|
|
1386
1522
|
}
|
|
1523
|
+
function ThousandsInput({
|
|
1524
|
+
value,
|
|
1525
|
+
defaultValue,
|
|
1526
|
+
onChange,
|
|
1527
|
+
onBlur,
|
|
1528
|
+
type: _type,
|
|
1529
|
+
min: _min,
|
|
1530
|
+
max: _max,
|
|
1531
|
+
step: _step,
|
|
1532
|
+
inputMode,
|
|
1533
|
+
autoComplete,
|
|
1534
|
+
...rest
|
|
1535
|
+
}) {
|
|
1536
|
+
const controlled = value !== void 0;
|
|
1537
|
+
const [own, setOwn] = React.useState(() => numberInputValue(defaultValue));
|
|
1538
|
+
const external = controlled ? numberInputValue(value) : own;
|
|
1539
|
+
const [draft, setDraft] = React.useState(null);
|
|
1540
|
+
const [seen, setSeen] = React.useState(external);
|
|
1541
|
+
let shown = draft;
|
|
1542
|
+
if (!sameNumberValue(seen, external)) {
|
|
1543
|
+
setSeen(external);
|
|
1544
|
+
if (draft !== null && !sameNumberValue(parseNumberText(sanitizeNumberText(draft)), external)) {
|
|
1545
|
+
setDraft(null);
|
|
1546
|
+
shown = null;
|
|
1547
|
+
}
|
|
1548
|
+
}
|
|
1549
|
+
const display = shown ?? formatNumberInputValue(controlled ? value : own);
|
|
1550
|
+
const handleChange = (event) => {
|
|
1551
|
+
const el = event.target;
|
|
1552
|
+
const inputType = event.nativeEvent.inputType;
|
|
1553
|
+
const next = editNumberText(
|
|
1554
|
+
el.value,
|
|
1555
|
+
el.selectionStart ?? el.value.length,
|
|
1556
|
+
display,
|
|
1557
|
+
typeof inputType === "string" ? inputType : void 0
|
|
1558
|
+
);
|
|
1559
|
+
if (el.value !== next.text) el.value = next.text;
|
|
1560
|
+
if (el.ownerDocument.activeElement === el) {
|
|
1561
|
+
try {
|
|
1562
|
+
el.setSelectionRange(next.caret, next.caret);
|
|
1563
|
+
} catch {
|
|
1564
|
+
}
|
|
1565
|
+
}
|
|
1566
|
+
setDraft(next.text);
|
|
1567
|
+
if (next.text === display) return;
|
|
1568
|
+
if (!controlled) setOwn(next.value);
|
|
1569
|
+
onChange?.(next.value);
|
|
1570
|
+
};
|
|
1571
|
+
return /* @__PURE__ */ jsx(
|
|
1572
|
+
"input",
|
|
1573
|
+
{
|
|
1574
|
+
...rest,
|
|
1575
|
+
type: "text",
|
|
1576
|
+
inputMode: inputMode ?? "decimal",
|
|
1577
|
+
autoComplete: autoComplete ?? "off",
|
|
1578
|
+
value: display,
|
|
1579
|
+
onChange: handleChange,
|
|
1580
|
+
onBlur: (event) => {
|
|
1581
|
+
setDraft(null);
|
|
1582
|
+
onBlur?.(event);
|
|
1583
|
+
}
|
|
1584
|
+
}
|
|
1585
|
+
);
|
|
1586
|
+
}
|
|
1387
1587
|
function Textarea({ invalid = false, rows = 3, className = "", ...rest }) {
|
|
1388
1588
|
return /* @__PURE__ */ jsx(
|
|
1389
1589
|
"textarea",
|
|
@@ -2039,4 +2239,4 @@ function Tooltip({ label, shortcut, placement = "top", wrap = false, children, c
|
|
|
2039
2239
|
);
|
|
2040
2240
|
}
|
|
2041
2241
|
|
|
2042
|
-
export { Alert, Avatar, Badge, Breadcrumb, Button, CALC_OPS, Card, Checkbox, Dialog, EmptyState, Field, ICON_NODES, Icon, IconButton, Input, Pagination, ProgressBar, Radio, SegmentedControl, Select, SidebarNav, Spinner, StatCard, Switch, Table, Tabs, Tag, Textarea, Toast, Tooltip, evaluateCalc, fieldOf, formatDateValue, formatDisplayValue, formatNumberValue, isPlainObject, isZonedIsoDateTime, parseNumeric, toNumber, warnOnce };
|
|
2242
|
+
export { Alert, Avatar, Badge, Breadcrumb, Button, CALC_OPS, Card, Checkbox, Dialog, EmptyState, Field, ICON_NODES, Icon, IconButton, Input, Pagination, ProgressBar, Radio, SegmentedControl, Select, SidebarNav, Spinner, StatCard, Switch, Table, Tabs, Tag, Textarea, Toast, Tooltip, evaluateCalc, fieldOf, formatDateValue, formatDisplayValue, formatNumberValue, isPlainObject, isZonedIsoDateTime, parseNumeric, plainNumberText, toNumber, warnOnce };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { orderCircleStyle, ellipsisStyle, unwrapRows, uid } from './chunk-
|
|
2
|
-
import { includesLooseSearch } from './chunk-
|
|
3
|
-
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-
|
|
4
|
-
import { Icon, Badge, IconButton, Field, Select, Input, Tag, Spinner, Button, isPlainObject } from './chunk-
|
|
1
|
+
import { orderCircleStyle, ellipsisStyle, unwrapRows, uid } from './chunk-A2PG44CM.js';
|
|
2
|
+
import { includesLooseSearch } from './chunk-MIFCOTLQ.js';
|
|
3
|
+
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-RMYGRGKS.js';
|
|
4
|
+
import { Icon, Badge, IconButton, Field, Select, Input, Tag, Spinner, Button, isPlainObject } from './chunk-NKRZVRGH.js';
|
|
5
5
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
6
6
|
import React, { useState, useId, useRef, useEffect } from 'react';
|
|
7
7
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OverlayLayer } from './chunk-R2ORCOTG.js';
|
|
2
|
-
import { Dialog, Button, warnOnce } from './chunk-
|
|
2
|
+
import { Dialog, Button, warnOnce } from './chunk-NKRZVRGH.js';
|
|
3
3
|
import { createContext, useContext, useMemo, useRef, useCallback, useState } from 'react';
|
|
4
4
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { includesLooseSearch } from './chunk-
|
|
1
|
+
import { includesLooseSearch } from './chunk-MIFCOTLQ.js';
|
|
2
2
|
import { OverlayLayer } from './chunk-R2ORCOTG.js';
|
|
3
|
-
import { Button, Dialog, Input, Tag, Checkbox } from './chunk-
|
|
3
|
+
import { Button, Dialog, Input, Tag, Checkbox } from './chunk-NKRZVRGH.js';
|
|
4
4
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
5
5
|
import React, { useMemo, useState } from 'react';
|
|
6
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Textarea, Icon } from './chunk-
|
|
1
|
+
import { Textarea, Icon } from './chunk-NKRZVRGH.js';
|
|
2
2
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
3
3
|
import { useState, useRef, useId, useEffect, useCallback } from 'react';
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { parseJobPositionRow } from './chunk-XRHR452N.js';
|
|
2
2
|
import { MIN_ZOOM, usePanZoomCanvas } from './chunk-XDR6HC4U.js';
|
|
3
|
-
import { ImageLightbox } from './chunk-
|
|
4
|
-
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-
|
|
3
|
+
import { ImageLightbox } from './chunk-5NDYDUMJ.js';
|
|
4
|
+
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-RMYGRGKS.js';
|
|
5
5
|
import { useIsTabletDown } from './chunk-TAVKGYH5.js';
|
|
6
|
-
import { warnOnce, Badge, Button, IconButton, Icon } from './chunk-
|
|
6
|
+
import { warnOnce, Badge, Button, IconButton, Icon } from './chunk-NKRZVRGH.js';
|
|
7
7
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
8
8
|
import { useState, useMemo, useRef, useCallback, useEffect, useLayoutEffect } from 'react';
|
|
9
9
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Badge, Checkbox, IconButton, Icon } from './chunk-
|
|
1
|
+
import { Badge, Checkbox, IconButton, Icon } from './chunk-NKRZVRGH.js';
|
|
2
2
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
3
3
|
import { useState, useEffect } from 'react';
|
|
4
4
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Text } from './chunk-
|
|
2
|
-
import { Field, Input, Select, IconButton, Button } from './chunk-
|
|
1
|
+
import { Text } from './chunk-CZMSQ3B3.js';
|
|
2
|
+
import { Field, Input, Select, IconButton, Button } from './chunk-NKRZVRGH.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IconButton, Input } from './chunk-
|
|
1
|
+
import { IconButton, Input } from './chunk-NKRZVRGH.js';
|
|
2
2
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
3
3
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-
|
|
2
|
-
import { Spinner, Badge, Icon } from './chunk-
|
|
1
|
+
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-RMYGRGKS.js';
|
|
2
|
+
import { Spinner, Badge, Icon } from './chunk-NKRZVRGH.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import { useState, useEffect } from 'react';
|
|
5
5
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
package/dist/index.d.ts
CHANGED
|
@@ -351,7 +351,7 @@ interface IconButtonProps extends React__default.ButtonHTMLAttributes<HTMLButton
|
|
|
351
351
|
disabled?: boolean;
|
|
352
352
|
}
|
|
353
353
|
declare function IconButton({ icon, label, size, tone, variant, pressed, disabled, className, type, ...rest }: IconButtonProps): React__default.JSX.Element;
|
|
354
|
-
interface
|
|
354
|
+
interface InputBaseProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size' | 'onChange'> {
|
|
355
355
|
/** sm 28 · md 32(기본) · lg 40 px */
|
|
356
356
|
size?: 'sm' | 'md' | 'lg';
|
|
357
357
|
/** 선행 아이콘 이름 (예: "search") */
|
|
@@ -364,12 +364,47 @@ interface InputProps extends Omit<React__default.InputHTMLAttributes<HTMLInputEl
|
|
|
364
364
|
* 입력 오른쪽 끝에 겹쳐 그리는 후행 표시.
|
|
365
365
|
*
|
|
366
366
|
* **문자열은 아이콘 이름으로 읽는다** — `trailing="eye"`(비밀번호 보기)가 원래 용례다.
|
|
367
|
-
* 등록되지 않은 이름이면 Icon이 null을 내므로 자리만 남는다. 단위 글자("원", "mm")
|
|
368
|
-
*
|
|
367
|
+
* 등록되지 않은 이름이면 Icon이 null을 내므로 자리만 남는다. 단위 글자("원", "mm")는
|
|
368
|
+
* `unit` 으로 준다(1.9.0) — 스펙은 노드를 넘길 수 없으니 그쪽이 유일한 글자 통로다.
|
|
369
|
+
* `unit` 과 함께 오면 `unit` 이 자리를 차지하고 이쪽은 무시된다(경고 한 번).
|
|
369
370
|
*/
|
|
370
371
|
trailing?: React__default.ReactNode;
|
|
372
|
+
/**
|
|
373
|
+
* 입력 오른쪽 끝의 **글자** 단위 — "원", "%", "km"(1.9.0).
|
|
374
|
+
*
|
|
375
|
+
* `trailing` 은 문자열을 아이콘 이름으로 읽어서 `trailing:"원"` 이라 쓴 스펙은 아무것도 그리지 않았다.
|
|
376
|
+
* 같은 `.wp-inputwrap__trail` 자리에 글자로 그리고, 값이 단위 밑으로 들어가지 않게 입력의 오른쪽 안쪽
|
|
377
|
+
* 여백을 단위 길이만큼 인라인으로 준다(스펙의 `style.paddingRight` 가 있으면 그쪽이 이긴다).
|
|
378
|
+
* 새 CSS 클래스를 쓰지 않는다 — 자체 미러 CSS 를 둔 소비 앱(ERP)도 옮길 규칙이 없다.
|
|
379
|
+
*/
|
|
380
|
+
unit?: string;
|
|
381
|
+
}
|
|
382
|
+
/** `thousands` 를 켜지 않은 칸 — onChange 는 예전 그대로 DOM 이벤트를 받는다. */
|
|
383
|
+
interface InputTextProps extends InputBaseProps {
|
|
384
|
+
thousands?: false;
|
|
385
|
+
onChange?: React__default.ChangeEventHandler<HTMLInputElement>;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* `thousands` 칸 — 3자리마다 쉼표를 그어 보이고, onChange 는 **이벤트가 아니라 값**을 받는다:
|
|
389
|
+
* 숫자, 또는 비었거나 미완성(`-`)이면 null. 렌더러의 `fromEvent`·`{"$event":true}` 는 이벤트가 아닌 인자를
|
|
390
|
+
* 그대로 넘기므로(SduiRenderer `eventValue`) 스펙은 그대로 숫자를 받는다.
|
|
391
|
+
*/
|
|
392
|
+
interface InputThousandsProps extends InputBaseProps {
|
|
393
|
+
/**
|
|
394
|
+
* 3자리마다 쉼표(1.9.0). 켜면 `type` 과 무관하게 `<input type="text" inputMode="decimal">` 로 그린다
|
|
395
|
+
* (number 칸은 쉼표를 값으로 받지 못한다 — number-text.ts 머리 주석). `min`·`max`·`step` 은 글자 칸에서
|
|
396
|
+
* 뜻이 없어 DOM 에 내리지 않는다. 소수는 그대로 받는다(반올림하지 않는다).
|
|
397
|
+
*/
|
|
398
|
+
thousands: true;
|
|
399
|
+
onChange?: (value: number | null) => void;
|
|
371
400
|
}
|
|
372
|
-
|
|
401
|
+
/**
|
|
402
|
+
* 판별 합집합으로 둔 까닭: onChange 의 인자가 `thousands` 에 따라 다르다. 하나의 함수 합집합으로 두면
|
|
403
|
+
* `onChange={(e) => …}` 처럼 타입을 안 적은 기존 호출부(편집기에 여럿)가 매개변수 타입을 잃는다 —
|
|
404
|
+
* `thousands` 가 없거나 false 면 예전 타입으로 좁혀진다.
|
|
405
|
+
*/
|
|
406
|
+
type InputProps = InputTextProps | InputThousandsProps;
|
|
407
|
+
declare function Input(props: InputProps): React__default.JSX.Element;
|
|
373
408
|
interface TextareaProps extends React__default.TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
374
409
|
invalid?: boolean;
|
|
375
410
|
rows?: number;
|
|
@@ -2540,4 +2575,4 @@ interface ImageViewerProps {
|
|
|
2540
2575
|
*/
|
|
2541
2576
|
declare function ImageViewer({ src, alt, open, onClose }: ImageViewerProps): React__default.ReactPortal | null;
|
|
2542
2577
|
|
|
2543
|
-
export { Actions, type ActionsProps, Alert, type AlertProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BadgeTone, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, type ButtonProps, CALC_OPS, Can, type CanProps, Card, type CardProps, type CascadingSearchOption, Checkbox, type CheckboxProps, Col, type ColProps, type CustomActionHandler, type CustomValidator, DatePickerProps, DateRangePickerProps, Dialog, type DialogProps, Divider, EmptyState, type EmptyStateProps, Field, type FieldProps, Grid, type GridCardConfig, type GridCardRow, type GridProps, ICON_NAMES, Icon, IconButton, type IconButtonProps, type IconProps, ImageViewer, type ImageViewerProps, Input, type InputProps, type Justify, type KeyValueItem, KeyValueList, type KeyValueListProps, MOBILE_MEDIA_QUERY, type MeterTone, NodeErrorBoundary, ORDER_PARAM, OverlayContainerContext, OverlayLayer, PageHead, type PageHeadProps, Pagination, type PaginationProps, ProgressBar, type ProgressBarProps, Radio, type RadioProps, type RemotePageState, RemoteSearchResults, type RemoteSearchResultsProps, type RemoteSummaryState, type ResolvedPatternSpec, ResultEmptyState, type ResultEmptyStateProps, ResultTable, type ResultTableColumn, type ResultTableProps, Row, type RowProps, SORT_PARAM, SduiAction, type SduiAdapter, type SduiAssetContext, type SduiAssetResolver, type SduiBadgeCell, SduiBoxProps, type SduiCanFn, type SduiCanQuery, type SduiCanSetting, type SduiCell, SduiColumnsScale, SduiContainerLayoutProps, type SduiContainerRoleProps, type SduiDateCell, type SduiDateFormat, SduiDialog, type SduiDispatch, type SduiDisplayFormat, SduiForm, type SduiFormConfig, type SduiFormProps, SduiGapScale, type SduiGridCard, type SduiGridCardAction, type SduiGridCardRow, type SduiIconCell, type SduiImageCell, type SduiLinkCell, type SduiNumberCell, SduiPage, SduiPermissionProvider, type SduiProgressCell, SduiPropValue, type SduiRegistry, SduiRenderer, type SduiRendererProps, type SduiRowCondition, SduiRule, type SduiRuntime, type SduiSearchAction, type SduiSearchColumn, SduiSearchDataProvider, SduiSearchInvalidationProvider, SduiSearchResults, type SduiSearchResultsProps, type SduiSearchSummary, type SduiSearchSummaryItem, type SduiTagCell, SduiTextAlignScale, type SduiTextCell, type SduiUseSpec, SduiWeightScale, type SearchAction, type SearchColumn, type SearchFetcher, type SearchField, type SearchFilter, type SearchInvalidator, type SearchOption, type SearchPage, SearchResults, type SearchResultsProps, type SearchRow, SearchSummaryCards, type SearchSummaryCardsProps, type SearchTabs, SearchToolbar, type SearchValues, type SearchViewItem, Section, type SectionProps, SegmentedControl, type SegmentedControlProps, type SegmentedItem, Select, type SelectOption, type SelectOptionRecord, type SelectProps, type ServerSortMemory, type ServerUnsortable, Show, type ShowProps, SidebarNav, type SidebarNavItem, type SidebarNavProps, type SidebarNavSection, type SortDir, type SortEcho, SortHandle, type SortHandleProps, type SortState, SortableList, type SortableListProps, Spacer, type SpacerProps, type SpecIdCandidate, type SpecIssue, Spinner, type SpinnerProps, StatCard, type StatCardProps, Switch, type SwitchProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Tag, type TagProps, Text, type TextPreset, type TextProps, Textarea, type TextareaProps, TimePickerProps, Toast, type ToastProps, Tooltip, type TooltipProps, boxed, cascadingValuePaths, cellRenderer, cleanSearchValues, conditionParams, createRegistry, createSearchInvalidator, createServerSortMemory, defaultAdapter, defaultRegistry, formatDateValue, formatDisplayValue, formatNumberValue, getOverlayRoot, imageRenderer, includesLooseSearch, isValidSpecId, isZonedIsoDateTime, joinMultiValue, loadOptionalModule, mapActions, mapCardRows, mapColumns, mapGridCard, mapViews, matchesCondition, nextSort, normalizePageSizes, normalizeSearchText, parseNumeric, patternSpecCandidates, resolvePatternSpec, searchFieldKeys, searchValuesFromParams, serverSortMemory, sortEchoOf, sortFromParams, sortableDropIndex, sortableMove, splitMultiValue, summaryParams, useAnyModalOpen, useIsMobile, useOverlayLayer, useRemoteSearchPage, useRemoteSearchSummary, useSduiAssetResolver, useSduiCan, useSduiDispatch, useSduiRuntime, useSduiSandbox, useSearchFetcher, validateSpec, withProps, withoutSort };
|
|
2578
|
+
export { Actions, type ActionsProps, Alert, type AlertProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BadgeTone, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, type ButtonProps, CALC_OPS, Can, type CanProps, Card, type CardProps, type CascadingSearchOption, Checkbox, type CheckboxProps, Col, type ColProps, type CustomActionHandler, type CustomValidator, DatePickerProps, DateRangePickerProps, Dialog, type DialogProps, Divider, EmptyState, type EmptyStateProps, Field, type FieldProps, Grid, type GridCardConfig, type GridCardRow, type GridProps, ICON_NAMES, Icon, IconButton, type IconButtonProps, type IconProps, ImageViewer, type ImageViewerProps, Input, type InputBaseProps, type InputProps, type InputTextProps, type InputThousandsProps, type Justify, type KeyValueItem, KeyValueList, type KeyValueListProps, MOBILE_MEDIA_QUERY, type MeterTone, NodeErrorBoundary, ORDER_PARAM, OverlayContainerContext, OverlayLayer, PageHead, type PageHeadProps, Pagination, type PaginationProps, ProgressBar, type ProgressBarProps, Radio, type RadioProps, type RemotePageState, RemoteSearchResults, type RemoteSearchResultsProps, type RemoteSummaryState, type ResolvedPatternSpec, ResultEmptyState, type ResultEmptyStateProps, ResultTable, type ResultTableColumn, type ResultTableProps, Row, type RowProps, SORT_PARAM, SduiAction, type SduiAdapter, type SduiAssetContext, type SduiAssetResolver, type SduiBadgeCell, SduiBoxProps, type SduiCanFn, type SduiCanQuery, type SduiCanSetting, type SduiCell, SduiColumnsScale, SduiContainerLayoutProps, type SduiContainerRoleProps, type SduiDateCell, type SduiDateFormat, SduiDialog, type SduiDispatch, type SduiDisplayFormat, SduiForm, type SduiFormConfig, type SduiFormProps, SduiGapScale, type SduiGridCard, type SduiGridCardAction, type SduiGridCardRow, type SduiIconCell, type SduiImageCell, type SduiLinkCell, type SduiNumberCell, SduiPage, SduiPermissionProvider, type SduiProgressCell, SduiPropValue, type SduiRegistry, SduiRenderer, type SduiRendererProps, type SduiRowCondition, SduiRule, type SduiRuntime, type SduiSearchAction, type SduiSearchColumn, SduiSearchDataProvider, SduiSearchInvalidationProvider, SduiSearchResults, type SduiSearchResultsProps, type SduiSearchSummary, type SduiSearchSummaryItem, type SduiTagCell, SduiTextAlignScale, type SduiTextCell, type SduiUseSpec, SduiWeightScale, type SearchAction, type SearchColumn, type SearchFetcher, type SearchField, type SearchFilter, type SearchInvalidator, type SearchOption, type SearchPage, SearchResults, type SearchResultsProps, type SearchRow, SearchSummaryCards, type SearchSummaryCardsProps, type SearchTabs, SearchToolbar, type SearchValues, type SearchViewItem, Section, type SectionProps, SegmentedControl, type SegmentedControlProps, type SegmentedItem, Select, type SelectOption, type SelectOptionRecord, type SelectProps, type ServerSortMemory, type ServerUnsortable, Show, type ShowProps, SidebarNav, type SidebarNavItem, type SidebarNavProps, type SidebarNavSection, type SortDir, type SortEcho, SortHandle, type SortHandleProps, type SortState, SortableList, type SortableListProps, Spacer, type SpacerProps, type SpecIdCandidate, type SpecIssue, Spinner, type SpinnerProps, StatCard, type StatCardProps, Switch, type SwitchProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Tag, type TagProps, Text, type TextPreset, type TextProps, Textarea, type TextareaProps, TimePickerProps, Toast, type ToastProps, Tooltip, type TooltipProps, boxed, cascadingValuePaths, cellRenderer, cleanSearchValues, conditionParams, createRegistry, createSearchInvalidator, createServerSortMemory, defaultAdapter, defaultRegistry, formatDateValue, formatDisplayValue, formatNumberValue, getOverlayRoot, imageRenderer, includesLooseSearch, isValidSpecId, isZonedIsoDateTime, joinMultiValue, loadOptionalModule, mapActions, mapCardRows, mapColumns, mapGridCard, mapViews, matchesCondition, nextSort, normalizePageSizes, normalizeSearchText, parseNumeric, patternSpecCandidates, resolvePatternSpec, searchFieldKeys, searchValuesFromParams, serverSortMemory, sortEchoOf, sortFromParams, sortableDropIndex, sortableMove, splitMultiValue, summaryParams, useAnyModalOpen, useIsMobile, useOverlayLayer, useRemoteSearchPage, useRemoteSearchSummary, useSduiAssetResolver, useSduiCan, useSduiDispatch, useSduiRuntime, useSduiSandbox, useSearchFetcher, validateSpec, withProps, withoutSort };
|
package/dist/index.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export { loadOptionalModule } from './chunk-
|
|
2
|
-
import { useSduiDispatch, SduiDialog, useSduiCan, useSduiRuntime, SduiDirtyRegistryContext, SduiLeaveRegistryContext, SduiFormScopeContext, SduiDispatchContext, SduiRuntimeContext, SduiPermissionProvider } from './chunk-
|
|
3
|
-
export { SduiDialog, SduiPermissionProvider, useSduiCan, useSduiDispatch, useSduiRuntime } from './chunk-
|
|
4
|
-
import { Text, Spacer, Show, Section, Row, PageHead, KeyValueList, Grid, Divider, Col, Actions } from './chunk-
|
|
5
|
-
export { Actions, Col, Divider, Grid, KeyValueList, PageHead, Row, Section, Show, Spacer, Text } from './chunk-
|
|
6
|
-
import { ImageViewer } from './chunk-
|
|
7
|
-
export { ImageViewer } from './chunk-
|
|
8
|
-
import { normalizeSearchFields, searchValuesFromParams, splitMultiValue, includesLooseSearch, cascadingValuePaths, SearchToolbar, searchFieldKeys, Popover } from './chunk-
|
|
9
|
-
export { SearchToolbar, cascadingValuePaths, cleanSearchValues, includesLooseSearch, joinMultiValue, normalizeSearchText, searchFieldKeys, searchValuesFromParams, splitMultiValue } from './chunk-
|
|
10
|
-
import { parseYmd, YMD_RE, TimePicker, DateRangePicker, DatePicker } from './chunk-
|
|
11
|
-
export { DatePicker, DateRangePicker, TimePicker } from './chunk-
|
|
12
|
-
import './chunk-
|
|
1
|
+
export { loadOptionalModule } from './chunk-GUXKGL76.js';
|
|
2
|
+
import { useSduiDispatch, SduiDialog, useSduiCan, useSduiRuntime, SduiDirtyRegistryContext, SduiLeaveRegistryContext, SduiFormScopeContext, SduiDispatchContext, SduiRuntimeContext, SduiPermissionProvider } from './chunk-RT2I2U45.js';
|
|
3
|
+
export { SduiDialog, SduiPermissionProvider, useSduiCan, useSduiDispatch, useSduiRuntime } from './chunk-RT2I2U45.js';
|
|
4
|
+
import { Text, Spacer, Show, Section, Row, PageHead, KeyValueList, Grid, Divider, Col, Actions } from './chunk-CZMSQ3B3.js';
|
|
5
|
+
export { Actions, Col, Divider, Grid, KeyValueList, PageHead, Row, Section, Show, Spacer, Text } from './chunk-CZMSQ3B3.js';
|
|
6
|
+
import { ImageViewer } from './chunk-3LPLTD66.js';
|
|
7
|
+
export { ImageViewer } from './chunk-3LPLTD66.js';
|
|
8
|
+
import { normalizeSearchFields, searchValuesFromParams, splitMultiValue, includesLooseSearch, cascadingValuePaths, SearchToolbar, searchFieldKeys, Popover } from './chunk-MIFCOTLQ.js';
|
|
9
|
+
export { SearchToolbar, cascadingValuePaths, cleanSearchValues, includesLooseSearch, joinMultiValue, normalizeSearchText, searchFieldKeys, searchValuesFromParams, splitMultiValue } from './chunk-MIFCOTLQ.js';
|
|
10
|
+
import { parseYmd, YMD_RE, TimePicker, DateRangePicker, DatePicker } from './chunk-LDIEWJNP.js';
|
|
11
|
+
export { DatePicker, DateRangePicker, TimePicker } from './chunk-LDIEWJNP.js';
|
|
12
|
+
import './chunk-FR7S52ZL.js';
|
|
13
13
|
import { OverlayContainerContext, OverlayLayer, useAnyModalOpen } from './chunk-R2ORCOTG.js';
|
|
14
14
|
export { OverlayContainerContext, OverlayLayer, getOverlayRoot, useAnyModalOpen, useOverlayLayer } from './chunk-R2ORCOTG.js';
|
|
15
15
|
import { HoistedStyle } from './chunk-RIZRM7OO.js';
|
|
16
|
-
import { useSduiAdapter, hostFetchOf, isSafeNavigationTarget, useSduiSandbox, resolveAdapter, assetResolverOf, SduiAdapterContext } from './chunk-
|
|
17
|
-
export { defaultAdapter, useSduiAssetResolver, useSduiSandbox } from './chunk-
|
|
16
|
+
import { useSduiAdapter, hostFetchOf, isSafeNavigationTarget, useSduiSandbox, resolveAdapter, assetResolverOf, SduiAdapterContext } from './chunk-RMYGRGKS.js';
|
|
17
|
+
export { defaultAdapter, useSduiAssetResolver, useSduiSandbox } from './chunk-RMYGRGKS.js';
|
|
18
18
|
import { DEV, useIsMobile } from './chunk-TAVKGYH5.js';
|
|
19
19
|
export { MOBILE_MEDIA_QUERY, useIsMobile } from './chunk-TAVKGYH5.js';
|
|
20
|
-
import { EmptyState, Button, Checkbox, Select, Tabs, SegmentedControl, Spinner, Pagination, fieldOf, StatCard, isZonedIsoDateTime, formatDateValue, Icon, Card, Badge, ProgressBar, Tag, Toast, Textarea, Table, Switch, Input, IconButton, Field, Alert, warnOnce, isPlainObject, CALC_OPS, evaluateCalc, Dialog, ICON_NODES, toNumber } from './chunk-
|
|
21
|
-
export { Alert, Avatar, Badge, Breadcrumb, Button, CALC_OPS, Card, Checkbox, Dialog, EmptyState, Field, Icon, IconButton, Input, Pagination, ProgressBar, Radio, SegmentedControl, Select, SidebarNav, Spinner, StatCard, Switch, Table, Tabs, Tag, Textarea, Toast, Tooltip, formatDateValue, formatDisplayValue, formatNumberValue, isZonedIsoDateTime, parseNumeric } from './chunk-
|
|
20
|
+
import { EmptyState, Button, Checkbox, Select, Tabs, SegmentedControl, Spinner, Pagination, fieldOf, StatCard, isZonedIsoDateTime, formatDateValue, Icon, Card, Badge, ProgressBar, Tag, Toast, Textarea, Table, Switch, Input, IconButton, Field, Alert, warnOnce, isPlainObject, CALC_OPS, evaluateCalc, Dialog, ICON_NODES, toNumber } from './chunk-NKRZVRGH.js';
|
|
21
|
+
export { Alert, Avatar, Badge, Breadcrumb, Button, CALC_OPS, Card, Checkbox, Dialog, EmptyState, Field, Icon, IconButton, Input, Pagination, ProgressBar, Radio, SegmentedControl, Select, SidebarNav, Spinner, StatCard, Switch, Table, Tabs, Tag, Textarea, Toast, Tooltip, formatDateValue, formatDisplayValue, formatNumberValue, isZonedIsoDateTime, parseNumeric } from './chunk-NKRZVRGH.js';
|
|
22
22
|
import { boxed, LAYOUT_CSS, childLayoutFrom, CHILD_LAYOUT_PROPS } from './chunk-3JTBOABA.js';
|
|
23
23
|
export { CHILD_LAYOUT_PROPS, LAYOUT_CSS, boxed, childLayoutFrom, columnsClass, containerLayoutStyle, joinClass, mergeStyle, typographyStyle } from './chunk-3JTBOABA.js';
|
|
24
24
|
import React9, { createContext, useState, useMemo, useEffect, useRef, useContext, useCallback, useSyncExternalStore } from 'react';
|
package/dist/meta.js
CHANGED
|
@@ -1414,15 +1414,37 @@ var InputMeta = {
|
|
|
1414
1414
|
icon: "pencil",
|
|
1415
1415
|
description: "\uD55C \uC904 \uC785\uB825. \uB098\uBA38\uC9C0 \uD504\uB86D\uC740 <input>\uC5D0 \uADF8\uB300\uB85C \uC804\uB2EC\uB41C\uB2E4.",
|
|
1416
1416
|
props: [
|
|
1417
|
-
{
|
|
1417
|
+
{
|
|
1418
|
+
name: "value",
|
|
1419
|
+
kind: "string",
|
|
1420
|
+
label: "\uAC12",
|
|
1421
|
+
bindable: true,
|
|
1422
|
+
description: "thousands \uCE78\uC740 \uC22B\uC790\xB7\uC22B\uC790 \uAE00\uC790\uB97C \uBC1B\uC544 \uC27C\uD45C\uB97C \uADF8\uC5B4 \uBCF4\uC778\uB2E4.",
|
|
1423
|
+
group: "data"
|
|
1424
|
+
},
|
|
1418
1425
|
{
|
|
1419
1426
|
name: "onChange",
|
|
1420
1427
|
kind: "action",
|
|
1421
1428
|
label: "\uBCC0\uACBD",
|
|
1422
|
-
eventArg:
|
|
1429
|
+
eventArg: '\uC785\uB825 \uAC12(\uBB38\uC790\uC5F4). type=number \uBA74 \uC22B\uC790(\uBE44\uC6B0\uBA74 null), thousands \uBA74 \uC22B\uC790(\uBE44\uC5C8\uAC70\uB098 "-" \uCC98\uB7FC \uBBF8\uC644\uC131\uC774\uBA74 null)',
|
|
1423
1430
|
description: '{ "action": "setState", "key": "\uD3FCid.\uD544\uB4DC", "fromEvent": true }',
|
|
1424
1431
|
group: "behavior"
|
|
1425
1432
|
},
|
|
1433
|
+
{
|
|
1434
|
+
name: "thousands",
|
|
1435
|
+
kind: "boolean",
|
|
1436
|
+
label: "\uCC9C \uB2E8\uC704 \uC27C\uD45C",
|
|
1437
|
+
default: false,
|
|
1438
|
+
description: '3\uC790\uB9AC\uB9C8\uB2E4 \uC27C\uD45C\uB97C \uADF8\uC5B4 \uBCF4\uC778\uB2E4(1,234,567.5). type \uACFC \uBB34\uAD00\uD558\uAC8C \uAE00\uC790 \uCE78(inputMode=decimal)\uC73C\uB85C \uADF8\uB9AC\uACE0, onChange \uAC12\uC740 \uC22B\uC790(\uBE44\uC6B0\uBA74 null) \u2014 \uC27C\uD45C\uB294 \uD654\uBA74\uC5D0\uB9CC \uC788\uB2E4. \uBD99\uC5EC\uB123\uC740 "1,234\uC6D0" \uC740 1234. \uC18C\uC218\uB294 \uBC18\uC62C\uB9BC\uD558\uC9C0 \uC54A\uB294\uB2E4. min\xB7max\xB7step \uC740 \uC774 \uCE78\uC5D0\uC11C \uC4F0\uC9C0 \uC54A\uB294\uB2E4.',
|
|
1439
|
+
group: "behavior"
|
|
1440
|
+
},
|
|
1441
|
+
{
|
|
1442
|
+
name: "unit",
|
|
1443
|
+
kind: "string",
|
|
1444
|
+
label: "\uB2E8\uC704",
|
|
1445
|
+
description: '\uC785\uB825 \uC624\uB978\uCABD \uB05D\uC5D0 \uBD99\uB294 \uAE00\uC790 \uB2E8\uC704 \u2014 "\uC6D0", "%", "km". trailing \uACFC \uD568\uAED8 \uC8FC\uBA74 unit \uB9CC \uADF8\uB9B0\uB2E4.',
|
|
1446
|
+
group: "content"
|
|
1447
|
+
},
|
|
1426
1448
|
{
|
|
1427
1449
|
name: "type",
|
|
1428
1450
|
kind: "enum",
|
|
@@ -1478,7 +1500,7 @@ var InputMeta = {
|
|
|
1478
1500
|
name: "trailing",
|
|
1479
1501
|
kind: "icon",
|
|
1480
1502
|
label: "\uD6C4\uD589 \uC544\uC774\uCF58",
|
|
1481
|
-
description: '\uC785\uB825 \uC624\uB978\uCABD \uB05D\uC5D0 \uACB9\uCCD0 \uADF8\uB9AC\uB294 \uD45C\uC2DC. **\uC544\uC774\uCF58 \uC774\uB984\uC73C\uB85C \uC77D\uB294\uB2E4**(\uC608: "eye" = \uBE44\uBC00\uBC88\uD638 \uBCF4\uAE30). \uB4F1\uB85D\uB418\uC9C0 \uC54A\uC740 \uC774\uB984\uC774\uBA74 \uC544\uBB34\uAC83\uB3C4 \uADF8\uB9AC\uC9C0 \uC54A\uB294\uB2E4 \u2014 "\uC6D0"\xB7"mm" \uAC19\uC740 \uB2E8\uC704 \uAE00\uC790\uB294 \uC5EC\uAE30 \
|
|
1503
|
+
description: '\uC785\uB825 \uC624\uB978\uCABD \uB05D\uC5D0 \uACB9\uCCD0 \uADF8\uB9AC\uB294 \uD45C\uC2DC. **\uC544\uC774\uCF58 \uC774\uB984\uC73C\uB85C \uC77D\uB294\uB2E4**(\uC608: "eye" = \uBE44\uBC00\uBC88\uD638 \uBCF4\uAE30). \uB4F1\uB85D\uB418\uC9C0 \uC54A\uC740 \uC774\uB984\uC774\uBA74 \uC544\uBB34\uAC83\uB3C4 \uADF8\uB9AC\uC9C0 \uC54A\uB294\uB2E4 \u2014 "\uC6D0"\xB7"mm" \uAC19\uC740 \uB2E8\uC704 \uAE00\uC790\uB294 \uC5EC\uAE30\uAC00 \uC544\uB2C8\uB77C unit \uC5D0 \uB123\uB294\uB2E4.',
|
|
1482
1504
|
group: "content"
|
|
1483
1505
|
},
|
|
1484
1506
|
styleProp,
|
|
@@ -4871,7 +4893,7 @@ var AutocompleteFieldMeta = {
|
|
|
4871
4893
|
label: "\uC790\uB3D9\uC644\uC131",
|
|
4872
4894
|
category: "input",
|
|
4873
4895
|
icon: "search",
|
|
4874
|
-
description: "\uAC80\uC0C9\uD574\uC11C \uD558\uB098\uB97C \uACE0\uB974\uB294 \uC785\uB825. \uACE0\uB978 \uB4A4\uC5D0\uB294 \uC120\uD0DD \uCE74\uB4DC\uB85C \uC811\uD78C\uB2E4. \uAC80\uC0C9 \uACBD\uB85C\uB97C \uC8FC\uBA74 \uC6D0\uACA9 \uC870\uD68C\uAE4C\uC9C0 \uD55C\uB2E4.",
|
|
4896
|
+
description: "\uAC80\uC0C9\uD574\uC11C \uD558\uB098\uB97C \uACE0\uB974\uB294 \uC785\uB825. \uACE0\uB978 \uB4A4\uC5D0\uB294 \uC120\uD0DD \uCE74\uB4DC\uB85C \uC811\uD78C\uB2E4. \uAC80\uC0C9 \uACBD\uB85C\uB97C \uC8FC\uBA74 \uC6D0\uACA9 \uC870\uD68C\uAE4C\uC9C0 \uD55C\uB2E4. freeText \uB97C \uCF1C\uBA74 \uC785\uB825\uD55C \uAE00\uC790 \uC790\uCCB4\uAC00 \uAC12\uC774\uACE0(\uC9C1\uC811\uC785\uB825), \uBAA9\uB85D\uC740 \uC9C1\uC811\uC785\uB825 \uC904 + \uC774\uB984 \uB9E4\uCE6D \uD6C4\uBCF4\uB2E4.",
|
|
4875
4897
|
props: [
|
|
4876
4898
|
{
|
|
4877
4899
|
name: "options",
|
|
@@ -4905,7 +4927,7 @@ var AutocompleteFieldMeta = {
|
|
|
4905
4927
|
kind: "string",
|
|
4906
4928
|
label: "\uC120\uD0DD\uB41C \uAC12",
|
|
4907
4929
|
bindable: true,
|
|
4908
|
-
description: "\uBE48 \uBB38\uC790\uC5F4\uC774\uBA74 \uBBF8\uC120\uD0DD\uC73C\uB85C \uBCF8\uB2E4.",
|
|
4930
|
+
description: "\uBE48 \uBB38\uC790\uC5F4\uC774\uBA74 \uBBF8\uC120\uD0DD\uC73C\uB85C \uBCF8\uB2E4. freeText \uC5D0\uC11C\uB294 \uCE78\uC758 \uAE00\uC790 \uADF8 \uC790\uCCB4.",
|
|
4909
4931
|
group: "data"
|
|
4910
4932
|
},
|
|
4911
4933
|
{
|
|
@@ -4920,9 +4942,40 @@ var AutocompleteFieldMeta = {
|
|
|
4920
4942
|
name: "onChange",
|
|
4921
4943
|
kind: "action",
|
|
4922
4944
|
label: "\uC120\uD0DD \uBCC0\uACBD",
|
|
4923
|
-
eventArg: "\uC120\uD0DD\uB41C \uAC12(\uBB38\uC790\uC5F4), \uD574\uC81C\uD558\uBA74 null",
|
|
4945
|
+
eventArg: "\uC120\uD0DD\uB41C \uAC12(\uBB38\uC790\uC5F4), \uD574\uC81C\uD558\uBA74 null. freeText \uC5D0\uC11C\uB294 \uCE58\uB294 \uAE00\uC790\uB9C8\uB2E4 \uADF8 \uAE00\uC790, \uD6C4\uBCF4\uB97C \uACE0\uB974\uBA74 \uADF8 \uB77C\uBCA8",
|
|
4924
4946
|
group: "behavior"
|
|
4925
4947
|
},
|
|
4948
|
+
{
|
|
4949
|
+
name: "onSelect",
|
|
4950
|
+
kind: "action",
|
|
4951
|
+
label: "\uD56D\uBAA9 \uACE0\uB984",
|
|
4952
|
+
eventArg: "\uACE0\uB978 \uD56D\uBAA9(\uC9C1\uC811\uC785\uB825\xB7\uC5F0\uACB0 \uD574\uC81C\uB294 null)",
|
|
4953
|
+
description: `\uACE0\uB978 \uD56D\uBAA9 \uD1B5\uC9F8\uB85C \u2014 {"$event":"business_no"} \uCC98\uB7FC \uD56D\uBAA9\uC758 \uB2E4\uB978 \uCE78\uC744 \uC77D\uC5B4 \uD568\uAED8 \uCC44\uC6B4\uB2E4. \uACE0\uB978 \uB4A4 \uAE00\uC790\uB97C \uACE0\uCE58\uAC70\uB098(freeText) '\uBCC0\uACBD'\uC73C\uB85C \uD480\uBA74 null \uC774 \uD55C \uBC88 \uC628\uB2E4.`,
|
|
4954
|
+
group: "behavior"
|
|
4955
|
+
},
|
|
4956
|
+
{
|
|
4957
|
+
name: "freeText",
|
|
4958
|
+
kind: "boolean",
|
|
4959
|
+
label: "\uC9C1\uC811\uC785\uB825",
|
|
4960
|
+
default: false,
|
|
4961
|
+
description: "\uC785\uB825\uD55C \uAE00\uC790 \uC790\uCCB4\uAC00 \uAC12(onChange \uAC00 \uAE00\uC790\uB9C8\uB2E4 \uC628\uB2E4). \uC120\uD0DD \uCE74\uB4DC \uC5C6\uC74C. \uBAA9\uB85D \uCCAB \uC904\uC740 \uC5B8\uC81C\uB098 \uC9C1\uC811\uC785\uB825 \uC904\uC774\uACE0 Enter \uB97C \uADF8\uB0E5 \uB204\uB974\uBA74 \uCE5C \uAE00\uC790\uAC00 \uB0A8\uB294\uB2E4. \uD6C4\uBCF4\uB97C \uACE0\uB974\uBA74(Enter\xB7Tab\xB7\uD074\uB9AD) onChange(\uB77C\uBCA8) \uB2E4\uC74C onSelect(\uD56D\uBAA9). \uBAA9\uB85D\uC740 \uC0AC\uC6A9\uC790\uAC00 \uCE60 \uB54C\uB9CC \uC5F4\uB9B0\uB2E4.",
|
|
4962
|
+
group: "behavior"
|
|
4963
|
+
},
|
|
4964
|
+
{
|
|
4965
|
+
name: "selected",
|
|
4966
|
+
kind: "boolean",
|
|
4967
|
+
label: "\uD56D\uBAA9 \uC5F0\uACB0\uB428",
|
|
4968
|
+
bindable: true,
|
|
4969
|
+
description: "freeText \uC5D0\uC11C \uC9C0\uAE08 \uAE00\uC790\uAC00 \uACE0\uB978 \uD56D\uBAA9\uC5D0 \uC5F0\uACB0\uB3FC \uC788\uB294\uAC00(\uC608: \uBC1C\uC8FC\uCC98 id \uAC00 \uBE44\uC9C0 \uC54A\uC558\uB098). \uCC38\uC774\uBA74 \uC55E \uC544\uC774\uCF58\uC774 \uCCB4\uD06C\uB85C \uBC14\uB00C\uACE0, \uAE00\uC790\uB97C \uACE0\uCE58\uBA74 onSelect(null) \uC774 \uBA3C\uC800 \uAC04\uB2E4. \uC0DD\uB7B5\uD558\uBA74 \uC704\uC82F\uC774 \uC2A4\uC2A4\uB85C \uAE30\uC5B5\uD55C\uB2E4.",
|
|
4970
|
+
group: "data"
|
|
4971
|
+
},
|
|
4972
|
+
{
|
|
4973
|
+
name: "createLabel",
|
|
4974
|
+
kind: "string",
|
|
4975
|
+
label: "\uC9C1\uC811\uC785\uB825 \uC904 \uBB38\uAD6C",
|
|
4976
|
+
description: 'freeText \uBAA9\uB85D \uCCAB \uC904. {value} \uAC00 \uC9C0\uAE08 \uAE00\uC790\uB85C \uBC14\uB010\uB2E4. \uAE30\uBCF8 \uC9C1\uC811\uC785\uB825: "{value}".',
|
|
4977
|
+
group: "content"
|
|
4978
|
+
},
|
|
4926
4979
|
{ name: "labelKey", kind: "string", label: "\uB77C\uBCA8 \uD0A4", default: "label", description: "\uC635\uC158\uC5D0\uC11C \uD45C\uC2DC \uB77C\uBCA8\uC744 \uC77D\uC744 \uD0A4.", group: "data" },
|
|
4927
4980
|
{ name: "valueKey", kind: "string", label: "\uAC12 \uD0A4", default: "value", description: "\uC635\uC158\uC5D0\uC11C \uAC12\uC744 \uC77D\uC744 \uD0A4.", group: "data" },
|
|
4928
4981
|
{ name: "subKey", kind: "string", label: "\uBCF4\uC870 \uC815\uBCF4 \uD0A4", description: "\uBAA9\uB85D \uB458\uC9F8 \uC904\uC5D0 \uC4F8 \uD0A4. \uC5C6\uC73C\uBA74 \uD55C \uC904\uB9CC \uADF8\uB9B0\uB2E4.", group: "data" },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { loadOptionalModule } from '../chunk-
|
|
2
|
-
import { useSduiAdapter, useSduiSandbox, hostFetchOf, defaultAdapter, hostRawFetchOf } from '../chunk-
|
|
1
|
+
import { loadOptionalModule } from '../chunk-GUXKGL76.js';
|
|
2
|
+
import { useSduiAdapter, useSduiSandbox, hostFetchOf, defaultAdapter, hostRawFetchOf } from '../chunk-RMYGRGKS.js';
|
|
3
3
|
import '../chunk-TAVKGYH5.js';
|
|
4
|
-
import { Select, Input, Card, Button, Spinner, Icon, Alert, StatCard, Badge, Table, EmptyState } from '../chunk-
|
|
4
|
+
import { Select, Input, Card, Button, Spinner, Icon, Alert, StatCard, Badge, Table, EmptyState } from '../chunk-NKRZVRGH.js';
|
|
5
5
|
import { boxed } from '../chunk-3JTBOABA.js';
|
|
6
6
|
import { useRef, useState, useMemo, useCallback } from 'react';
|
|
7
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|