@simplysm/solid 13.0.62 → 13.0.65

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 (157) hide show
  1. package/README.md +6 -0
  2. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
  3. package/dist/components/data/sheet/DataSheet.js +3 -2
  4. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  5. package/dist/components/features/address/AddressSearch.d.ts +8 -0
  6. package/dist/components/features/address/AddressSearch.d.ts.map +1 -0
  7. package/dist/components/features/address/AddressSearch.js +72 -0
  8. package/dist/components/features/address/AddressSearch.js.map +6 -0
  9. package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -0
  10. package/dist/components/{data → features}/crud-detail/CrudDetail.js +62 -41
  11. package/dist/components/features/crud-detail/CrudDetail.js.map +6 -0
  12. package/dist/components/features/crud-detail/CrudDetailAfter.d.ts.map +1 -0
  13. package/dist/components/{data → features}/crud-detail/CrudDetailAfter.js.map +1 -1
  14. package/dist/components/features/crud-detail/CrudDetailBefore.d.ts.map +1 -0
  15. package/dist/components/{data → features}/crud-detail/CrudDetailBefore.js.map +1 -1
  16. package/dist/components/features/crud-detail/CrudDetailTools.d.ts.map +1 -0
  17. package/dist/components/{data → features}/crud-detail/CrudDetailTools.js.map +1 -1
  18. package/dist/components/features/crud-detail/types.d.ts.map +1 -0
  19. package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -0
  20. package/dist/components/{data → features}/crud-sheet/CrudSheet.js +166 -21
  21. package/dist/components/features/crud-sheet/CrudSheet.js.map +6 -0
  22. package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts.map +1 -0
  23. package/dist/components/{data → features}/crud-sheet/CrudSheetColumn.js +1 -1
  24. package/dist/components/{data → features}/crud-sheet/CrudSheetColumn.js.map +1 -1
  25. package/dist/components/features/crud-sheet/CrudSheetFilter.d.ts.map +1 -0
  26. package/dist/components/{data → features}/crud-sheet/CrudSheetFilter.js.map +1 -1
  27. package/dist/components/features/crud-sheet/CrudSheetHeader.d.ts.map +1 -0
  28. package/dist/components/{data → features}/crud-sheet/CrudSheetHeader.js.map +1 -1
  29. package/dist/components/features/crud-sheet/CrudSheetTools.d.ts.map +1 -0
  30. package/dist/components/{data → features}/crud-sheet/CrudSheetTools.js.map +1 -1
  31. package/dist/components/{data → features}/crud-sheet/types.d.ts +10 -4
  32. package/dist/components/features/crud-sheet/types.d.ts.map +1 -0
  33. package/dist/components/features/data-select-button/DataSelectButton.d.ts +38 -0
  34. package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -0
  35. package/dist/components/features/data-select-button/DataSelectButton.js +184 -0
  36. package/dist/components/features/data-select-button/DataSelectButton.js.map +6 -0
  37. package/dist/components/features/permission-table/PermissionTable.d.ts.map +1 -0
  38. package/dist/components/{data → features}/permission-table/PermissionTable.js +1 -1
  39. package/dist/components/{data → features}/permission-table/PermissionTable.js.map +1 -1
  40. package/dist/components/features/shared-data/SharedDataSelect.d.ts +32 -0
  41. package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -0
  42. package/dist/components/features/shared-data/SharedDataSelect.js +74 -0
  43. package/dist/components/features/shared-data/SharedDataSelect.js.map +6 -0
  44. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts +29 -0
  45. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -0
  46. package/dist/components/features/shared-data/SharedDataSelectButton.js +17 -0
  47. package/dist/components/features/shared-data/SharedDataSelectButton.js.map +6 -0
  48. package/dist/components/features/shared-data/SharedDataSelectList.d.ts +29 -0
  49. package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -0
  50. package/dist/components/features/shared-data/SharedDataSelectList.js +80 -0
  51. package/dist/components/features/shared-data/SharedDataSelectList.js.map +6 -0
  52. package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
  53. package/dist/components/form-control/checkbox/Checkbox.js +10 -10
  54. package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
  55. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
  56. package/dist/components/form-control/checkbox/Checkbox.styles.js +2 -2
  57. package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
  58. package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
  59. package/dist/components/form-control/checkbox/Radio.js +13 -13
  60. package/dist/components/form-control/checkbox/Radio.js.map +2 -2
  61. package/dist/components/form-control/select/Select.d.ts +7 -3
  62. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  63. package/dist/components/form-control/select/Select.js +146 -45
  64. package/dist/components/form-control/select/Select.js.map +2 -2
  65. package/dist/components/form-control/select-list/SelectList.d.ts +54 -0
  66. package/dist/components/form-control/select-list/SelectList.d.ts.map +1 -0
  67. package/dist/components/form-control/select-list/SelectList.js +280 -0
  68. package/dist/components/form-control/select-list/SelectList.js.map +6 -0
  69. package/dist/components/form-control/select-list/SelectListContext.d.ts +13 -0
  70. package/dist/components/form-control/select-list/SelectListContext.d.ts.map +1 -0
  71. package/dist/components/form-control/select-list/SelectListContext.js +14 -0
  72. package/dist/components/form-control/select-list/SelectListContext.js.map +6 -0
  73. package/dist/index.d.ts +11 -5
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +11 -5
  76. package/dist/index.js.map +1 -1
  77. package/dist/providers/ServiceClientContext.d.ts +5 -5
  78. package/dist/providers/ServiceClientContext.d.ts.map +1 -1
  79. package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
  80. package/dist/providers/ServiceClientProvider.js +12 -8
  81. package/dist/providers/ServiceClientProvider.js.map +2 -2
  82. package/dist/providers/shared-data/SharedDataContext.d.ts +16 -2
  83. package/dist/providers/shared-data/SharedDataContext.d.ts.map +1 -1
  84. package/dist/providers/shared-data/SharedDataContext.js.map +1 -1
  85. package/dist/providers/shared-data/SharedDataProvider.d.ts +1 -2
  86. package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
  87. package/dist/providers/shared-data/SharedDataProvider.js +27 -13
  88. package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
  89. package/docs/data-components.md +15 -4
  90. package/docs/form-controls.md +257 -0
  91. package/docs/hooks.md +30 -0
  92. package/docs/providers.md +7 -0
  93. package/package.json +5 -3
  94. package/src/components/data/sheet/DataSheet.tsx +6 -7
  95. package/src/components/features/address/AddressSearch.tsx +75 -0
  96. package/src/components/{data → features}/crud-detail/CrudDetail.tsx +51 -26
  97. package/src/components/{data → features}/crud-sheet/CrudSheet.tsx +160 -23
  98. package/src/components/{data → features}/crud-sheet/CrudSheetColumn.tsx +1 -1
  99. package/src/components/{data → features}/crud-sheet/types.ts +14 -4
  100. package/src/components/features/data-select-button/DataSelectButton.tsx +279 -0
  101. package/src/components/{data → features}/permission-table/PermissionTable.tsx +1 -1
  102. package/src/components/features/shared-data/SharedDataSelect.tsx +101 -0
  103. package/src/components/features/shared-data/SharedDataSelectButton.tsx +47 -0
  104. package/src/components/features/shared-data/SharedDataSelectList.tsx +85 -0
  105. package/src/components/form-control/checkbox/Checkbox.styles.ts +2 -2
  106. package/src/components/form-control/checkbox/Checkbox.tsx +18 -20
  107. package/src/components/form-control/checkbox/Radio.tsx +18 -20
  108. package/src/components/form-control/select/Select.tsx +192 -36
  109. package/src/components/form-control/select-list/SelectList.tsx +385 -0
  110. package/src/components/form-control/select-list/SelectListContext.ts +23 -0
  111. package/src/index.ts +29 -5
  112. package/src/providers/ServiceClientContext.ts +5 -5
  113. package/src/providers/ServiceClientProvider.tsx +17 -12
  114. package/src/providers/shared-data/SharedDataContext.ts +16 -2
  115. package/src/providers/shared-data/SharedDataProvider.tsx +33 -17
  116. package/dist/components/data/crud-detail/CrudDetail.d.ts.map +0 -1
  117. package/dist/components/data/crud-detail/CrudDetail.js.map +0 -6
  118. package/dist/components/data/crud-detail/CrudDetailAfter.d.ts.map +0 -1
  119. package/dist/components/data/crud-detail/CrudDetailBefore.d.ts.map +0 -1
  120. package/dist/components/data/crud-detail/CrudDetailTools.d.ts.map +0 -1
  121. package/dist/components/data/crud-detail/types.d.ts.map +0 -1
  122. package/dist/components/data/crud-sheet/CrudSheet.d.ts.map +0 -1
  123. package/dist/components/data/crud-sheet/CrudSheet.js.map +0 -6
  124. package/dist/components/data/crud-sheet/CrudSheetColumn.d.ts.map +0 -1
  125. package/dist/components/data/crud-sheet/CrudSheetFilter.d.ts.map +0 -1
  126. package/dist/components/data/crud-sheet/CrudSheetHeader.d.ts.map +0 -1
  127. package/dist/components/data/crud-sheet/CrudSheetTools.d.ts.map +0 -1
  128. package/dist/components/data/crud-sheet/types.d.ts.map +0 -1
  129. package/dist/components/data/permission-table/PermissionTable.d.ts.map +0 -1
  130. /package/dist/components/{data → features}/crud-detail/CrudDetail.d.ts +0 -0
  131. /package/dist/components/{data → features}/crud-detail/CrudDetailAfter.d.ts +0 -0
  132. /package/dist/components/{data → features}/crud-detail/CrudDetailAfter.js +0 -0
  133. /package/dist/components/{data → features}/crud-detail/CrudDetailBefore.d.ts +0 -0
  134. /package/dist/components/{data → features}/crud-detail/CrudDetailBefore.js +0 -0
  135. /package/dist/components/{data → features}/crud-detail/CrudDetailTools.d.ts +0 -0
  136. /package/dist/components/{data → features}/crud-detail/CrudDetailTools.js +0 -0
  137. /package/dist/components/{data → features}/crud-detail/types.d.ts +0 -0
  138. /package/dist/components/{data → features}/crud-detail/types.js +0 -0
  139. /package/dist/components/{data → features}/crud-detail/types.js.map +0 -0
  140. /package/dist/components/{data → features}/crud-sheet/CrudSheet.d.ts +0 -0
  141. /package/dist/components/{data → features}/crud-sheet/CrudSheetColumn.d.ts +0 -0
  142. /package/dist/components/{data → features}/crud-sheet/CrudSheetFilter.d.ts +0 -0
  143. /package/dist/components/{data → features}/crud-sheet/CrudSheetFilter.js +0 -0
  144. /package/dist/components/{data → features}/crud-sheet/CrudSheetHeader.d.ts +0 -0
  145. /package/dist/components/{data → features}/crud-sheet/CrudSheetHeader.js +0 -0
  146. /package/dist/components/{data → features}/crud-sheet/CrudSheetTools.d.ts +0 -0
  147. /package/dist/components/{data → features}/crud-sheet/CrudSheetTools.js +0 -0
  148. /package/dist/components/{data → features}/crud-sheet/types.js +0 -0
  149. /package/dist/components/{data → features}/crud-sheet/types.js.map +0 -0
  150. /package/dist/components/{data → features}/permission-table/PermissionTable.d.ts +0 -0
  151. /package/src/components/{data → features}/crud-detail/CrudDetailAfter.tsx +0 -0
  152. /package/src/components/{data → features}/crud-detail/CrudDetailBefore.tsx +0 -0
  153. /package/src/components/{data → features}/crud-detail/CrudDetailTools.tsx +0 -0
  154. /package/src/components/{data → features}/crud-detail/types.ts +0 -0
  155. /package/src/components/{data → features}/crud-sheet/CrudSheetFilter.tsx +0 -0
  156. /package/src/components/{data → features}/crud-sheet/CrudSheetHeader.tsx +0 -0
  157. /package/src/components/{data → features}/crud-sheet/CrudSheetTools.tsx +0 -0
@@ -4,14 +4,14 @@ import { use as _$use } from "solid-js/web";
4
4
  import { insert as _$insert } from "solid-js/web";
5
5
  import { createComponent as _$createComponent } from "solid-js/web";
6
6
  import { memo as _$memo } from "solid-js/web";
7
- var _tmpl$ = /* @__PURE__ */ _$template(`<button class="flex items-center px-2 text-base-400 hover:text-base-600">`), _tmpl$2 = /* @__PURE__ */ _$template(`<div class="flex gap-2 p-2 pb-0">`), _tmpl$3 = /* @__PURE__ */ _$template(`<form class="flex-1 overflow-hidden p-2 pt-1">`), _tmpl$4 = /* @__PURE__ */ _$template(`<div class="flex gap-2 border-t p-2"><div class=flex-1>`), _tmpl$5 = /* @__PURE__ */ _$template(`<form class=p-2>`), _tmpl$6 = /* @__PURE__ */ _$template(`<div class="flex items-center justify-center px-1 py-0.5">`), _tmpl$7 = /* @__PURE__ */ _$template(`<div class=p-1>`), _tmpl$8 = /* @__PURE__ */ _$template(`<div class=flex-1>`);
7
+ var _tmpl$ = /* @__PURE__ */ _$template(`<button class="flex items-center px-2 text-base-400 hover:text-base-600">`), _tmpl$2 = /* @__PURE__ */ _$template(`<div class="flex gap-2 p-2 pb-0">`), _tmpl$3 = /* @__PURE__ */ _$template(`<form class="flex-1 overflow-hidden p-2 pt-1">`), _tmpl$4 = /* @__PURE__ */ _$template(`<div class="flex gap-2 border-t p-2"><div class=flex-1>`), _tmpl$5 = /* @__PURE__ */ _$template(`<form class=p-2>`), _tmpl$6 = /* @__PURE__ */ _$template(`<div class="flex items-center justify-center px-1 py-0.5">`), _tmpl$7 = /* @__PURE__ */ _$template(`<div class=p-1>`), _tmpl$8 = /* @__PURE__ */ _$template(`<div class=flex-1>`), _tmpl$9 = /* @__PURE__ */ _$template(`<div class="px-2 py-1 text-center">`);
8
8
  import { children, createEffect, createMemo, createSignal, For, Show, splitProps, useContext } from "solid-js";
9
9
  import { createStore, produce, reconcile } from "solid-js/store";
10
10
  import { createControllableStore } from "../../../hooks/createControllableStore.js";
11
- import { objClone } from "@simplysm/core-common";
11
+ import { objClone, objGetChainValue } from "@simplysm/core-common";
12
12
  import "@simplysm/core-common";
13
- import { DataSheet } from "../sheet/DataSheet.js";
14
- import { DataSheetColumn } from "../sheet/DataSheetColumn.js";
13
+ import { DataSheet } from "../../data/sheet/DataSheet.js";
14
+ import { DataSheetColumn } from "../../data/sheet/DataSheetColumn.js";
15
15
  import { BusyContainer } from "../../feedback/busy/BusyContainer.js";
16
16
  import { useNotification } from "../../feedback/notification/NotificationContext.js";
17
17
  import { Button } from "../../form-control/Button.js";
@@ -22,6 +22,7 @@ import { useDialogInstance } from "../../disclosure/DialogInstanceContext.js";
22
22
  import { Dialog } from "../../disclosure/Dialog.js";
23
23
  import { Link } from "../../display/Link.js";
24
24
  import { createEventListener } from "@solid-primitives/event-listener";
25
+ import { useBeforeLeave } from "@solidjs/router";
25
26
  import clsx from "clsx";
26
27
  import { IconDeviceFloppy, IconExternalLink, IconFileExcel, IconPlus, IconRefresh, IconSearch, IconTrash, IconTrashOff, IconUpload } from "@tabler/icons-solidjs";
27
28
  import { CrudSheetColumn, isCrudSheetColumnDef } from "./CrudSheetColumn.js";
@@ -29,7 +30,7 @@ import { CrudSheetFilter, isCrudSheetFilterDef } from "./CrudSheetFilter.js";
29
30
  import { CrudSheetTools, isCrudSheetToolsDef } from "./CrudSheetTools.js";
30
31
  import { CrudSheetHeader, isCrudSheetHeaderDef } from "./CrudSheetHeader.js";
31
32
  const CrudSheetBase = (props) => {
32
- const [local, _rest] = splitProps(props, ["search", "getItemKey", "persistKey", "itemsPerPage", "editable", "itemEditable", "itemDeletable", "itemDeleted", "filterInitial", "items", "onItemsChange", "inlineEdit", "modalEdit", "excel", "selectMode", "onSelect", "hideAutoTools", "class", "children"]);
33
+ const [local, _rest] = splitProps(props, ["search", "getItemKey", "persistKey", "editable", "itemEditable", "itemDeletable", "itemDeleted", "isItemSelectable", "lastModifiedAtProp", "lastModifiedByProp", "onSubmitted", "filterInitial", "items", "onItemsChange", "inlineEdit", "modalEdit", "excel", "selectMode", "onSelect", "hideAutoTools", "class", "children"]);
33
34
  const noti = useNotification();
34
35
  const topbarCtx = useContext(TopbarContext);
35
36
  const dialogInstance = useDialogInstance();
@@ -59,10 +60,26 @@ const CrudSheetBase = (props) => {
59
60
  const [busyCount, setBusyCount] = createSignal(0);
60
61
  const [ready, setReady] = createSignal(false);
61
62
  const [selectedItems, setSelectedItems] = createSignal([]);
63
+ const [selectedKeys, setSelectedKeys] = createSignal(/* @__PURE__ */ new Set());
62
64
  let formRef;
63
65
  createEffect(() => {
64
66
  void doRefresh();
65
67
  });
68
+ createEffect(() => {
69
+ const currentItems = items;
70
+ const keys = selectedKeys();
71
+ if (keys.size === 0) {
72
+ if (selectedItems().length > 0) {
73
+ setSelectedItems([]);
74
+ }
75
+ return;
76
+ }
77
+ const restored = currentItems.filter((item) => {
78
+ const key = local.getItemKey(item);
79
+ return key != null && keys.has(key);
80
+ });
81
+ setSelectedItems(restored);
82
+ });
66
83
  async function doRefresh() {
67
84
  setBusyCount((c) => c + 1);
68
85
  try {
@@ -74,23 +91,30 @@ const CrudSheetBase = (props) => {
74
91
  setReady(true);
75
92
  }
76
93
  async function refresh() {
77
- const usePagination = local.itemsPerPage != null;
78
- const result = await local.search(lastFilter(), usePagination ? page() : 0, sorts());
94
+ const result = await local.search(lastFilter(), page(), sorts());
79
95
  setItems(reconcile(result.items));
80
96
  originalItems = objClone(result.items);
81
97
  setTotalPageCount(result.pageCount ?? 0);
82
98
  }
83
99
  function getItemDiffs() {
84
- return items.oneWayDiffs(originalItems, (item) => {
85
- return local.getItemKey(item);
100
+ var _a;
101
+ return items.oneWayDiffs(originalItems, (item) => local.getItemKey(item), {
102
+ excludes: (_a = local.inlineEdit) == null ? void 0 : _a.diffsExcludes
86
103
  });
87
104
  }
105
+ function checkIgnoreChanges() {
106
+ if (!local.inlineEdit) return true;
107
+ if (getItemDiffs().length === 0) return true;
108
+ return confirm("\uBCC0\uACBD\uC0AC\uD56D\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBB34\uC2DC\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?");
109
+ }
88
110
  function handleFilterSubmit(e) {
89
111
  e.preventDefault();
112
+ if (!checkIgnoreChanges()) return;
90
113
  setPage(1);
91
114
  setLastFilter(() => objClone(filter));
92
115
  }
93
116
  async function handleRefresh() {
117
+ if (!checkIgnoreChanges()) return;
94
118
  await doRefresh();
95
119
  }
96
120
  function handleAddRow() {
@@ -113,6 +137,7 @@ const CrudSheetBase = (props) => {
113
137
  setItems(index, dp, !item[dp]);
114
138
  }
115
139
  async function handleSave() {
140
+ var _a;
116
141
  if (busyCount() > 0) return;
117
142
  if (!canEdit()) return;
118
143
  if (!local.inlineEdit) return;
@@ -126,6 +151,7 @@ const CrudSheetBase = (props) => {
126
151
  await local.inlineEdit.submit(diffs);
127
152
  noti.success("\uC800\uC7A5 \uC644\uB8CC", "\uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4.");
128
153
  await refresh();
154
+ (_a = local.onSubmitted) == null ? void 0 : _a.call(local);
129
155
  } catch (err) {
130
156
  noti.error(err, "\uC800\uC7A5 \uC2E4\uD328");
131
157
  }
@@ -161,11 +187,25 @@ const CrudSheetBase = (props) => {
161
187
  }
162
188
  setBusyCount((c) => c - 1);
163
189
  }
190
+ async function handleRestoreItems() {
191
+ var _a;
192
+ if (!((_a = local.modalEdit) == null ? void 0 : _a.restoreItems)) return;
193
+ const result = await local.modalEdit.restoreItems(selectedItems());
194
+ if (!result) return;
195
+ setBusyCount((c) => c + 1);
196
+ try {
197
+ await refresh();
198
+ noti.success("\uBCF5\uAD6C \uC644\uB8CC", "\uBCF5\uAD6C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.");
199
+ } catch (err) {
200
+ noti.error(err, "\uBCF5\uAD6C \uC2E4\uD328");
201
+ }
202
+ setBusyCount((c) => c - 1);
203
+ }
164
204
  async function handleExcelDownload() {
165
205
  if (!local.excel) return;
166
206
  setBusyCount((c) => c + 1);
167
207
  try {
168
- const result = await local.search(lastFilter(), 0, sorts());
208
+ const result = await local.search(lastFilter(), void 0, sorts());
169
209
  await local.excel.download(result.items);
170
210
  } catch (err) {
171
211
  noti.error(err, "\uC5D1\uC140 \uB2E4\uC6B4\uB85C\uB4DC \uC2E4\uD328");
@@ -194,15 +234,44 @@ const CrudSheetBase = (props) => {
194
234
  };
195
235
  input.click();
196
236
  }
237
+ function handleSelectedItemsChange(newSelectedItems) {
238
+ const currentItems = items;
239
+ const currentKeys = /* @__PURE__ */ new Set();
240
+ for (const item of currentItems) {
241
+ const key = local.getItemKey(item);
242
+ if (key != null) currentKeys.add(key);
243
+ }
244
+ const newSelectedKeys = /* @__PURE__ */ new Set();
245
+ for (const item of newSelectedItems) {
246
+ const key = local.getItemKey(item);
247
+ if (key != null) newSelectedKeys.add(key);
248
+ }
249
+ const merged = /* @__PURE__ */ new Set();
250
+ for (const key of selectedKeys()) {
251
+ if (!currentKeys.has(key)) {
252
+ merged.add(key);
253
+ }
254
+ }
255
+ for (const key of newSelectedKeys) {
256
+ merged.add(key);
257
+ }
258
+ setSelectedKeys(merged);
259
+ setSelectedItems(newSelectedItems);
260
+ }
261
+ function clearSelection() {
262
+ setSelectedKeys(/* @__PURE__ */ new Set());
263
+ setSelectedItems([]);
264
+ }
197
265
  function handleSelectConfirm() {
198
266
  var _a;
199
267
  (_a = local.onSelect) == null ? void 0 : _a.call(local, {
200
268
  items: selectedItems(),
201
- keys: selectedItems().map((item) => local.getItemKey(item)).filter((k) => k != null)
269
+ keys: [...selectedKeys()]
202
270
  });
203
271
  }
204
272
  function handleSelectCancel() {
205
273
  var _a;
274
+ clearSelection();
206
275
  (_a = local.onSelect) == null ? void 0 : _a.call(local, {
207
276
  items: [],
208
277
  keys: []
@@ -215,9 +284,20 @@ const CrudSheetBase = (props) => {
215
284
  }
216
285
  if (e.ctrlKey && e.altKey && e.key === "l") {
217
286
  e.preventDefault();
287
+ if (!checkIgnoreChanges()) return;
218
288
  await doRefresh();
219
289
  }
220
290
  });
291
+ if (!isModal && local.inlineEdit) {
292
+ try {
293
+ useBeforeLeave((e) => {
294
+ if (!checkIgnoreChanges()) {
295
+ e.preventDefault();
296
+ }
297
+ });
298
+ } catch {
299
+ }
300
+ }
221
301
  if (topbarCtx) {
222
302
  createTopbarActions(() => [_$createComponent(Show, {
223
303
  get when() {
@@ -266,7 +346,8 @@ const CrudSheetBase = (props) => {
266
346
  },
267
347
  addItem: handleAddRow,
268
348
  setPage,
269
- setSorts
349
+ setSorts,
350
+ clearSelection
270
351
  };
271
352
  const deleteProp = () => {
272
353
  var _a;
@@ -432,8 +513,8 @@ const CrudSheetBase = (props) => {
432
513
  onClick: handleDeleteItems,
433
514
  get disabled() {
434
515
  return selectedItems().length === 0 || !selectedItems().some((item) => {
435
- var _a;
436
- return ((_a = local.itemDeletable) == null ? void 0 : _a.call(local, item)) ?? true;
516
+ var _a, _b;
517
+ return (((_a = local.itemDeletable) == null ? void 0 : _a.call(local, item)) ?? true) && !(((_b = local.itemDeleted) == null ? void 0 : _b.call(local, item)) ?? false);
437
518
  });
438
519
  },
439
520
  get children() {
@@ -444,6 +525,31 @@ const CrudSheetBase = (props) => {
444
525
  }
445
526
  });
446
527
  }
528
+ }), _$createComponent(Show, {
529
+ get when() {
530
+ var _a;
531
+ return _$memo(() => !!canEdit())() && ((_a = local.modalEdit) == null ? void 0 : _a.restoreItems);
532
+ },
533
+ get children() {
534
+ return _$createComponent(Button, {
535
+ size: "sm",
536
+ theme: "warning",
537
+ variant: "ghost",
538
+ onClick: handleRestoreItems,
539
+ get disabled() {
540
+ return selectedItems().length === 0 || !selectedItems().some((item) => {
541
+ var _a;
542
+ return ((_a = local.itemDeleted) == null ? void 0 : _a.call(local, item)) ?? false;
543
+ });
544
+ },
545
+ get children() {
546
+ return [_$createComponent(Icon, {
547
+ icon: IconTrashOff,
548
+ "class": "mr-1"
549
+ }), "\uC120\uD0DD \uBCF5\uAD6C"];
550
+ }
551
+ });
552
+ }
447
553
  }), _$createComponent(Show, {
448
554
  get when() {
449
555
  var _a;
@@ -504,27 +610,27 @@ const CrudSheetBase = (props) => {
504
610
  return _$memo(() => local.persistKey != null)() ? `${local.persistKey}-sheet` : void 0;
505
611
  },
506
612
  get page() {
507
- return _$memo(() => local.itemsPerPage != null)() ? page() : void 0;
613
+ return _$memo(() => totalPageCount() > 0)() ? page() : void 0;
508
614
  },
509
615
  onPageChange: setPage,
510
616
  get totalPageCount() {
511
617
  return totalPageCount();
512
618
  },
513
- get itemsPerPage() {
514
- return local.itemsPerPage;
515
- },
516
619
  get sorts() {
517
620
  return sorts();
518
621
  },
519
622
  onSortsChange: setSorts,
623
+ get isItemSelectable() {
624
+ return local.isItemSelectable;
625
+ },
520
626
  get selectMode() {
521
- var _a;
522
- return _$memo(() => !!isSelectMode())() ? local.selectMode : ((_a = local.modalEdit) == null ? void 0 : _a.deleteItems) != null ? "multiple" : void 0;
627
+ var _a, _b;
628
+ return _$memo(() => !!isSelectMode())() ? local.selectMode : ((_a = local.modalEdit) == null ? void 0 : _a.deleteItems) != null || ((_b = local.modalEdit) == null ? void 0 : _b.restoreItems) != null ? "multiple" : void 0;
523
629
  },
524
630
  get selectedItems() {
525
631
  return selectedItems();
526
632
  },
527
- onSelectedItemsChange: setSelectedItems,
633
+ onSelectedItemsChange: handleSelectedItemsChange,
528
634
  get autoSelect() {
529
635
  return isSelectMode() && local.selectMode === "single" ? "click" : void 0;
530
636
  },
@@ -647,6 +753,45 @@ const CrudSheetBase = (props) => {
647
753
  return col.cell(crudCtx);
648
754
  }
649
755
  })
756
+ }), _$createComponent(Show, {
757
+ get when() {
758
+ return local.lastModifiedAtProp;
759
+ },
760
+ get children() {
761
+ return _$createComponent(DataSheetColumn, {
762
+ get key() {
763
+ return local.lastModifiedAtProp;
764
+ },
765
+ header: "\uC218\uC815\uC77C\uC2DC",
766
+ hidden: true,
767
+ children: (dsCtx) => (() => {
768
+ var _el$1 = _tmpl$9();
769
+ _$insert(_el$1, () => {
770
+ var _a;
771
+ return (_a = objGetChainValue(dsCtx.item, local.lastModifiedAtProp, true)) == null ? void 0 : _a.toFormatString("yyyy-MM-dd HH:mm");
772
+ });
773
+ return _el$1;
774
+ })()
775
+ });
776
+ }
777
+ }), _$createComponent(Show, {
778
+ get when() {
779
+ return local.lastModifiedByProp;
780
+ },
781
+ get children() {
782
+ return _$createComponent(DataSheetColumn, {
783
+ get key() {
784
+ return local.lastModifiedByProp;
785
+ },
786
+ header: "\uC218\uC815\uC790",
787
+ hidden: true,
788
+ children: (dsCtx) => (() => {
789
+ var _el$10 = _tmpl$9();
790
+ _$insert(_el$10, () => objGetChainValue(dsCtx.item, local.lastModifiedByProp, true));
791
+ return _el$10;
792
+ })()
793
+ });
794
+ }
650
795
  })];
651
796
  }
652
797
  }));
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/features/crud-sheet/CrudSheet.tsx"],
4
+ "mappings": "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",
5
+ "names": ["children", "createEffect", "createMemo", "createSignal", "For", "Show", "splitProps", "useContext", "createStore", "produce", "reconcile", "createControllableStore", "objClone", "objGetChainValue", "DataSheet", "DataSheetColumn", "BusyContainer", "useNotification", "Button", "Icon", "FormGroup", "createTopbarActions", "TopbarContext", "useDialogInstance", "Dialog", "Link", "createEventListener", "useBeforeLeave", "clsx", "IconDeviceFloppy", "IconExternalLink", "IconFileExcel", "IconPlus", "IconRefresh", "IconSearch", "IconTrash", "IconTrashOff", "IconUpload", "CrudSheetColumn", "isCrudSheetColumnDef", "CrudSheetFilter", "isCrudSheetFilterDef", "CrudSheetTools", "isCrudSheetToolsDef", "CrudSheetHeader", "isCrudSheetHeaderDef", "CrudSheetBase", "props", "local", "_rest", "noti", "topbarCtx", "dialogInstance", "isModal", "undefined", "isSelectMode", "selectMode", "canEdit", "editable", "resolved", "defs", "arr", "toArray", "filter", "find", "columns", "tools", "header", "items", "setItems", "value", "onChange", "onItemsChange", "originalItems", "setFilter", "filterInitial", "lastFilter", "setLastFilter", "page", "setPage", "totalPageCount", "setTotalPageCount", "sorts", "setSorts", "busyCount", "setBusyCount", "ready", "setReady", "selectedItems", "setSelectedItems", "selectedKeys", "setSelectedKeys", "Set", "formRef", "doRefresh", "currentItems", "keys", "size", "length", "restored", "item", "key", "getItemKey", "has", "c", "refresh", "err", "error", "result", "search", "pageCount", "getItemDiffs", "oneWayDiffs", "excludes", "inlineEdit", "diffsExcludes", "checkIgnoreChanges", "confirm", "handleFilterSubmit", "e", "preventDefault", "handleRefresh", "handleAddRow", "draft", "unshift", "newItem", "handleToggleDelete", "index", "itemDeletable", "deleteProp", "dp", "splice", "handleSave", "diffs", "info", "submit", "success", "onSubmitted", "handleFormSubmit", "handleEditItem", "modalEdit", "editItem", "handleDeleteItems", "deleteItems", "handleRestoreItems", "restoreItems", "handleExcelDownload", "excel", "download", "handleExcelUpload", "upload", "input", "document", "createElement", "type", "accept", "onchange", "file", "files", "click", "handleSelectedItemsChange", "newSelectedItems", "currentKeys", "add", "newSelectedKeys", "merged", "clearSelection", "handleSelectConfirm", "onSelect", "handleSelectCancel", "ctrlKey", "requestSubmit", "altKey", "_$createComponent", "when", "_$memo", "variant", "theme", "onClick", "icon", "ctx", "busy", "hasChanges", "save", "addItem", "isItemDeleted", "itemDeleted", "Action", "_el$", "_tmpl$", "$$click", "_$insert", "class", "_el$2", "_tmpl$2", "headerDef", "filterDef", "_el$7", "_tmpl$5", "addEventListener", "inline", "Item", "_el$3", "hideAutoTools", "disabled", "some", "toolsDef", "_el$4", "_tmpl$3", "_ref$", "_$use", "persistKey", "onPageChange", "onSortsChange", "isItemSelectable", "onSelectedItemsChange", "autoSelect", "cellClass", "fixed", "sortable", "resizable", "dsCtx", "_el$8", "_tmpl$6", "each", "col", "headerContent", "headerStyle", "summary", "tooltip", "hidden", "collapse", "width", "crudCtx", "setItem", "editTrigger", "itemEditable", "stopPropagation", "_el$9", "_tmpl$7", "_el$0", "_tmpl$8", "cell", "lastModifiedAtProp", "_el$1", "_tmpl$9", "toFormatString", "lastModifiedByProp", "_el$10", "_el$5", "_tmpl$4", "_el$6", "firstChild", "CrudSheet", "Column", "Filter", "Tools", "Header", "_$delegateEvents"]
6
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrudSheetColumn.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\crud-sheet\\CrudSheetColumn.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGxE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAMzF;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAmBtF"}
@@ -1,4 +1,4 @@
1
- import { normalizeHeader } from "../sheet/sheetUtils.js";
1
+ import { normalizeHeader } from "../../data/sheet/sheetUtils.js";
2
2
  function isCrudSheetColumnDef(value) {
3
3
  return value != null && typeof value === "object" && value["__type"] === "crud-sheet-column";
4
4
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/data/crud-sheet/CrudSheetColumn.tsx"],
3
+ "sources": ["../../../../src/components/features/crud-sheet/CrudSheetColumn.tsx"],
4
4
  "mappings": "AAEA,SAASA,uBAAuB;AAEzB,SAASC,qBAAqBC,OAAsD;AACzF,SACEA,SAAS,QACT,OAAOA,UAAU,YAChBA,MAAkC,QAAQ,MAAM;AAErD;AAGO,SAASC,gBAAuBC,OAAiD;AACtF,SAAO;IACLC,QAAQ;IACRC,KAAKF,MAAME;IACXC,QAAQP,gBAAgBI,MAAMG,MAAM;IACpCC,eAAeJ,MAAMI;IACrBC,aAAaL,MAAMK;IACnBC,SAASN,MAAMM;IACfC,SAASP,MAAMO;IACfC,MAAMR,MAAMS;IACZC,OAAOV,MAAMU;IACbC,OAAOX,MAAMW,SAAS;IACtBC,QAAQZ,MAAMY,UAAU;IACxBC,UAAUb,MAAMa,YAAY;IAC5BC,OAAOd,MAAMc;IACbC,UAAUf,MAAMe,YAAY;IAC5BC,WAAWhB,MAAMgB,aAAa;IAC9BC,aAAajB,MAAMiB,eAAe;EACpC;AACF;",
5
5
  "names": ["normalizeHeader", "isCrudSheetColumnDef", "value", "CrudSheetColumn", "props", "__type", "key", "header", "headerContent", "headerStyle", "summary", "tooltip", "cell", "children", "class", "fixed", "hidden", "collapse", "width", "sortable", "resizable", "editTrigger"]
6
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrudSheetFilter.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\crud-sheet\\CrudSheetFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAMrF;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE;IAC9C,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC;CAC5D,GAAG,GAAG,CAAC,OAAO,CAKd"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/data/crud-sheet/CrudSheetFilter.tsx"],
3
+ "sources": ["../../../../src/components/features/crud-sheet/CrudSheetFilter.tsx"],
4
4
  "mappings": "AAGO,SAASA,qBAAqBC,OAAkD;AACrF,SACEA,SAAS,QACT,OAAOA,UAAU,YAChBA,MAAkC,QAAQ,MAAM;AAErD;AAGO,SAASC,gBAAyBC,OAEzB;AACd,SAAO;IACLC,QAAQ;IACRC,UAAUF,MAAME;EAClB;AACF;",
5
5
  "names": ["isCrudSheetFilterDef", "value", "CrudSheetFilter", "props", "__type", "children"]
6
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrudSheetHeader.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\crud-sheet\\CrudSheetHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAMhF;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAK7E"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/data/crud-sheet/CrudSheetHeader.tsx"],
3
+ "sources": ["../../../../src/components/features/crud-sheet/CrudSheetHeader.tsx"],
4
4
  "mappings": "AAGO,SAASA,qBAAqBC,OAA6C;AAChF,SACEA,SAAS,QACT,OAAOA,UAAU,YAChBA,MAAkC,QAAQ,MAAM;AAErD;AAGO,SAASC,gBAAgBC,OAA+C;AAC7E,SAAO;IACLC,QAAQ;IACRC,UAAUF,MAAME;EAClB;AACF;",
5
5
  "names": ["isCrudSheetHeaderDef", "value", "CrudSheetHeader", "props", "__type", "children"]
6
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrudSheetTools.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\crud-sheet\\CrudSheetTools.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAMnF;AAGD,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE;IAC5C,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC;CACrC,GAAG,GAAG,CAAC,OAAO,CAKd"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/data/crud-sheet/CrudSheetTools.tsx"],
3
+ "sources": ["../../../../src/components/features/crud-sheet/CrudSheetTools.tsx"],
4
4
  "mappings": "AAGO,SAASA,oBAAoBC,OAAiD;AACnF,SACEA,SAAS,QACT,OAAOA,UAAU,YAChBA,MAAkC,QAAQ,MAAM;AAErD;AAGO,SAASC,eAAuBC,OAEvB;AACd,SAAO;IACLC,QAAQ;IACRC,UAAUF,MAAME;EAClB;AACF;",
5
5
  "names": ["isCrudSheetToolsDef", "value", "CrudSheetTools", "props", "__type", "children"]
6
6
  }
@@ -1,7 +1,7 @@
1
1
  import type { JSX } from "solid-js";
2
2
  import type { SetStoreFunction } from "solid-js/store";
3
3
  import type { ArrayDiffs2Result } from "@simplysm/core-common";
4
- import type { DataSheetColumnProps, SortingDef } from "../sheet/types";
4
+ import type { DataSheetColumnProps, SortingDef } from "../../data/sheet/types";
5
5
  export interface SearchResult<TItem> {
6
6
  items: TItem[];
7
7
  pageCount?: number;
@@ -10,10 +10,12 @@ export interface InlineEditConfig<TItem> {
10
10
  submit: (diffs: ArrayDiffs2Result<TItem>[]) => Promise<void>;
11
11
  newItem: () => TItem;
12
12
  deleteProp?: keyof TItem & string;
13
+ diffsExcludes?: string[];
13
14
  }
14
15
  export interface ModalEditConfig<TItem> {
15
- editItem: (item?: TItem) => Promise<boolean>;
16
+ editItem: (item?: TItem) => Promise<boolean | undefined>;
16
17
  deleteItems?: (items: TItem[]) => Promise<boolean>;
18
+ restoreItems?: (items: TItem[]) => Promise<boolean>;
17
19
  }
18
20
  export interface ExcelConfig<TItem> {
19
21
  download: (items: TItem[]) => Promise<void>;
@@ -40,6 +42,7 @@ export interface CrudSheetContext<TItem> {
40
42
  save(): Promise<void>;
41
43
  refresh(): Promise<void>;
42
44
  addItem(): void;
45
+ clearSelection(): void;
43
46
  setPage(page: number): void;
44
47
  setSorts(sorts: SortingDef[]): void;
45
48
  }
@@ -54,20 +57,23 @@ export type CrudSheetProps<TItem, TFilter extends Record<string, any>> = CrudShe
54
57
  modalEdit?: never;
55
58
  });
56
59
  interface CrudSheetBaseProps<TItem, TFilter extends Record<string, any>> {
57
- search: (filter: TFilter, page: number, sorts: SortingDef[]) => Promise<SearchResult<TItem>>;
60
+ search: (filter: TFilter, page: number | undefined, sorts: SortingDef[]) => Promise<SearchResult<TItem>>;
58
61
  getItemKey: (item: TItem) => string | number | undefined;
59
62
  persistKey?: string;
60
- itemsPerPage?: number;
61
63
  editable?: boolean;
62
64
  itemEditable?: (item: TItem) => boolean;
63
65
  itemDeletable?: (item: TItem) => boolean;
64
66
  itemDeleted?: (item: TItem) => boolean;
67
+ isItemSelectable?: (item: TItem) => boolean | string;
68
+ lastModifiedAtProp?: string;
69
+ lastModifiedByProp?: string;
65
70
  filterInitial?: TFilter;
66
71
  items?: TItem[];
67
72
  onItemsChange?: (items: TItem[]) => void;
68
73
  excel?: ExcelConfig<TItem>;
69
74
  selectMode?: "single" | "multiple";
70
75
  onSelect?: (result: SelectResult<TItem>) => void;
76
+ onSubmitted?: () => void;
71
77
  hideAutoTools?: boolean;
72
78
  class?: string;
73
79
  children: JSX.Element;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\crud-sheet\\types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { type JSX } from "solid-js";
2
+ import { type DialogShowOptions } from "../../disclosure/DialogContext";
3
+ import { type ComponentSize } from "../../../styles/tokens.styles";
4
+ /** 모달에서 반환하는 결과 인터페이스 */
5
+ export interface DataSelectModalResult<TKey> {
6
+ selectedKeys: TKey[];
7
+ }
8
+ /** DataSelectButton Props */
9
+ export interface DataSelectButtonProps<TItem, TKey = string | number> {
10
+ /** 현재 선택된 키 (단일 또는 다중) */
11
+ value?: TKey | TKey[];
12
+ /** 값 변경 콜백 */
13
+ onValueChange?: (value: TKey | TKey[] | undefined) => void;
14
+ /** 키로 아이템을 로드하는 함수 */
15
+ load: (keys: TKey[]) => TItem[] | Promise<TItem[]>;
16
+ /** 선택 모달 컴포넌트 팩토리 */
17
+ modal: () => JSX.Element;
18
+ /** 아이템 렌더링 함수 */
19
+ renderItem: (item: TItem) => JSX.Element;
20
+ /** 다중 선택 모드 */
21
+ multiple?: boolean;
22
+ /** 필수 입력 */
23
+ required?: boolean;
24
+ /** 비활성화 */
25
+ disabled?: boolean;
26
+ /** 트리거 크기 */
27
+ size?: ComponentSize;
28
+ /** 테두리 없는 스타일 */
29
+ inset?: boolean;
30
+ /** 커스텀 유효성 검사 함수 */
31
+ validate?: (value: unknown) => string | undefined;
32
+ /** touchMode: 포커스 해제 후에만 에러 표시 */
33
+ touchMode?: boolean;
34
+ /** 다이얼로그 옵션 */
35
+ dialogOptions?: DialogShowOptions;
36
+ }
37
+ export declare function DataSelectButton<TItem, TKey = string | number>(props: DataSelectButtonProps<TItem, TKey>): JSX.Element;
38
+ //# sourceMappingURL=DataSelectButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSelectButton.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\data-select-button\\DataSelectButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,GAAG,EAIT,MAAM,UAAU,CAAC;AAMlB,OAAO,EAAa,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnF,OAAO,EAAE,KAAK,aAAa,EAAa,MAAM,+BAA+B,CAAC;AAQ9E,yBAAyB;AACzB,MAAM,WAAW,qBAAqB,CAAC,IAAI;IACzC,YAAY,EAAE,IAAI,EAAE,CAAC;CACtB;AAED,6BAA6B;AAC7B,MAAM,WAAW,qBAAqB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM;IAClE,0BAA0B;IAC1B,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC;IACtB,cAAc;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAE3D,sBAAsB;IACtB,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,qBAAqB;IACrB,KAAK,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACzB,iBAAiB;IACjB,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,GAAG,CAAC,OAAO,CAAC;IAEzC,eAAe;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa;IACb,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD,kCAAkC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,eAAe;IACf,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AA+BD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAC5D,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,GACxC,GAAG,CAAC,OAAO,CAsLb"}