qt-ui-kit 1.0.114 → 1.0.115
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/dist/index.d.mts +27 -18
- package/dist/index.d.ts +27 -18
- package/dist/index.js +127 -156
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +125 -156
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +3 -0
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -2,6 +2,15 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import React__default, { ReactNode, ReactElement } from 'react';
|
|
4
4
|
|
|
5
|
+
declare enum FilterCategory {
|
|
6
|
+
FIRES = "fires",
|
|
7
|
+
INSIGHTS = "insights",
|
|
8
|
+
NEW = "new",
|
|
9
|
+
DONE = "done"
|
|
10
|
+
}
|
|
11
|
+
declare enum MoreFilter {
|
|
12
|
+
MORE = "more"
|
|
13
|
+
}
|
|
5
14
|
declare enum IntegrationService {
|
|
6
15
|
SLACK = "slack",
|
|
7
16
|
GMAIL = "google_mail",
|
|
@@ -75,7 +84,7 @@ interface PreviewBadgeData {
|
|
|
75
84
|
type: BadgeType;
|
|
76
85
|
label?: string;
|
|
77
86
|
}
|
|
78
|
-
type Props$
|
|
87
|
+
type Props$9 = {
|
|
79
88
|
eventID: string;
|
|
80
89
|
onSelected?: (eventID: string) => void;
|
|
81
90
|
selected?: boolean;
|
|
@@ -94,28 +103,28 @@ type Props$a = {
|
|
|
94
103
|
eventBadges?: PreviewBadgeData[];
|
|
95
104
|
onOverride?: (eventID: string, selectedItem: string) => void;
|
|
96
105
|
};
|
|
97
|
-
declare function PreviewCard({ eventID, onSelected, selected, onChecked, checked, service, subjectLine, body, sender, source, date, onClickGoToSource, eventCategory, read, overrideItems, eventBadges, onOverride, }: Props$
|
|
106
|
+
declare function PreviewCard({ eventID, onSelected, selected, onChecked, checked, service, subjectLine, body, sender, source, date, onClickGoToSource, eventCategory, read, overrideItems, eventBadges, onOverride, }: Props$9): react_jsx_runtime.JSX.Element;
|
|
98
107
|
|
|
99
108
|
type NavButtonKey = "queue" | "account" | "logout";
|
|
100
109
|
type NavButtonConfig$1 = {
|
|
101
110
|
active?: boolean;
|
|
102
111
|
onClick?: () => void;
|
|
103
112
|
};
|
|
104
|
-
type Props$
|
|
113
|
+
type Props$8 = {
|
|
105
114
|
buttons?: Partial<Record<NavButtonKey, NavButtonConfig$1>>;
|
|
106
115
|
};
|
|
107
|
-
declare function NavBar({ buttons }: Props$
|
|
116
|
+
declare function NavBar({ buttons }: Props$8): react_jsx_runtime.JSX.Element;
|
|
108
117
|
|
|
109
|
-
type Props$
|
|
118
|
+
type Props$7 = {
|
|
110
119
|
eventType?: EventType;
|
|
111
120
|
eventData?: EventGroup[];
|
|
112
121
|
groupUrgency?: UrgencyLevel;
|
|
113
122
|
groupUrgencyText?: string;
|
|
114
123
|
groupSummary?: string;
|
|
115
124
|
};
|
|
116
|
-
declare function EventCard({ eventType, eventData, groupUrgency, groupUrgencyText, groupSummary, }: Props$
|
|
125
|
+
declare function EventCard({ eventType, eventData, groupUrgency, groupUrgencyText, groupSummary, }: Props$7): react_jsx_runtime.JSX.Element;
|
|
117
126
|
|
|
118
|
-
type Props$
|
|
127
|
+
type Props$6 = {
|
|
119
128
|
subjectLine?: string;
|
|
120
129
|
to?: string;
|
|
121
130
|
date?: string;
|
|
@@ -125,9 +134,9 @@ type Props$7 = {
|
|
|
125
134
|
attachments?: string;
|
|
126
135
|
body?: string;
|
|
127
136
|
};
|
|
128
|
-
declare function EmailBody({ subjectLine, to, date, from, CC, BCC, attachments, body, }: Props$
|
|
137
|
+
declare function EmailBody({ subjectLine, to, date, from, CC, BCC, attachments, body, }: Props$6): react_jsx_runtime.JSX.Element;
|
|
129
138
|
|
|
130
|
-
type Props$
|
|
139
|
+
type Props$5 = {
|
|
131
140
|
messages?: ChatData[];
|
|
132
141
|
};
|
|
133
142
|
type ChatData = {
|
|
@@ -141,9 +150,9 @@ type ChatData = {
|
|
|
141
150
|
images?: string[];
|
|
142
151
|
emojis?: string[];
|
|
143
152
|
};
|
|
144
|
-
declare function ChatBody({ messages }: Props$
|
|
153
|
+
declare function ChatBody({ messages }: Props$5): react_jsx_runtime.JSX.Element;
|
|
145
154
|
|
|
146
|
-
type Props$
|
|
155
|
+
type Props$4 = {
|
|
147
156
|
issueNumber?: string;
|
|
148
157
|
notification?: string;
|
|
149
158
|
project?: string;
|
|
@@ -158,13 +167,13 @@ type Props$5 = {
|
|
|
158
167
|
description?: string;
|
|
159
168
|
comments?: TicketComment[];
|
|
160
169
|
};
|
|
161
|
-
declare function TicketBody({ issueNumber, notification, project, task, dueDate, startDate, assignees, reporter, team, location, related, description, comments, }: Props$
|
|
170
|
+
declare function TicketBody({ issueNumber, notification, project, task, dueDate, startDate, assignees, reporter, team, location, related, description, comments, }: Props$4): react_jsx_runtime.JSX.Element;
|
|
162
171
|
|
|
163
172
|
type SearchResult = {
|
|
164
173
|
label: string;
|
|
165
174
|
count: number;
|
|
166
175
|
};
|
|
167
|
-
type Props$
|
|
176
|
+
type Props$3 = {
|
|
168
177
|
loading?: boolean;
|
|
169
178
|
results?: SearchResult[];
|
|
170
179
|
initialText?: string;
|
|
@@ -172,19 +181,19 @@ type Props$4 = {
|
|
|
172
181
|
/** Optional debounce for onUpdate calls (ms). Defaults to 250ms. */
|
|
173
182
|
debounceMs?: number;
|
|
174
183
|
};
|
|
175
|
-
declare function SearchBar({ loading, results, initialText, onUpdate, debounceMs, }: Props$
|
|
184
|
+
declare function SearchBar({ loading, results, initialText, onUpdate, debounceMs, }: Props$3): react_jsx_runtime.JSX.Element;
|
|
176
185
|
|
|
177
|
-
type FilterButtonKey =
|
|
186
|
+
type FilterButtonKey = FilterCategory | IntegrationService | MoreFilter;
|
|
178
187
|
type NavButtonConfig = {
|
|
179
188
|
active?: boolean;
|
|
180
189
|
onClick?: () => void;
|
|
181
190
|
disabled?: boolean;
|
|
182
191
|
count?: string | number;
|
|
183
192
|
};
|
|
184
|
-
type
|
|
193
|
+
type FilterBarProps = {
|
|
185
194
|
buttons?: Partial<Record<FilterButtonKey, NavButtonConfig>>;
|
|
186
195
|
};
|
|
187
|
-
declare function FilterBar({ buttons }:
|
|
196
|
+
declare function FilterBar({ buttons }: FilterBarProps): react_jsx_runtime.JSX.Element;
|
|
188
197
|
|
|
189
198
|
type IconSize = 16 | 20 | 24 | 36;
|
|
190
199
|
|
|
@@ -339,4 +348,4 @@ type Event = {
|
|
|
339
348
|
|
|
340
349
|
declare const fakeMessages: ChatData[];
|
|
341
350
|
|
|
342
|
-
export { AccountInfoField, AccountInfoSection, AccountIntegrationCard, AccountIntegrationCardItem, type Attachment, BaseIconName, BrandIcon, type CalendarData, ChatBody, type ChatData, ColorVariants, ConfirmationModal, type ConfirmationVariant, EmailBody, type EmailData, type Event, EventCard, type EventData, type EventGroup, EventState, type EventSummaryParts, EventType, type ExternalPerson, FilterBar, type FilterButtonKey, type IconSize, IntegrationService, type MessageData, Modal, NavBar, PreviewCard, SearchBar, type SearchResult, TicketBody, type TicketComment, type TicketData, UrgencyLevel, fakeMessages };
|
|
351
|
+
export { AccountInfoField, AccountInfoSection, AccountIntegrationCard, AccountIntegrationCardItem, type Attachment, BaseIconName, BrandIcon, type CalendarData, ChatBody, type ChatData, ColorVariants, ConfirmationModal, type ConfirmationVariant, EmailBody, type EmailData, type Event, EventCard, type EventData, type EventGroup, EventState, type EventSummaryParts, EventType, type ExternalPerson, FilterBar, type FilterButtonKey, FilterCategory, type IconSize, IntegrationService, type MessageData, Modal, MoreFilter, NavBar, PreviewCard, SearchBar, type SearchResult, TicketBody, type TicketComment, type TicketData, UrgencyLevel, fakeMessages };
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,15 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import React__default, { ReactNode, ReactElement } from 'react';
|
|
4
4
|
|
|
5
|
+
declare enum FilterCategory {
|
|
6
|
+
FIRES = "fires",
|
|
7
|
+
INSIGHTS = "insights",
|
|
8
|
+
NEW = "new",
|
|
9
|
+
DONE = "done"
|
|
10
|
+
}
|
|
11
|
+
declare enum MoreFilter {
|
|
12
|
+
MORE = "more"
|
|
13
|
+
}
|
|
5
14
|
declare enum IntegrationService {
|
|
6
15
|
SLACK = "slack",
|
|
7
16
|
GMAIL = "google_mail",
|
|
@@ -75,7 +84,7 @@ interface PreviewBadgeData {
|
|
|
75
84
|
type: BadgeType;
|
|
76
85
|
label?: string;
|
|
77
86
|
}
|
|
78
|
-
type Props$
|
|
87
|
+
type Props$9 = {
|
|
79
88
|
eventID: string;
|
|
80
89
|
onSelected?: (eventID: string) => void;
|
|
81
90
|
selected?: boolean;
|
|
@@ -94,28 +103,28 @@ type Props$a = {
|
|
|
94
103
|
eventBadges?: PreviewBadgeData[];
|
|
95
104
|
onOverride?: (eventID: string, selectedItem: string) => void;
|
|
96
105
|
};
|
|
97
|
-
declare function PreviewCard({ eventID, onSelected, selected, onChecked, checked, service, subjectLine, body, sender, source, date, onClickGoToSource, eventCategory, read, overrideItems, eventBadges, onOverride, }: Props$
|
|
106
|
+
declare function PreviewCard({ eventID, onSelected, selected, onChecked, checked, service, subjectLine, body, sender, source, date, onClickGoToSource, eventCategory, read, overrideItems, eventBadges, onOverride, }: Props$9): react_jsx_runtime.JSX.Element;
|
|
98
107
|
|
|
99
108
|
type NavButtonKey = "queue" | "account" | "logout";
|
|
100
109
|
type NavButtonConfig$1 = {
|
|
101
110
|
active?: boolean;
|
|
102
111
|
onClick?: () => void;
|
|
103
112
|
};
|
|
104
|
-
type Props$
|
|
113
|
+
type Props$8 = {
|
|
105
114
|
buttons?: Partial<Record<NavButtonKey, NavButtonConfig$1>>;
|
|
106
115
|
};
|
|
107
|
-
declare function NavBar({ buttons }: Props$
|
|
116
|
+
declare function NavBar({ buttons }: Props$8): react_jsx_runtime.JSX.Element;
|
|
108
117
|
|
|
109
|
-
type Props$
|
|
118
|
+
type Props$7 = {
|
|
110
119
|
eventType?: EventType;
|
|
111
120
|
eventData?: EventGroup[];
|
|
112
121
|
groupUrgency?: UrgencyLevel;
|
|
113
122
|
groupUrgencyText?: string;
|
|
114
123
|
groupSummary?: string;
|
|
115
124
|
};
|
|
116
|
-
declare function EventCard({ eventType, eventData, groupUrgency, groupUrgencyText, groupSummary, }: Props$
|
|
125
|
+
declare function EventCard({ eventType, eventData, groupUrgency, groupUrgencyText, groupSummary, }: Props$7): react_jsx_runtime.JSX.Element;
|
|
117
126
|
|
|
118
|
-
type Props$
|
|
127
|
+
type Props$6 = {
|
|
119
128
|
subjectLine?: string;
|
|
120
129
|
to?: string;
|
|
121
130
|
date?: string;
|
|
@@ -125,9 +134,9 @@ type Props$7 = {
|
|
|
125
134
|
attachments?: string;
|
|
126
135
|
body?: string;
|
|
127
136
|
};
|
|
128
|
-
declare function EmailBody({ subjectLine, to, date, from, CC, BCC, attachments, body, }: Props$
|
|
137
|
+
declare function EmailBody({ subjectLine, to, date, from, CC, BCC, attachments, body, }: Props$6): react_jsx_runtime.JSX.Element;
|
|
129
138
|
|
|
130
|
-
type Props$
|
|
139
|
+
type Props$5 = {
|
|
131
140
|
messages?: ChatData[];
|
|
132
141
|
};
|
|
133
142
|
type ChatData = {
|
|
@@ -141,9 +150,9 @@ type ChatData = {
|
|
|
141
150
|
images?: string[];
|
|
142
151
|
emojis?: string[];
|
|
143
152
|
};
|
|
144
|
-
declare function ChatBody({ messages }: Props$
|
|
153
|
+
declare function ChatBody({ messages }: Props$5): react_jsx_runtime.JSX.Element;
|
|
145
154
|
|
|
146
|
-
type Props$
|
|
155
|
+
type Props$4 = {
|
|
147
156
|
issueNumber?: string;
|
|
148
157
|
notification?: string;
|
|
149
158
|
project?: string;
|
|
@@ -158,13 +167,13 @@ type Props$5 = {
|
|
|
158
167
|
description?: string;
|
|
159
168
|
comments?: TicketComment[];
|
|
160
169
|
};
|
|
161
|
-
declare function TicketBody({ issueNumber, notification, project, task, dueDate, startDate, assignees, reporter, team, location, related, description, comments, }: Props$
|
|
170
|
+
declare function TicketBody({ issueNumber, notification, project, task, dueDate, startDate, assignees, reporter, team, location, related, description, comments, }: Props$4): react_jsx_runtime.JSX.Element;
|
|
162
171
|
|
|
163
172
|
type SearchResult = {
|
|
164
173
|
label: string;
|
|
165
174
|
count: number;
|
|
166
175
|
};
|
|
167
|
-
type Props$
|
|
176
|
+
type Props$3 = {
|
|
168
177
|
loading?: boolean;
|
|
169
178
|
results?: SearchResult[];
|
|
170
179
|
initialText?: string;
|
|
@@ -172,19 +181,19 @@ type Props$4 = {
|
|
|
172
181
|
/** Optional debounce for onUpdate calls (ms). Defaults to 250ms. */
|
|
173
182
|
debounceMs?: number;
|
|
174
183
|
};
|
|
175
|
-
declare function SearchBar({ loading, results, initialText, onUpdate, debounceMs, }: Props$
|
|
184
|
+
declare function SearchBar({ loading, results, initialText, onUpdate, debounceMs, }: Props$3): react_jsx_runtime.JSX.Element;
|
|
176
185
|
|
|
177
|
-
type FilterButtonKey =
|
|
186
|
+
type FilterButtonKey = FilterCategory | IntegrationService | MoreFilter;
|
|
178
187
|
type NavButtonConfig = {
|
|
179
188
|
active?: boolean;
|
|
180
189
|
onClick?: () => void;
|
|
181
190
|
disabled?: boolean;
|
|
182
191
|
count?: string | number;
|
|
183
192
|
};
|
|
184
|
-
type
|
|
193
|
+
type FilterBarProps = {
|
|
185
194
|
buttons?: Partial<Record<FilterButtonKey, NavButtonConfig>>;
|
|
186
195
|
};
|
|
187
|
-
declare function FilterBar({ buttons }:
|
|
196
|
+
declare function FilterBar({ buttons }: FilterBarProps): react_jsx_runtime.JSX.Element;
|
|
188
197
|
|
|
189
198
|
type IconSize = 16 | 20 | 24 | 36;
|
|
190
199
|
|
|
@@ -339,4 +348,4 @@ type Event = {
|
|
|
339
348
|
|
|
340
349
|
declare const fakeMessages: ChatData[];
|
|
341
350
|
|
|
342
|
-
export { AccountInfoField, AccountInfoSection, AccountIntegrationCard, AccountIntegrationCardItem, type Attachment, BaseIconName, BrandIcon, type CalendarData, ChatBody, type ChatData, ColorVariants, ConfirmationModal, type ConfirmationVariant, EmailBody, type EmailData, type Event, EventCard, type EventData, type EventGroup, EventState, type EventSummaryParts, EventType, type ExternalPerson, FilterBar, type FilterButtonKey, type IconSize, IntegrationService, type MessageData, Modal, NavBar, PreviewCard, SearchBar, type SearchResult, TicketBody, type TicketComment, type TicketData, UrgencyLevel, fakeMessages };
|
|
351
|
+
export { AccountInfoField, AccountInfoSection, AccountIntegrationCard, AccountIntegrationCardItem, type Attachment, BaseIconName, BrandIcon, type CalendarData, ChatBody, type ChatData, ColorVariants, ConfirmationModal, type ConfirmationVariant, EmailBody, type EmailData, type Event, EventCard, type EventData, type EventGroup, EventState, type EventSummaryParts, EventType, type ExternalPerson, FilterBar, type FilterButtonKey, FilterCategory, type IconSize, IntegrationService, type MessageData, Modal, MoreFilter, NavBar, PreviewCard, SearchBar, type SearchResult, TicketBody, type TicketComment, type TicketData, UrgencyLevel, fakeMessages };
|
package/dist/index.js
CHANGED
|
@@ -11191,8 +11191,10 @@ __export(index_exports, {
|
|
|
11191
11191
|
EventState: () => EventState,
|
|
11192
11192
|
EventType: () => EventType,
|
|
11193
11193
|
FilterBar: () => FilterBar,
|
|
11194
|
+
FilterCategory: () => FilterCategory,
|
|
11194
11195
|
IntegrationService: () => IntegrationService,
|
|
11195
11196
|
Modal: () => Modal,
|
|
11197
|
+
MoreFilter: () => MoreFilter,
|
|
11196
11198
|
NavBar: () => NavBar,
|
|
11197
11199
|
PreviewCard: () => PreviewCard,
|
|
11198
11200
|
SearchBar: () => SearchBar,
|
|
@@ -11206,17 +11208,28 @@ module.exports = __toCommonJS(index_exports);
|
|
|
11206
11208
|
var import_react2 = require("react");
|
|
11207
11209
|
|
|
11208
11210
|
// src/types/global.ts
|
|
11209
|
-
var
|
|
11210
|
-
|
|
11211
|
-
|
|
11212
|
-
|
|
11213
|
-
|
|
11214
|
-
|
|
11215
|
-
|
|
11216
|
-
|
|
11217
|
-
|
|
11218
|
-
|
|
11219
|
-
|
|
11211
|
+
var FilterCategory = /* @__PURE__ */ ((FilterCategory2) => {
|
|
11212
|
+
FilterCategory2["FIRES"] = "fires";
|
|
11213
|
+
FilterCategory2["INSIGHTS"] = "insights";
|
|
11214
|
+
FilterCategory2["NEW"] = "new";
|
|
11215
|
+
FilterCategory2["DONE"] = "done";
|
|
11216
|
+
return FilterCategory2;
|
|
11217
|
+
})(FilterCategory || {});
|
|
11218
|
+
var MoreFilter = /* @__PURE__ */ ((MoreFilter3) => {
|
|
11219
|
+
MoreFilter3["MORE"] = "more";
|
|
11220
|
+
return MoreFilter3;
|
|
11221
|
+
})(MoreFilter || {});
|
|
11222
|
+
var IntegrationService = /* @__PURE__ */ ((IntegrationService4) => {
|
|
11223
|
+
IntegrationService4["SLACK"] = "slack";
|
|
11224
|
+
IntegrationService4["GMAIL"] = "google_mail";
|
|
11225
|
+
IntegrationService4["GCAL"] = "google_calendar";
|
|
11226
|
+
IntegrationService4["MSTEAMS"] = "microsoft_teams";
|
|
11227
|
+
IntegrationService4["MSMAIL"] = "microsoft_mail";
|
|
11228
|
+
IntegrationService4["MSCAL"] = "microsoft_calendar";
|
|
11229
|
+
IntegrationService4["AJIRA"] = "atlassian_jira";
|
|
11230
|
+
IntegrationService4["CLKUP"] = "clickup";
|
|
11231
|
+
IntegrationService4["ASANA"] = "asana";
|
|
11232
|
+
return IntegrationService4;
|
|
11220
11233
|
})(IntegrationService || {});
|
|
11221
11234
|
var BaseIconName = /* @__PURE__ */ ((BaseIconName2) => {
|
|
11222
11235
|
BaseIconName2["SEARCH"] = "search";
|
|
@@ -17304,160 +17317,116 @@ function FilterNavButton({ icon, label, active, onClick, totalItems }) {
|
|
|
17304
17317
|
|
|
17305
17318
|
// src/components/organisms/filter_bar/filter_bar.tsx
|
|
17306
17319
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
17307
|
-
|
|
17308
|
-
|
|
17309
|
-
|
|
17310
|
-
|
|
17320
|
+
var CATEGORY_FILTERS = [
|
|
17321
|
+
{
|
|
17322
|
+
filter: "fires" /* FIRES */,
|
|
17323
|
+
label: "Fires",
|
|
17324
|
+
icon: (active) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(FireIcon, { variant: active ? void 0 : "none" /* OUTLINED */ })
|
|
17325
|
+
},
|
|
17326
|
+
{
|
|
17327
|
+
filter: "insights" /* INSIGHTS */,
|
|
17328
|
+
label: "Q Insights",
|
|
17329
|
+
icon: (active) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(InsightsIcon, { variant: active ? void 0 : "none" /* OUTLINED */ })
|
|
17330
|
+
},
|
|
17331
|
+
{
|
|
17332
|
+
filter: "new" /* NEW */,
|
|
17333
|
+
label: "Unread",
|
|
17334
|
+
icon: (active) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Mail, { size: 36, fillColor: active ? "#BFF4F6" : void 0 })
|
|
17335
|
+
},
|
|
17336
|
+
{
|
|
17337
|
+
filter: "done" /* DONE */,
|
|
17338
|
+
label: "Done",
|
|
17339
|
+
icon: (active) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17340
|
+
CheckBox,
|
|
17311
17341
|
{
|
|
17312
|
-
|
|
17313
|
-
|
|
17314
|
-
|
|
17315
|
-
variant: buttons?.fires?.active ? void 0 : "none" /* OUTLINED */
|
|
17316
|
-
}
|
|
17317
|
-
),
|
|
17318
|
-
label: "Fires",
|
|
17319
|
-
onClick: buttons?.fires?.onClick,
|
|
17320
|
-
totalItems: buttons?.fires?.count
|
|
17342
|
+
size: 36,
|
|
17343
|
+
color: "#000000",
|
|
17344
|
+
fillColor: active ? "#E8FE99" : void 0
|
|
17321
17345
|
}
|
|
17322
|
-
)
|
|
17323
|
-
|
|
17346
|
+
)
|
|
17347
|
+
}
|
|
17348
|
+
];
|
|
17349
|
+
var INTEGRATION_FILTERS = [
|
|
17350
|
+
{ services: ["slack" /* SLACK */], label: "Slack", icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SlackIcon, {}) },
|
|
17351
|
+
{
|
|
17352
|
+
services: ["google_mail" /* GMAIL */],
|
|
17353
|
+
label: "Gmail",
|
|
17354
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(GoogleMailIcon, {})
|
|
17355
|
+
},
|
|
17356
|
+
{
|
|
17357
|
+
services: ["google_calendar" /* GCAL */],
|
|
17358
|
+
label: "Gcal",
|
|
17359
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(GoogleCalendarIcon, {})
|
|
17360
|
+
},
|
|
17361
|
+
{
|
|
17362
|
+
services: ["atlassian_jira" /* AJIRA */],
|
|
17363
|
+
label: "Jira",
|
|
17364
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(AtlassianIcon, {})
|
|
17365
|
+
},
|
|
17366
|
+
{
|
|
17367
|
+
services: ["microsoft_teams" /* MSTEAMS */],
|
|
17368
|
+
label: "Teams",
|
|
17369
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MicrosoftTeamsIcon, {})
|
|
17370
|
+
},
|
|
17371
|
+
{
|
|
17372
|
+
services: ["microsoft_mail" /* MSMAIL */, "microsoft_calendar" /* MSCAL */],
|
|
17373
|
+
label: "Outlook",
|
|
17374
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MicrosoftOutlookMailIcon, {})
|
|
17375
|
+
},
|
|
17376
|
+
{
|
|
17377
|
+
services: ["clickup" /* CLKUP */],
|
|
17378
|
+
label: "ClickUp",
|
|
17379
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ClickupIcon, {})
|
|
17380
|
+
},
|
|
17381
|
+
{ services: ["asana" /* ASANA */], label: "Asana", icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(AsanaIcon, {}) }
|
|
17382
|
+
];
|
|
17383
|
+
function FilterBar({ buttons }) {
|
|
17384
|
+
const renderCategoryButton = ({ filter, label, icon }) => {
|
|
17385
|
+
const config = buttons?.[filter];
|
|
17386
|
+
if (config?.disabled) return null;
|
|
17387
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17324
17388
|
FilterNavButton,
|
|
17325
17389
|
{
|
|
17326
|
-
icon:
|
|
17327
|
-
|
|
17328
|
-
|
|
17329
|
-
|
|
17330
|
-
|
|
17331
|
-
|
|
17332
|
-
|
|
17333
|
-
|
|
17334
|
-
|
|
17335
|
-
|
|
17336
|
-
|
|
17337
|
-
|
|
17390
|
+
icon: icon(config?.active),
|
|
17391
|
+
label,
|
|
17392
|
+
onClick: config?.onClick,
|
|
17393
|
+
totalItems: config?.count
|
|
17394
|
+
},
|
|
17395
|
+
filter
|
|
17396
|
+
);
|
|
17397
|
+
};
|
|
17398
|
+
const renderIntegrationButton = ({
|
|
17399
|
+
services,
|
|
17400
|
+
label,
|
|
17401
|
+
icon
|
|
17402
|
+
}) => {
|
|
17403
|
+
const configs = services.map((service) => buttons?.[service]);
|
|
17404
|
+
const allDisabled = configs.every((c) => c?.disabled);
|
|
17405
|
+
if (allDisabled) return null;
|
|
17406
|
+
const anyActive = configs.some((c) => c?.active);
|
|
17407
|
+
const onClick = configs.find((c) => c?.onClick)?.onClick;
|
|
17408
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17338
17409
|
FilterNavButton,
|
|
17339
17410
|
{
|
|
17340
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17341
|
-
|
|
17342
|
-
|
|
17343
|
-
|
|
17344
|
-
|
|
17345
|
-
|
|
17346
|
-
|
|
17347
|
-
|
|
17348
|
-
|
|
17349
|
-
|
|
17350
|
-
|
|
17351
|
-
),
|
|
17352
|
-
|
|
17411
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: anyActive ? "" : "grayscale", children: icon }),
|
|
17412
|
+
label,
|
|
17413
|
+
onClick
|
|
17414
|
+
},
|
|
17415
|
+
services.join("-")
|
|
17416
|
+
);
|
|
17417
|
+
};
|
|
17418
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex h-full w-[54px] min-h-0 flex-col items-center gap-4", children: [
|
|
17419
|
+
CATEGORY_FILTERS.map(renderCategoryButton),
|
|
17420
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("hr", { className: "w-full border-0.5 text-qtneutral-700" }),
|
|
17421
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex-1 w-full min-h-0 min-w-[58px] overflow-y-auto flex flex-col items-center gap-4 overscroll-contain", children: INTEGRATION_FILTERS.map(renderIntegrationButton) }),
|
|
17422
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("hr", { className: "w-full border-0.5 text-qtneutral-700" }),
|
|
17423
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17353
17424
|
FilterNavButton,
|
|
17354
17425
|
{
|
|
17355
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17356
|
-
|
|
17357
|
-
{
|
|
17358
|
-
size: 36,
|
|
17359
|
-
color: "#000000",
|
|
17360
|
-
fillColor: buttons?.done?.active ? "#E8FE99" : void 0
|
|
17361
|
-
}
|
|
17362
|
-
),
|
|
17363
|
-
label: "Done",
|
|
17364
|
-
onClick: buttons?.done?.onClick,
|
|
17365
|
-
totalItems: buttons?.done?.count
|
|
17426
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(PlusLarge, { size: 36 }),
|
|
17427
|
+
onClick: buttons?.more?.onClick
|
|
17366
17428
|
}
|
|
17367
|
-
)
|
|
17368
|
-
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("hr", { className: "w-full border-0.5 text-qtneutral-700" }),
|
|
17369
|
-
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex-1 min-h-0 w-full overflow-y-auto flex flex-col gap-4 overscroll-contain items-center min-w-[58px]", children: [
|
|
17370
|
-
!buttons?.slack?.disabled && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17371
|
-
FilterNavButton,
|
|
17372
|
-
{
|
|
17373
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: buttons?.slack?.active ? "" : "grayscale", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SlackIcon, {}) }),
|
|
17374
|
-
label: "slack",
|
|
17375
|
-
onClick: buttons?.slack?.onClick
|
|
17376
|
-
}
|
|
17377
|
-
),
|
|
17378
|
-
!buttons?.google_mail?.disabled && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17379
|
-
FilterNavButton,
|
|
17380
|
-
{
|
|
17381
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: buttons?.google_mail?.active ? "" : "grayscale", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(GoogleMailIcon, {}) }),
|
|
17382
|
-
label: "Gmail",
|
|
17383
|
-
onClick: buttons?.google_mail?.onClick
|
|
17384
|
-
}
|
|
17385
|
-
),
|
|
17386
|
-
!buttons?.google_calendar?.disabled && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17387
|
-
FilterNavButton,
|
|
17388
|
-
{
|
|
17389
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17390
|
-
"div",
|
|
17391
|
-
{
|
|
17392
|
-
className: buttons?.google_calendar?.active ? "" : "grayscale",
|
|
17393
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(GoogleCalendarIcon, {})
|
|
17394
|
-
}
|
|
17395
|
-
),
|
|
17396
|
-
label: "Gcal",
|
|
17397
|
-
onClick: buttons?.google_calendar?.onClick
|
|
17398
|
-
}
|
|
17399
|
-
),
|
|
17400
|
-
!buttons?.atlassian_jira?.disabled && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17401
|
-
FilterNavButton,
|
|
17402
|
-
{
|
|
17403
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17404
|
-
"div",
|
|
17405
|
-
{
|
|
17406
|
-
className: buttons?.atlassian_jira?.active ? "" : "grayscale",
|
|
17407
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(AtlassianIcon, {})
|
|
17408
|
-
}
|
|
17409
|
-
),
|
|
17410
|
-
label: "Jira",
|
|
17411
|
-
onClick: buttons?.atlassian_jira?.onClick
|
|
17412
|
-
}
|
|
17413
|
-
),
|
|
17414
|
-
!buttons?.microsoft_teams?.disabled && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17415
|
-
FilterNavButton,
|
|
17416
|
-
{
|
|
17417
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17418
|
-
"div",
|
|
17419
|
-
{
|
|
17420
|
-
className: buttons?.microsoft_teams?.active ? "" : "grayscale",
|
|
17421
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MicrosoftTeamsIcon, {})
|
|
17422
|
-
}
|
|
17423
|
-
),
|
|
17424
|
-
label: "Teams",
|
|
17425
|
-
onClick: buttons?.microsoft_teams?.onClick
|
|
17426
|
-
}
|
|
17427
|
-
),
|
|
17428
|
-
!(buttons?.microsoft_mail?.disabled && buttons?.microsoft_calendar?.disabled) && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17429
|
-
FilterNavButton,
|
|
17430
|
-
{
|
|
17431
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17432
|
-
"div",
|
|
17433
|
-
{
|
|
17434
|
-
className: buttons?.microsoft_calendar?.active || buttons?.microsoft_mail?.active ? "" : "grayscale",
|
|
17435
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MicrosoftOutlookMailIcon, {})
|
|
17436
|
-
}
|
|
17437
|
-
),
|
|
17438
|
-
label: "Outlook",
|
|
17439
|
-
onClick: buttons?.microsoft_mail?.onClick || buttons?.microsoft_calendar?.onClick
|
|
17440
|
-
}
|
|
17441
|
-
),
|
|
17442
|
-
!buttons?.clickup?.disabled && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17443
|
-
FilterNavButton,
|
|
17444
|
-
{
|
|
17445
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: buttons?.clickup?.active ? "" : "grayscale", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ClickupIcon, {}) }),
|
|
17446
|
-
label: "ClickUp",
|
|
17447
|
-
onClick: buttons?.clickup?.onClick
|
|
17448
|
-
}
|
|
17449
|
-
),
|
|
17450
|
-
!buttons?.asana?.disabled && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
17451
|
-
FilterNavButton,
|
|
17452
|
-
{
|
|
17453
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: buttons?.asana?.active ? "" : "grayscale", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(AsanaIcon, {}) }),
|
|
17454
|
-
label: "Asana",
|
|
17455
|
-
onClick: buttons?.asana?.onClick
|
|
17456
|
-
}
|
|
17457
|
-
)
|
|
17458
|
-
] }),
|
|
17459
|
-
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("hr", { className: "w-full border-0.5 text-qtneutral-700" }),
|
|
17460
|
-
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { onClick: buttons?.more?.onClick, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(FilterNavButton, { icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(PlusLarge, { size: 36 }) }) })
|
|
17429
|
+
)
|
|
17461
17430
|
] });
|
|
17462
17431
|
}
|
|
17463
17432
|
|
|
@@ -17817,8 +17786,10 @@ This is a *markdown* **example**.
|
|
|
17817
17786
|
EventState,
|
|
17818
17787
|
EventType,
|
|
17819
17788
|
FilterBar,
|
|
17789
|
+
FilterCategory,
|
|
17820
17790
|
IntegrationService,
|
|
17821
17791
|
Modal,
|
|
17792
|
+
MoreFilter,
|
|
17822
17793
|
NavBar,
|
|
17823
17794
|
PreviewCard,
|
|
17824
17795
|
SearchBar,
|