@simplysm/solid 13.0.62 → 13.0.64

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 (86) hide show
  1. package/README.md +6 -0
  2. package/dist/components/data/crud-detail/CrudDetail.d.ts.map +1 -1
  3. package/dist/components/data/crud-detail/CrudDetail.js +62 -41
  4. package/dist/components/data/crud-detail/CrudDetail.js.map +2 -2
  5. package/dist/components/data/crud-sheet/CrudSheet.d.ts.map +1 -1
  6. package/dist/components/data/crud-sheet/CrudSheet.js +164 -19
  7. package/dist/components/data/crud-sheet/CrudSheet.js.map +2 -2
  8. package/dist/components/data/crud-sheet/types.d.ts +9 -3
  9. package/dist/components/data/crud-sheet/types.d.ts.map +1 -1
  10. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
  11. package/dist/components/data/sheet/DataSheet.js +3 -2
  12. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  13. package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
  14. package/dist/components/form-control/checkbox/Checkbox.js +10 -10
  15. package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
  16. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
  17. package/dist/components/form-control/checkbox/Checkbox.styles.js +2 -2
  18. package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
  19. package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
  20. package/dist/components/form-control/checkbox/Radio.js +13 -13
  21. package/dist/components/form-control/checkbox/Radio.js.map +2 -2
  22. package/dist/components/form-control/data-select-button/DataSelectButton.d.ts +38 -0
  23. package/dist/components/form-control/data-select-button/DataSelectButton.d.ts.map +1 -0
  24. package/dist/components/form-control/data-select-button/DataSelectButton.js +184 -0
  25. package/dist/components/form-control/data-select-button/DataSelectButton.js.map +6 -0
  26. package/dist/components/form-control/select/Select.d.ts +7 -3
  27. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  28. package/dist/components/form-control/select/Select.js +146 -45
  29. package/dist/components/form-control/select/Select.js.map +2 -2
  30. package/dist/components/form-control/select-list/SelectList.d.ts +54 -0
  31. package/dist/components/form-control/select-list/SelectList.d.ts.map +1 -0
  32. package/dist/components/form-control/select-list/SelectList.js +280 -0
  33. package/dist/components/form-control/select-list/SelectList.js.map +6 -0
  34. package/dist/components/form-control/select-list/SelectListContext.d.ts +13 -0
  35. package/dist/components/form-control/select-list/SelectListContext.d.ts.map +1 -0
  36. package/dist/components/form-control/select-list/SelectListContext.js +14 -0
  37. package/dist/components/form-control/select-list/SelectListContext.js.map +6 -0
  38. package/dist/components/form-control/shared-data/SharedDataSelect.d.ts +32 -0
  39. package/dist/components/form-control/shared-data/SharedDataSelect.d.ts.map +1 -0
  40. package/dist/components/form-control/shared-data/SharedDataSelect.js +74 -0
  41. package/dist/components/form-control/shared-data/SharedDataSelect.js.map +6 -0
  42. package/dist/components/form-control/shared-data/SharedDataSelectButton.d.ts +29 -0
  43. package/dist/components/form-control/shared-data/SharedDataSelectButton.d.ts.map +1 -0
  44. package/dist/components/form-control/shared-data/SharedDataSelectButton.js +17 -0
  45. package/dist/components/form-control/shared-data/SharedDataSelectButton.js.map +6 -0
  46. package/dist/components/form-control/shared-data/SharedDataSelectList.d.ts +29 -0
  47. package/dist/components/form-control/shared-data/SharedDataSelectList.d.ts.map +1 -0
  48. package/dist/components/form-control/shared-data/SharedDataSelectList.js +80 -0
  49. package/dist/components/form-control/shared-data/SharedDataSelectList.js.map +6 -0
  50. package/dist/features/address/AddressSearch.d.ts +8 -0
  51. package/dist/features/address/AddressSearch.d.ts.map +1 -0
  52. package/dist/features/address/AddressSearch.js +72 -0
  53. package/dist/features/address/AddressSearch.js.map +6 -0
  54. package/dist/index.d.ts +6 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +6 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/providers/shared-data/SharedDataContext.d.ts +14 -0
  59. package/dist/providers/shared-data/SharedDataContext.d.ts.map +1 -1
  60. package/dist/providers/shared-data/SharedDataContext.js.map +1 -1
  61. package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
  62. package/dist/providers/shared-data/SharedDataProvider.js +5 -1
  63. package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
  64. package/docs/data-components.md +15 -4
  65. package/docs/form-controls.md +257 -0
  66. package/docs/hooks.md +30 -0
  67. package/docs/providers.md +7 -0
  68. package/package.json +3 -3
  69. package/src/components/data/crud-detail/CrudDetail.tsx +51 -26
  70. package/src/components/data/crud-sheet/CrudSheet.tsx +157 -20
  71. package/src/components/data/crud-sheet/types.ts +13 -3
  72. package/src/components/data/sheet/DataSheet.tsx +6 -7
  73. package/src/components/form-control/checkbox/Checkbox.styles.ts +2 -2
  74. package/src/components/form-control/checkbox/Checkbox.tsx +18 -20
  75. package/src/components/form-control/checkbox/Radio.tsx +18 -20
  76. package/src/components/form-control/data-select-button/DataSelectButton.tsx +279 -0
  77. package/src/components/form-control/select/Select.tsx +192 -36
  78. package/src/components/form-control/select-list/SelectList.tsx +385 -0
  79. package/src/components/form-control/select-list/SelectListContext.ts +23 -0
  80. package/src/components/form-control/shared-data/SharedDataSelect.tsx +101 -0
  81. package/src/components/form-control/shared-data/SharedDataSelectButton.tsx +47 -0
  82. package/src/components/form-control/shared-data/SharedDataSelectList.tsx +85 -0
  83. package/src/features/address/AddressSearch.tsx +75 -0
  84. package/src/index.ts +18 -0
  85. package/src/providers/shared-data/SharedDataContext.ts +14 -0
  86. package/src/providers/shared-data/SharedDataProvider.tsx +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SharedDataSelectButton.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\form-control\\shared-data\\SharedDataSelectButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAc,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,mCAAmC;AACnC,MAAM,WAAW,2BAA2B,CAAC,KAAK;IAChD,iBAAiB;IACjB,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9C,cAAc;IACd,aAAa,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC;IAC9D,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,qBAAqB;IACrB,KAAK,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACzB,iBAAiB;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,GAAG,CAAC,OAAO,CAAC;CACxC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAC1C,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC,GACxC,GAAG,CAAC,OAAO,CAUb"}
@@ -0,0 +1,17 @@
1
+ import { createComponent as _$createComponent } from "solid-js/web";
2
+ import { mergeProps as _$mergeProps } from "solid-js/web";
3
+ import { splitProps } from "solid-js";
4
+ import { DataSelectButton } from "../data-select-button/DataSelectButton.js";
5
+ function SharedDataSelectButton(props) {
6
+ const [local, rest] = splitProps(props, ["data", "children"]);
7
+ return _$createComponent(DataSelectButton, _$mergeProps({
8
+ load: (keys) => local.data.items().filter((item) => keys.includes(local.data.getKey(item))),
9
+ get renderItem() {
10
+ return local.children;
11
+ }
12
+ }, rest));
13
+ }
14
+ export {
15
+ SharedDataSelectButton
16
+ };
17
+ //# sourceMappingURL=SharedDataSelectButton.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/form-control/shared-data/SharedDataSelectButton.tsx"],
4
+ "mappings": ";;AAAA,SAAmBA,kBAAkB;AAErC,SACEC,wBAEK;AA6BA,SAASC,uBACdC,OACa;AACb,QAAM,CAACC,OAAOC,IAAI,IAAIL,WAAWG,OAAO,CAAC,QAAQ,UAAU,CAAC;AAE5D,SAAAG,kBACGL,kBAAgBM,aAAA;IACfC,MAAOC,UAASL,MAAMM,KAAKC,MAAM,EAAEC,OAAQC,UAASJ,KAAKK,SAASV,MAAMM,KAAKK,OAAOF,IAAI,CAAC,CAAC;IAAC,IAC3FG,aAAU;AAAA,aAAEZ,MAAMa;IAAQ;EAAA,GACtBZ,IAAI,CAAA;AAGd;",
5
+ "names": ["splitProps", "DataSelectButton", "SharedDataSelectButton", "props", "local", "rest", "_$createComponent", "_$mergeProps", "load", "keys", "data", "items", "filter", "item", "includes", "getKey", "renderItem", "children"]
6
+ }
@@ -0,0 +1,29 @@
1
+ import { type JSX } from "solid-js";
2
+ import { type SharedDataAccessor } from "../../../providers/shared-data/SharedDataContext";
3
+ /** SharedDataSelectList Props */
4
+ export interface SharedDataSelectListProps<TItem> {
5
+ /** 공유 데이터 접근자 */
6
+ data: SharedDataAccessor<TItem>;
7
+ /** 현재 선택된 값 */
8
+ value?: TItem;
9
+ /** 값 변경 콜백 */
10
+ onValueChange?: (value: TItem | undefined) => void;
11
+ /** 필수 입력 */
12
+ required?: boolean;
13
+ /** 비활성화 */
14
+ disabled?: boolean;
15
+ /** 항목 필터 함수 */
16
+ filterFn?: (item: TItem, index: number) => boolean;
17
+ /** 값 변경 가드 (false 반환 시 변경 차단) */
18
+ canChange?: (item: TItem | undefined) => boolean | Promise<boolean>;
19
+ /** 페이지 크기 (있으면 Pagination 자동 표시) */
20
+ pageSize?: number;
21
+ /** 헤더 텍스트 */
22
+ header?: string;
23
+ /** 관리 모달 컴포넌트 팩토리 */
24
+ modal?: () => JSX.Element;
25
+ /** 서브 컴포넌트용 children (ItemTemplate 등) */
26
+ children: JSX.Element;
27
+ }
28
+ export declare function SharedDataSelectList<TItem>(props: SharedDataSelectListProps<TItem>): JSX.Element;
29
+ //# sourceMappingURL=SharedDataSelectList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SharedDataSelectList.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\form-control\\shared-data\\SharedDataSelectList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,GAAG,EAAoB,MAAM,UAAU,CAAC;AAElE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAK3F,iCAAiC;AACjC,MAAM,WAAW,yBAAyB,CAAC,KAAK;IAC9C,iBAAiB;IACjB,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhC,eAAe;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,cAAc;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;IACnD,YAAY;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,iCAAiC;IACjC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAE1B,yCAAyC;IACzC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAgDhG"}
@@ -0,0 +1,80 @@
1
+ import { template as _$template } from "solid-js/web";
2
+ import { delegateEvents as _$delegateEvents } from "solid-js/web";
3
+ import { mergeProps as _$mergeProps } from "solid-js/web";
4
+ import { createComponent as _$createComponent } from "solid-js/web";
5
+ import { insert as _$insert } from "solid-js/web";
6
+ import { memo as _$memo } from "solid-js/web";
7
+ var _tmpl$ = /* @__PURE__ */ _$template(`<span>`), _tmpl$2 = /* @__PURE__ */ _$template(`<button type=button class="inline-flex items-center justify-center rounded p-0.5 text-base-500 hover:text-primary-500 dark:text-base-400 dark:hover:text-primary-400"aria-label=\uAD00\uB9AC>`), _tmpl$3 = /* @__PURE__ */ _$template(`<div class="flex items-center gap-1">`);
8
+ import { createMemo, Show, splitProps } from "solid-js";
9
+ import { IconExternalLink } from "@tabler/icons-solidjs";
10
+ import { SelectList } from "../select-list/SelectList.js";
11
+ import { Icon } from "../../display/Icon.js";
12
+ import { useDialog } from "../../disclosure/DialogContext.js";
13
+ function SharedDataSelectList(props) {
14
+ const [local, rest] = splitProps(props, ["data", "filterFn", "modal", "header", "children"]);
15
+ const dialog = useDialog();
16
+ const items = createMemo(() => {
17
+ const allItems = local.data.items();
18
+ if (!local.filterFn) return allItems;
19
+ return allItems.filter(local.filterFn);
20
+ });
21
+ const handleOpenModal = async () => {
22
+ if (!local.modal) return;
23
+ await dialog.show(local.modal, {});
24
+ };
25
+ return _$createComponent(SelectList, _$mergeProps(rest, {
26
+ get items() {
27
+ return items();
28
+ },
29
+ get getSearchText() {
30
+ return local.data.getSearchText;
31
+ },
32
+ get getIsHidden() {
33
+ return local.data.getIsHidden;
34
+ },
35
+ get children() {
36
+ return [_$createComponent(Show, {
37
+ get when() {
38
+ return local.header != null || local.modal != null;
39
+ },
40
+ get children() {
41
+ return _$createComponent(SelectList.Header, {
42
+ get children() {
43
+ var _el$ = _tmpl$3();
44
+ _$insert(_el$, _$createComponent(Show, {
45
+ get when() {
46
+ return local.header != null;
47
+ },
48
+ get children() {
49
+ var _el$2 = _tmpl$();
50
+ _$insert(_el$2, () => local.header);
51
+ return _el$2;
52
+ }
53
+ }), null);
54
+ _$insert(_el$, _$createComponent(Show, {
55
+ get when() {
56
+ return local.modal != null;
57
+ },
58
+ get children() {
59
+ var _el$3 = _tmpl$2();
60
+ _el$3.$$click = () => void handleOpenModal();
61
+ _$insert(_el$3, _$createComponent(Icon, {
62
+ icon: IconExternalLink,
63
+ size: "1em"
64
+ }));
65
+ return _el$3;
66
+ }
67
+ }), null);
68
+ return _el$;
69
+ }
70
+ });
71
+ }
72
+ }), _$memo(() => local.children)];
73
+ }
74
+ }));
75
+ }
76
+ _$delegateEvents(["click"]);
77
+ export {
78
+ SharedDataSelectList
79
+ };
80
+ //# sourceMappingURL=SharedDataSelectList.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/form-control/shared-data/SharedDataSelectList.tsx"],
4
+ "mappings": ";;;;;;;AAAA,SAASA,YAAsBC,MAAMC,kBAAkB;AACvD,SAASC,wBAAwB;AAEjC,SAASC,kBAAkB;AAC3B,SAASC,YAAY;AACrB,SAASC,iBAAiB;AA+BnB,SAASC,qBAA4BC,OAAsD;AAChG,QAAM,CAACC,OAAOC,IAAI,IAAIR,WAAWM,OAAO,CAAC,QAAQ,YAAY,SAAS,UAAU,UAAU,CAAC;AAE3F,QAAMG,SAASL,UAAU;AAGzB,QAAMM,QAAQZ,WAAW,MAAM;AAC7B,UAAMa,WAAWJ,MAAMK,KAAKF,MAAM;AAClC,QAAI,CAACH,MAAMM,SAAU,QAAOF;AAC5B,WAAOA,SAASG,OAAOP,MAAMM,QAAQ;EACvC,CAAC;AAGD,QAAME,kBAAkB,YAAY;AAClC,QAAI,CAACR,MAAMS,MAAO;AAClB,UAAMP,OAAOQ,KAAKV,MAAMS,OAAO,CAAC,CAAC;EACnC;AAEA,SAAAE,kBACGhB,YAAUiB,aACLX,MAAI;IAAA,IACRE,QAAK;AAAA,aAAEA,MAAM;IAAC;IAAA,IACdU,gBAAa;AAAA,aAAEb,MAAMK,KAAKQ;IAAa;IAAA,IACvCC,cAAW;AAAA,aAAEd,MAAMK,KAAKS;IAAW;IAAA,IAAAC,WAAA;AAAA,aAAA,CAAAJ,kBAGlCnB,MAAI;QAAA,IAACwB,OAAI;AAAA,iBAAEhB,MAAMiB,UAAU,QAAQjB,MAAMS,SAAS;QAAI;QAAA,IAAAM,WAAA;AAAA,iBAAAJ,kBACpDhB,WAAWuB,QAAM;YAAA,IAAAH,WAAA;AAAA,kBAAAI,OAAAC,QAAA;AAAAC,uBAAAF,MAAAR,kBAEbnB,MAAI;gBAAA,IAACwB,OAAI;AAAA,yBAAEhB,MAAMiB,UAAU;gBAAI;gBAAA,IAAAF,WAAA;AAAA,sBAAAO,QAAAC,OAAA;AAAAF,2BAAAC,OAAA,MACvBtB,MAAMiB,MAAM;AAAA,yBAAAK;gBAAA;cAAA,CAAA,GAAA,IAAA;AAAAD,uBAAAF,MAAAR,kBAEpBnB,MAAI;gBAAA,IAACwB,OAAI;AAAA,yBAAEhB,MAAMS,SAAS;gBAAI;gBAAA,IAAAM,WAAA;AAAA,sBAAAS,QAAAC,QAAA;AAAAD,wBAAAE,UAKlB,MAAM,KAAKlB,gBAAgB;AAACa,2BAAAG,OAAAb,kBAEpCf,MAAI;oBAAC+B,MAAMjC;oBAAkBkC,MAAI;kBAAA,CAAA,CAAA;AAAA,yBAAAJ;gBAAA;cAAA,CAAA,GAAA,IAAA;AAAA,qBAAAL;YAAA;UAAA,CAAA;QAAA;MAAA,CAAA,GAAAU,OAAA,MAM3C7B,MAAMe,QAAQ,CAAA;IAAA;EAAA,CAAA,CAAA;AAGrB;AAACe,iBAAA,CAAA,OAAA,CAAA;",
5
+ "names": ["createMemo", "Show", "splitProps", "IconExternalLink", "SelectList", "Icon", "useDialog", "SharedDataSelectList", "props", "local", "rest", "dialog", "items", "allItems", "data", "filterFn", "filter", "handleOpenModal", "modal", "show", "_$createComponent", "_$mergeProps", "getSearchText", "getIsHidden", "children", "when", "header", "Header", "_el$", "_tmpl$3", "_$insert", "_el$2", "_tmpl$", "_el$3", "_tmpl$2", "$$click", "icon", "size", "_$memo", "_$delegateEvents"]
6
+ }
@@ -0,0 +1,8 @@
1
+ import { type Component } from "solid-js";
2
+ export interface AddressSearchResult {
3
+ postNumber: string | undefined;
4
+ address: string | undefined;
5
+ buildingName: string | undefined;
6
+ }
7
+ export declare const AddressSearchContent: Component;
8
+ //# sourceMappingURL=AddressSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressSearch.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\features\\address\\AddressSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAyB,MAAM,UAAU,CAAC;AAIjE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,eAAO,MAAM,oBAAoB,EAAE,SAgElC,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { template as _$template } from "solid-js/web";
2
+ import { createComponent as _$createComponent } from "solid-js/web";
3
+ import { use as _$use } from "solid-js/web";
4
+ var _tmpl$ = /* @__PURE__ */ _$template(`<div data-address-content style=min-height:100px>`);
5
+ import { createSignal, onMount } from "solid-js";
6
+ import { BusyContainer } from "../../components/feedback/busy/BusyContainer.js";
7
+ import { useDialogInstance } from "../../components/disclosure/DialogInstanceContext.js";
8
+ const AddressSearchContent = () => {
9
+ const dialogInstance = useDialogInstance();
10
+ const [initialized, setInitialized] = createSignal(false);
11
+ let contentEl;
12
+ onMount(async () => {
13
+ if (!document.getElementById("daum_address")) {
14
+ await new Promise((resolve) => {
15
+ const scriptEl = document.createElement("script");
16
+ scriptEl.src = "//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js";
17
+ scriptEl.setAttribute("id", "daum_address");
18
+ scriptEl.onload = () => {
19
+ daum.postcode.load(() => {
20
+ resolve();
21
+ });
22
+ };
23
+ document.head.appendChild(scriptEl);
24
+ });
25
+ }
26
+ new daum.Postcode({
27
+ oncomplete: (data) => {
28
+ const addr = data.userSelectedType === "R" ? data.roadAddress : data.jibunAddress;
29
+ let extraAddr = "";
30
+ if (data.userSelectedType === "R") {
31
+ if (data.bname !== "" && /[동로가]$/g.test(data.bname)) {
32
+ extraAddr += data.bname;
33
+ }
34
+ if (data.buildingName !== "" && data.apartment === "Y") {
35
+ extraAddr += extraAddr !== "" ? ", " + data.buildingName : data.buildingName;
36
+ }
37
+ if (extraAddr !== "") {
38
+ extraAddr = " (" + extraAddr + ")";
39
+ }
40
+ }
41
+ dialogInstance == null ? void 0 : dialogInstance.close({
42
+ postNumber: data.zonecode,
43
+ address: addr + extraAddr,
44
+ buildingName: data.buildingName
45
+ });
46
+ },
47
+ onresize: (size) => {
48
+ contentEl.style.height = size.height + "px";
49
+ },
50
+ width: "100%",
51
+ height: "100%"
52
+ }).embed(contentEl, {
53
+ autoClose: false
54
+ });
55
+ setInitialized(true);
56
+ });
57
+ return _$createComponent(BusyContainer, {
58
+ get busy() {
59
+ return !initialized();
60
+ },
61
+ get children() {
62
+ var _el$ = _tmpl$();
63
+ var _ref$ = contentEl;
64
+ typeof _ref$ === "function" ? _$use(_ref$, _el$) : contentEl = _el$;
65
+ return _el$;
66
+ }
67
+ });
68
+ };
69
+ export {
70
+ AddressSearchContent
71
+ };
72
+ //# sourceMappingURL=AddressSearch.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/features/address/AddressSearch.tsx"],
4
+ "mappings": ";;;;AAAA,SAAyBA,cAAcC,eAAe;AACtD,SAASC,qBAAqB;AAC9B,SAASC,yBAAyB;AAQ3B,MAAMC,uBAAkCA,MAAM;AACnD,QAAMC,iBAAiBF,kBAAuC;AAE9D,QAAM,CAACG,aAAaC,cAAc,IAAIP,aAAa,KAAK;AACxD,MAAIQ;AAEJP,UAAQ,YAAY;AAClB,QAAI,CAACQ,SAASC,eAAe,cAAc,GAAG;AAC5C,YAAM,IAAIC,QAAeC,aAAY;AACnC,cAAMC,WAAWJ,SAASK,cAAc,QAAQ;AAChDD,iBAASE,MAAM;AACfF,iBAASG,aAAa,MAAM,cAAc;AAE1CH,iBAASI,SAAS,MAAY;AAE5BC,eAAKC,SAASC,KAAK,MAAM;AACvBR,oBAAQ;UACV,CAAC;QACH;AACAH,iBAASY,KAAKC,YAAYT,QAAQ;MACpC,CAAC;IACH;AAGA,QAAIK,KAAKK,SAAS;MAChBC,YAAaC,UAAoB;AAC/B,cAAMC,OAAOD,KAAKE,qBAAqB,MAAMF,KAAKG,cAAcH,KAAKI;AAErE,YAAIC,YAAY;AAChB,YAAIL,KAAKE,qBAAqB,KAAK;AACjC,cAAIF,KAAKM,UAAU,MAAM,UAAUC,KAAKP,KAAKM,KAAK,GAAG;AACnDD,yBAAaL,KAAKM;UACpB;AAEA,cAAIN,KAAKQ,iBAAiB,MAAMR,KAAKS,cAAc,KAAK;AACtDJ,yBAAaA,cAAc,KAAK,OAAOL,KAAKQ,eAAeR,KAAKQ;UAClE;AAEA,cAAIH,cAAc,IAAI;AACpBA,wBAAY,OAAOA,YAAY;UACjC;QACF;AAEAzB,yDAAgB8B,MAAM;UACpBC,YAAYX,KAAKY;UACjBC,SAASZ,OAAOI;UAChBG,cAAcR,KAAKQ;QACrB;MACF;MACAM,UAAWC,UAAoB;AAC7BhC,kBAAUiC,MAAMC,SAASF,KAAKE,SAAS;MACzC;MACAC,OAAO;MACPD,QAAQ;IACV,CAAC,EAAEE,MAAMpC,WAAW;MAAEqC,WAAW;IAAM,CAAC;AAExCtC,mBAAe,IAAI;EACrB,CAAC;AAED,SAAAuC,kBACG5C,eAAa;IAAA,IAAC6C,OAAI;AAAA,aAAE,CAACzC,YAAY;IAAC;IAAA,IAAA0C,WAAA;AAAA,UAAAC,OAAAC,OAAA;AAAA,UAAAC,QACvB3C;AAAS,aAAA2C,UAAA,aAAAC,MAAAD,OAAAF,IAAA,IAATzC,YAASyC;AAAA,aAAAA;IAAA;EAAA,CAAA;AAGzB;",
5
+ "names": ["createSignal", "onMount", "BusyContainer", "useDialogInstance", "AddressSearchContent", "dialogInstance", "initialized", "setInitialized", "contentEl", "document", "getElementById", "Promise", "resolve", "scriptEl", "createElement", "src", "setAttribute", "onload", "daum", "postcode", "load", "head", "appendChild", "Postcode", "oncomplete", "data", "addr", "userSelectedType", "roadAddress", "jibunAddress", "extraAddr", "bname", "test", "buildingName", "apartment", "close", "postNumber", "zonecode", "address", "onresize", "size", "style", "height", "width", "embed", "autoClose", "_$createComponent", "busy", "children", "_el$", "_tmpl$", "_ref$", "_$use"]
6
+ }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  export * from "./components/form-control/Button";
2
2
  export * from "./components/form-control/select/Select";
3
+ export * from "./components/form-control/select-list/SelectList";
4
+ export * from "./components/form-control/data-select-button/DataSelectButton";
5
+ export * from "./components/form-control/shared-data/SharedDataSelect";
6
+ export * from "./components/form-control/shared-data/SharedDataSelectButton";
7
+ export * from "./components/form-control/shared-data/SharedDataSelectList";
3
8
  export * from "./components/form-control/combobox/Combobox";
4
9
  export * from "./components/form-control/field/TextInput";
5
10
  export * from "./components/form-control/field/NumberInput";
@@ -88,4 +93,5 @@ export * from "./styles/patterns.styles";
88
93
  export * from "./directives/ripple";
89
94
  export * from "./helpers/mergeStyles";
90
95
  export * from "./helpers/createAppStructure";
96
+ export * from "./features/address/AddressSearch";
91
97
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["..\\src\\index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["..\\src\\index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,10 @@
1
1
  export * from "./components/form-control/Button.js";
2
2
  export * from "./components/form-control/select/Select.js";
3
+ export * from "./components/form-control/select-list/SelectList.js";
4
+ export * from "./components/form-control/data-select-button/DataSelectButton.js";
5
+ export * from "./components/form-control/shared-data/SharedDataSelect.js";
6
+ export * from "./components/form-control/shared-data/SharedDataSelectButton.js";
7
+ export * from "./components/form-control/shared-data/SharedDataSelectList.js";
3
8
  export * from "./components/form-control/combobox/Combobox.js";
4
9
  export * from "./components/form-control/field/TextInput.js";
5
10
  export * from "./components/form-control/field/NumberInput.js";
@@ -88,4 +93,5 @@ export * from "./styles/patterns.styles.js";
88
93
  export * from "./directives/ripple.js";
89
94
  export * from "./helpers/mergeStyles.js";
90
95
  export * from "./helpers/createAppStructure.js";
96
+ export * from "./features/address/AddressSearch.js";
91
97
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "mappings": "AAGA,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AAMd,cAAc;AAMd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAGA,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AAMd,cAAc;AAMd,cAAc;AACd,cAAc;AAOd,cAAc;",
5
5
  "names": []
6
6
  }
@@ -16,6 +16,12 @@ export interface SharedDataDefinition<TData> {
16
16
  orderBy: [(item: TData) => unknown, "asc" | "desc"][];
17
17
  /** 서버 이벤트 필터 (같은 name의 이벤트 중 filter가 일치하는 것만 수신) */
18
18
  filter?: unknown;
19
+ /** 항목에서 검색 텍스트를 추출하는 함수 */
20
+ getSearchText?: (item: TData) => string;
21
+ /** 항목이 숨김 상태인지 판별하는 함수 */
22
+ getIsHidden?: (item: TData) => boolean;
23
+ /** 항목의 부모 key를 추출하는 함수 (트리 구조 지원) */
24
+ getParentKey?: (item: TData) => string | number | undefined;
19
25
  }
20
26
  /**
21
27
  * 공유 데이터 접근자
@@ -30,6 +36,14 @@ export interface SharedDataAccessor<TData> {
30
36
  get: (key: string | number | undefined) => TData | undefined;
31
37
  /** 서버에 변경 이벤트 전파 (모든 구독자에게 refetch 트리거) */
32
38
  emit: (changeKeys?: Array<string | number>) => Promise<void>;
39
+ /** 항목의 고유 key 추출 함수 */
40
+ getKey: (item: TData) => string | number;
41
+ /** 항목에서 검색 텍스트를 추출하는 함수 */
42
+ getSearchText?: (item: TData) => string;
43
+ /** 항목이 숨김 상태인지 판별하는 함수 */
44
+ getIsHidden?: (item: TData) => boolean;
45
+ /** 항목의 부모 key를 추출하는 함수 (트리 구조 지원) */
46
+ getParentKey?: (item: TData) => string | number | undefined;
33
47
  }
34
48
  /**
35
49
  * 공유 데이터 Context 값
@@ -1 +1 @@
1
- {"version":3,"file":"SharedDataContext.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\providers\\shared-data\\SharedDataContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAA6B,MAAM,UAAU,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB,CAAC,KAAK;IACzC,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,uBAAuB;IACvB,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,GAAG,MAAM,CAAC;IACzC,6BAA6B;IAC7B,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;IACtD,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACvC,gBAAgB;IAChB,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACzB,oBAAoB;IACpB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,KAAK,GAAG,SAAS,CAAC;IAC7D,2CAA2C;IAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KACxE,CAAC,IAAI,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAC7D,GAAG;IACF,0BAA0B;IAC1B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,oBAAoB;IACpB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxB,iDAAiD;IACjD,SAAS,EAAE,CACT,EAAE,EAAE,CAAC,MAAM,EAAE;SACV,CAAC,IAAI,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KAC/D,KAAK;SACH,CAAC,IAAI,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KAC/D,KACE,IAAI,CAAC;CACX,CAAC;AAEF,qBAAqB;AACrB,eAAO,MAAM,iBAAiB,kFAA4D,CAAC;AAE3F;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAClE,eAAe,CAAC,WAAW,CAAC,CAMhC"}
1
+ {"version":3,"file":"SharedDataContext.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\providers\\shared-data\\SharedDataContext.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/providers/shared-data/SharedDataContext.ts"],
4
- "mappings": "AAAA,SAAwB,eAAe,kBAAkB;AA6DlD,MAAM,oBAAoB,cAAwD;AAOlF,SAAS,gBAEkB;AAChC,QAAM,UAAU,WAAW,iBAAiB;AAC5C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,0HAAoD;AAAA,EACtE;AACA,SAAO;AACT;",
4
+ "mappings": "AAAA,SAAwB,eAAe,kBAAkB;AA2ElD,MAAM,oBAAoB,cAAwD;AAOlF,SAAS,gBAEkB;AAChC,QAAM,UAAU,WAAW,iBAAiB;AAC5C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,0HAAoD;AAAA,EACtE;AACA,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SharedDataProvider.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\providers\\shared-data\\SharedDataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,GAAG,EAAuC,MAAM,UAAU,CAAC;AAaxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAwKhF"}
1
+ {"version":3,"file":"SharedDataProvider.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\providers\\shared-data\\SharedDataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,GAAG,EAAuC,MAAM,UAAU,CAAC;AAaxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CA4KhF"}
@@ -96,7 +96,11 @@ function SharedDataProvider(props) {
96
96
  },
97
97
  emit: async (changeKeys) => {
98
98
  await client.emitToServer(SharedDataChangeEvent, (info) => info.name === name && objEqual(info.filter, def.filter), changeKeys);
99
- }
99
+ },
100
+ getKey: def.getKey,
101
+ getSearchText: def.getSearchText,
102
+ getIsHidden: def.getIsHidden,
103
+ getParentKey: def.getParentKey
100
104
  };
101
105
  }
102
106
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/providers/shared-data/SharedDataProvider.tsx"],
4
- "mappings": "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",
5
- "names": ["createMemo", "createSignal", "onCleanup", "objEqual", "waitUntil", "SharedDataContext", "SharedDataChangeEvent", "useServiceClient", "useNotification", "useLogger", "SharedDataProvider", "props", "serviceClient", "notification", "logger", "configured", "busyCount", "setBusyCount", "busy", "signalMap", "Map", "memoMap", "listenerKeyMap", "versionMap", "accessors", "currentDefinitions", "ordering", "data", "orderByList", "result", "orderBy", "reverse", "selector", "item", "orderByDesc", "loadData", "name", "def", "changeKeys", "currentVersion", "get", "set", "c", "signal", "Error", "setItems", "resData", "fetch", "prev", "filtered", "filter", "includes", "getKey", "push", "err", "error", "danger", "message", "wait", "configure", "fn", "definitions", "Object", "entries", "items", "itemMap", "map", "client", "serviceKey", "addEventListener", "then", "key", "undefined", "emit", "emitToServer", "info", "listenerKey", "removeEventListener", "KNOWN_KEYS", "Set", "contextValue", "Proxy", "target", "prop", "has", "_$createComponent", "Provider", "value", "children"]
4
+ "mappings": "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",
5
+ "names": ["createMemo", "createSignal", "onCleanup", "objEqual", "waitUntil", "SharedDataContext", "SharedDataChangeEvent", "useServiceClient", "useNotification", "useLogger", "SharedDataProvider", "props", "serviceClient", "notification", "logger", "configured", "busyCount", "setBusyCount", "busy", "signalMap", "Map", "memoMap", "listenerKeyMap", "versionMap", "accessors", "currentDefinitions", "ordering", "data", "orderByList", "result", "orderBy", "reverse", "selector", "item", "orderByDesc", "loadData", "name", "def", "changeKeys", "currentVersion", "get", "set", "c", "signal", "Error", "setItems", "resData", "fetch", "prev", "filtered", "filter", "includes", "getKey", "push", "err", "error", "danger", "message", "wait", "configure", "fn", "definitions", "Object", "entries", "items", "itemMap", "map", "client", "serviceKey", "addEventListener", "then", "key", "undefined", "emit", "emitToServer", "info", "getSearchText", "getIsHidden", "getParentKey", "listenerKey", "removeEventListener", "KNOWN_KEYS", "Set", "contextValue", "Proxy", "target", "prop", "has", "_$createComponent", "Provider", "value", "children"]
6
6
  }
@@ -137,11 +137,22 @@ import { DataSheet } from "@simplysm/solid";
137
137
  | `width` | `string` | - | Column width (e.g., `"100px"`, `"10rem"`) |
138
138
  | `class` | `string` | - | Cell CSS class |
139
139
  | `fixed` | `boolean` | `false` | Fixed column |
140
- | `hidden` | `boolean` | `false` | Hidden column |
140
+ | `hidden` | `boolean` | `false` | Default hidden state (overridable by user column config) |
141
141
  | `collapse` | `boolean` | `false` | Hidden in config modal |
142
142
  | `sortable` | `boolean` | `true` | Sortable |
143
143
  | `resizable` | `boolean` | `true` | Resizable |
144
- | `children` | `(ctx: { item: T, index: number, depth: number }) => JSX.Element` | **(required)** | Cell rendering function |
144
+ | `children` | `(ctx: DataSheetCellContext<T>) => JSX.Element` | **(required)** | Cell rendering function |
145
+
146
+ **DataSheetCellContext:**
147
+
148
+ ```typescript
149
+ interface DataSheetCellContext<T> {
150
+ item: T;
151
+ index: number; // Position within parent array (root: items[], child: parent.children[])
152
+ row: number; // Flat display row position (within current page)
153
+ depth: number;
154
+ }
155
+ ```
145
156
 
146
157
  ---
147
158
 
@@ -724,8 +735,8 @@ const handleEdit = async () => {
724
735
  | `children` | `(ctx: CrudDetailContext<TData>) => JSX.Element` | **(required)** | Render prop receiving context |
725
736
  | `submit` | `(data: TData) => Promise<boolean \| undefined>` | - | Save function. Return `true` to trigger success notification |
726
737
  | `toggleDelete` | `(del: boolean) => Promise<boolean \| undefined>` | - | Soft-delete/restore function. `del=true` for delete, `false` for restore |
727
- | `editable` | `() => boolean` | `() => true` | Whether editing is allowed |
728
- | `deletable` | `() => boolean` | `() => true` | Whether delete/restore is allowed |
738
+ | `editable` | `boolean` | `true` | Whether editing is allowed |
739
+ | `deletable` | `boolean` | `true` | Whether delete/restore is allowed |
729
740
  | `data` | `TData` | - | Controlled data state |
730
741
  | `onDataChange` | `(data: TData) => void` | - | Data change callback (controlled mode) |
731
742
  | `class` | `string` | - | CSS class |