@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.
- package/README.md +6 -0
- 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/features/address/AddressSearch.d.ts +8 -0
- package/dist/components/features/address/AddressSearch.d.ts.map +1 -0
- package/dist/components/features/address/AddressSearch.js +72 -0
- package/dist/components/features/address/AddressSearch.js.map +6 -0
- package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -0
- package/dist/components/{data → features}/crud-detail/CrudDetail.js +62 -41
- package/dist/components/features/crud-detail/CrudDetail.js.map +6 -0
- package/dist/components/features/crud-detail/CrudDetailAfter.d.ts.map +1 -0
- package/dist/components/{data → features}/crud-detail/CrudDetailAfter.js.map +1 -1
- package/dist/components/features/crud-detail/CrudDetailBefore.d.ts.map +1 -0
- package/dist/components/{data → features}/crud-detail/CrudDetailBefore.js.map +1 -1
- package/dist/components/features/crud-detail/CrudDetailTools.d.ts.map +1 -0
- package/dist/components/{data → features}/crud-detail/CrudDetailTools.js.map +1 -1
- package/dist/components/features/crud-detail/types.d.ts.map +1 -0
- package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -0
- package/dist/components/{data → features}/crud-sheet/CrudSheet.js +166 -21
- package/dist/components/features/crud-sheet/CrudSheet.js.map +6 -0
- package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts.map +1 -0
- package/dist/components/{data → features}/crud-sheet/CrudSheetColumn.js +1 -1
- package/dist/components/{data → features}/crud-sheet/CrudSheetColumn.js.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetFilter.d.ts.map +1 -0
- package/dist/components/{data → features}/crud-sheet/CrudSheetFilter.js.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetHeader.d.ts.map +1 -0
- package/dist/components/{data → features}/crud-sheet/CrudSheetHeader.js.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetTools.d.ts.map +1 -0
- package/dist/components/{data → features}/crud-sheet/CrudSheetTools.js.map +1 -1
- package/dist/components/{data → features}/crud-sheet/types.d.ts +10 -4
- package/dist/components/features/crud-sheet/types.d.ts.map +1 -0
- package/dist/components/features/data-select-button/DataSelectButton.d.ts +38 -0
- package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -0
- package/dist/components/features/data-select-button/DataSelectButton.js +184 -0
- package/dist/components/features/data-select-button/DataSelectButton.js.map +6 -0
- package/dist/components/features/permission-table/PermissionTable.d.ts.map +1 -0
- package/dist/components/{data → features}/permission-table/PermissionTable.js +1 -1
- package/dist/components/{data → features}/permission-table/PermissionTable.js.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelect.d.ts +32 -0
- package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -0
- package/dist/components/features/shared-data/SharedDataSelect.js +74 -0
- package/dist/components/features/shared-data/SharedDataSelect.js.map +6 -0
- package/dist/components/features/shared-data/SharedDataSelectButton.d.ts +29 -0
- package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -0
- package/dist/components/features/shared-data/SharedDataSelectButton.js +17 -0
- package/dist/components/features/shared-data/SharedDataSelectButton.js.map +6 -0
- package/dist/components/features/shared-data/SharedDataSelectList.d.ts +29 -0
- package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -0
- package/dist/components/features/shared-data/SharedDataSelectList.js +80 -0
- package/dist/components/features/shared-data/SharedDataSelectList.js.map +6 -0
- 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/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/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -5
- package/dist/index.js.map +1 -1
- package/dist/providers/ServiceClientContext.d.ts +5 -5
- package/dist/providers/ServiceClientContext.d.ts.map +1 -1
- package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
- package/dist/providers/ServiceClientProvider.js +12 -8
- package/dist/providers/ServiceClientProvider.js.map +2 -2
- package/dist/providers/shared-data/SharedDataContext.d.ts +16 -2
- 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 +1 -2
- package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.js +27 -13
- 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 +5 -3
- package/src/components/data/sheet/DataSheet.tsx +6 -7
- package/src/components/features/address/AddressSearch.tsx +75 -0
- package/src/components/{data → features}/crud-detail/CrudDetail.tsx +51 -26
- package/src/components/{data → features}/crud-sheet/CrudSheet.tsx +160 -23
- package/src/components/{data → features}/crud-sheet/CrudSheetColumn.tsx +1 -1
- package/src/components/{data → features}/crud-sheet/types.ts +14 -4
- package/src/components/features/data-select-button/DataSelectButton.tsx +279 -0
- package/src/components/{data → features}/permission-table/PermissionTable.tsx +1 -1
- package/src/components/features/shared-data/SharedDataSelect.tsx +101 -0
- package/src/components/features/shared-data/SharedDataSelectButton.tsx +47 -0
- package/src/components/features/shared-data/SharedDataSelectList.tsx +85 -0
- 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/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/index.ts +29 -5
- package/src/providers/ServiceClientContext.ts +5 -5
- package/src/providers/ServiceClientProvider.tsx +17 -12
- package/src/providers/shared-data/SharedDataContext.ts +16 -2
- package/src/providers/shared-data/SharedDataProvider.tsx +33 -17
- package/dist/components/data/crud-detail/CrudDetail.d.ts.map +0 -1
- package/dist/components/data/crud-detail/CrudDetail.js.map +0 -6
- package/dist/components/data/crud-detail/CrudDetailAfter.d.ts.map +0 -1
- package/dist/components/data/crud-detail/CrudDetailBefore.d.ts.map +0 -1
- package/dist/components/data/crud-detail/CrudDetailTools.d.ts.map +0 -1
- package/dist/components/data/crud-detail/types.d.ts.map +0 -1
- package/dist/components/data/crud-sheet/CrudSheet.d.ts.map +0 -1
- package/dist/components/data/crud-sheet/CrudSheet.js.map +0 -6
- package/dist/components/data/crud-sheet/CrudSheetColumn.d.ts.map +0 -1
- package/dist/components/data/crud-sheet/CrudSheetFilter.d.ts.map +0 -1
- package/dist/components/data/crud-sheet/CrudSheetHeader.d.ts.map +0 -1
- package/dist/components/data/crud-sheet/CrudSheetTools.d.ts.map +0 -1
- package/dist/components/data/crud-sheet/types.d.ts.map +0 -1
- package/dist/components/data/permission-table/PermissionTable.d.ts.map +0 -1
- /package/dist/components/{data → features}/crud-detail/CrudDetail.d.ts +0 -0
- /package/dist/components/{data → features}/crud-detail/CrudDetailAfter.d.ts +0 -0
- /package/dist/components/{data → features}/crud-detail/CrudDetailAfter.js +0 -0
- /package/dist/components/{data → features}/crud-detail/CrudDetailBefore.d.ts +0 -0
- /package/dist/components/{data → features}/crud-detail/CrudDetailBefore.js +0 -0
- /package/dist/components/{data → features}/crud-detail/CrudDetailTools.d.ts +0 -0
- /package/dist/components/{data → features}/crud-detail/CrudDetailTools.js +0 -0
- /package/dist/components/{data → features}/crud-detail/types.d.ts +0 -0
- /package/dist/components/{data → features}/crud-detail/types.js +0 -0
- /package/dist/components/{data → features}/crud-detail/types.js.map +0 -0
- /package/dist/components/{data → features}/crud-sheet/CrudSheet.d.ts +0 -0
- /package/dist/components/{data → features}/crud-sheet/CrudSheetColumn.d.ts +0 -0
- /package/dist/components/{data → features}/crud-sheet/CrudSheetFilter.d.ts +0 -0
- /package/dist/components/{data → features}/crud-sheet/CrudSheetFilter.js +0 -0
- /package/dist/components/{data → features}/crud-sheet/CrudSheetHeader.d.ts +0 -0
- /package/dist/components/{data → features}/crud-sheet/CrudSheetHeader.js +0 -0
- /package/dist/components/{data → features}/crud-sheet/CrudSheetTools.d.ts +0 -0
- /package/dist/components/{data → features}/crud-sheet/CrudSheetTools.js +0 -0
- /package/dist/components/{data → features}/crud-sheet/types.js +0 -0
- /package/dist/components/{data → features}/crud-sheet/types.js.map +0 -0
- /package/dist/components/{data → features}/permission-table/PermissionTable.d.ts +0 -0
- /package/src/components/{data → features}/crud-detail/CrudDetailAfter.tsx +0 -0
- /package/src/components/{data → features}/crud-detail/CrudDetailBefore.tsx +0 -0
- /package/src/components/{data → features}/crud-detail/CrudDetailTools.tsx +0 -0
- /package/src/components/{data → features}/crud-detail/types.ts +0 -0
- /package/src/components/{data → features}/crud-sheet/CrudSheetFilter.tsx +0 -0
- /package/src/components/{data → features}/crud-sheet/CrudSheetHeader.tsx +0 -0
- /package/src/components/{data → features}/crud-sheet/CrudSheetTools.tsx +0 -0
|
@@ -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
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
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";
|
|
3
4
|
export * from "./components/form-control/combobox/Combobox";
|
|
4
5
|
export * from "./components/form-control/field/TextInput";
|
|
5
6
|
export * from "./components/form-control/field/NumberInput";
|
|
@@ -34,12 +35,7 @@ export * from "./components/data/Pagination";
|
|
|
34
35
|
export * from "./components/data/sheet/DataSheet";
|
|
35
36
|
export * from "./components/data/sheet/DataSheet.styles";
|
|
36
37
|
export * from "./components/data/sheet/types";
|
|
37
|
-
export * from "./components/data/crud-sheet/CrudSheet";
|
|
38
|
-
export * from "./components/data/crud-sheet/types";
|
|
39
|
-
export * from "./components/data/crud-detail/CrudDetail";
|
|
40
|
-
export * from "./components/data/crud-detail/types";
|
|
41
38
|
export * from "./components/data/calendar/Calendar";
|
|
42
|
-
export * from "./components/data/permission-table/PermissionTable";
|
|
43
39
|
export * from "./components/data/kanban/Kanban";
|
|
44
40
|
export * from "./components/data/kanban/KanbanContext";
|
|
45
41
|
export * from "./components/display/Barcode";
|
|
@@ -88,4 +84,14 @@ export * from "./styles/patterns.styles";
|
|
|
88
84
|
export * from "./directives/ripple";
|
|
89
85
|
export * from "./helpers/mergeStyles";
|
|
90
86
|
export * from "./helpers/createAppStructure";
|
|
87
|
+
export * from "./components/features/address/AddressSearch";
|
|
88
|
+
export * from "./components/features/shared-data/SharedDataSelect";
|
|
89
|
+
export * from "./components/features/shared-data/SharedDataSelectButton";
|
|
90
|
+
export * from "./components/features/shared-data/SharedDataSelectList";
|
|
91
|
+
export * from "./components/features/data-select-button/DataSelectButton";
|
|
92
|
+
export * from "./components/features/crud-sheet/CrudSheet";
|
|
93
|
+
export * from "./components/features/crud-sheet/types";
|
|
94
|
+
export * from "./components/features/crud-detail/CrudDetail";
|
|
95
|
+
export * from "./components/features/crud-detail/types";
|
|
96
|
+
export * from "./components/features/permission-table/PermissionTable";
|
|
91
97
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["..\\src\\index.ts"],"names":[],"mappings":"AAGA,cAAc,kCAAkC,CAAC;AAGjD,cAAc,yCAAyC,CAAC;AAGxD,cAAc,6CAA6C,CAAC;AAG5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAG7D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oDAAoD,CAAC;AACnE,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAG9D,cAAc,oDAAoD,CAAC;AACnE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,iDAAiD,CAAC;AAChE,cAAc,yCAAyC,CAAC;AACxD,cAAc,oDAAoD,CAAC;AACnE,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAMlD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AAMzD,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,
|
|
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,6 @@
|
|
|
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";
|
|
3
4
|
export * from "./components/form-control/combobox/Combobox.js";
|
|
4
5
|
export * from "./components/form-control/field/TextInput.js";
|
|
5
6
|
export * from "./components/form-control/field/NumberInput.js";
|
|
@@ -34,12 +35,7 @@ export * from "./components/data/Pagination.js";
|
|
|
34
35
|
export * from "./components/data/sheet/DataSheet.js";
|
|
35
36
|
export * from "./components/data/sheet/DataSheet.styles.js";
|
|
36
37
|
export * from "./components/data/sheet/types.js";
|
|
37
|
-
export * from "./components/data/crud-sheet/CrudSheet.js";
|
|
38
|
-
export * from "./components/data/crud-sheet/types.js";
|
|
39
|
-
export * from "./components/data/crud-detail/CrudDetail.js";
|
|
40
|
-
export * from "./components/data/crud-detail/types.js";
|
|
41
38
|
export * from "./components/data/calendar/Calendar.js";
|
|
42
|
-
export * from "./components/data/permission-table/PermissionTable.js";
|
|
43
39
|
export * from "./components/data/kanban/Kanban.js";
|
|
44
40
|
export * from "./components/data/kanban/KanbanContext.js";
|
|
45
41
|
export * from "./components/display/Barcode.js";
|
|
@@ -88,4 +84,14 @@ export * from "./styles/patterns.styles.js";
|
|
|
88
84
|
export * from "./directives/ripple.js";
|
|
89
85
|
export * from "./helpers/mergeStyles.js";
|
|
90
86
|
export * from "./helpers/createAppStructure.js";
|
|
87
|
+
export * from "./components/features/address/AddressSearch.js";
|
|
88
|
+
export * from "./components/features/shared-data/SharedDataSelect.js";
|
|
89
|
+
export * from "./components/features/shared-data/SharedDataSelectButton.js";
|
|
90
|
+
export * from "./components/features/shared-data/SharedDataSelectList.js";
|
|
91
|
+
export * from "./components/features/data-select-button/DataSelectButton.js";
|
|
92
|
+
export * from "./components/features/crud-sheet/CrudSheet.js";
|
|
93
|
+
export * from "./components/features/crud-sheet/types.js";
|
|
94
|
+
export * from "./components/features/crud-detail/CrudDetail.js";
|
|
95
|
+
export * from "./components/features/crud-detail/types.js";
|
|
96
|
+
export * from "./components/features/permission-table/PermissionTable.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;
|
|
4
|
+
"mappings": "AAGA,cAAc;AAGd,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;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;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,14 +3,14 @@ import type { ServiceClient, ServiceConnectionConfig } from "@simplysm/service-c
|
|
|
3
3
|
* WebSocket 서비스 클라이언트 Context 값
|
|
4
4
|
*/
|
|
5
5
|
export interface ServiceClientContextValue {
|
|
6
|
-
/** WebSocket 연결 열기 (key
|
|
7
|
-
connect: (key
|
|
6
|
+
/** WebSocket 연결 열기 (key 생략 시 "default") */
|
|
7
|
+
connect: (key?: string, options?: Partial<ServiceConnectionConfig>) => Promise<void>;
|
|
8
8
|
/** 연결 닫기 */
|
|
9
|
-
close: (key
|
|
9
|
+
close: (key?: string) => Promise<void>;
|
|
10
10
|
/** 연결된 클라이언트 인스턴스 가져오기 (연결되지 않은 key면 에러 발생) */
|
|
11
|
-
get: (key
|
|
11
|
+
get: (key?: string) => ServiceClient;
|
|
12
12
|
/** 연결 상태 확인 */
|
|
13
|
-
isConnected: (key
|
|
13
|
+
isConnected: (key?: string) => boolean;
|
|
14
14
|
}
|
|
15
15
|
/** WebSocket 서비스 클라이언트 Context */
|
|
16
16
|
export declare const ServiceClientContext: import("solid-js").Context<ServiceClientContextValue | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceClientContext.d.ts","sourceRoot":"","sources":["..\\..\\src\\providers\\ServiceClientContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,
|
|
1
|
+
{"version":3,"file":"ServiceClientContext.d.ts","sourceRoot":"","sources":["..\\..\\src\\providers\\ServiceClientContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,2CAA2C;IAC3C,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,YAAY;IACZ,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,+CAA+C;IAC/C,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IACrC,eAAe;IACf,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CACxC;AAED,kCAAkC;AAClC,eAAO,MAAM,oBAAoB,mEAA6C,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,yBAAyB,CAM5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceClientProvider.d.ts","sourceRoot":"","sources":["..\\..\\src\\providers\\ServiceClientProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,UAAU,CAAC;AAU3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"ServiceClientProvider.d.ts","sourceRoot":"","sources":["..\\..\\src\\providers\\ServiceClientProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,UAAU,CAAC;AAU3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,qBAAqB,EAAE,eAyInC,CAAC"}
|
|
@@ -17,8 +17,9 @@ const ServiceClientProvider = (props) => {
|
|
|
17
17
|
clientMap.clear();
|
|
18
18
|
});
|
|
19
19
|
const connect = async (key, options) => {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const resolvedKey = key ?? "default";
|
|
21
|
+
if (clientMap.has(resolvedKey)) {
|
|
22
|
+
const existing = clientMap.get(resolvedKey);
|
|
22
23
|
if (!existing.connected) {
|
|
23
24
|
throw new Error("\uC774\uBBF8 \uC5F0\uACB0\uC774 \uB04A\uAE34 \uD074\uB77C\uC774\uC5B8\uD2B8\uC640 \uAC19\uC740 \uD0A4\uB85C \uC5F0\uACB0\uC744 \uC2DC\uB3C4\uD558\uC600\uC2B5\uB2C8\uB2E4.");
|
|
24
25
|
} else {
|
|
@@ -83,24 +84,27 @@ const ServiceClientProvider = (props) => {
|
|
|
83
84
|
}
|
|
84
85
|
});
|
|
85
86
|
await client.connect();
|
|
86
|
-
clientMap.set(
|
|
87
|
+
clientMap.set(resolvedKey, client);
|
|
87
88
|
};
|
|
88
89
|
const close = async (key) => {
|
|
89
|
-
const
|
|
90
|
+
const resolvedKey = key ?? "default";
|
|
91
|
+
const client = clientMap.get(resolvedKey);
|
|
90
92
|
if (client) {
|
|
91
93
|
await client.close();
|
|
92
|
-
clientMap.delete(
|
|
94
|
+
clientMap.delete(resolvedKey);
|
|
93
95
|
}
|
|
94
96
|
};
|
|
95
97
|
const get = (key) => {
|
|
96
|
-
const
|
|
98
|
+
const resolvedKey = key ?? "default";
|
|
99
|
+
const client = clientMap.get(resolvedKey);
|
|
97
100
|
if (!client) {
|
|
98
|
-
throw new Error(`\uC5F0\uACB0\uD558\uC9C0 \uC54A\uC740 \uD074\uB77C\uC774\uC5B8\uD2B8 \uD0A4\uC785\uB2C8\uB2E4. ${
|
|
101
|
+
throw new Error(`\uC5F0\uACB0\uD558\uC9C0 \uC54A\uC740 \uD074\uB77C\uC774\uC5B8\uD2B8 \uD0A4\uC785\uB2C8\uB2E4. ${resolvedKey}`);
|
|
99
102
|
}
|
|
100
103
|
return client;
|
|
101
104
|
};
|
|
102
105
|
const isConnected = (key) => {
|
|
103
|
-
const
|
|
106
|
+
const resolvedKey = key ?? "default";
|
|
107
|
+
const client = clientMap.get(resolvedKey);
|
|
104
108
|
return (client == null ? void 0 : client.connected) ?? false;
|
|
105
109
|
};
|
|
106
110
|
const contextValue = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/providers/ServiceClientProvider.tsx"],
|
|
4
|
-
"mappings": ";AAAA,SAA+BA,iBAAiB;AAChD,SACEC,2BAGK;AACP,SAASC,4BAA4D;AACrE,SAASC,iBAAiB;AAC1B,SAASC,uBAAuB;AAuBzB,MAAMC,wBAA0CC,WAAU;AAC/D,QAAMC,SAASJ,UAAU;AACzB,QAAMK,eAAeJ,gBAAgB;AAErC,QAAMK,YAAY,oBAAIC,IAA2B;AACjD,QAAMC,iBAAiB,oBAAID,IAAoB;AAC/C,QAAME,iBAAiB,oBAAIF,IAAoB;AAE/CV,YAAU,MAAM;AACd,eAAWa,UAAUJ,UAAUK,OAAO,GAAG;AACvC,WAAKD,OAAOE,MAAM;IACpB;AACAN,cAAUO,MAAM;EAClB,CAAC;AAED,QAAMC,UAAU,OACdC,KACAC,YACkB;AAClB,
|
|
5
|
-
"names": ["onCleanup", "createServiceClient", "ServiceClientContext", "useConfig", "useNotification", "ServiceClientProvider", "props", "config", "notification", "clientMap", "Map", "reqProgressMap", "resProgressMap", "client", "values", "close", "clear", "connect", "key", "options", "has", "existing", "get", "connected", "Error", "defaultConfig", "host", "location", "hostname", "port", "Number", "protocol", "startsWith", "ssl", "clientName", "on", "state", "uuid", "id", "info", "set", "percent", "Math", "round", "completedSize", "totalSize", "update", "message", "title", "renotify", "delete", "isConnected", "contextValue", "_$createComponent", "Provider", "value", "children"]
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["onCleanup", "createServiceClient", "ServiceClientContext", "useConfig", "useNotification", "ServiceClientProvider", "props", "config", "notification", "clientMap", "Map", "reqProgressMap", "resProgressMap", "client", "values", "close", "clear", "connect", "key", "options", "resolvedKey", "has", "existing", "get", "connected", "Error", "defaultConfig", "host", "location", "hostname", "port", "Number", "protocol", "startsWith", "ssl", "clientName", "on", "state", "uuid", "id", "info", "set", "percent", "Math", "round", "completedSize", "totalSize", "update", "message", "title", "renotify", "delete", "isConnected", "contextValue", "_$createComponent", "Provider", "value", "children"]
|
|
6
6
|
}
|