@simplysm/solid 13.0.61 → 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.
- package/README.md +6 -0
- package/dist/components/data/crud-detail/CrudDetail.d.ts.map +1 -1
- package/dist/components/data/crud-detail/CrudDetail.js +62 -41
- package/dist/components/data/crud-detail/CrudDetail.js.map +2 -2
- package/dist/components/data/crud-sheet/CrudSheet.d.ts.map +1 -1
- package/dist/components/data/crud-sheet/CrudSheet.js +164 -19
- package/dist/components/data/crud-sheet/CrudSheet.js.map +2 -2
- package/dist/components/data/crud-sheet/types.d.ts +9 -3
- package/dist/components/data/crud-sheet/types.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.js +3 -2
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.js +10 -10
- package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.styles.js +2 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
- package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Radio.js +13 -13
- package/dist/components/form-control/checkbox/Radio.js.map +2 -2
- package/dist/components/form-control/data-select-button/DataSelectButton.d.ts +38 -0
- package/dist/components/form-control/data-select-button/DataSelectButton.d.ts.map +1 -0
- package/dist/components/form-control/data-select-button/DataSelectButton.js +184 -0
- package/dist/components/form-control/data-select-button/DataSelectButton.js.map +6 -0
- package/dist/components/form-control/select/Select.d.ts +7 -3
- package/dist/components/form-control/select/Select.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.js +146 -45
- package/dist/components/form-control/select/Select.js.map +2 -2
- package/dist/components/form-control/select-list/SelectList.d.ts +54 -0
- package/dist/components/form-control/select-list/SelectList.d.ts.map +1 -0
- package/dist/components/form-control/select-list/SelectList.js +280 -0
- package/dist/components/form-control/select-list/SelectList.js.map +6 -0
- package/dist/components/form-control/select-list/SelectListContext.d.ts +13 -0
- package/dist/components/form-control/select-list/SelectListContext.d.ts.map +1 -0
- package/dist/components/form-control/select-list/SelectListContext.js +14 -0
- package/dist/components/form-control/select-list/SelectListContext.js.map +6 -0
- package/dist/components/form-control/shared-data/SharedDataSelect.d.ts +32 -0
- package/dist/components/form-control/shared-data/SharedDataSelect.d.ts.map +1 -0
- package/dist/components/form-control/shared-data/SharedDataSelect.js +74 -0
- package/dist/components/form-control/shared-data/SharedDataSelect.js.map +6 -0
- package/dist/components/form-control/shared-data/SharedDataSelectButton.d.ts +29 -0
- package/dist/components/form-control/shared-data/SharedDataSelectButton.d.ts.map +1 -0
- package/dist/components/form-control/shared-data/SharedDataSelectButton.js +17 -0
- package/dist/components/form-control/shared-data/SharedDataSelectButton.js.map +6 -0
- package/dist/components/form-control/shared-data/SharedDataSelectList.d.ts +29 -0
- package/dist/components/form-control/shared-data/SharedDataSelectList.d.ts.map +1 -0
- package/dist/components/form-control/shared-data/SharedDataSelectList.js +80 -0
- package/dist/components/form-control/shared-data/SharedDataSelectList.js.map +6 -0
- package/dist/features/address/AddressSearch.d.ts +8 -0
- package/dist/features/address/AddressSearch.d.ts.map +1 -0
- package/dist/features/address/AddressSearch.js +72 -0
- package/dist/features/address/AddressSearch.js.map +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/shared-data/SharedDataContext.d.ts +14 -0
- package/dist/providers/shared-data/SharedDataContext.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataContext.js.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.js +5 -1
- package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
- package/docs/data-components.md +15 -4
- package/docs/form-controls.md +257 -0
- package/docs/hooks.md +30 -0
- package/docs/providers.md +7 -0
- package/package.json +3 -3
- package/src/components/data/crud-detail/CrudDetail.tsx +51 -26
- package/src/components/data/crud-sheet/CrudSheet.tsx +157 -20
- package/src/components/data/crud-sheet/types.ts +13 -3
- package/src/components/data/sheet/DataSheet.tsx +6 -7
- package/src/components/form-control/checkbox/Checkbox.styles.ts +2 -2
- package/src/components/form-control/checkbox/Checkbox.tsx +18 -20
- package/src/components/form-control/checkbox/Radio.tsx +18 -20
- package/src/components/form-control/data-select-button/DataSelectButton.tsx +279 -0
- package/src/components/form-control/select/Select.tsx +192 -36
- package/src/components/form-control/select-list/SelectList.tsx +385 -0
- package/src/components/form-control/select-list/SelectListContext.ts +23 -0
- package/src/components/form-control/shared-data/SharedDataSelect.tsx +101 -0
- package/src/components/form-control/shared-data/SharedDataSelectButton.tsx +47 -0
- package/src/components/form-control/shared-data/SharedDataSelectList.tsx +85 -0
- package/src/features/address/AddressSearch.tsx +75 -0
- package/src/index.ts +18 -0
- package/src/providers/shared-data/SharedDataContext.ts +14 -0
- package/src/providers/shared-data/SharedDataProvider.tsx +4 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/form-control/select/Select.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;AAAA,SACEA,UACAC,YACAC,cACAC,KAGAC,WACAC,MACAC,kBACK;AACP,OAAOC,UAAU;AACjB,SAASC,eAAe;AACxB,SAASC,uBAAuB;AAChC,SAASC,YAAY;AACrB,SAASC,gBAAgB;AACzB,SAASC,YAAY;AACrB,SAASC,qBAA8C;AACvD,SAASC,wBAAwB;AACjC,SAASC,kBAAkB;AAC3B,SAASC,cAAc;AACvB,
|
|
5
|
-
"names": ["children", "createMemo", "createSignal", "For", "onCleanup", "Show", "splitProps", "clsx", "twMerge", "IconChevronDown", "Icon", "Dropdown", "List", "SelectContext", "useSelectContext", "SelectItem", "ripple", "borderDefault", "textMuted", "createControllableSignal", "createSlotSignal", "chevronWrapperClass", "getTriggerClass", "Invalid", "multiTagClass", "selectedValueClass", "SelectAction", "props", "local", "rest", "ctx", "setAction", "_el$", "_tmpl$", "_$use", "_$spread", "_$mergeProps", "class", "_$insert", "undefined", "SelectHeader", "setHeader", "SelectItemTemplate", "setItemTemplate", "Select", "open", "setOpen", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["children", "createEffect", "createMemo", "createSignal", "For", "onCleanup", "Show", "splitProps", "clsx", "twMerge", "IconChevronDown", "Icon", "Dropdown", "List", "SelectContext", "useSelectContext", "SelectItem", "ripple", "borderDefault", "borderSubtle", "textMuted", "textPlaceholder", "createControllableSignal", "createSlotSignal", "chevronWrapperClass", "getTriggerClass", "Invalid", "multiTagClass", "selectedValueClass", "searchInputClass", "selectAllBarClass", "selectAllBtnClass", "SelectAction", "props", "local", "rest", "ctx", "setAction", "_el$", "_tmpl$", "_$use", "_$spread", "_$mergeProps", "class", "_$insert", "undefined", "SelectHeader", "setHeader", "SelectItemTemplate", "setItemTemplate", "Select", "open", "setOpen", "searchText", "setSearchText", "value", "setValue", "onChange", "onValueChange", "isSelected", "itemValue", "current", "multiple", "Array", "isArray", "includes", "toggleValue", "idx", "indexOf", "slice", "closeDropdown", "header", "action", "itemTemplate", "_setItemTemplate", "fn", "contextValue", "handleTriggerKeyDown", "e", "disabled", "key", "preventDefault", "errorMsg", "v", "required", "validate", "getTriggerClassName", "size", "inset", "filteredItems", "items", "getSearchText", "terms", "trim", "split", "filter", "Boolean", "length", "matchesSearch", "item", "text", "toLowerCase", "every", "t", "getChildren", "itemChildren", "some", "child", "visibleItems", "getIsHidden", "handleSelectAll", "handleDeselectAll", "SelectInner", "innerProps", "resolved", "getItemTemplate", "renderItems", "itemList", "depth", "tpl", "_$createComponent", "each", "index", "hidden", "_$memo", "String", "when", "keyed", "visibleChildren", "Children", "renderValue", "renderVal", "renderSelectedValue", "_el$2", "_tmpl$2", "_$className", "placeholder", "direction", "multiDisplayDirection", "_el$3", "_tmpl$3", "_el$4", "_$effect", "showUnsetItem", "showSelectAllBar", "hideSelectAll", "_el$5", "onOpenChange", "keyboardNav", "Trigger", "_el$6", "_tmpl$4", "_el$7", "firstChild", "_el$8", "nextSibling", "$$keydown", "icon", "_p$", "_v$", "_v$2", "_v$3", "_v$4", "_v$5", "_v$6", "style", "_$setAttribute", "a", "o", "i", "n", "_$style", "Content", "_el$9", "_tmpl$5", "$$input", "currentTarget", "_el$0", "_tmpl$6", "_el$1", "_el$10", "$$click", "role", "fallback", "_el$11", "_tmpl$7", "_el$12", "message", "variant", "touchMode", "Provider", "Item", "Action", "Header", "ItemTemplate", "_$delegateEvents"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type JSX, type ParentComponent } from "solid-js";
|
|
2
|
+
/**
|
|
3
|
+
* Header 슬롯 서브 컴포넌트
|
|
4
|
+
*/
|
|
5
|
+
declare const SelectListHeader: ParentComponent;
|
|
6
|
+
/**
|
|
7
|
+
* Filter 슬롯 서브 컴포넌트
|
|
8
|
+
*/
|
|
9
|
+
declare const SelectListFilter: ParentComponent;
|
|
10
|
+
/**
|
|
11
|
+
* ItemTemplate 서브 컴포넌트
|
|
12
|
+
*/
|
|
13
|
+
declare const SelectListItemTemplate: <TArgs extends unknown[]>(props: {
|
|
14
|
+
children: (...args: TArgs) => JSX.Element;
|
|
15
|
+
}) => null;
|
|
16
|
+
export interface SelectListProps<TValue> {
|
|
17
|
+
/** 목록 아이템 배열 */
|
|
18
|
+
items: TValue[];
|
|
19
|
+
/** 현재 선택된 값 */
|
|
20
|
+
value?: TValue;
|
|
21
|
+
/** 값 변경 콜백 */
|
|
22
|
+
onValueChange?: (value: TValue | undefined) => void;
|
|
23
|
+
/** 필수 선택 여부 (true이면 미지정 항목 숨김) */
|
|
24
|
+
required?: boolean;
|
|
25
|
+
/** 비활성화 */
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
/** 검색 텍스트 추출 함수 (있으면 검색 TextInput 자동 표시) */
|
|
28
|
+
getSearchText?: (item: TValue) => string;
|
|
29
|
+
/** 숨김 여부 필터 */
|
|
30
|
+
getIsHidden?: (item: TValue) => boolean;
|
|
31
|
+
/** 커스텀 필터 함수 */
|
|
32
|
+
filterFn?: (item: TValue, index: number) => boolean;
|
|
33
|
+
/** 값 변경 가드 (false 반환 시 변경 차단) */
|
|
34
|
+
canChange?: (item: TValue | undefined) => boolean | Promise<boolean>;
|
|
35
|
+
/** 페이지 크기 (있으면 Pagination 자동 표시) */
|
|
36
|
+
pageSize?: number;
|
|
37
|
+
/** 헤더 텍스트 (Header 슬롯보다 우선순위 낮음) */
|
|
38
|
+
header?: string;
|
|
39
|
+
/** 커스텀 class */
|
|
40
|
+
class?: string;
|
|
41
|
+
/** 커스텀 style */
|
|
42
|
+
style?: JSX.CSSProperties;
|
|
43
|
+
/** 서브 컴포넌트용 children */
|
|
44
|
+
children?: JSX.Element;
|
|
45
|
+
}
|
|
46
|
+
interface SelectListComponent {
|
|
47
|
+
<TValue = unknown>(props: SelectListProps<TValue>): JSX.Element;
|
|
48
|
+
Header: typeof SelectListHeader;
|
|
49
|
+
Filter: typeof SelectListFilter;
|
|
50
|
+
ItemTemplate: typeof SelectListItemTemplate;
|
|
51
|
+
}
|
|
52
|
+
export declare const SelectList: SelectListComponent;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=SelectList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectList.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\form-control\\select-list\\SelectList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,GAAG,EAER,KAAK,eAAe,EAGrB,MAAM,UAAU,CAAC;AAsBlB;;GAEG;AACH,QAAA,MAAM,gBAAgB,EAAE,eAMvB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,gBAAgB,EAAE,eAMvB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,sBAAsB,GAAI,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO;IAC9D,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,GAAG,CAAC,OAAO,CAAC;CAC3C,SAMA,CAAC;AAIF,MAAM,WAAW,eAAe,CAAC,MAAM;IACrC,gBAAgB;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,cAAc;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAEpD,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAEzC,eAAe;IACf,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAExC,gBAAgB;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAEpD,iCAAiC;IACjC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErE,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gBAAgB;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;IAE1B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAUD,UAAU,mBAAmB;IAC3B,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IAChE,MAAM,EAAE,OAAO,gBAAgB,CAAC;IAChC,MAAM,EAAE,OAAO,gBAAgB,CAAC;IAChC,YAAY,EAAE,OAAO,sBAAsB,CAAC;CAC7C;AAED,eAAO,MAAM,UAAU,EAAE,mBA2PxB,CAAC"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { template as _$template } from "solid-js/web";
|
|
2
|
+
import { delegateEvents as _$delegateEvents } from "solid-js/web";
|
|
3
|
+
import { insert as _$insert } from "solid-js/web";
|
|
4
|
+
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
5
|
+
import { className as _$className } from "solid-js/web";
|
|
6
|
+
import { effect as _$effect } from "solid-js/web";
|
|
7
|
+
import { use as _$use } from "solid-js/web";
|
|
8
|
+
import { createComponent as _$createComponent } from "solid-js/web";
|
|
9
|
+
import { spread as _$spread } from "solid-js/web";
|
|
10
|
+
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
11
|
+
import { memo as _$memo } from "solid-js/web";
|
|
12
|
+
var _tmpl$ = /* @__PURE__ */ _$template(`<button type=button data-list-item role=treeitem><span>\uBBF8\uC9C0\uC815`), _tmpl$2 = /* @__PURE__ */ _$template(`<div>`), _tmpl$3 = /* @__PURE__ */ _$template(`<button type=button data-list-item role=treeitem><span>`);
|
|
13
|
+
import { children, createEffect, createMemo, createSignal, For, onCleanup, Show, splitProps } from "solid-js";
|
|
14
|
+
import clsx from "clsx";
|
|
15
|
+
import { twMerge } from "tailwind-merge";
|
|
16
|
+
import { List } from "../../data/list/List.js";
|
|
17
|
+
import { Pagination } from "../../data/Pagination.js";
|
|
18
|
+
import { TextInput } from "../field/TextInput.js";
|
|
19
|
+
import { createSlotSignal } from "../../../hooks/createSlotSignal.js";
|
|
20
|
+
import { SelectListContext } from "./SelectListContext.js";
|
|
21
|
+
import { useSelectListContext } from "./SelectListContext.js";
|
|
22
|
+
import { listItemBaseClass, listItemSelectedClass, listItemContentClass, listItemDisabledClass } from "../../data/list/ListItem.styles.js";
|
|
23
|
+
import { ripple } from "../../../directives/ripple.js";
|
|
24
|
+
import { textMuted } from "../../../styles/tokens.styles.js";
|
|
25
|
+
void ripple;
|
|
26
|
+
const SelectListHeader = (props) => {
|
|
27
|
+
const ctx = useSelectListContext();
|
|
28
|
+
ctx.setHeader(() => props.children);
|
|
29
|
+
onCleanup(() => ctx.setHeader(void 0));
|
|
30
|
+
return null;
|
|
31
|
+
};
|
|
32
|
+
const SelectListFilter = (props) => {
|
|
33
|
+
const ctx = useSelectListContext();
|
|
34
|
+
ctx.setFilter(() => props.children);
|
|
35
|
+
onCleanup(() => ctx.setFilter(void 0));
|
|
36
|
+
return null;
|
|
37
|
+
};
|
|
38
|
+
const SelectListItemTemplate = (props) => {
|
|
39
|
+
const ctx = useSelectListContext();
|
|
40
|
+
ctx.setItemTemplate(props.children);
|
|
41
|
+
onCleanup(() => ctx.setItemTemplate(void 0));
|
|
42
|
+
return null;
|
|
43
|
+
};
|
|
44
|
+
const containerClass = clsx("inline-flex flex-col gap-1");
|
|
45
|
+
const headerClass = clsx("px-2 py-1 text-sm font-semibold");
|
|
46
|
+
const SelectList = (props) => {
|
|
47
|
+
const [local, rest] = splitProps(props, ["children", "class", "style", "items", "value", "onValueChange", "required", "disabled", "getSearchText", "getIsHidden", "filterFn", "canChange", "pageSize", "header"]);
|
|
48
|
+
const [searchText, setSearchText] = createSignal("");
|
|
49
|
+
const [page, setPage] = createSignal(1);
|
|
50
|
+
const [headerSlot, setHeader] = createSlotSignal();
|
|
51
|
+
const [filterSlot, setFilter] = createSlotSignal();
|
|
52
|
+
const [itemTemplate, _setItemTemplate] = createSignal();
|
|
53
|
+
const setItemTemplate = (fn) => _setItemTemplate(() => fn);
|
|
54
|
+
const contextValue = {
|
|
55
|
+
setHeader,
|
|
56
|
+
setFilter,
|
|
57
|
+
setItemTemplate
|
|
58
|
+
};
|
|
59
|
+
createEffect(() => {
|
|
60
|
+
const currentItems = local.items;
|
|
61
|
+
const currentValue = local.value;
|
|
62
|
+
if (currentValue === void 0) return;
|
|
63
|
+
const found = currentItems.find((item) => item === currentValue);
|
|
64
|
+
if (found !== void 0) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
const filteredItems = createMemo(() => {
|
|
69
|
+
let result = local.items;
|
|
70
|
+
if (local.getIsHidden) {
|
|
71
|
+
const fn = local.getIsHidden;
|
|
72
|
+
result = result.filter((item) => !fn(item));
|
|
73
|
+
}
|
|
74
|
+
const search = searchText().trim().toLowerCase();
|
|
75
|
+
if (search && local.getSearchText) {
|
|
76
|
+
const getText = local.getSearchText;
|
|
77
|
+
result = result.filter((item) => getText(item).toLowerCase().includes(search));
|
|
78
|
+
}
|
|
79
|
+
if (local.filterFn) {
|
|
80
|
+
const fn = local.filterFn;
|
|
81
|
+
result = result.filter((item, index) => fn(item, index));
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
});
|
|
85
|
+
const totalPageCount = createMemo(() => {
|
|
86
|
+
if (local.pageSize == null) return 1;
|
|
87
|
+
return Math.max(1, Math.ceil(filteredItems().length / local.pageSize));
|
|
88
|
+
});
|
|
89
|
+
createEffect(() => {
|
|
90
|
+
void filteredItems();
|
|
91
|
+
setPage(1);
|
|
92
|
+
});
|
|
93
|
+
const displayItems = createMemo(() => {
|
|
94
|
+
const items = filteredItems();
|
|
95
|
+
if (local.pageSize == null) return items;
|
|
96
|
+
const start = (page() - 1) * local.pageSize;
|
|
97
|
+
const end = start + local.pageSize;
|
|
98
|
+
return items.slice(start, end);
|
|
99
|
+
});
|
|
100
|
+
const handleSelect = async (item) => {
|
|
101
|
+
var _a, _b;
|
|
102
|
+
if (local.disabled) return;
|
|
103
|
+
if (local.canChange) {
|
|
104
|
+
const allowed = await local.canChange(item);
|
|
105
|
+
if (!allowed) return;
|
|
106
|
+
}
|
|
107
|
+
if (item !== void 0 && item === local.value && !local.required) {
|
|
108
|
+
(_a = local.onValueChange) == null ? void 0 : _a.call(local, void 0);
|
|
109
|
+
} else {
|
|
110
|
+
(_b = local.onValueChange) == null ? void 0 : _b.call(local, item);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
const getItemTemplate = () => {
|
|
114
|
+
return itemTemplate();
|
|
115
|
+
};
|
|
116
|
+
const renderItem = (item, index) => {
|
|
117
|
+
const tpl = getItemTemplate();
|
|
118
|
+
if (tpl) {
|
|
119
|
+
return tpl(item, index);
|
|
120
|
+
}
|
|
121
|
+
return _$memo(() => String(item));
|
|
122
|
+
};
|
|
123
|
+
const SelectListInner = (innerProps) => {
|
|
124
|
+
const resolved = children(() => innerProps.children);
|
|
125
|
+
void resolved;
|
|
126
|
+
return (() => {
|
|
127
|
+
var _el$ = _tmpl$2();
|
|
128
|
+
_$spread(_el$, _$mergeProps(rest, {
|
|
129
|
+
"data-select-list": "",
|
|
130
|
+
get ["class"]() {
|
|
131
|
+
return twMerge(containerClass, local.class);
|
|
132
|
+
},
|
|
133
|
+
get style() {
|
|
134
|
+
return local.style;
|
|
135
|
+
}
|
|
136
|
+
}), false, true);
|
|
137
|
+
_$insert(_el$, _$createComponent(Show, {
|
|
138
|
+
get when() {
|
|
139
|
+
return headerSlot();
|
|
140
|
+
},
|
|
141
|
+
get fallback() {
|
|
142
|
+
return _$createComponent(Show, {
|
|
143
|
+
get when() {
|
|
144
|
+
return local.header;
|
|
145
|
+
},
|
|
146
|
+
get children() {
|
|
147
|
+
var _el$4 = _tmpl$2();
|
|
148
|
+
_$className(_el$4, headerClass);
|
|
149
|
+
_$insert(_el$4, () => local.header);
|
|
150
|
+
return _el$4;
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
},
|
|
154
|
+
get children() {
|
|
155
|
+
return headerSlot()();
|
|
156
|
+
}
|
|
157
|
+
}), null);
|
|
158
|
+
_$insert(_el$, _$createComponent(Show, {
|
|
159
|
+
get when() {
|
|
160
|
+
return filterSlot();
|
|
161
|
+
},
|
|
162
|
+
get fallback() {
|
|
163
|
+
return _$createComponent(Show, {
|
|
164
|
+
get when() {
|
|
165
|
+
return local.getSearchText;
|
|
166
|
+
},
|
|
167
|
+
get children() {
|
|
168
|
+
return _$createComponent(TextInput, {
|
|
169
|
+
get value() {
|
|
170
|
+
return searchText();
|
|
171
|
+
},
|
|
172
|
+
onValueChange: setSearchText,
|
|
173
|
+
placeholder: "\uAC80\uC0C9...",
|
|
174
|
+
inset: true,
|
|
175
|
+
get disabled() {
|
|
176
|
+
return local.disabled;
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
},
|
|
182
|
+
get children() {
|
|
183
|
+
return filterSlot()();
|
|
184
|
+
}
|
|
185
|
+
}), null);
|
|
186
|
+
_$insert(_el$, _$createComponent(Show, {
|
|
187
|
+
get when() {
|
|
188
|
+
return _$memo(() => local.pageSize != null)() && totalPageCount() > 1;
|
|
189
|
+
},
|
|
190
|
+
get children() {
|
|
191
|
+
return _$createComponent(Pagination, {
|
|
192
|
+
get page() {
|
|
193
|
+
return page();
|
|
194
|
+
},
|
|
195
|
+
onPageChange: setPage,
|
|
196
|
+
get totalPageCount() {
|
|
197
|
+
return totalPageCount();
|
|
198
|
+
},
|
|
199
|
+
size: "sm"
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}), null);
|
|
203
|
+
_$insert(_el$, _$createComponent(List, {
|
|
204
|
+
inset: true,
|
|
205
|
+
get children() {
|
|
206
|
+
return [_$createComponent(Show, {
|
|
207
|
+
get when() {
|
|
208
|
+
return !local.required;
|
|
209
|
+
},
|
|
210
|
+
get children() {
|
|
211
|
+
var _el$2 = _tmpl$(), _el$3 = _el$2.firstChild;
|
|
212
|
+
_el$2.$$click = () => handleSelect(void 0);
|
|
213
|
+
_$use(ripple, _el$2, () => !local.disabled);
|
|
214
|
+
_$effect((_p$) => {
|
|
215
|
+
var _v$ = twMerge(listItemBaseClass, local.value === void 0 && listItemSelectedClass, local.disabled && listItemDisabledClass), _v$2 = local.value === void 0 || void 0, _v$3 = local.disabled || void 0, _v$4 = local.disabled ? -1 : 0, _v$5 = clsx(listItemContentClass, textMuted);
|
|
216
|
+
_v$ !== _p$.e && _$className(_el$2, _p$.e = _v$);
|
|
217
|
+
_v$2 !== _p$.t && _$setAttribute(_el$2, "aria-selected", _p$.t = _v$2);
|
|
218
|
+
_v$3 !== _p$.a && _$setAttribute(_el$2, "aria-disabled", _p$.a = _v$3);
|
|
219
|
+
_v$4 !== _p$.o && _$setAttribute(_el$2, "tabindex", _p$.o = _v$4);
|
|
220
|
+
_v$5 !== _p$.i && _$className(_el$3, _p$.i = _v$5);
|
|
221
|
+
return _p$;
|
|
222
|
+
}, {
|
|
223
|
+
e: void 0,
|
|
224
|
+
t: void 0,
|
|
225
|
+
a: void 0,
|
|
226
|
+
o: void 0,
|
|
227
|
+
i: void 0
|
|
228
|
+
});
|
|
229
|
+
return _el$2;
|
|
230
|
+
}
|
|
231
|
+
}), _$createComponent(For, {
|
|
232
|
+
get each() {
|
|
233
|
+
return displayItems();
|
|
234
|
+
},
|
|
235
|
+
children: (item, index) => (() => {
|
|
236
|
+
var _el$5 = _tmpl$3(), _el$6 = _el$5.firstChild;
|
|
237
|
+
_el$5.$$click = () => handleSelect(item);
|
|
238
|
+
_$use(ripple, _el$5, () => !local.disabled);
|
|
239
|
+
_$className(_el$6, listItemContentClass);
|
|
240
|
+
_$insert(_el$6, () => renderItem(item, index()));
|
|
241
|
+
_$effect((_p$) => {
|
|
242
|
+
var _v$6 = twMerge(listItemBaseClass, item === local.value && listItemSelectedClass, local.disabled && listItemDisabledClass), _v$7 = item === local.value || void 0, _v$8 = local.disabled || void 0, _v$9 = local.disabled ? -1 : 0;
|
|
243
|
+
_v$6 !== _p$.e && _$className(_el$5, _p$.e = _v$6);
|
|
244
|
+
_v$7 !== _p$.t && _$setAttribute(_el$5, "aria-selected", _p$.t = _v$7);
|
|
245
|
+
_v$8 !== _p$.a && _$setAttribute(_el$5, "aria-disabled", _p$.a = _v$8);
|
|
246
|
+
_v$9 !== _p$.o && _$setAttribute(_el$5, "tabindex", _p$.o = _v$9);
|
|
247
|
+
return _p$;
|
|
248
|
+
}, {
|
|
249
|
+
e: void 0,
|
|
250
|
+
t: void 0,
|
|
251
|
+
a: void 0,
|
|
252
|
+
o: void 0
|
|
253
|
+
});
|
|
254
|
+
return _el$5;
|
|
255
|
+
})()
|
|
256
|
+
})];
|
|
257
|
+
}
|
|
258
|
+
}), null);
|
|
259
|
+
return _el$;
|
|
260
|
+
})();
|
|
261
|
+
};
|
|
262
|
+
return _$createComponent(SelectListContext.Provider, {
|
|
263
|
+
value: contextValue,
|
|
264
|
+
get children() {
|
|
265
|
+
return _$createComponent(SelectListInner, {
|
|
266
|
+
get children() {
|
|
267
|
+
return local.children;
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
};
|
|
273
|
+
SelectList.Header = SelectListHeader;
|
|
274
|
+
SelectList.Filter = SelectListFilter;
|
|
275
|
+
SelectList.ItemTemplate = SelectListItemTemplate;
|
|
276
|
+
_$delegateEvents(["click"]);
|
|
277
|
+
export {
|
|
278
|
+
SelectList
|
|
279
|
+
};
|
|
280
|
+
//# sourceMappingURL=SelectList.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/form-control/select-list/SelectList.tsx"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["children", "createEffect", "createMemo", "createSignal", "For", "onCleanup", "Show", "splitProps", "clsx", "twMerge", "List", "Pagination", "TextInput", "createSlotSignal", "SelectListContext", "useSelectListContext", "listItemBaseClass", "listItemSelectedClass", "listItemContentClass", "listItemDisabledClass", "ripple", "textMuted", "SelectListHeader", "props", "ctx", "setHeader", "undefined", "SelectListFilter", "setFilter", "SelectListItemTemplate", "setItemTemplate", "containerClass", "headerClass", "SelectList", "local", "rest", "searchText", "setSearchText", "page", "setPage", "headerSlot", "filterSlot", "itemTemplate", "_setItemTemplate", "fn", "contextValue", "currentItems", "items", "currentValue", "value", "found", "find", "item", "filteredItems", "result", "getIsHidden", "filter", "search", "trim", "toLowerCase", "getSearchText", "getText", "includes", "filterFn", "index", "totalPageCount", "pageSize", "Math", "max", "ceil", "length", "displayItems", "start", "end", "slice", "handleSelect", "disabled", "canChange", "allowed", "required", "onValueChange", "getItemTemplate", "renderItem", "tpl", "_$memo", "String", "SelectListInner", "innerProps", "resolved", "_el$", "_tmpl$2", "_$spread", "_$mergeProps", "class", "style", "_$insert", "_$createComponent", "when", "fallback", "header", "_el$4", "_$className", "placeholder", "inset", "onPageChange", "size", "_el$2", "_tmpl$", "_el$3", "firstChild", "$$click", "_$use", "_$effect", "_p$", "_v$", "_v$2", "_v$3", "_v$4", "_v$5", "e", "t", "_$setAttribute", "a", "o", "i", "each", "_el$5", "_tmpl$3", "_el$6", "_v$6", "_v$7", "_v$8", "_v$9", "Provider", "Header", "Filter", "ItemTemplate", "_$delegateEvents"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type JSX } from "solid-js";
|
|
2
|
+
import type { SlotAccessor } from "../../../hooks/createSlotSignal";
|
|
3
|
+
export interface SelectListContextValue {
|
|
4
|
+
/** Header 슬롯 등록 */
|
|
5
|
+
setHeader: (content: SlotAccessor) => void;
|
|
6
|
+
/** Filter 슬롯 등록 */
|
|
7
|
+
setFilter: (content: SlotAccessor) => void;
|
|
8
|
+
/** ItemTemplate 등록 */
|
|
9
|
+
setItemTemplate: (fn: ((...args: unknown[]) => JSX.Element) | undefined) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const SelectListContext: import("solid-js").Context<SelectListContextValue | undefined>;
|
|
12
|
+
export declare function useSelectListContext(): SelectListContextValue;
|
|
13
|
+
//# sourceMappingURL=SelectListContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectListContext.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\form-control\\select-list\\SelectListContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB;IACnB,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAE3C,mBAAmB;IACnB,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAE3C,sBAAsB;IACtB,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;CAClF;AAED,eAAO,MAAM,iBAAiB,gEAA0C,CAAC;AAEzE,wBAAgB,oBAAoB,IAAI,sBAAsB,CAM7D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createContext, useContext } from "solid-js";
|
|
2
|
+
const SelectListContext = createContext();
|
|
3
|
+
function useSelectListContext() {
|
|
4
|
+
const context = useContext(SelectListContext);
|
|
5
|
+
if (!context) {
|
|
6
|
+
throw new Error("useSelectListContext\uB294 SelectList \uCEF4\uD3EC\uB10C\uD2B8 \uB0B4\uBD80\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4");
|
|
7
|
+
}
|
|
8
|
+
return context;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
SelectListContext,
|
|
12
|
+
useSelectListContext
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=SelectListContext.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/form-control/select-list/SelectListContext.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,eAAe,kBAA4B;AAc7C,MAAM,oBAAoB,cAAsC;AAEhE,SAAS,uBAA+C;AAC7D,QAAM,UAAU,WAAW,iBAAiB;AAC5C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,kJAAwD;AAAA,EAC1E;AACA,SAAO;AACT;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type JSX } from "solid-js";
|
|
2
|
+
import { type SharedDataAccessor } from "../../../providers/shared-data/SharedDataContext";
|
|
3
|
+
import { type ComponentSize } from "../../../styles/tokens.styles";
|
|
4
|
+
/** SharedDataSelect Props */
|
|
5
|
+
export interface SharedDataSelectProps<TItem> {
|
|
6
|
+
/** 공유 데이터 접근자 */
|
|
7
|
+
data: SharedDataAccessor<TItem>;
|
|
8
|
+
/** 현재 선택된 값 */
|
|
9
|
+
value?: unknown;
|
|
10
|
+
/** 값 변경 콜백 */
|
|
11
|
+
onValueChange?: (value: unknown) => void;
|
|
12
|
+
/** 다중 선택 모드 */
|
|
13
|
+
multiple?: boolean;
|
|
14
|
+
/** 필수 입력 */
|
|
15
|
+
required?: boolean;
|
|
16
|
+
/** 비활성화 */
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
/** 트리거 크기 */
|
|
19
|
+
size?: ComponentSize;
|
|
20
|
+
/** 테두리 없는 스타일 */
|
|
21
|
+
inset?: boolean;
|
|
22
|
+
/** 항목 필터 함수 */
|
|
23
|
+
filterFn?: (item: TItem, index: number) => boolean;
|
|
24
|
+
/** 선택 모달 컴포넌트 팩토리 */
|
|
25
|
+
modal?: () => JSX.Element;
|
|
26
|
+
/** 편집 모달 컴포넌트 팩토리 */
|
|
27
|
+
editModal?: () => JSX.Element;
|
|
28
|
+
/** 아이템 렌더링 함수 */
|
|
29
|
+
children: (item: TItem, index: number, depth: number) => JSX.Element;
|
|
30
|
+
}
|
|
31
|
+
export declare function SharedDataSelect<TItem>(props: SharedDataSelectProps<TItem>): JSX.Element;
|
|
32
|
+
//# sourceMappingURL=SharedDataSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedDataSelect.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\form-control\\shared-data\\SharedDataSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,GAAG,EAA0B,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAI3F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,6BAA6B;AAC7B,MAAM,WAAW,qBAAqB,CAAC,KAAK;IAC1C,iBAAiB;IACjB,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhC,eAAe;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,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,eAAe;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAC1B,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAE9B,iBAAiB;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC;CACtE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CA6DxF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
2
|
+
import { memo as _$memo } from "solid-js/web";
|
|
3
|
+
import { createComponent as _$createComponent } from "solid-js/web";
|
|
4
|
+
import { createMemo, mergeProps, splitProps } from "solid-js";
|
|
5
|
+
import { IconEdit, IconSearch } from "@tabler/icons-solidjs";
|
|
6
|
+
import { Select } from "../select/Select.js";
|
|
7
|
+
import { Icon } from "../../display/Icon.js";
|
|
8
|
+
import { useDialog } from "../../disclosure/DialogContext.js";
|
|
9
|
+
function SharedDataSelect(props) {
|
|
10
|
+
const [local, rest] = splitProps(props, ["data", "filterFn", "modal", "editModal", "children"]);
|
|
11
|
+
const dialog = useDialog();
|
|
12
|
+
const items = createMemo(() => {
|
|
13
|
+
const allItems = local.data.items();
|
|
14
|
+
if (!local.filterFn) return allItems;
|
|
15
|
+
return allItems.filter(local.filterFn);
|
|
16
|
+
});
|
|
17
|
+
const handleOpenModal = async () => {
|
|
18
|
+
if (!local.modal) return;
|
|
19
|
+
await dialog.show(local.modal, {});
|
|
20
|
+
};
|
|
21
|
+
const handleOpenEditModal = async () => {
|
|
22
|
+
if (!local.editModal) return;
|
|
23
|
+
await dialog.show(local.editModal, {});
|
|
24
|
+
};
|
|
25
|
+
const selectProps = mergeProps(rest, {
|
|
26
|
+
get items() {
|
|
27
|
+
return items();
|
|
28
|
+
},
|
|
29
|
+
get getChildren() {
|
|
30
|
+
if (!local.data.getParentKey) return void 0;
|
|
31
|
+
return (item) => {
|
|
32
|
+
const key = local.data.getKey(item);
|
|
33
|
+
return items().filter((child) => local.data.getParentKey(child) === key);
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
get getSearchText() {
|
|
37
|
+
return local.data.getSearchText;
|
|
38
|
+
},
|
|
39
|
+
get getIsHidden() {
|
|
40
|
+
return local.data.getIsHidden;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return _$createComponent(Select, _$mergeProps(selectProps, {
|
|
44
|
+
get children() {
|
|
45
|
+
return [_$createComponent(Select.ItemTemplate, {
|
|
46
|
+
get children() {
|
|
47
|
+
return local.children;
|
|
48
|
+
}
|
|
49
|
+
}), _$memo(() => _$memo(() => !!local.modal)() && _$createComponent(Select.Action, {
|
|
50
|
+
onClick: () => void handleOpenModal(),
|
|
51
|
+
"aria-label": "\uAC80\uC0C9",
|
|
52
|
+
get children() {
|
|
53
|
+
return _$createComponent(Icon, {
|
|
54
|
+
icon: IconSearch,
|
|
55
|
+
size: "1em"
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
})), _$memo(() => _$memo(() => !!local.editModal)() && _$createComponent(Select.Action, {
|
|
59
|
+
onClick: () => void handleOpenEditModal(),
|
|
60
|
+
"aria-label": "\uD3B8\uC9D1",
|
|
61
|
+
get children() {
|
|
62
|
+
return _$createComponent(Icon, {
|
|
63
|
+
icon: IconEdit,
|
|
64
|
+
size: "1em"
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}))];
|
|
68
|
+
}
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
export {
|
|
72
|
+
SharedDataSelect
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=SharedDataSelect.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/form-control/shared-data/SharedDataSelect.tsx"],
|
|
4
|
+
"mappings": ";;;AAAA,SAASA,YAAsBC,YAAYC,kBAAkB;AAC7D,SAASC,UAAUC,kBAAkB;AAErC,SAASC,cAAgC;AACzC,SAASC,YAAY;AACrB,SAASC,iBAAiB;AAkCnB,SAASC,iBAAwBC,OAAkD;AACxF,QAAM,CAACC,OAAOC,IAAI,IAAIT,WAAWO,OAAO,CAAC,QAAQ,YAAY,SAAS,aAAa,UAAU,CAAC;AAE9F,QAAMG,SAASL,UAAU;AAGzB,QAAMM,QAAQb,WAAW,MAAM;AAC7B,UAAMc,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;AAGA,QAAME,sBAAsB,YAAY;AACtC,QAAI,CAACX,MAAMY,UAAW;AACtB,UAAMV,OAAOQ,KAAKV,MAAMY,WAAW,CAAC,CAAC;EACvC;AAIA,QAAMC,cAActB,WAAWU,MAAM;IACnC,IAAIE,QAAQ;AACV,aAAOA,MAAM;IACf;IACA,IAAIW,cAAc;AAChB,UAAI,CAACd,MAAMK,KAAKU,aAAc,QAAOC;AAErC,aAAQC,UAAgB;AACtB,cAAMC,MAAMlB,MAAMK,KAAKc,OAAOF,IAAI;AAClC,eAAOd,MAAM,EAAEI,OAAQa,WAAUpB,MAAMK,KAAKU,aAAcK,KAAK,MAAMF,GAAG;MAC1E;IACF;IACA,IAAIG,gBAAgB;AAClB,aAAOrB,MAAMK,KAAKgB;IACpB;IACA,IAAIC,cAAc;AAChB,aAAOtB,MAAMK,KAAKiB;IACpB;EACF,CAAC;AAED,SAAAC,kBACG5B,QAAM6B,aAAKX,aAAW;IAAA,IAAAY,WAAA;AAAA,aAAA,CAAAF,kBACpB5B,OAAO+B,cAAY;QAAA,IAAAD,WAAA;AAAA,iBAAEzB,MAAMyB;QAAQ;MAAA,CAAA,GAAAE,OAAA,MACnCA,OAAA,MAAA,CAAA,CAAA3B,MAAMS,KAAK,EAAA,KAAAc,kBACT5B,OAAOiC,QAAM;QAACC,SAASA,MAAM,KAAKrB,gBAAgB;QAAC,cAAA;QAAA,IAAAiB,WAAA;AAAA,iBAAAF,kBACjD3B,MAAI;YAACkC,MAAMpC;YAAYqC,MAAI;UAAA,CAAA;QAAA;MAAA,CAAA,CAE/B,GAAAJ,OAAA,MACAA,OAAA,MAAA,CAAA,CAAA3B,MAAMY,SAAS,EAAA,KAAAW,kBACb5B,OAAOiC,QAAM;QAACC,SAASA,MAAM,KAAKlB,oBAAoB;QAAC,cAAA;QAAA,IAAAc,WAAA;AAAA,iBAAAF,kBACrD3B,MAAI;YAACkC,MAAMrC;YAAUsC,MAAI;UAAA,CAAA;QAAA;MAAA,CAAA,CAE7B,CAAA;IAAA;EAAA,CAAA,CAAA;AAGP;",
|
|
5
|
+
"names": ["createMemo", "mergeProps", "splitProps", "IconEdit", "IconSearch", "Select", "Icon", "useDialog", "SharedDataSelect", "props", "local", "rest", "dialog", "items", "allItems", "data", "filterFn", "filter", "handleOpenModal", "modal", "show", "handleOpenEditModal", "editModal", "selectProps", "getChildren", "getParentKey", "undefined", "item", "key", "getKey", "child", "getSearchText", "getIsHidden", "_$createComponent", "_$mergeProps", "children", "ItemTemplate", "_$memo", "Action", "onClick", "icon", "size"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type JSX } from "solid-js";
|
|
2
|
+
import { type SharedDataAccessor } from "../../../providers/shared-data/SharedDataContext";
|
|
3
|
+
import { type DataSelectButtonProps } from "../data-select-button/DataSelectButton";
|
|
4
|
+
import { type ComponentSize } from "../../../styles/tokens.styles";
|
|
5
|
+
/** SharedDataSelectButton Props */
|
|
6
|
+
export interface SharedDataSelectButtonProps<TItem> {
|
|
7
|
+
/** 공유 데이터 접근자 */
|
|
8
|
+
data: SharedDataAccessor<TItem>;
|
|
9
|
+
/** 현재 선택된 키 (단일 또는 다중) */
|
|
10
|
+
value?: DataSelectButtonProps<TItem>["value"];
|
|
11
|
+
/** 값 변경 콜백 */
|
|
12
|
+
onValueChange?: DataSelectButtonProps<TItem>["onValueChange"];
|
|
13
|
+
/** 다중 선택 모드 */
|
|
14
|
+
multiple?: boolean;
|
|
15
|
+
/** 필수 입력 */
|
|
16
|
+
required?: boolean;
|
|
17
|
+
/** 비활성화 */
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
/** 트리거 크기 */
|
|
20
|
+
size?: ComponentSize;
|
|
21
|
+
/** 테두리 없는 스타일 */
|
|
22
|
+
inset?: boolean;
|
|
23
|
+
/** 선택 모달 컴포넌트 팩토리 */
|
|
24
|
+
modal: () => JSX.Element;
|
|
25
|
+
/** 아이템 렌더링 함수 */
|
|
26
|
+
children: (item: TItem) => JSX.Element;
|
|
27
|
+
}
|
|
28
|
+
export declare function SharedDataSelectButton<TItem>(props: SharedDataSelectButtonProps<TItem>): JSX.Element;
|
|
29
|
+
//# sourceMappingURL=SharedDataSelectButton.d.ts.map
|