@rkosafo/cai.components 0.0.78 → 0.0.80
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 +8 -8
- package/dist/baseEditor/index.svelte +32 -32
- package/dist/builders/filters/FilterBuilder.svelte +641 -641
- package/dist/forms/FormCheckbox/FormCheckbox.svelte +53 -53
- package/dist/forms/FormClEditor/ClEdito.svelte +68 -68
- package/dist/forms/FormDatepicker/FormDatepicker.svelte +159 -159
- package/dist/forms/FormFileUpload/FormFileUplad.svelte +134 -134
- package/dist/forms/FormInput/FormInput.svelte +87 -87
- package/dist/forms/FormRadio/FormRadio.svelte +53 -53
- package/dist/forms/FormSelect/FormSelect.svelte +88 -88
- package/dist/forms/FormTextarea/FormTextarea.svelte +78 -78
- package/dist/forms/button-toggle/ButtonToggle.svelte +119 -119
- package/dist/forms/button-toggle/CheckIcon.svelte +28 -28
- package/dist/forms/checkbox/Checkbox.svelte +82 -82
- package/dist/forms/checkbox/CheckboxButton.svelte +92 -92
- package/dist/forms/datepicker/Datepicker.svelte +707 -707
- package/dist/forms/form/Form.svelte +69 -69
- package/dist/forms/input/Input.svelte +363 -363
- package/dist/forms/label/Label.svelte +38 -38
- package/dist/forms/radio/Radio.svelte +48 -48
- package/dist/forms/radio/RadioButton.svelte +22 -22
- package/dist/forms/select/Select.svelte +56 -56
- package/dist/forms/textarea/Textarea.svelte +165 -165
- package/dist/forms/toggle/Toggle.svelte +70 -70
- package/dist/layout/Chat/CategorySelector.svelte +52 -52
- package/dist/layout/Chat/ChatEntry.svelte +246 -246
- package/dist/layout/Chat/ChatEntrySkeleton.svelte +81 -81
- package/dist/layout/Chat/ChatHeader.svelte +172 -172
- package/dist/layout/Chat/ChatInput.svelte +207 -207
- package/dist/layout/Chat/DraggableWindow.svelte +230 -230
- package/dist/layout/Chat/PreviewPage.svelte +182 -182
- package/dist/layout/Chat/RichText.svelte +216 -216
- package/dist/layout/ComponentCanvas/Canvas.svelte +40 -40
- package/dist/layout/ComponentCanvas/ComponentRenderer.svelte +85 -85
- package/dist/layout/TF/Content/Content.svelte +21 -21
- package/dist/layout/TF/Header/Header.svelte +166 -166
- package/dist/layout/TF/Sidebar/Sidebar.svelte +148 -148
- package/dist/layout/TF/Wrapper/Wrapper.svelte +17 -17
- package/dist/layout/mailing/MailPaginator.svelte +36 -36
- package/dist/layout/mailing/MailSidebar.svelte +39 -39
- package/dist/layout/mailing/MailToolBar.svelte +174 -174
- package/dist/layout/mailing/MailingContent.svelte +10 -10
- package/dist/layout/mailing/MailingHeader.svelte +55 -55
- package/dist/layout/mailing/MailingMessageCard.svelte +112 -112
- package/dist/layout/mailing/MailingMessageViewer.svelte +87 -87
- package/dist/layout/mailing/MailingModule.svelte +448 -448
- package/dist/styles/docs.css +615 -615
- package/dist/styles/tf-layout.css +185 -185
- package/dist/themes/ThemeProvider.svelte +20 -20
- package/dist/types/index.d.ts +2 -0
- package/dist/typography/heading/Heading.svelte +35 -35
- package/dist/ui/accordion/Accordion.svelte +49 -49
- package/dist/ui/accordion/AccordionItem.svelte +173 -173
- package/dist/ui/alert/Alert.svelte +83 -83
- package/dist/ui/alertDialog/AlertDialog.svelte +40 -40
- package/dist/ui/avatar/Avatar.svelte +77 -77
- package/dist/ui/box/Box.svelte +28 -28
- package/dist/ui/breadcrumb/Breadcrumb.svelte +39 -39
- package/dist/ui/buttons/ActionButton.svelte +234 -234
- package/dist/ui/buttons/Button.svelte +102 -102
- package/dist/ui/buttons/GradientButton.svelte +59 -59
- package/dist/ui/datatable/Datatable.svelte +525 -525
- package/dist/ui/drawer/Drawer.svelte +300 -300
- package/dist/ui/dropdown/Dropdown.svelte +36 -36
- package/dist/ui/dropdown/DropdownDivider.svelte +11 -11
- package/dist/ui/dropdown/DropdownGroup.svelte +14 -14
- package/dist/ui/dropdown/DropdownHeader.svelte +14 -14
- package/dist/ui/dropdown/DropdownItem.svelte +52 -52
- package/dist/ui/footer/Footer.svelte +15 -15
- package/dist/ui/footer/FooterBrand.svelte +37 -37
- package/dist/ui/footer/FooterCopyright.svelte +45 -45
- package/dist/ui/footer/FooterIcon.svelte +22 -22
- package/dist/ui/footer/FooterLink.svelte +33 -33
- package/dist/ui/footer/FooterLinkGroup.svelte +13 -13
- package/dist/ui/icons/IconifyIcon.svelte +7 -7
- package/dist/ui/indicator/Indicator.svelte +42 -42
- package/dist/ui/modal/Modal.svelte +265 -265
- package/dist/ui/notificationList/NotificationList.svelte +123 -123
- package/dist/ui/pageLoader/PageLoader.svelte +14 -14
- package/dist/ui/pageLoader/PageLoader2.svelte +99 -0
- package/dist/ui/pageLoader/PageLoader2.svelte.d.ts +24 -0
- package/dist/ui/pageLoader/index.d.ts +2 -1
- package/dist/ui/pageLoader/index.js +2 -1
- package/dist/ui/paginate/Paginate.svelte +96 -96
- package/dist/ui/speedDial/SpeedDial.svelte +77 -77
- package/dist/ui/speedDial/SpeedDialButton.svelte +75 -75
- package/dist/ui/speedDial/SpeedDialTrigger.svelte +79 -79
- package/dist/ui/tab/Tab.svelte +93 -67
- package/dist/ui/table/Table.svelte +396 -396
- package/dist/ui/tableLoader/TableLoader.svelte +24 -24
- package/dist/ui/toast/Toast.svelte +337 -337
- package/dist/ui/toast/Toast.svelte.d.ts +10 -10
- package/dist/ui/toolbar/Toolbar.svelte +59 -59
- package/dist/ui/toolbar/ToolbarButton.svelte +56 -56
- package/dist/ui/toolbar/ToolbarGroup.svelte +43 -43
- package/dist/ui/tooltip/Tooltip.svelte +51 -51
- package/dist/utils/Popper.svelte +257 -257
- package/dist/utils/closeButton/CloseButton.svelte +88 -88
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.js +3 -3
- package/dist/utils/singleSelection.svelte.js +48 -48
- package/dist/youtube/index.svelte +12 -12
- package/package.json +1 -1
|
@@ -1,172 +1,172 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { clickOutsideAction, DropdownItem } from '../../index.js';
|
|
3
|
-
import { Avatar } from '../../ui/avatar/index.js';
|
|
4
|
-
import { IconifyIcon } from '../../ui/icons/index.js';
|
|
5
|
-
import { slide } from 'svelte/transition';
|
|
6
|
-
import type { ChatHeaderProps } from './index.js';
|
|
7
|
-
|
|
8
|
-
let {
|
|
9
|
-
caseTitle = '',
|
|
10
|
-
user = { name: '', profileImageUrl: '', initials: '' },
|
|
11
|
-
caseTypes = '',
|
|
12
|
-
assignedTo = '',
|
|
13
|
-
showAssignedTo = false,
|
|
14
|
-
showFollowCaseButton = false,
|
|
15
|
-
showBackArrow = false,
|
|
16
|
-
isFollowingCase = false,
|
|
17
|
-
overflowActionsList = [],
|
|
18
|
-
showOverflowActionButton = true,
|
|
19
|
-
caseStatus = '',
|
|
20
|
-
logoUrl = '',
|
|
21
|
-
showFollowOverflowAction = true,
|
|
22
|
-
showCloseOverflowAction = true,
|
|
23
|
-
onOverflowActionClicked,
|
|
24
|
-
onToggleFollowCase,
|
|
25
|
-
leadingWidget,
|
|
26
|
-
trailingWidget,
|
|
27
|
-
caseDetailsWidget,
|
|
28
|
-
onBackArrowClicked,
|
|
29
|
-
onCloseCase
|
|
30
|
-
}: ChatHeaderProps = $props();
|
|
31
|
-
|
|
32
|
-
let showMenu = $state(false);
|
|
33
|
-
</script>
|
|
34
|
-
|
|
35
|
-
<div class="flex items-center justify-between">
|
|
36
|
-
{#if caseDetailsWidget}
|
|
37
|
-
{@render caseDetailsWidget?.()}
|
|
38
|
-
{:else}
|
|
39
|
-
<div class="flex w-full items-center gap-1.5">
|
|
40
|
-
{@render leadingWidget?.()}
|
|
41
|
-
{#if showBackArrow}
|
|
42
|
-
<button aria-label="back" onclick={onBackArrowClicked}>
|
|
43
|
-
<IconifyIcon
|
|
44
|
-
icon="ep:back"
|
|
45
|
-
class="block rounded-full p-2 hover:bg-gray-200 lg:hidden"
|
|
46
|
-
style="font-size: 20px;"
|
|
47
|
-
/>
|
|
48
|
-
</button>
|
|
49
|
-
{/if}
|
|
50
|
-
<div class="flex items-center gap-3">
|
|
51
|
-
{#if user?.profileImageUrl}
|
|
52
|
-
<Avatar
|
|
53
|
-
src={user?.profileImageUrl}
|
|
54
|
-
alt="pic"
|
|
55
|
-
class="h-14 w-14 border text-lg font-medium"
|
|
56
|
-
/>
|
|
57
|
-
{:else if user?.initials}
|
|
58
|
-
<Avatar class="h-14 w-14 border bg-primary-500 text-lg font-medium text-white"
|
|
59
|
-
>{user.initials}</Avatar
|
|
60
|
-
>
|
|
61
|
-
{:else}
|
|
62
|
-
<Avatar src={logoUrl} alt="logo" class="h-14 w-14 border text-lg font-medium" />
|
|
63
|
-
{/if}
|
|
64
|
-
<div class="flex flex-col">
|
|
65
|
-
<div class="font-medium capitalize">{user.name}</div>
|
|
66
|
-
<div class="flex gap-2">
|
|
67
|
-
<div class="max-w-xs truncate text-sm text-gray-500 capitalize">
|
|
68
|
-
<span class=" font-medium text-black">Title:</span>
|
|
69
|
-
<span title={caseTitle}>
|
|
70
|
-
{caseTitle}
|
|
71
|
-
</span>
|
|
72
|
-
</div>
|
|
73
|
-
<div class="text-sm text-gray-500 capitalize">
|
|
74
|
-
<span class="font-medium text-black">status: </span>
|
|
75
|
-
{caseStatus}
|
|
76
|
-
</div>
|
|
77
|
-
<div class="text-sm" class:hidden={!showAssignedTo}>
|
|
78
|
-
<span>Assigned To :</span> <span class="text-gray-500">{assignedTo}</span>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
<div class="flex gap-2">
|
|
82
|
-
<div class="max-w-xl truncate text-sm text-gray-500 capitalize">
|
|
83
|
-
{caseTypes}
|
|
84
|
-
</div>
|
|
85
|
-
</div>
|
|
86
|
-
{#if showFollowCaseButton}
|
|
87
|
-
<div class="">
|
|
88
|
-
<button
|
|
89
|
-
onclick={() => onToggleFollowCase?.(isFollowingCase ? 'unfollow' : 'follow')}
|
|
90
|
-
class="flex w-fit items-center gap-1 rounded bg-gray-200 px-2 py-0.5 text-xs hover:bg-gray-300"
|
|
91
|
-
>
|
|
92
|
-
<span>{isFollowingCase ? 'Unfollow' : 'Follow'}</span>
|
|
93
|
-
<IconifyIcon icon={isFollowingCase ? 'mdi:eye-off' : 'mdi:eye'} />
|
|
94
|
-
</button>
|
|
95
|
-
</div>
|
|
96
|
-
{/if}
|
|
97
|
-
</div>
|
|
98
|
-
</div>
|
|
99
|
-
</div>
|
|
100
|
-
{/if}
|
|
101
|
-
{@render trailingWidget?.()}
|
|
102
|
-
{#if showOverflowActionButton}
|
|
103
|
-
<div class="w-10"></div>
|
|
104
|
-
{/if}
|
|
105
|
-
|
|
106
|
-
{#if showOverflowActionButton}
|
|
107
|
-
<div
|
|
108
|
-
class="relative space-y-2"
|
|
109
|
-
use:clickOutsideAction
|
|
110
|
-
onclickoutside={() => (showMenu = false)}
|
|
111
|
-
>
|
|
112
|
-
<button
|
|
113
|
-
aria-label="toggle menu"
|
|
114
|
-
class="grid place-content-center rounded-full p-1 text-gray-600 hover:bg-gray-200"
|
|
115
|
-
onclick={() => (showMenu = !showMenu)}
|
|
116
|
-
>
|
|
117
|
-
<IconifyIcon icon="mdi:dots-vertical" style="font-size: 25px;" />
|
|
118
|
-
</button>
|
|
119
|
-
{#if showMenu}
|
|
120
|
-
<div
|
|
121
|
-
class="absolute right-3 z-10 flex w-44 flex-col divide-y rounded-md bg-white py-1 shadow-md shadow-gray-300"
|
|
122
|
-
transition:slide
|
|
123
|
-
use:clickOutsideAction
|
|
124
|
-
>
|
|
125
|
-
{#if showFollowOverflowAction}
|
|
126
|
-
{#if !isFollowingCase}
|
|
127
|
-
<DropdownItem
|
|
128
|
-
class="flex w-full appearance-none items-center gap-1 whitespace-nowrap list-none"
|
|
129
|
-
onclick={() => {
|
|
130
|
-
onToggleFollowCase?.('follow');
|
|
131
|
-
showMenu = false;
|
|
132
|
-
}}><IconifyIcon icon="mdi:eye" style="font-size: 20px;" /> Follow Case</DropdownItem
|
|
133
|
-
>
|
|
134
|
-
{:else}
|
|
135
|
-
<DropdownItem
|
|
136
|
-
class="flex w-full appearance-none items-center gap-1 whitespace-nowrap list-none"
|
|
137
|
-
onclick={() => {
|
|
138
|
-
onToggleFollowCase?.('unfollow');
|
|
139
|
-
showMenu = false;
|
|
140
|
-
}}
|
|
141
|
-
><IconifyIcon icon="mdi:eye-off" style="font-size: 20px;" /> Unfollow Case</DropdownItem
|
|
142
|
-
>
|
|
143
|
-
{/if}
|
|
144
|
-
{/if}
|
|
145
|
-
{#if overflowActionsList.length > 0}
|
|
146
|
-
{#each overflowActionsList as item}
|
|
147
|
-
<DropdownItem
|
|
148
|
-
class="flex w-full appearance-none items-center gap-1 whitespace-nowrap list-none"
|
|
149
|
-
onclick={() => {
|
|
150
|
-
onOverflowActionClicked?.(item);
|
|
151
|
-
showMenu = false;
|
|
152
|
-
}}
|
|
153
|
-
><IconifyIcon icon={item.icon} style="font-size: 20px;" />
|
|
154
|
-
{item.label}</DropdownItem
|
|
155
|
-
>
|
|
156
|
-
{/each}
|
|
157
|
-
{/if}
|
|
158
|
-
{#if showCloseOverflowAction}
|
|
159
|
-
<DropdownItem
|
|
160
|
-
class="flex w-full appearance-none items-center gap-1 whitespace-nowrap text-red-600 list-none"
|
|
161
|
-
onclick={() => {
|
|
162
|
-
onCloseCase?.();
|
|
163
|
-
showMenu = false;
|
|
164
|
-
}}
|
|
165
|
-
><IconifyIcon icon="tabler:message-2-x" style="font-size: 20px;" /> Close Case</DropdownItem
|
|
166
|
-
>
|
|
167
|
-
{/if}
|
|
168
|
-
</div>
|
|
169
|
-
{/if}
|
|
170
|
-
</div>
|
|
171
|
-
{/if}
|
|
172
|
-
</div>
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { clickOutsideAction, DropdownItem } from '../../index.js';
|
|
3
|
+
import { Avatar } from '../../ui/avatar/index.js';
|
|
4
|
+
import { IconifyIcon } from '../../ui/icons/index.js';
|
|
5
|
+
import { slide } from 'svelte/transition';
|
|
6
|
+
import type { ChatHeaderProps } from './index.js';
|
|
7
|
+
|
|
8
|
+
let {
|
|
9
|
+
caseTitle = '',
|
|
10
|
+
user = { name: '', profileImageUrl: '', initials: '' },
|
|
11
|
+
caseTypes = '',
|
|
12
|
+
assignedTo = '',
|
|
13
|
+
showAssignedTo = false,
|
|
14
|
+
showFollowCaseButton = false,
|
|
15
|
+
showBackArrow = false,
|
|
16
|
+
isFollowingCase = false,
|
|
17
|
+
overflowActionsList = [],
|
|
18
|
+
showOverflowActionButton = true,
|
|
19
|
+
caseStatus = '',
|
|
20
|
+
logoUrl = '',
|
|
21
|
+
showFollowOverflowAction = true,
|
|
22
|
+
showCloseOverflowAction = true,
|
|
23
|
+
onOverflowActionClicked,
|
|
24
|
+
onToggleFollowCase,
|
|
25
|
+
leadingWidget,
|
|
26
|
+
trailingWidget,
|
|
27
|
+
caseDetailsWidget,
|
|
28
|
+
onBackArrowClicked,
|
|
29
|
+
onCloseCase
|
|
30
|
+
}: ChatHeaderProps = $props();
|
|
31
|
+
|
|
32
|
+
let showMenu = $state(false);
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<div class="flex items-center justify-between">
|
|
36
|
+
{#if caseDetailsWidget}
|
|
37
|
+
{@render caseDetailsWidget?.()}
|
|
38
|
+
{:else}
|
|
39
|
+
<div class="flex w-full items-center gap-1.5">
|
|
40
|
+
{@render leadingWidget?.()}
|
|
41
|
+
{#if showBackArrow}
|
|
42
|
+
<button aria-label="back" onclick={onBackArrowClicked}>
|
|
43
|
+
<IconifyIcon
|
|
44
|
+
icon="ep:back"
|
|
45
|
+
class="block rounded-full p-2 hover:bg-gray-200 lg:hidden"
|
|
46
|
+
style="font-size: 20px;"
|
|
47
|
+
/>
|
|
48
|
+
</button>
|
|
49
|
+
{/if}
|
|
50
|
+
<div class="flex items-center gap-3">
|
|
51
|
+
{#if user?.profileImageUrl}
|
|
52
|
+
<Avatar
|
|
53
|
+
src={user?.profileImageUrl}
|
|
54
|
+
alt="pic"
|
|
55
|
+
class="h-14 w-14 border text-lg font-medium"
|
|
56
|
+
/>
|
|
57
|
+
{:else if user?.initials}
|
|
58
|
+
<Avatar class="h-14 w-14 border bg-primary-500 text-lg font-medium text-white"
|
|
59
|
+
>{user.initials}</Avatar
|
|
60
|
+
>
|
|
61
|
+
{:else}
|
|
62
|
+
<Avatar src={logoUrl} alt="logo" class="h-14 w-14 border text-lg font-medium" />
|
|
63
|
+
{/if}
|
|
64
|
+
<div class="flex flex-col">
|
|
65
|
+
<div class="font-medium capitalize">{user.name}</div>
|
|
66
|
+
<div class="flex gap-2">
|
|
67
|
+
<div class="max-w-xs truncate text-sm text-gray-500 capitalize">
|
|
68
|
+
<span class=" font-medium text-black">Title:</span>
|
|
69
|
+
<span title={caseTitle}>
|
|
70
|
+
{caseTitle}
|
|
71
|
+
</span>
|
|
72
|
+
</div>
|
|
73
|
+
<div class="text-sm text-gray-500 capitalize">
|
|
74
|
+
<span class="font-medium text-black">status: </span>
|
|
75
|
+
{caseStatus}
|
|
76
|
+
</div>
|
|
77
|
+
<div class="text-sm" class:hidden={!showAssignedTo}>
|
|
78
|
+
<span>Assigned To :</span> <span class="text-gray-500">{assignedTo}</span>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
<div class="flex gap-2">
|
|
82
|
+
<div class="max-w-xl truncate text-sm text-gray-500 capitalize">
|
|
83
|
+
{caseTypes}
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
{#if showFollowCaseButton}
|
|
87
|
+
<div class="">
|
|
88
|
+
<button
|
|
89
|
+
onclick={() => onToggleFollowCase?.(isFollowingCase ? 'unfollow' : 'follow')}
|
|
90
|
+
class="flex w-fit items-center gap-1 rounded bg-gray-200 px-2 py-0.5 text-xs hover:bg-gray-300"
|
|
91
|
+
>
|
|
92
|
+
<span>{isFollowingCase ? 'Unfollow' : 'Follow'}</span>
|
|
93
|
+
<IconifyIcon icon={isFollowingCase ? 'mdi:eye-off' : 'mdi:eye'} />
|
|
94
|
+
</button>
|
|
95
|
+
</div>
|
|
96
|
+
{/if}
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
{/if}
|
|
101
|
+
{@render trailingWidget?.()}
|
|
102
|
+
{#if showOverflowActionButton}
|
|
103
|
+
<div class="w-10"></div>
|
|
104
|
+
{/if}
|
|
105
|
+
|
|
106
|
+
{#if showOverflowActionButton}
|
|
107
|
+
<div
|
|
108
|
+
class="relative space-y-2"
|
|
109
|
+
use:clickOutsideAction
|
|
110
|
+
onclickoutside={() => (showMenu = false)}
|
|
111
|
+
>
|
|
112
|
+
<button
|
|
113
|
+
aria-label="toggle menu"
|
|
114
|
+
class="grid place-content-center rounded-full p-1 text-gray-600 hover:bg-gray-200"
|
|
115
|
+
onclick={() => (showMenu = !showMenu)}
|
|
116
|
+
>
|
|
117
|
+
<IconifyIcon icon="mdi:dots-vertical" style="font-size: 25px;" />
|
|
118
|
+
</button>
|
|
119
|
+
{#if showMenu}
|
|
120
|
+
<div
|
|
121
|
+
class="absolute right-3 z-10 flex w-44 flex-col divide-y rounded-md bg-white py-1 shadow-md shadow-gray-300"
|
|
122
|
+
transition:slide
|
|
123
|
+
use:clickOutsideAction
|
|
124
|
+
>
|
|
125
|
+
{#if showFollowOverflowAction}
|
|
126
|
+
{#if !isFollowingCase}
|
|
127
|
+
<DropdownItem
|
|
128
|
+
class="flex w-full appearance-none items-center gap-1 whitespace-nowrap list-none"
|
|
129
|
+
onclick={() => {
|
|
130
|
+
onToggleFollowCase?.('follow');
|
|
131
|
+
showMenu = false;
|
|
132
|
+
}}><IconifyIcon icon="mdi:eye" style="font-size: 20px;" /> Follow Case</DropdownItem
|
|
133
|
+
>
|
|
134
|
+
{:else}
|
|
135
|
+
<DropdownItem
|
|
136
|
+
class="flex w-full appearance-none items-center gap-1 whitespace-nowrap list-none"
|
|
137
|
+
onclick={() => {
|
|
138
|
+
onToggleFollowCase?.('unfollow');
|
|
139
|
+
showMenu = false;
|
|
140
|
+
}}
|
|
141
|
+
><IconifyIcon icon="mdi:eye-off" style="font-size: 20px;" /> Unfollow Case</DropdownItem
|
|
142
|
+
>
|
|
143
|
+
{/if}
|
|
144
|
+
{/if}
|
|
145
|
+
{#if overflowActionsList.length > 0}
|
|
146
|
+
{#each overflowActionsList as item}
|
|
147
|
+
<DropdownItem
|
|
148
|
+
class="flex w-full appearance-none items-center gap-1 whitespace-nowrap list-none"
|
|
149
|
+
onclick={() => {
|
|
150
|
+
onOverflowActionClicked?.(item);
|
|
151
|
+
showMenu = false;
|
|
152
|
+
}}
|
|
153
|
+
><IconifyIcon icon={item.icon} style="font-size: 20px;" />
|
|
154
|
+
{item.label}</DropdownItem
|
|
155
|
+
>
|
|
156
|
+
{/each}
|
|
157
|
+
{/if}
|
|
158
|
+
{#if showCloseOverflowAction}
|
|
159
|
+
<DropdownItem
|
|
160
|
+
class="flex w-full appearance-none items-center gap-1 whitespace-nowrap text-red-600 list-none"
|
|
161
|
+
onclick={() => {
|
|
162
|
+
onCloseCase?.();
|
|
163
|
+
showMenu = false;
|
|
164
|
+
}}
|
|
165
|
+
><IconifyIcon icon="tabler:message-2-x" style="font-size: 20px;" /> Close Case</DropdownItem
|
|
166
|
+
>
|
|
167
|
+
{/if}
|
|
168
|
+
</div>
|
|
169
|
+
{/if}
|
|
170
|
+
</div>
|
|
171
|
+
{/if}
|
|
172
|
+
</div>
|