@simplysm/solid 13.0.53 → 13.0.56
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 -2
- package/dist/components/data/crud-detail/CrudDetail.d.ts +14 -0
- package/dist/components/data/crud-detail/CrudDetail.d.ts.map +1 -0
- package/dist/components/data/crud-detail/CrudDetail.js +348 -0
- package/dist/components/data/crud-detail/CrudDetail.js.map +6 -0
- package/dist/components/data/crud-detail/CrudDetailAfter.d.ts +7 -0
- package/dist/components/data/crud-detail/CrudDetailAfter.d.ts.map +1 -0
- package/dist/components/data/crud-detail/CrudDetailAfter.js +14 -0
- package/dist/components/data/crud-detail/CrudDetailAfter.js.map +6 -0
- package/dist/components/data/crud-detail/CrudDetailBefore.d.ts +7 -0
- package/dist/components/data/crud-detail/CrudDetailBefore.d.ts.map +1 -0
- package/dist/components/data/crud-detail/CrudDetailBefore.js +14 -0
- package/dist/components/data/crud-detail/CrudDetailBefore.js.map +6 -0
- package/dist/components/data/crud-detail/CrudDetailTools.d.ts +7 -0
- package/dist/components/data/crud-detail/CrudDetailTools.d.ts.map +1 -0
- package/dist/components/data/crud-detail/CrudDetailTools.js +14 -0
- package/dist/components/data/crud-detail/CrudDetailTools.js.map +6 -0
- package/dist/components/data/crud-detail/types.d.ts +45 -0
- package/dist/components/data/crud-detail/types.d.ts.map +1 -0
- package/dist/components/data/crud-detail/types.js +1 -0
- package/dist/components/data/crud-detail/types.js.map +6 -0
- package/dist/components/data/crud-sheet/CrudSheet.d.ts +17 -0
- package/dist/components/data/crud-sheet/CrudSheet.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/CrudSheet.js +679 -0
- package/dist/components/data/crud-sheet/CrudSheet.js.map +6 -0
- package/dist/components/data/crud-sheet/CrudSheetColumn.d.ts +5 -0
- package/dist/components/data/crud-sheet/CrudSheetColumn.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/CrudSheetColumn.js +29 -0
- package/dist/components/data/crud-sheet/CrudSheetColumn.js.map +6 -0
- package/dist/components/data/crud-sheet/CrudSheetFilter.d.ts +7 -0
- package/dist/components/data/crud-sheet/CrudSheetFilter.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/CrudSheetFilter.js +14 -0
- package/dist/components/data/crud-sheet/CrudSheetFilter.js.map +6 -0
- package/dist/components/data/crud-sheet/CrudSheetHeader.d.ts +7 -0
- package/dist/components/data/crud-sheet/CrudSheetHeader.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/CrudSheetHeader.js +14 -0
- package/dist/components/data/crud-sheet/CrudSheetHeader.js.map +6 -0
- package/dist/components/data/crud-sheet/CrudSheetTools.d.ts +7 -0
- package/dist/components/data/crud-sheet/CrudSheetTools.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/CrudSheetTools.js +14 -0
- package/dist/components/data/crud-sheet/CrudSheetTools.js.map +6 -0
- package/dist/components/data/crud-sheet/types.d.ts +109 -0
- package/dist/components/data/crud-sheet/types.d.ts.map +1 -0
- package/dist/components/data/crud-sheet/types.js +1 -0
- package/dist/components/data/crud-sheet/types.js.map +6 -0
- package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
- package/dist/components/data/kanban/Kanban.js +137 -138
- package/dist/components/data/kanban/Kanban.js.map +2 -2
- package/dist/components/data/kanban/KanbanContext.d.ts +5 -1
- package/dist/components/data/kanban/KanbanContext.d.ts.map +1 -1
- package/dist/components/data/kanban/KanbanContext.js.map +1 -1
- package/dist/components/data/list/ListItem.d.ts.map +1 -1
- package/dist/components/data/list/ListItem.js +109 -99
- package/dist/components/data/list/ListItem.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.css +28 -10
- package/dist/components/data/sheet/DataSheet.js +1 -1
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.styles.js +1 -1
- package/dist/components/data/sheet/DataSheet.styles.js.map +1 -1
- package/dist/components/disclosure/Dialog.d.ts +16 -10
- package/dist/components/disclosure/Dialog.d.ts.map +1 -1
- package/dist/components/disclosure/Dialog.js +126 -91
- package/dist/components/disclosure/Dialog.js.map +2 -2
- package/dist/components/disclosure/DialogContext.d.ts +2 -4
- package/dist/components/disclosure/DialogContext.d.ts.map +1 -1
- package/dist/components/disclosure/DialogContext.js.map +1 -1
- package/dist/components/disclosure/DialogProvider.d.ts.map +1 -1
- package/dist/components/disclosure/DialogProvider.js +14 -9
- package/dist/components/disclosure/DialogProvider.js.map +2 -2
- package/dist/components/disclosure/Dropdown.d.ts +46 -22
- package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
- package/dist/components/disclosure/Dropdown.js +100 -65
- package/dist/components/disclosure/Dropdown.js.map +2 -2
- package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBanner.js +3 -3
- package/dist/components/feedback/notification/NotificationBanner.js.map +1 -1
- package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBell.js +84 -84
- package/dist/components/feedback/notification/NotificationBell.js.map +2 -2
- package/dist/components/form-control/Invalid.js +1 -1
- package/dist/components/form-control/combobox/Combobox.d.ts +6 -3
- package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/form-control/combobox/Combobox.js +150 -168
- package/dist/components/form-control/combobox/Combobox.js.map +2 -2
- package/dist/components/form-control/combobox/ComboboxContext.d.ts +3 -0
- package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +1 -1
- package/dist/components/form-control/combobox/ComboboxContext.js.map +1 -1
- package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts +0 -2
- package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -1
- package/dist/components/form-control/date-range-picker/DateRangePicker.js +9 -17
- package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
- package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DatePicker.js +3 -2
- package/dist/components/form-control/field/DatePicker.js.map +2 -2
- package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DateTimePicker.js +3 -2
- package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
- package/dist/components/form-control/field/Field.styles.d.ts.map +1 -1
- package/dist/components/form-control/field/Field.styles.js +2 -1
- package/dist/components/form-control/field/Field.styles.js.map +1 -1
- package/dist/components/form-control/field/NumberInput.d.ts +15 -5
- package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.js +181 -141
- package/dist/components/form-control/field/NumberInput.js.map +2 -2
- package/dist/components/form-control/field/TextInput.d.ts +9 -5
- package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
- package/dist/components/form-control/field/TextInput.js +199 -154
- package/dist/components/form-control/field/TextInput.js.map +2 -2
- package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/TimePicker.js +3 -2
- package/dist/components/form-control/field/TimePicker.js.map +2 -2
- package/dist/components/form-control/select/Select.d.ts +3 -3
- package/dist/components/form-control/select/Select.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.js +116 -100
- package/dist/components/form-control/select/Select.js.map +2 -2
- package/dist/components/form-control/select/SelectContext.d.ts +9 -1
- package/dist/components/form-control/select/SelectContext.d.ts.map +1 -1
- package/dist/components/form-control/select/SelectContext.js.map +1 -1
- package/dist/components/form-control/select/SelectItem.d.ts.map +1 -1
- package/dist/components/form-control/select/SelectItem.js +77 -67
- package/dist/components/form-control/select/SelectItem.js.map +2 -2
- package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -1
- package/dist/components/form-control/state-preset/StatePreset.js +1 -1
- package/dist/components/form-control/state-preset/StatePreset.js.map +1 -1
- package/dist/components/layout/topbar/Topbar.d.ts +2 -0
- package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
- package/dist/components/layout/topbar/Topbar.js +2 -0
- package/dist/components/layout/topbar/Topbar.js.map +2 -2
- package/dist/components/layout/topbar/TopbarActions.d.ts +3 -0
- package/dist/components/layout/topbar/TopbarActions.d.ts.map +1 -0
- package/dist/components/layout/topbar/TopbarActions.js +17 -0
- package/dist/components/layout/topbar/TopbarActions.js.map +6 -0
- package/dist/components/layout/topbar/TopbarContainer.d.ts +1 -1
- package/dist/components/layout/topbar/TopbarContainer.d.ts.map +1 -1
- package/dist/components/layout/topbar/TopbarContainer.js +21 -12
- package/dist/components/layout/topbar/TopbarContainer.js.map +2 -2
- package/dist/components/layout/topbar/TopbarContext.d.ts +9 -0
- package/dist/components/layout/topbar/TopbarContext.d.ts.map +1 -0
- package/dist/components/layout/topbar/TopbarContext.js +29 -0
- package/dist/components/layout/topbar/TopbarContext.js.map +6 -0
- package/dist/components/layout/topbar/TopbarMenu.d.ts.map +1 -1
- package/dist/components/layout/topbar/TopbarMenu.js +63 -57
- package/dist/components/layout/topbar/TopbarMenu.js.map +2 -2
- package/dist/components/layout/topbar/TopbarUser.d.ts.map +1 -1
- package/dist/components/layout/topbar/TopbarUser.js +53 -54
- package/dist/components/layout/topbar/TopbarUser.js.map +2 -2
- package/dist/hooks/createControllableStore.d.ts +29 -0
- package/dist/hooks/createControllableStore.d.ts.map +1 -0
- package/dist/hooks/createControllableStore.js +19 -0
- package/dist/hooks/createControllableStore.js.map +6 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/styles/patterns.styles.d.ts.map +1 -1
- package/dist/styles/patterns.styles.js +7 -1
- package/dist/styles/patterns.styles.js.map +1 -1
- package/docs/data-components.md +428 -0
- package/docs/disclosure.md +65 -35
- package/docs/form-controls.md +18 -3
- package/docs/helpers.md +0 -39
- package/docs/hooks.md +39 -0
- package/docs/layout.md +70 -1
- package/package.json +4 -3
- package/src/components/data/crud-detail/CrudDetail.tsx +346 -0
- package/src/components/data/crud-detail/CrudDetailAfter.tsx +19 -0
- package/src/components/data/crud-detail/CrudDetailBefore.tsx +19 -0
- package/src/components/data/crud-detail/CrudDetailTools.tsx +19 -0
- package/src/components/data/crud-detail/types.ts +58 -0
- package/src/components/data/crud-sheet/CrudSheet.tsx +628 -0
- package/src/components/data/crud-sheet/CrudSheetColumn.tsx +34 -0
- package/src/components/data/crud-sheet/CrudSheetFilter.tsx +21 -0
- package/src/components/data/crud-sheet/CrudSheetHeader.tsx +19 -0
- package/src/components/data/crud-sheet/CrudSheetTools.tsx +21 -0
- package/src/components/data/crud-sheet/types.ts +133 -0
- package/src/components/data/kanban/Kanban.tsx +72 -65
- package/src/components/data/kanban/KanbanContext.ts +7 -1
- package/src/components/data/list/ListItem.tsx +31 -18
- package/src/components/data/sheet/DataSheet.css +28 -10
- package/src/components/data/sheet/DataSheet.styles.ts +1 -1
- package/src/components/data/sheet/DataSheet.tsx +1 -1
- package/src/components/disclosure/Dialog.tsx +143 -105
- package/src/components/disclosure/DialogContext.ts +2 -4
- package/src/components/disclosure/DialogProvider.tsx +4 -2
- package/src/components/disclosure/Dropdown.tsx +174 -86
- package/src/components/feedback/notification/NotificationBanner.tsx +3 -9
- package/src/components/feedback/notification/NotificationBell.tsx +51 -57
- package/src/components/form-control/Invalid.tsx +1 -1
- package/src/components/form-control/combobox/Combobox.tsx +109 -133
- package/src/components/form-control/combobox/ComboboxContext.ts +4 -1
- package/src/components/form-control/date-range-picker/DateRangePicker.tsx +6 -16
- package/src/components/form-control/field/DatePicker.tsx +4 -1
- package/src/components/form-control/field/DateTimePicker.tsx +3 -0
- package/src/components/form-control/field/Field.styles.ts +1 -0
- package/src/components/form-control/field/NumberInput.tsx +131 -86
- package/src/components/form-control/field/TextInput.tsx +139 -88
- package/src/components/form-control/field/TimePicker.tsx +3 -0
- package/src/components/form-control/select/Select.tsx +85 -67
- package/src/components/form-control/select/SelectContext.ts +12 -1
- package/src/components/form-control/select/SelectItem.tsx +39 -18
- package/src/components/form-control/state-preset/StatePreset.tsx +1 -0
- package/src/components/layout/topbar/Topbar.tsx +3 -0
- package/src/components/layout/topbar/TopbarActions.tsx +8 -0
- package/src/components/layout/topbar/TopbarContainer.tsx +9 -5
- package/src/components/layout/topbar/TopbarContext.ts +36 -0
- package/src/components/layout/topbar/TopbarMenu.tsx +52 -55
- package/src/components/layout/topbar/TopbarUser.tsx +28 -31
- package/src/hooks/createControllableStore.ts +47 -0
- package/src/index.ts +6 -1
- package/src/styles/patterns.styles.ts +7 -1
- package/tailwind.css +4 -0
- package/dist/helpers/splitSlots.d.ts +0 -25
- package/dist/helpers/splitSlots.d.ts.map +0 -1
- package/dist/helpers/splitSlots.js +0 -25
- package/dist/helpers/splitSlots.js.map +0 -6
- package/dist/hooks/createItemTemplate.d.ts +0 -17
- package/dist/hooks/createItemTemplate.d.ts.map +0 -1
- package/dist/hooks/createItemTemplate.js +0 -40
- package/dist/hooks/createItemTemplate.js.map +0 -6
- package/src/helpers/splitSlots.ts +0 -51
- package/src/hooks/createItemTemplate.tsx +0 -42
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { type JSX, type ParentComponent } from "solid-js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* position과 함께 사용 불가
|
|
6
|
-
*/
|
|
7
|
-
triggerRef?: () => HTMLElement | undefined;
|
|
2
|
+
declare const DropdownTrigger: ParentComponent;
|
|
3
|
+
declare const DropdownContent: ParentComponent;
|
|
4
|
+
export interface DropdownProps {
|
|
8
5
|
/**
|
|
9
6
|
* 절대 위치 (컨텍스트 메뉴 등, minWidth 없음)
|
|
10
|
-
*
|
|
7
|
+
* Trigger와 함께 사용 시 Trigger 기준 위치 계산
|
|
11
8
|
*/
|
|
12
9
|
position?: {
|
|
13
10
|
x: number;
|
|
@@ -25,41 +22,68 @@ export interface DropdownProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>,
|
|
|
25
22
|
* 팝업 최대 높이 (기본값: 300px), 초과 시 내부 스크롤
|
|
26
23
|
*/
|
|
27
24
|
maxHeight?: number;
|
|
25
|
+
/**
|
|
26
|
+
* 비활성화 (Trigger 클릭 무시)
|
|
27
|
+
*/
|
|
28
|
+
disabled?: boolean;
|
|
28
29
|
/**
|
|
29
30
|
* 키보드 네비게이션 활성화 (Select 등에서 사용)
|
|
30
31
|
*
|
|
31
32
|
* direction=down일 때:
|
|
32
|
-
* - 트리거에서 ArrowDown
|
|
33
|
-
* - 첫 아이템에서 ArrowUp
|
|
34
|
-
* - 트리거에서 ArrowUp
|
|
33
|
+
* - 트리거에서 ArrowDown -> 첫 focusable 아이템 포커스
|
|
34
|
+
* - 첫 아이템에서 ArrowUp -> 트리거 포커스
|
|
35
|
+
* - 트리거에서 ArrowUp -> 닫기
|
|
35
36
|
*
|
|
36
37
|
* direction=up일 때:
|
|
37
|
-
* - 트리거에서 ArrowUp
|
|
38
|
-
* - 마지막 아이템에서 ArrowDown
|
|
39
|
-
* - 트리거에서 ArrowDown
|
|
38
|
+
* - 트리거에서 ArrowUp -> 마지막 focusable 아이템 포커스
|
|
39
|
+
* - 마지막 아이템에서 ArrowDown -> 트리거 포커스
|
|
40
|
+
* - 트리거에서 ArrowDown -> 닫기
|
|
40
41
|
*/
|
|
41
42
|
keyboardNav?: boolean;
|
|
42
43
|
/**
|
|
43
|
-
*
|
|
44
|
+
* 팝업에 적용할 커스텀 class
|
|
45
|
+
*/
|
|
46
|
+
class?: string;
|
|
47
|
+
/**
|
|
48
|
+
* 팝업에 적용할 커스텀 style
|
|
49
|
+
*/
|
|
50
|
+
style?: JSX.CSSProperties;
|
|
51
|
+
/**
|
|
52
|
+
* children (Dropdown.Trigger, Dropdown.Content)
|
|
44
53
|
*/
|
|
45
54
|
children: JSX.Element;
|
|
46
55
|
}
|
|
56
|
+
interface DropdownComponent extends ParentComponent<DropdownProps> {
|
|
57
|
+
Trigger: typeof DropdownTrigger;
|
|
58
|
+
Content: typeof DropdownContent;
|
|
59
|
+
}
|
|
47
60
|
/**
|
|
48
61
|
* 드롭다운 팝업 컴포넌트
|
|
49
62
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
63
|
+
* Trigger/Content 슬롯 패턴으로 트리거와 컨텐츠를 분리합니다.
|
|
64
|
+
* Trigger 클릭 시 auto-toggle되며, disabled prop으로 비활성화할 수 있습니다.
|
|
52
65
|
*
|
|
53
66
|
* @example
|
|
54
67
|
* ```tsx
|
|
55
|
-
*
|
|
56
|
-
*
|
|
68
|
+
* <Dropdown>
|
|
69
|
+
* <Dropdown.Trigger>
|
|
70
|
+
* <Button>열기</Button>
|
|
71
|
+
* </Dropdown.Trigger>
|
|
72
|
+
* <Dropdown.Content>
|
|
73
|
+
* <div>팝업 내용</div>
|
|
74
|
+
* </Dropdown.Content>
|
|
75
|
+
* </Dropdown>
|
|
76
|
+
* ```
|
|
57
77
|
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
78
|
+
* @example Context menu (Trigger 없이 position 사용)
|
|
79
|
+
* ```tsx
|
|
80
|
+
* <Dropdown position={{ x: 300, y: 200 }} open={true}>
|
|
81
|
+
* <Dropdown.Content>
|
|
82
|
+
* <div>메뉴</div>
|
|
83
|
+
* </Dropdown.Content>
|
|
61
84
|
* </Dropdown>
|
|
62
85
|
* ```
|
|
63
86
|
*/
|
|
64
|
-
export declare const Dropdown:
|
|
87
|
+
export declare const Dropdown: DropdownComponent;
|
|
88
|
+
export {};
|
|
65
89
|
//# sourceMappingURL=Dropdown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\components\\disclosure\\Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["..\\..\\..\\src\\components\\disclosure\\Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EACR,KAAK,eAAe,EAQrB,MAAM,UAAU,CAAC;AAuBlB,QAAA,MAAM,eAAe,EAAE,eAMtB,CAAC;AAIF,QAAA,MAAM,eAAe,EAAE,eAMtB,CAAC;AAIF,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEpC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;IAE1B;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED,UAAU,iBAAkB,SAAQ,eAAe,CAAC,aAAa,CAAC;IAChE,OAAO,EAAE,OAAO,eAAe,CAAC;IAChC,OAAO,EAAE,OAAO,eAAe,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,QAAQ,EAAE,iBAqWA,CAAC"}
|
|
@@ -1,25 +1,56 @@
|
|
|
1
1
|
import { template as _$template } from "solid-js/web";
|
|
2
|
+
import { delegateEvents as _$delegateEvents } from "solid-js/web";
|
|
3
|
+
import { spread as _$spread } from "solid-js/web";
|
|
4
|
+
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
2
5
|
import { createComponent as _$createComponent } from "solid-js/web";
|
|
3
6
|
import { insert as _$insert } from "solid-js/web";
|
|
4
7
|
import { use as _$use } from "solid-js/web";
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import { createSignal, createEffect, onCleanup, Show, splitProps } from "solid-js";
|
|
8
|
+
import { memo as _$memo } from "solid-js/web";
|
|
9
|
+
var _tmpl$ = /* @__PURE__ */ _$template(`<div data-dropdown-trigger>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div>`);
|
|
10
|
+
import { createSignal, createEffect, createContext, useContext, onCleanup, Show, splitProps } from "solid-js";
|
|
9
11
|
import { createResizeObserver } from "@solid-primitives/resize-observer";
|
|
10
12
|
import { createMountTransition } from "../../hooks/createMountTransition.js";
|
|
11
13
|
import { Portal } from "solid-js/web";
|
|
12
14
|
import clsx from "clsx";
|
|
13
15
|
import { twMerge } from "tailwind-merge";
|
|
14
|
-
import { createControllableSignal } from "../../hooks/createControllableSignal.js";
|
|
15
16
|
import { mergeStyles } from "../../helpers/mergeStyles.js";
|
|
16
17
|
import { borderSubtle } from "../../styles/tokens.styles.js";
|
|
18
|
+
const DropdownContext = createContext();
|
|
19
|
+
const DropdownTrigger = (props) => {
|
|
20
|
+
const ctx = useContext(DropdownContext);
|
|
21
|
+
ctx.setTrigger(() => props.children);
|
|
22
|
+
onCleanup(() => ctx.setTrigger(void 0));
|
|
23
|
+
return null;
|
|
24
|
+
};
|
|
25
|
+
const DropdownContent = (props) => {
|
|
26
|
+
const ctx = useContext(DropdownContext);
|
|
27
|
+
ctx.setContent(() => props.children);
|
|
28
|
+
onCleanup(() => ctx.setContent(void 0));
|
|
29
|
+
return null;
|
|
30
|
+
};
|
|
17
31
|
const Dropdown = (props) => {
|
|
18
|
-
const [local, rest] = splitProps(props, ["
|
|
19
|
-
const [open,
|
|
20
|
-
|
|
21
|
-
|
|
32
|
+
const [local, rest] = splitProps(props, ["position", "open", "onOpenChange", "maxHeight", "disabled", "keyboardNav", "class", "style", "children"]);
|
|
33
|
+
const [open, setOpenInternal] = createSignal(false);
|
|
34
|
+
createEffect(() => {
|
|
35
|
+
const propOpen = local.open;
|
|
36
|
+
if (propOpen !== void 0) {
|
|
37
|
+
setOpenInternal(propOpen);
|
|
38
|
+
}
|
|
22
39
|
});
|
|
40
|
+
const setOpen = (value) => {
|
|
41
|
+
var _a;
|
|
42
|
+
setOpenInternal(value);
|
|
43
|
+
(_a = local.onOpenChange) == null ? void 0 : _a.call(local, value);
|
|
44
|
+
};
|
|
45
|
+
const toggle = () => {
|
|
46
|
+
if (local.disabled) return;
|
|
47
|
+
setOpen(!open());
|
|
48
|
+
};
|
|
49
|
+
const [triggerSlot, _setTriggerSlot] = createSignal();
|
|
50
|
+
const setTrigger = (content) => _setTriggerSlot(() => content);
|
|
51
|
+
const [contentSlot, _setContentSlot] = createSignal();
|
|
52
|
+
const setContent = (content) => _setContentSlot(() => content);
|
|
53
|
+
let triggerRef;
|
|
23
54
|
const [popupRef, setPopupRef] = createSignal();
|
|
24
55
|
const {
|
|
25
56
|
mounted,
|
|
@@ -32,10 +63,8 @@ const Dropdown = (props) => {
|
|
|
32
63
|
const popup = popupRef();
|
|
33
64
|
if (!popup) return;
|
|
34
65
|
const style = {};
|
|
35
|
-
if (
|
|
36
|
-
const
|
|
37
|
-
if (!trigger) return;
|
|
38
|
-
const rect = trigger.getBoundingClientRect();
|
|
66
|
+
if (triggerRef) {
|
|
67
|
+
const rect = triggerRef.getBoundingClientRect();
|
|
39
68
|
const viewportHeight = window.innerHeight;
|
|
40
69
|
const viewportWidth = window.innerWidth;
|
|
41
70
|
const spaceBelow = viewportHeight - rect.bottom;
|
|
@@ -83,10 +112,7 @@ const Dropdown = (props) => {
|
|
|
83
112
|
const popup = popupRef();
|
|
84
113
|
const target = e.target;
|
|
85
114
|
if (popup == null ? void 0 : popup.contains(target)) return;
|
|
86
|
-
if (
|
|
87
|
-
const trigger = local.triggerRef();
|
|
88
|
-
if (trigger == null ? void 0 : trigger.contains(target)) return;
|
|
89
|
-
}
|
|
115
|
+
if (triggerRef == null ? void 0 : triggerRef.contains(target)) return;
|
|
90
116
|
setOpen(false);
|
|
91
117
|
};
|
|
92
118
|
document.addEventListener("pointerdown", handlePointerDown);
|
|
@@ -99,10 +125,7 @@ const Dropdown = (props) => {
|
|
|
99
125
|
const relatedTarget = e.relatedTarget;
|
|
100
126
|
if (!relatedTarget) return;
|
|
101
127
|
if (popup == null ? void 0 : popup.contains(relatedTarget)) return;
|
|
102
|
-
if (
|
|
103
|
-
const trigger = local.triggerRef();
|
|
104
|
-
if (trigger == null ? void 0 : trigger.contains(relatedTarget)) return;
|
|
105
|
-
}
|
|
128
|
+
if (triggerRef == null ? void 0 : triggerRef.contains(relatedTarget)) return;
|
|
106
129
|
setOpen(false);
|
|
107
130
|
};
|
|
108
131
|
document.addEventListener("focusout", handleFocusOut);
|
|
@@ -152,28 +175,18 @@ const Dropdown = (props) => {
|
|
|
152
175
|
}
|
|
153
176
|
};
|
|
154
177
|
const handlePopupKeyDown = (e) => {
|
|
155
|
-
var _a;
|
|
156
178
|
if (!local.keyboardNav) return;
|
|
157
179
|
if (e.defaultPrevented) return;
|
|
158
|
-
|
|
159
|
-
if (!trigger) return;
|
|
180
|
+
if (!triggerRef) return;
|
|
160
181
|
const dir = direction();
|
|
161
182
|
if (dir === "down" && e.key === "ArrowUp") {
|
|
162
183
|
e.preventDefault();
|
|
163
|
-
|
|
184
|
+
triggerRef.focus();
|
|
164
185
|
} else if (dir === "up" && e.key === "ArrowDown") {
|
|
165
186
|
e.preventDefault();
|
|
166
|
-
|
|
187
|
+
triggerRef.focus();
|
|
167
188
|
}
|
|
168
189
|
};
|
|
169
|
-
createEffect(() => {
|
|
170
|
-
var _a;
|
|
171
|
-
if (!local.keyboardNav) return;
|
|
172
|
-
const trigger = (_a = local.triggerRef) == null ? void 0 : _a.call(local);
|
|
173
|
-
if (!trigger) return;
|
|
174
|
-
trigger.addEventListener("keydown", handleTriggerKeyDown);
|
|
175
|
-
onCleanup(() => trigger.removeEventListener("keydown", handleTriggerKeyDown));
|
|
176
|
-
});
|
|
177
190
|
createEffect(() => {
|
|
178
191
|
if (!open()) return;
|
|
179
192
|
const handleScroll = (e) => {
|
|
@@ -213,46 +226,68 @@ const Dropdown = (props) => {
|
|
|
213
226
|
return clsx(base, "opacity-0", dir === "down" ? "-translate-y-1" : "translate-y-1");
|
|
214
227
|
}
|
|
215
228
|
};
|
|
216
|
-
return _$createComponent(
|
|
217
|
-
|
|
218
|
-
|
|
229
|
+
return _$createComponent(DropdownContext.Provider, {
|
|
230
|
+
value: {
|
|
231
|
+
toggle,
|
|
232
|
+
setTrigger,
|
|
233
|
+
setContent
|
|
219
234
|
},
|
|
220
235
|
get children() {
|
|
221
|
-
return _$createComponent(
|
|
236
|
+
return [_$memo(() => local.children), _$createComponent(Show, {
|
|
237
|
+
get when() {
|
|
238
|
+
return triggerSlot();
|
|
239
|
+
},
|
|
222
240
|
get children() {
|
|
223
241
|
var _el$ = _tmpl$();
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
// 기본 position: fixed로 설정하여 offsetWidth 측정 정확하게
|
|
231
|
-
"z-dropdown",
|
|
232
|
-
"bg-white dark:bg-base-800",
|
|
233
|
-
"border",
|
|
234
|
-
borderSubtle,
|
|
235
|
-
"shadow-lg dark:shadow-black/30",
|
|
236
|
-
"rounded-md",
|
|
237
|
-
"overflow-y-auto",
|
|
238
|
-
animationClass()
|
|
239
|
-
), local.class);
|
|
240
|
-
},
|
|
241
|
-
get style() {
|
|
242
|
-
return mergeStyles(computedStyle(), local.style, {
|
|
243
|
-
"max-height": `${maxHeight()}px`
|
|
244
|
-
});
|
|
245
|
-
},
|
|
246
|
-
"onTransitionEnd": handleTransitionEnd,
|
|
247
|
-
"onKeyDown": handlePopupKeyDown
|
|
248
|
-
}), false, true);
|
|
249
|
-
_$insert(_el$, () => local.children);
|
|
242
|
+
_el$.$$keydown = handleTriggerKeyDown;
|
|
243
|
+
_el$.$$click = toggle;
|
|
244
|
+
_$use((el) => {
|
|
245
|
+
triggerRef = el;
|
|
246
|
+
}, _el$);
|
|
247
|
+
_$insert(_el$, triggerSlot());
|
|
250
248
|
return _el$;
|
|
251
249
|
}
|
|
252
|
-
})
|
|
250
|
+
}), _$createComponent(Show, {
|
|
251
|
+
get when() {
|
|
252
|
+
return mounted();
|
|
253
|
+
},
|
|
254
|
+
get children() {
|
|
255
|
+
return _$createComponent(Portal, {
|
|
256
|
+
get children() {
|
|
257
|
+
var _el$2 = _tmpl$2();
|
|
258
|
+
_$use(setPopupRef, _el$2);
|
|
259
|
+
_$spread(_el$2, _$mergeProps(rest, {
|
|
260
|
+
"data-dropdown": "",
|
|
261
|
+
get ["class"]() {
|
|
262
|
+
return twMerge(clsx("fixed", "z-dropdown", "bg-white dark:bg-base-800", "border", borderSubtle, "shadow-lg dark:shadow-black/30", "rounded-md", "overflow-y-auto", animationClass()), local.class);
|
|
263
|
+
},
|
|
264
|
+
get style() {
|
|
265
|
+
return mergeStyles(computedStyle(), local.style, {
|
|
266
|
+
"max-height": `${maxHeight()}px`
|
|
267
|
+
});
|
|
268
|
+
},
|
|
269
|
+
"onTransitionEnd": handleTransitionEnd,
|
|
270
|
+
"onKeyDown": handlePopupKeyDown
|
|
271
|
+
}), false, true);
|
|
272
|
+
_$insert(_el$2, _$createComponent(Show, {
|
|
273
|
+
get when() {
|
|
274
|
+
return contentSlot();
|
|
275
|
+
},
|
|
276
|
+
get children() {
|
|
277
|
+
return contentSlot()();
|
|
278
|
+
}
|
|
279
|
+
}));
|
|
280
|
+
return _el$2;
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
})];
|
|
253
285
|
}
|
|
254
286
|
});
|
|
255
287
|
};
|
|
288
|
+
Dropdown.Trigger = DropdownTrigger;
|
|
289
|
+
Dropdown.Content = DropdownContent;
|
|
290
|
+
_$delegateEvents(["click", "keydown"]);
|
|
256
291
|
export {
|
|
257
292
|
Dropdown
|
|
258
293
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/disclosure/Dropdown.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": ["createSignal", "createEffect", "onCleanup", "Show", "splitProps", "createResizeObserver", "createMountTransition", "Portal", "clsx", "twMerge", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["createSignal", "createEffect", "createContext", "useContext", "onCleanup", "Show", "splitProps", "createResizeObserver", "createMountTransition", "Portal", "clsx", "twMerge", "mergeStyles", "borderSubtle", "DropdownContext", "DropdownTrigger", "props", "ctx", "setTrigger", "children", "undefined", "DropdownContent", "setContent", "Dropdown", "local", "rest", "open", "setOpenInternal", "propOpen", "setOpen", "value", "onOpenChange", "toggle", "disabled", "triggerSlot", "_setTriggerSlot", "content", "contentSlot", "_setContentSlot", "triggerRef", "popupRef", "setPopupRef", "mounted", "animating", "unmount", "computedStyle", "setComputedStyle", "direction", "setDirection", "updatePosition", "popup", "style", "rect", "getBoundingClientRect", "viewportHeight", "window", "innerHeight", "viewportWidth", "innerWidth", "spaceBelow", "bottom", "spaceAbove", "top", "openDown", "adjustedLeft", "Math", "min", "left", "offsetWidth", "max", "width", "position", "y", "x", "handlePointerDown", "e", "target", "contains", "document", "addEventListener", "removeEventListener", "handleFocusOut", "relatedTarget", "handleKeyDown", "key", "stopImmediatePropagation", "handleTriggerKeyDown", "keyboardNav", "preventDefault", "dir", "focusables", "querySelectorAll", "length", "focus", "handlePopupKeyDown", "defaultPrevented", "handleScroll", "capture", "handleResize", "handleTransitionEnd", "propertyName", "maxHeight", "animationClass", "base", "visible", "_$createComponent", "Provider", "_$memo", "when", "_el$", "_tmpl$", "$$keydown", "$$click", "_$use", "el", "_$insert", "_el$2", "_tmpl$2", "_$spread", "_$mergeProps", "class", "Trigger", "Content", "_$delegateEvents"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationBanner.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\feedback\\notification\\NotificationBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAQ,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"NotificationBanner.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\feedback\\notification\\NotificationBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAQ,MAAM,UAAU,CAAC;AAsChD,eAAO,MAAM,kBAAkB,EAAE,SAgDhC,CAAC"}
|
|
@@ -13,7 +13,7 @@ import { IconX } from "@tabler/icons-solidjs";
|
|
|
13
13
|
import { useNotification } from "./NotificationContext.js";
|
|
14
14
|
import { Icon } from "../../display/Icon.js";
|
|
15
15
|
import { themeTokens } from "../../../styles/tokens.styles.js";
|
|
16
|
-
const baseClass = clsx("fixed", "top-
|
|
16
|
+
const baseClass = clsx("fixed", "top-8", "right-4", "z-50", "flex", "items-start", "gap-4", "px-3", "py-2", "text-white", "shadow-lg", "dark:shadow-black/30", "rounded-lg", "max-w-[calc(100vw-2rem)]");
|
|
17
17
|
const themeClasses = {
|
|
18
18
|
info: themeTokens.info.solid,
|
|
19
19
|
success: themeTokens.success.solid,
|
|
@@ -21,9 +21,9 @@ const themeClasses = {
|
|
|
21
21
|
danger: themeTokens.danger.solid
|
|
22
22
|
};
|
|
23
23
|
const contentClass = clsx("flex flex-col", "gap-0.5", "min-w-0");
|
|
24
|
-
const messageClass = clsx("
|
|
24
|
+
const messageClass = clsx("opacity-90", "overflow-auto");
|
|
25
25
|
const actionsClass = clsx("flex items-center", "gap-2", "shrink-0");
|
|
26
|
-
const actionButtonClass = clsx("rounded", "bg-white/20", "px-3 py-1", "
|
|
26
|
+
const actionButtonClass = clsx("rounded", "bg-white/20", "px-3 py-1", "hover:bg-white/30");
|
|
27
27
|
const dismissButtonClass = clsx("rounded", "p-1", "hover:bg-white/20");
|
|
28
28
|
const NotificationBanner = () => {
|
|
29
29
|
const notification = useNotification();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/feedback/notification/NotificationBanner.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;AAAA,SAAyBA,YAAY;AACrC,SAASC,cAAc;AACvB,OAAOC,UAAU;AACjB,SAASC,aAAa;AACtB,SAASC,uBAAuB;AAChC,SAASC,YAAY;AACrB,SAASC,mBAAmB;AAE5B,MAAMC,YAAYL,KAChB,SACA,SACA,WACA,QACA,QACA,eACA,SACA,QACA,QACA,cACA,aACA,wBACA,cACA,0BACF;AAEA,MAAMM,eAAuC;EAC3CC,MAAMH,YAAYG,KAAKC;EACvBC,SAASL,YAAYK,QAAQD;EAC7BE,SAASN,YAAYM,QAAQF;EAC7BG,QAAQP,YAAYO,OAAOH;AAC7B;AAEA,MAAMI,eAAeZ,KAAK,iBAAiB,WAAW,SAAS;AAC/D,MAAMa,eAAeb,KAAK,
|
|
4
|
+
"mappings": ";;;;;;;;AAAA,SAAyBA,YAAY;AACrC,SAASC,cAAc;AACvB,OAAOC,UAAU;AACjB,SAASC,aAAa;AACtB,SAASC,uBAAuB;AAChC,SAASC,YAAY;AACrB,SAASC,mBAAmB;AAE5B,MAAMC,YAAYL,KAChB,SACA,SACA,WACA,QACA,QACA,eACA,SACA,QACA,QACA,cACA,aACA,wBACA,cACA,0BACF;AAEA,MAAMM,eAAuC;EAC3CC,MAAMH,YAAYG,KAAKC;EACvBC,SAASL,YAAYK,QAAQD;EAC7BE,SAASN,YAAYM,QAAQF;EAC7BG,QAAQP,YAAYO,OAAOH;AAC7B;AAEA,MAAMI,eAAeZ,KAAK,iBAAiB,WAAW,SAAS;AAC/D,MAAMa,eAAeb,KAAK,cAAc,eAAe;AACvD,MAAMc,eAAed,KAAK,qBAAqB,SAAS,UAAU;AAClE,MAAMe,oBAAoBf,KAAK,WAAW,eAAe,aAAa,mBAAmB;AACzF,MAAMgB,qBAAqBhB,KAAK,WAAW,OAAO,mBAAmB;AAE9D,MAAMiB,qBAAgCA,MAAM;AACjD,QAAMC,eAAehB,gBAAgB;AAErC,QAAMiB,gBAAgBA,MAAM;AAC1BD,iBAAaE,cAAc;EAC7B;AAEA,QAAMC,eAAeA,MAAM;;AACzB,UAAMC,SAASJ,aAAaK,aAAa;AACzCD,2CAAQE,WAARF,mBAAgBG;EAClB;AAEA,SAAAC,kBACG5B,MAAI;IAAA,IAAC6B,OAAI;AAAA,aAAET,aAAaK,aAAa;IAAC;IAAAK,UACnCC,UAAIH,kBACH3B,QAAM;MAAA,IAAA6B,WAAA;AAAA,YAAAE,OAAAC,QAAA,GAAAC,QAAAF,KAAAG,YAAAC,QAAAF,MAAAC,YAAAE,QAAAH,MAAAI,aAAAC,QAAAF,MAAAF;AAAAK,oBAAAN,OAOSpB,YAAY;AAAA2B,iBAAAL,OAAA,MACGL,KAAK,EAAEW,KAAK;AAAAD,iBAAAP,OAAAN,kBACpC5B,MAAI;UAAA,IAAC6B,OAAI;AAAA,mBAAEE,KAAK,EAAEY;UAAO;UAAA,IAAAb,WAAA;AAAA,gBAAAc,QAAAC,OAAA;AAAAL,wBAAAI,OACZ7B,YAAY;AAAA0B,qBAAAG,OAAA,MAAGb,KAAK,EAAEY,OAAO;AAAA,mBAAAC;UAAA;QAAA,CAAA,GAAA,IAAA;AAAAJ,oBAAAH,OAGjCrB,YAAY;AAAAyB,iBAAAJ,OAAAT,kBACrB5B,MAAI;UAAA,IAAC6B,OAAI;AAAA,mBAAEE,KAAK,EAAEL;UAAM;UAAA,IAAAI,WAAA;AAAA,gBAAAgB,QAAAC,QAAA;AAAAD,kBAAAE,UACkCzB;AAAYiB,wBAAAM,OAAxC7B,iBAAiB;AAAAwB,qBAAAK,OAAA,MAC3Cf,KAAK,EAAEL,OAAQuB,KAAK;AAAA,mBAAAH;UAAA;QAAA,CAAA,GAAAP,KAAA;AAAAA,cAAAS,UAOd3B;AAAamB,oBAAAD,OADfrB,kBAAkB;AAAAuB,iBAAAF,OAAAX,kBAGxBvB,MAAI;UAAC6C,MAAM/C;UAAOgD,MAAI;QAAA,CAAA,CAAA;AAAAC,iBAAAC,SAAA;AAAA,cAAAC,MAtBfvB,KAAK,EAAEwB,OAAKC,OAEjBtD,KAAKK,WAAWC,aAAauB,KAAK,EAAEwB,KAAK,CAAC;AAACD,kBAAAD,IAAAI,KAAAC,eAAA1B,MAAA,cAAAqB,IAAAI,IAAAH,GAAA;AAAAE,mBAAAH,IAAAM,KAAAnB,YAAAR,MAAAqB,IAAAM,IAAAH,IAAA;AAAA,iBAAAH;QAAA,GAAA;UAAAI,GAAAG;UAAAD,GAAAC;QAAA,CAAA;AAAA,eAAA5B;MAAA;IAAA,CAAA;EAyBvD,CAAA;AAGP;AAAE6B,iBAAA,CAAA,OAAA,CAAA;",
|
|
5
5
|
"names": ["Show", "Portal", "clsx", "IconX", "useNotification", "Icon", "themeTokens", "baseClass", "themeClasses", "info", "solid", "success", "warning", "danger", "contentClass", "messageClass", "actionsClass", "actionButtonClass", "dismissButtonClass", "NotificationBanner", "notification", "handleDismiss", "dismissBanner", "handleAction", "latest", "latestUnread", "action", "onClick", "_$createComponent", "when", "children", "item", "_el$", "_tmpl$3", "_el$2", "firstChild", "_el$3", "_el$5", "nextSibling", "_el$7", "_$className", "_$insert", "title", "message", "_el$4", "_tmpl$", "_el$6", "_tmpl$2", "$$click", "label", "icon", "size", "_$effect", "_p$", "_v$", "theme", "_v$2", "e", "_$setAttribute", "t", "undefined", "_$delegateEvents"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationBell.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\feedback\\notification\\NotificationBell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,UAAU,CAAC;AAUnE,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAwCD,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"NotificationBell.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\feedback\\notification\\NotificationBell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,UAAU,CAAC;AAUnE,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAwCD,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,qBAAqB,CA+E7D,CAAC"}
|