@activecollab/components 2.0.344 → 2.0.345
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/cjs/components/Icons/collection/GitRepositoryConnect.js +95 -0
- package/dist/cjs/components/Icons/collection/GitRepositoryConnect.js.map +1 -0
- package/dist/cjs/components/Icons/collection/index.js +7 -0
- package/dist/cjs/components/Icons/collection/index.js.map +1 -1
- package/dist/cjs/presentation/shared/headers.js +155 -103
- package/dist/cjs/presentation/shared/headers.js.map +1 -1
- package/dist/esm/components/Icons/collection/GitRepositoryConnect.d.ts +17 -0
- package/dist/esm/components/Icons/collection/GitRepositoryConnect.d.ts.map +1 -0
- package/dist/esm/components/Icons/collection/GitRepositoryConnect.js +78 -0
- package/dist/esm/components/Icons/collection/GitRepositoryConnect.js.map +1 -0
- package/dist/esm/components/Icons/collection/index.d.ts +1 -0
- package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
- package/dist/esm/components/Icons/collection/index.js +1 -0
- package/dist/esm/components/Icons/collection/index.js.map +1 -1
- package/dist/esm/presentation/shared/headers.d.ts.map +1 -1
- package/dist/esm/presentation/shared/headers.js +147 -90
- package/dist/esm/presentation/shared/headers.js.map +1 -1
- package/dist/index.js +302 -224
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.TabHeader = exports.ProjectPageHeader = exports.PageHeader = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _styledComponents =
|
|
8
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
9
|
var _ConnectRepositoryDialog = require("./ConnectRepositoryDialog");
|
|
10
10
|
var _RoundAvatar = require("./RoundAvatar");
|
|
11
11
|
var _tokens = require("./tokens");
|
|
@@ -22,8 +22,8 @@ var _Menu = require("../../components/Menu");
|
|
|
22
22
|
var _Nav = require("../../components/Nav");
|
|
23
23
|
var _ProgressPie = require("../../components/ProgressPie");
|
|
24
24
|
var _Tooltip = require("../../components/Tooltip");
|
|
25
|
+
var _Transitions = require("../../components/Transitions");
|
|
25
26
|
var _Typography = require("../../components/Typography");
|
|
26
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
27
27
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
28
28
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
29
29
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -86,79 +86,52 @@ var repositoryMenuLabel = function repositoryMenuLabel(repo) {
|
|
|
86
86
|
return connection ? "".concat(repo.name, " (").concat(connection.name, ", ").concat((0, _ConnectRepositoryDialog.serviceLabel)(connection.service), ")") : repo.name;
|
|
87
87
|
};
|
|
88
88
|
|
|
89
|
+
/** Width of the project "..." menu (matches the DS "normal" menu mode). */
|
|
90
|
+
var PROJECT_MENU_WIDTH = 260;
|
|
91
|
+
|
|
92
|
+
/* The menu drills in place (index → Repositories), so the paper must clip the
|
|
93
|
+
sliding panels and give them a positioning context. */
|
|
94
|
+
var ProjectMenuSliderStyle = (0, _styledComponents.createGlobalStyle)([".c-simple-menu__paper.project-options-menu{overflow:hidden;position:relative;}"]);
|
|
89
95
|
/**
|
|
90
|
-
* The "
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
* in
|
|
96
|
+
* The project "..." options menu. When the `source` module is loaded it gains
|
|
97
|
+
* a **Repositories** item that, instead of flying out to the side, **drills in
|
|
98
|
+
* within the same menu** (the pattern used across the app — see `Filter`): the
|
|
99
|
+
* index slides out to the left and the Repositories view (a back-arrow header,
|
|
100
|
+
* the connected repositories sorted by name, and a **Connect Repository**
|
|
101
|
+
* action) slides in. Connecting adds a repository to the list; clicking one
|
|
102
|
+
* would, in production, open it in a new tab (surfaced here via a dialog).
|
|
96
103
|
*/
|
|
97
|
-
var
|
|
98
|
-
var
|
|
99
|
-
|
|
100
|
-
onOpenRepository = _ref2.onOpenRepository;
|
|
104
|
+
var ProjectOptionsMenu = function ProjectOptionsMenu(_ref2) {
|
|
105
|
+
var _ref2$sourceModuleLoa = _ref2.sourceModuleLoaded,
|
|
106
|
+
sourceModuleLoaded = _ref2$sourceModuleLoa === void 0 ? false : _ref2$sourceModuleLoa;
|
|
101
107
|
var _useState = (0, _react.useState)(false),
|
|
102
108
|
_useState2 = _slicedToArray(_useState, 2),
|
|
103
109
|
open = _useState2[0],
|
|
104
110
|
setOpen = _useState2[1];
|
|
105
|
-
|
|
106
|
-
open: open,
|
|
107
|
-
onOpen: function onOpen() {
|
|
108
|
-
return setOpen(true);
|
|
109
|
-
},
|
|
110
|
-
onClose: function onClose() {
|
|
111
|
-
return setOpen(false);
|
|
112
|
-
},
|
|
113
|
-
position: "right-start",
|
|
114
|
-
mode: "wider",
|
|
115
|
-
target: /*#__PURE__*/_react.default.createElement(_List.ListItem, {
|
|
116
|
-
className: "toggle-item submenu-item"
|
|
117
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
118
|
-
className: "opt-left"
|
|
119
|
-
}, /*#__PURE__*/_react.default.createElement(_Icons.GitRepositoryIcon, null), "Repositories"), /*#__PURE__*/_react.default.createElement(_Icons.CaretRightIcon, {
|
|
120
|
-
className: "repo-caret",
|
|
121
|
-
width: 16,
|
|
122
|
-
height: 16
|
|
123
|
-
}))
|
|
124
|
-
}, /*#__PURE__*/_react.default.createElement(StyledProjectMenu, null, /*#__PURE__*/_react.default.createElement(_List.List, {
|
|
125
|
-
style: {
|
|
126
|
-
padding: "8px 0"
|
|
127
|
-
},
|
|
128
|
-
tabIndex: -1
|
|
129
|
-
}, repositories.map(function (repo) {
|
|
130
|
-
return /*#__PURE__*/_react.default.createElement(_List.ListItem, {
|
|
131
|
-
key: repo.id,
|
|
132
|
-
className: "repo-row",
|
|
133
|
-
onClick: function onClick() {
|
|
134
|
-
return onOpenRepository(repo);
|
|
135
|
-
}
|
|
136
|
-
}, /*#__PURE__*/_react.default.createElement(_Icons.GitRepositoryIcon, null), /*#__PURE__*/_react.default.createElement("span", {
|
|
137
|
-
className: "repo-name"
|
|
138
|
-
}, repositoryMenuLabel(repo)));
|
|
139
|
-
}), repositories.length > 0 ? /*#__PURE__*/_react.default.createElement(_List.ListSeparator, null) : null, /*#__PURE__*/_react.default.createElement(_List.ListItem, {
|
|
140
|
-
onClick: onConnect
|
|
141
|
-
}, /*#__PURE__*/_react.default.createElement(_Icons.AddCrossIcon, null), "Connect Repository"))));
|
|
142
|
-
};
|
|
143
|
-
var ProjectOptionsMenu = function ProjectOptionsMenu(_ref3) {
|
|
144
|
-
var _ref3$sourceModuleLoa = _ref3.sourceModuleLoaded,
|
|
145
|
-
sourceModuleLoaded = _ref3$sourceModuleLoa === void 0 ? false : _ref3$sourceModuleLoa;
|
|
146
|
-
var _useState3 = (0, _react.useState)(false),
|
|
111
|
+
var _useState3 = (0, _react.useState)("index"),
|
|
147
112
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
var _useState5 = (0, _react.useState)(
|
|
113
|
+
view = _useState4[0],
|
|
114
|
+
setView = _useState4[1];
|
|
115
|
+
var _useState5 = (0, _react.useState)(true),
|
|
151
116
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
var _useState7 = (0, _react.useState)(
|
|
117
|
+
isLeft = _useState6[0],
|
|
118
|
+
setIsLeft = _useState6[1];
|
|
119
|
+
var _useState7 = (0, _react.useState)(0),
|
|
155
120
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
var _useState9 = (0, _react.useState)(
|
|
121
|
+
height = _useState8[0],
|
|
122
|
+
setHeight = _useState8[1];
|
|
123
|
+
var _useState9 = (0, _react.useState)([]),
|
|
159
124
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
160
|
-
|
|
161
|
-
|
|
125
|
+
connectedRepos = _useState0[0],
|
|
126
|
+
setConnectedRepos = _useState0[1];
|
|
127
|
+
var _useState1 = (0, _react.useState)(false),
|
|
128
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
129
|
+
connectOpen = _useState10[0],
|
|
130
|
+
setConnectOpen = _useState10[1];
|
|
131
|
+
var _useState11 = (0, _react.useState)(false),
|
|
132
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
133
|
+
infoOpen = _useState12[0],
|
|
134
|
+
setInfoOpen = _useState12[1];
|
|
162
135
|
|
|
163
136
|
// Repositories still available to connect (not already on the project).
|
|
164
137
|
var connectableRepos = _ConnectRepositoryDialog.CONNECTABLE_REPOSITORIES.filter(function (r) {
|
|
@@ -171,6 +144,27 @@ var ProjectOptionsMenu = function ProjectOptionsMenu(_ref3) {
|
|
|
171
144
|
var sortedRepos = [...connectedRepos].sort(function (a, b) {
|
|
172
145
|
return a.name.localeCompare(b.name);
|
|
173
146
|
});
|
|
147
|
+
|
|
148
|
+
// Each view measures itself as it mounts so the paper can animate its height.
|
|
149
|
+
var measure = (0, _react.useCallback)(function (node) {
|
|
150
|
+
if (node) {
|
|
151
|
+
setHeight(node.offsetHeight);
|
|
152
|
+
}
|
|
153
|
+
}, []);
|
|
154
|
+
var goToRepositories = function goToRepositories() {
|
|
155
|
+
setView("repositories");
|
|
156
|
+
setIsLeft(true);
|
|
157
|
+
};
|
|
158
|
+
var backToIndex = function backToIndex() {
|
|
159
|
+
setView("index");
|
|
160
|
+
setIsLeft(false);
|
|
161
|
+
};
|
|
162
|
+
var handleClose = function handleClose() {
|
|
163
|
+
setOpen(false);
|
|
164
|
+
// Reset to the index so the next open starts at the top level.
|
|
165
|
+
setView("index");
|
|
166
|
+
setIsLeft(true);
|
|
167
|
+
};
|
|
174
168
|
var handleConnected = function handleConnected(repo) {
|
|
175
169
|
setConnectedRepos(function (prev) {
|
|
176
170
|
return prev.some(function (r) {
|
|
@@ -179,31 +173,17 @@ var ProjectOptionsMenu = function ProjectOptionsMenu(_ref3) {
|
|
|
179
173
|
});
|
|
180
174
|
};
|
|
181
175
|
var handleConnect = function handleConnect() {
|
|
182
|
-
|
|
176
|
+
handleClose();
|
|
183
177
|
setConnectOpen(true);
|
|
184
178
|
};
|
|
185
179
|
|
|
186
180
|
// In production this closes the menu and opens the repository in a new tab;
|
|
187
181
|
// in the mock we surface that behaviour in a small dialog instead.
|
|
188
182
|
var handleOpenRepository = function handleOpenRepository() {
|
|
189
|
-
|
|
183
|
+
handleClose();
|
|
190
184
|
setInfoOpen(true);
|
|
191
185
|
};
|
|
192
|
-
|
|
193
|
-
open: open,
|
|
194
|
-
onOpen: function onOpen() {
|
|
195
|
-
return setOpen(true);
|
|
196
|
-
},
|
|
197
|
-
onClose: function onClose() {
|
|
198
|
-
return setOpen(false);
|
|
199
|
-
},
|
|
200
|
-
position: "bottom-end",
|
|
201
|
-
target: /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
|
|
202
|
-
type: "button",
|
|
203
|
-
variant: "text gray",
|
|
204
|
-
active: open
|
|
205
|
-
}, /*#__PURE__*/_react.default.createElement(_Icons.TreeDotsIcon, null))
|
|
206
|
-
}, /*#__PURE__*/_react.default.createElement(StyledProjectMenu, null, /*#__PURE__*/_react.default.createElement(_List.List, {
|
|
186
|
+
var indexView = /*#__PURE__*/_react.default.createElement(StyledProjectMenu, null, /*#__PURE__*/_react.default.createElement(_List.List, {
|
|
207
187
|
style: {
|
|
208
188
|
padding: "8px 0"
|
|
209
189
|
},
|
|
@@ -222,11 +202,83 @@ var ProjectOptionsMenu = function ProjectOptionsMenu(_ref3) {
|
|
|
222
202
|
}, /*#__PURE__*/_react.default.createElement(_Icons.NotificationBellIcon, null), "Subscribe to Everything"), /*#__PURE__*/_react.default.createElement(_CompleteCheckbox.CompleteCheckbox, {
|
|
223
203
|
primary: true,
|
|
224
204
|
completed: false
|
|
225
|
-
})), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.LabelsIcon, null), "Manage Task Labels"), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.InsertLinkIcon, null), "Copy Link"), /*#__PURE__*/_react.default.createElement(_List.ListSeparator, null), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.CheckboxBlankTogglerIcon, null), "Complete"), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.DownloadIcon, null), "Export"), sourceModuleLoaded ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_List.ListSeparator, null), /*#__PURE__*/_react.default.createElement(
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
205
|
+
})), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.LabelsIcon, null), "Manage Task Labels"), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.InsertLinkIcon, null), "Copy Link"), /*#__PURE__*/_react.default.createElement(_List.ListSeparator, null), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.CheckboxBlankTogglerIcon, null), "Complete"), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.DownloadIcon, null), "Export"), sourceModuleLoaded ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_List.ListSeparator, null), /*#__PURE__*/_react.default.createElement(_List.ListItem, {
|
|
206
|
+
className: "toggle-item submenu-item",
|
|
207
|
+
onClick: goToRepositories
|
|
208
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
209
|
+
className: "opt-left"
|
|
210
|
+
}, /*#__PURE__*/_react.default.createElement(_Icons.GitRepositoryIcon, null), "Repositories"), /*#__PURE__*/_react.default.createElement(_Icons.CaretRightIcon, {
|
|
211
|
+
className: "repo-caret",
|
|
212
|
+
width: 16,
|
|
213
|
+
height: 16
|
|
214
|
+
}))) : null, /*#__PURE__*/_react.default.createElement(_List.ListSeparator, null), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.DuplicateIcon, null), "Duplicate"), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.ProjectTemplateIcon, null), "Apply Template"), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.ProjectTemplateConvertIcon, null), "Convert to Template"), /*#__PURE__*/_react.default.createElement(_List.ListSeparator, null), /*#__PURE__*/_react.default.createElement(_List.ListItem, null, /*#__PURE__*/_react.default.createElement(_Icons.TrashIcon, null), "Delete")));
|
|
215
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ProjectMenuSliderStyle, null), /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
|
|
216
|
+
open: open,
|
|
217
|
+
onOpen: function onOpen() {
|
|
218
|
+
return setOpen(true);
|
|
219
|
+
},
|
|
220
|
+
onClose: handleClose,
|
|
221
|
+
position: "bottom-end",
|
|
222
|
+
menuClassName: sourceModuleLoaded ? "project-options-menu" : undefined,
|
|
223
|
+
target: /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
|
|
224
|
+
type: "button",
|
|
225
|
+
variant: "text gray",
|
|
226
|
+
active: open
|
|
227
|
+
}, /*#__PURE__*/_react.default.createElement(_Icons.TreeDotsIcon, null))
|
|
228
|
+
}, sourceModuleLoaded ? /*#__PURE__*/_react.default.createElement(_Transitions.ResizeTransition, {
|
|
229
|
+
in: true,
|
|
230
|
+
style: {
|
|
231
|
+
height,
|
|
232
|
+
width: PROJECT_MENU_WIDTH
|
|
233
|
+
}
|
|
234
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
235
|
+
style: {
|
|
236
|
+
position: "relative",
|
|
237
|
+
overflow: "hidden"
|
|
238
|
+
}
|
|
239
|
+
}, /*#__PURE__*/_react.default.createElement(_Transitions.SlideLeftRightTransition, {
|
|
240
|
+
in: view === "index",
|
|
241
|
+
direction: isLeft ? "left" : "right"
|
|
242
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
243
|
+
ref: measure,
|
|
244
|
+
style: {
|
|
245
|
+
width: PROJECT_MENU_WIDTH
|
|
246
|
+
}
|
|
247
|
+
}, indexView)), /*#__PURE__*/_react.default.createElement(_Transitions.SlideLeftRightTransition, {
|
|
248
|
+
in: view === "repositories",
|
|
249
|
+
direction: isLeft ? "left" : "right"
|
|
250
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
251
|
+
ref: measure,
|
|
252
|
+
style: {
|
|
253
|
+
width: PROJECT_MENU_WIDTH
|
|
254
|
+
}
|
|
255
|
+
}, /*#__PURE__*/_react.default.createElement(_Menu.MenuHeader, {
|
|
256
|
+
title: "Repositories",
|
|
257
|
+
leftElement: /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
|
|
258
|
+
type: "button",
|
|
259
|
+
variant: "text gray",
|
|
260
|
+
size: "small",
|
|
261
|
+
onClick: backToIndex,
|
|
262
|
+
"aria-label": "Back"
|
|
263
|
+
}, /*#__PURE__*/_react.default.createElement(_Icons.ArrowLeftIcon, null))
|
|
264
|
+
}), /*#__PURE__*/_react.default.createElement(StyledProjectMenu, null, /*#__PURE__*/_react.default.createElement(_List.List, {
|
|
265
|
+
style: {
|
|
266
|
+
padding: "8px 0"
|
|
267
|
+
},
|
|
268
|
+
tabIndex: -1
|
|
269
|
+
}, sortedRepos.map(function (repo) {
|
|
270
|
+
return /*#__PURE__*/_react.default.createElement(_List.ListItem, {
|
|
271
|
+
key: repo.id,
|
|
272
|
+
className: "repo-row",
|
|
273
|
+
onClick: function onClick() {
|
|
274
|
+
return handleOpenRepository();
|
|
275
|
+
}
|
|
276
|
+
}, /*#__PURE__*/_react.default.createElement(_Icons.GitRepositoryIcon, null), /*#__PURE__*/_react.default.createElement("span", {
|
|
277
|
+
className: "repo-name"
|
|
278
|
+
}, repositoryMenuLabel(repo)));
|
|
279
|
+
}), sortedRepos.length > 0 ? /*#__PURE__*/_react.default.createElement(_List.ListSeparator, null) : null, /*#__PURE__*/_react.default.createElement(_List.ListItem, {
|
|
280
|
+
onClick: handleConnect
|
|
281
|
+
}, /*#__PURE__*/_react.default.createElement(_Icons.GitRepositoryConnectIcon, null), "Connect Repository"))))))) : indexView), /*#__PURE__*/_react.default.createElement(_ConnectRepositoryDialog.ConnectRepositoryDialog, {
|
|
230
282
|
open: connectOpen,
|
|
231
283
|
onClose: function onClose() {
|
|
232
284
|
return setConnectOpen(false);
|
|
@@ -276,10 +328,10 @@ var StyledPeopleMenu = _styledComponents.default.div.withConfig({
|
|
|
276
328
|
componentId: "sc-yf6o6n-3"
|
|
277
329
|
})(["width:256px;.members-label{display:block;margin:8px 0;padding:0 16px;}.member-row{position:relative;display:flex;align-items:center;min-height:40px;margin:0 8px;padding:2px 8px;border-radius:4px;cursor:default;transition:background-color ", ";}.member-row:hover{background-color:var(--color-theme-200);}.member-row.leader::before{content:\"\";position:absolute;top:4px;bottom:4px;left:0;width:4px;border-radius:4px;background-color:", ";}.member-row.leader .member-avatar{outline:2px solid ", ";outline-offset:-2px;}.member-name{flex:1;margin-left:12px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.member-right{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-left:8px;}.leader-crown{flex-shrink:0;}.member-options{display:none;align-items:center;gap:2px;}.member-row:hover .member-options{display:flex;}"], _tokens.TRANSITION, LEADER_GOLD, LEADER_GOLD);
|
|
278
330
|
var PeoplePopover = function PeoplePopover() {
|
|
279
|
-
var
|
|
280
|
-
|
|
281
|
-
open =
|
|
282
|
-
setOpen =
|
|
331
|
+
var _useState13 = (0, _react.useState)(false),
|
|
332
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
333
|
+
open = _useState14[0],
|
|
334
|
+
setOpen = _useState14[1];
|
|
283
335
|
return /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
|
|
284
336
|
open: open,
|
|
285
337
|
onOpen: function onOpen() {
|
|
@@ -343,11 +395,11 @@ var PeoplePopover = function PeoplePopover() {
|
|
|
343
395
|
})));
|
|
344
396
|
};
|
|
345
397
|
/** The project page header: back arrow, title, progress, info, people, options. */
|
|
346
|
-
var ProjectPageHeader = exports.ProjectPageHeader = function ProjectPageHeader(
|
|
347
|
-
var
|
|
348
|
-
title =
|
|
349
|
-
|
|
350
|
-
sourceModuleLoaded =
|
|
398
|
+
var ProjectPageHeader = exports.ProjectPageHeader = function ProjectPageHeader(_ref3) {
|
|
399
|
+
var _ref3$title = _ref3.title,
|
|
400
|
+
title = _ref3$title === void 0 ? "#131: Ime projekta" : _ref3$title,
|
|
401
|
+
_ref3$sourceModuleLoa = _ref3.sourceModuleLoaded,
|
|
402
|
+
sourceModuleLoaded = _ref3$sourceModuleLoa === void 0 ? false : _ref3$sourceModuleLoa;
|
|
351
403
|
return /*#__PURE__*/_react.default.createElement(StyledPageHeader, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
352
404
|
className: "page-header-left"
|
|
353
405
|
}, /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
|
|
@@ -392,13 +444,13 @@ var StyledTabControls = _styledComponents.default.div.withConfig({
|
|
|
392
444
|
componentId: "sc-yf6o6n-5"
|
|
393
445
|
})(["display:flex;align-items:center;flex-shrink:0;gap:4px;.vertical-separator{width:1px;height:24px;background-color:var(--color-theme-400);margin:0 8px;}.filter-button{display:flex;align-items:center;gap:6px;}"]);
|
|
394
446
|
/** The Tasks/Discussions/… tab bar plus the right-hand view toolbar. */
|
|
395
|
-
var TabHeader = exports.TabHeader = function TabHeader(
|
|
396
|
-
var
|
|
397
|
-
activeView =
|
|
398
|
-
var
|
|
399
|
-
|
|
400
|
-
active =
|
|
401
|
-
setActive =
|
|
447
|
+
var TabHeader = exports.TabHeader = function TabHeader(_ref4) {
|
|
448
|
+
var _ref4$activeView = _ref4.activeView,
|
|
449
|
+
activeView = _ref4$activeView === void 0 ? "list" : _ref4$activeView;
|
|
450
|
+
var _useState15 = (0, _react.useState)(0),
|
|
451
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
452
|
+
active = _useState16[0],
|
|
453
|
+
setActive = _useState16[1];
|
|
402
454
|
return /*#__PURE__*/_react.default.createElement(StyledTabHeader, null, /*#__PURE__*/_react.default.createElement(_Nav.Nav, {
|
|
403
455
|
onSelect: setActive
|
|
404
456
|
}, NAV_TABS.map(function (label, index) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_ConnectRepositoryDialog","_RoundAvatar","_tokens","_Button","_GlobalAddButton","_CompleteCheckbox","_CounterButton","_Dialog","_Header","_IconButton","_Icons","_List","_Menu","_Nav","_ProgressPie","_Tooltip","_Typography","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","LEADER_GOLD","StyledPageHeader","styled","div","withConfig","displayName","componentId","SM","MD","PageHeader","exports","_ref","title","children","createElement","className","Title2","Header2","StyledProjectHeaderChildren","StyledProjectMenu","repositoryMenuLabel","repo","connection","CONNECTIONS","find","c","id","connectionId","concat","serviceLabel","service","RepositoriesMenuItem","_ref2","repositories","onConnect","onOpenRepository","_useState","useState","_useState2","open","setOpen","Menu","onOpen","onClose","position","mode","target","ListItem","GitRepositoryIcon","CaretRightIcon","width","height","List","style","padding","tabIndex","map","key","onClick","ListSeparator","AddCrossIcon","ProjectOptionsMenu","_ref3","_ref3$sourceModuleLoa","sourceModuleLoaded","_useState3","_useState4","_useState5","_useState6","connectedRepos","setConnectedRepos","_useState7","_useState8","connectOpen","setConnectOpen","_useState9","_useState0","infoOpen","setInfoOpen","connectableRepos","CONNECTABLE_REPOSITORIES","filter","some","sortedRepos","sort","b","localeCompare","handleConnected","prev","handleConnect","handleOpenRepository","Fragment","IconButton","type","variant","active","TreeDotsIcon","EditIcon","StarIcon","CompleteCheckbox","primary","completed","NotificationBellIcon","LabelsIcon","InsertLinkIcon","CheckboxBlankTogglerIcon","DownloadIcon","DuplicateIcon","ProjectTemplateIcon","ProjectTemplateConvertIcon","TrashIcon","ConnectRepositoryDialog","connections","Dialog","enableBackgroundClick","Title","ContentDivider","Content","Body2","Actions","Button","PROJECT_MEMBERS","initials","color","AVATAR_COLORS","blue","leader","purple","orange","StyledPeopleMenu","TRANSITION","PeoplePopover","_useState1","_useState10","CounterButton","label","String","icon","PeopleIcon","onClearAll","undefined","MenuHeader","rightElement","size","AddCrossTinyIcon","Caption1","weight","member","RoundAvatar","$bg","$bordered","CrownSelectedIcon","fill","Tooltip","CrownBlankIcon","CloseSmallIcon","ProjectPageHeader","_ref4","_ref4$title","_ref4$sourceModuleLoa","ArrowLeftIcon","ProgressPie","radius","progress","progressColor","backgroundColor","InfoIcon","NAV_TABS","StyledTabHeader","Header","StyledTabControls","TabHeader","_ref5","_ref5$activeView","activeView","_useState11","_useState12","setActive","Nav","onSelect","index","Item","EditMultipleIcon","FilterIcon","ViewListIcon","transform","ViewTimelineIcon","GlobalAddButton"],"sources":["../../../../src/presentation/shared/headers.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode, useState } from \"react\";\n\nimport styled from \"styled-components\";\n\nimport {\n CONNECTABLE_REPOSITORIES,\n CONNECTIONS,\n ConnectRepositoryDialog,\n Repository,\n serviceLabel,\n} from \"./ConnectRepositoryDialog\";\nimport { RoundAvatar } from \"./RoundAvatar\";\nimport { AVATAR_COLORS, MD, SM, TRANSITION } from \"./tokens\";\nimport { Button } from \"../../components/Button\";\nimport { GlobalAddButton } from \"../../components/Button/GlobalAddButton\";\nimport { CompleteCheckbox } from \"../../components/CompleteCheckbox\";\nimport { CounterButton } from \"../../components/CounterButton\";\nimport { Dialog } from \"../../components/Dialog\";\nimport { Header } from \"../../components/Header\";\nimport { IconButton } from \"../../components/IconButton\";\nimport {\n AddCrossIcon,\n AddCrossTinyIcon,\n ArrowLeftIcon,\n CaretRightIcon,\n CheckboxBlankTogglerIcon,\n CloseSmallIcon,\n CrownBlankIcon,\n CrownSelectedIcon,\n DownloadIcon,\n DuplicateIcon,\n EditIcon,\n EditMultipleIcon,\n FilterIcon,\n GitRepositoryIcon,\n InfoIcon,\n InsertLinkIcon,\n LabelsIcon,\n NotificationBellIcon,\n PeopleIcon,\n ProjectTemplateConvertIcon,\n ProjectTemplateIcon,\n StarIcon,\n TrashIcon,\n TreeDotsIcon,\n ViewListIcon,\n ViewTimelineIcon,\n} from \"../../components/Icons\";\nimport { List, ListItem, ListSeparator } from \"../../components/List\";\nimport { Menu, MenuHeader } from \"../../components/Menu\";\nimport { Item, Nav } from \"../../components/Nav\";\nimport { ProgressPie } from \"../../components/ProgressPie\";\nimport { Tooltip } from \"../../components/Tooltip\";\nimport { Body2, Caption1, Header2, Title2 } from \"../../components/Typography\";\n\n/** Gold used for the project-leader cues (a data colour, not a theme token). */\nconst LEADER_GOLD = \"#FFCC6B\";\n\n/* ------------------------------------------------------------------ */\n/* Page header row (mirrors PageHeader.jsx) */\n/* ------------------------------------------------------------------ */\n\nconst StyledPageHeader = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 12px 0;\n width: 100%;\n height: 40px;\n flex-shrink: 0;\n\n .page-header-left {\n display: flex;\n align-items: center;\n width: 100%;\n max-width: 100%;\n\n @media (min-width: ${SM}) {\n min-width: 0;\n }\n }\n\n /* back button spacing (tw-shrink-0 tw-mr-1 md:tw-mr-2) */\n .back-button {\n flex-shrink: 0;\n margin-right: 4px;\n\n @media (min-width: ${MD}) {\n margin-right: 8px;\n }\n }\n\n .page-title-desktop {\n display: none;\n margin-right: 8px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n @media (min-width: ${MD}) {\n display: block;\n }\n }\n\n .page-title-mobile {\n display: block;\n margin-right: 8px;\n font-weight: 300;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n @media (min-width: ${MD}) {\n display: none;\n }\n }\n\n .page-header-children {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n }\n\n /* spacer that keeps the header clear of the absolutely positioned\n top-right controls, same as in the app (tw-w-52) */\n .page-header-spacer {\n display: none;\n height: 100%;\n width: 208px;\n flex-shrink: 0;\n\n @media (min-width: ${SM}) {\n display: flex;\n }\n }\n`;\n\nexport interface PageHeaderProps {\n title: string;\n children?: ReactNode;\n}\n\n/** Generic page header (title + optional controls), mirrors PageHeader.jsx. */\nexport const PageHeader = ({\n title,\n children,\n}: PageHeaderProps): ReactElement => (\n <StyledPageHeader>\n <div className=\"page-header-left\">\n <Title2 className=\"page-title-desktop\">{title}</Title2>\n <Header2 className=\"page-title-mobile\">{title}</Header2>\n <div className=\"page-header-children\">{children}</div>\n </div>\n <div className=\"page-header-spacer\" />\n </StyledPageHeader>\n);\n\nPageHeader.displayName = \"PageHeader\";\n\n/* ------------------------------------------------------------------ */\n/* Project page header (mirrors ProjectPage.js Page.Header children) */\n/* ------------------------------------------------------------------ */\n\nconst StyledProjectHeaderChildren = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n\n .project-progress {\n display: flex;\n align-items: center;\n margin-left: 4px;\n }\n`;\n\n/* Project \"...\" options menu (Menu + List with leading-icon items). Two items\n (Favorite, Subscribe) have a checkbox on the right. Clicks are no-ops. */\nconst StyledProjectMenu = styled.div`\n .toggle-item {\n justify-content: space-between;\n }\n\n .toggle-item .opt-left {\n display: flex;\n align-items: center;\n min-width: 0;\n }\n\n .toggle-item .opt-left svg {\n margin-right: 8px;\n flex-shrink: 0;\n }\n\n /* the app renders the toggle as a small rounded (not circular) CompleteCheckbox */\n .toggle-item .c-complete-checkbox {\n width: 16px;\n height: 16px;\n border-radius: 3px;\n align-self: center;\n flex-shrink: 0;\n }\n\n /* \"Repositories\" item: caret pushed to the right edge */\n .submenu-item {\n justify-content: space-between;\n }\n\n .submenu-item .repo-caret {\n flex-shrink: 0;\n fill: var(--color-theme-600);\n }\n\n /* a connected-repository row inside the submenu — long \"path (Connection,\n Type)\" labels truncate with an ellipsis rather than wrapping */\n .repo-row {\n min-width: 0;\n }\n\n .repo-row > svg {\n flex-shrink: 0;\n }\n\n .repo-name {\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n`;\n\n/** Submenu row label for a connected repository: \"path (Connection, Type)\",\n * matching the grouped picker headers in the Link Branch / Pull Request\n * dialog. */\nconst repositoryMenuLabel = (repo: Repository): string => {\n const connection = CONNECTIONS.find((c) => c.id === repo.connectionId);\n return connection\n ? `${repo.name} (${connection.name}, ${serviceLabel(connection.service)})`\n : repo.name;\n};\n\n/**\n * The \"Repositories\" item and its fly-out submenu. Rendered only when the\n * `source` module is loaded. The item carries a right caret and opens a\n * submenu that lists the project's connected repositories (sorted by name)\n * above a \"Connect Repository\" action, separated by a divider. Connecting a\n * repository adds it to the list; clicking a repository closes the menu (and,\n * in production, opens the repository in a new tab).\n */\nconst RepositoriesMenuItem = ({\n repositories,\n onConnect,\n onOpenRepository,\n}: {\n repositories: Repository[];\n onConnect: () => void;\n onOpenRepository: (repository: Repository) => void;\n}): ReactElement => {\n const [open, setOpen] = useState(false);\n\n return (\n <Menu\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n position=\"right-start\"\n mode=\"wider\"\n target={\n <ListItem className=\"toggle-item submenu-item\">\n <span className=\"opt-left\">\n <GitRepositoryIcon />\n Repositories\n </span>\n <CaretRightIcon className=\"repo-caret\" width={16} height={16} />\n </ListItem>\n }\n >\n <StyledProjectMenu>\n <List style={{ padding: \"8px 0\" }} tabIndex={-1}>\n {repositories.map((repo) => (\n <ListItem\n key={repo.id}\n className=\"repo-row\"\n onClick={() => onOpenRepository(repo)}\n >\n <GitRepositoryIcon />\n <span className=\"repo-name\">{repositoryMenuLabel(repo)}</span>\n </ListItem>\n ))}\n {repositories.length > 0 ? <ListSeparator /> : null}\n <ListItem onClick={onConnect}>\n <AddCrossIcon />\n Connect Repository\n </ListItem>\n </List>\n </StyledProjectMenu>\n </Menu>\n );\n};\n\nexport interface ProjectOptionsMenuProps {\n /** When the `source` module is loaded, show the Repositories section. */\n sourceModuleLoaded?: boolean;\n}\n\nconst ProjectOptionsMenu = ({\n sourceModuleLoaded = false,\n}: ProjectOptionsMenuProps): ReactElement => {\n const [open, setOpen] = useState(false);\n const [connectedRepos, setConnectedRepos] = useState<Repository[]>([]);\n const [connectOpen, setConnectOpen] = useState(false);\n const [infoOpen, setInfoOpen] = useState(false);\n\n // Repositories still available to connect (not already on the project).\n const connectableRepos = CONNECTABLE_REPOSITORIES.filter(\n (r) => !connectedRepos.some((c) => c.id === r.id)\n );\n\n // Connected repositories are listed in the submenu sorted by name.\n const sortedRepos = [...connectedRepos].sort((a, b) =>\n a.name.localeCompare(b.name)\n );\n\n const handleConnected = (repo: Repository): void => {\n setConnectedRepos((prev) =>\n prev.some((r) => r.id === repo.id) ? prev : [...prev, repo]\n );\n };\n\n const handleConnect = (): void => {\n setOpen(false);\n setConnectOpen(true);\n };\n\n // In production this closes the menu and opens the repository in a new tab;\n // in the mock we surface that behaviour in a small dialog instead.\n const handleOpenRepository = (): void => {\n setOpen(false);\n setInfoOpen(true);\n };\n\n return (\n <>\n <Menu\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n position=\"bottom-end\"\n target={\n <IconButton type=\"button\" variant=\"text gray\" active={open}>\n <TreeDotsIcon />\n </IconButton>\n }\n >\n <StyledProjectMenu>\n <List style={{ padding: \"8px 0\" }} tabIndex={-1}>\n <ListItem>\n <EditIcon />\n Edit\n </ListItem>\n <ListItem className=\"toggle-item\">\n <span className=\"opt-left\">\n <StarIcon />\n Mark as Favorite\n </span>\n <CompleteCheckbox primary completed />\n </ListItem>\n <ListItem className=\"toggle-item\">\n <span className=\"opt-left\">\n <NotificationBellIcon />\n Subscribe to Everything\n </span>\n <CompleteCheckbox primary completed={false} />\n </ListItem>\n <ListItem>\n <LabelsIcon />\n Manage Task Labels\n </ListItem>\n <ListItem>\n <InsertLinkIcon />\n Copy Link\n </ListItem>\n <ListSeparator />\n <ListItem>\n <CheckboxBlankTogglerIcon />\n Complete\n </ListItem>\n <ListItem>\n <DownloadIcon />\n Export\n </ListItem>\n {sourceModuleLoaded ? (\n <>\n <ListSeparator />\n <RepositoriesMenuItem\n repositories={sortedRepos}\n onConnect={handleConnect}\n onOpenRepository={handleOpenRepository}\n />\n </>\n ) : null}\n <ListSeparator />\n <ListItem>\n <DuplicateIcon />\n Duplicate\n </ListItem>\n <ListItem>\n <ProjectTemplateIcon />\n Apply Template\n </ListItem>\n <ListItem>\n <ProjectTemplateConvertIcon />\n Convert to Template\n </ListItem>\n <ListSeparator />\n <ListItem>\n <TrashIcon />\n Delete\n </ListItem>\n </List>\n </StyledProjectMenu>\n </Menu>\n\n <ConnectRepositoryDialog\n open={connectOpen}\n onClose={() => setConnectOpen(false)}\n onConnect={handleConnected}\n repositories={connectableRepos}\n connections={CONNECTIONS}\n />\n\n <Dialog\n open={infoOpen}\n onClose={() => setInfoOpen(false)}\n enableBackgroundClick\n >\n <Dialog.Title>Open Repository</Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <Body2>\n In production, this click would close the menu and open the\n repository in a new browser tab.\n </Body2>\n </Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <Button variant=\"primary\" onClick={() => setInfoOpen(false)}>\n Got it\n </Button>\n </Dialog.Actions>\n </Dialog>\n </>\n );\n};\n\n/* People popover (mirrors the project header People dropdown): a header row\n (\"People\" + add button), a \"Members\" section and a row per member. The\n project leader shows a gold crown; other members reveal a \"set as leader\"\n crown and a remove button on hover. Clicks are no-ops. */\ninterface ProjectMember {\n name: string;\n initials: string;\n color: string;\n leader?: boolean;\n}\n\nconst PROJECT_MEMBERS: ProjectMember[] = [\n {\n name: \"Theo Brandt\",\n initials: \"TB\",\n color: AVATAR_COLORS.blue,\n leader: true,\n },\n { name: \"Iris Calloway\", initials: \"IC\", color: AVATAR_COLORS.purple },\n { name: \"Account Director\", initials: \"AD\", color: \"#8A8F98\" },\n { name: \"Grace Bennett\", initials: \"GB\", color: AVATAR_COLORS.orange },\n];\n\nconst StyledPeopleMenu = styled.div`\n width: 256px;\n\n .members-label {\n display: block;\n margin: 8px 0;\n padding: 0 16px;\n }\n\n .member-row {\n position: relative;\n display: flex;\n align-items: center;\n min-height: 40px;\n margin: 0 8px;\n padding: 2px 8px;\n border-radius: 4px;\n cursor: default;\n transition: background-color ${TRANSITION};\n }\n\n .member-row:hover {\n background-color: var(--color-theme-200);\n }\n\n /* gold left bar on the project-leader row */\n .member-row.leader::before {\n content: \"\";\n position: absolute;\n top: 4px;\n bottom: 4px;\n left: 0;\n width: 4px;\n border-radius: 4px;\n background-color: ${LEADER_GOLD};\n }\n\n /* gold ring on the leader's avatar */\n .member-row.leader .member-avatar {\n outline: 2px solid ${LEADER_GOLD};\n outline-offset: -2px;\n }\n\n .member-name {\n flex: 1;\n margin-left: 12px;\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .member-right {\n display: flex;\n align-items: center;\n gap: 2px;\n flex-shrink: 0;\n margin-left: 8px;\n }\n\n .leader-crown {\n flex-shrink: 0;\n }\n\n /* member actions (set-as-leader / remove) appear on hover, like the app */\n .member-options {\n display: none;\n align-items: center;\n gap: 2px;\n }\n\n .member-row:hover .member-options {\n display: flex;\n }\n`;\n\nconst PeoplePopover = (): ReactElement => {\n const [open, setOpen] = useState(false);\n return (\n <Menu\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n position=\"bottom-end\"\n target={\n <CounterButton\n label={String(PROJECT_MEMBERS.length)}\n icon={<PeopleIcon />}\n active={open}\n onClearAll={() => undefined}\n />\n }\n >\n <StyledPeopleMenu>\n <MenuHeader\n title=\"People\"\n rightElement={\n <IconButton\n type=\"button\"\n variant=\"text gray\"\n size=\"small\"\n aria-label=\"Add People\"\n >\n <AddCrossTinyIcon />\n </IconButton>\n }\n />\n <Caption1 weight=\"bold\" className=\"members-label\">\n Members\n </Caption1>\n {PROJECT_MEMBERS.map((member) => (\n <div\n className={member.leader ? \"member-row leader\" : \"member-row\"}\n key={member.name}\n >\n <RoundAvatar\n className=\"member-avatar\"\n $bg={member.color}\n $bordered={false}\n >\n {member.initials}\n </RoundAvatar>\n <Body2 className=\"member-name\">{member.name}</Body2>\n <span className=\"member-right\">\n {member.leader && (\n <CrownSelectedIcon\n className=\"leader-crown\"\n style={{ fill: LEADER_GOLD }}\n />\n )}\n <span className=\"member-options\">\n {!member.leader && (\n <Tooltip title=\"Set as Project Leader\">\n <IconButton type=\"button\" variant=\"text gray\" size=\"small\">\n <CrownBlankIcon />\n </IconButton>\n </Tooltip>\n )}\n <Tooltip title=\"Remove from Project\">\n <IconButton type=\"button\" variant=\"text gray\" size=\"small\">\n <CloseSmallIcon />\n </IconButton>\n </Tooltip>\n </span>\n </span>\n </div>\n ))}\n </StyledPeopleMenu>\n </Menu>\n );\n};\n\nexport interface ProjectPageHeaderProps {\n title?: string;\n /** When the `source` module is loaded, the \"...\" menu shows a Repositories\n * section (connected repositories + Connect Repository). */\n sourceModuleLoaded?: boolean;\n}\n\n/** The project page header: back arrow, title, progress, info, people, options. */\nexport const ProjectPageHeader = ({\n title = \"#131: Ime projekta\",\n sourceModuleLoaded = false,\n}: ProjectPageHeaderProps): ReactElement => (\n <StyledPageHeader>\n <div className=\"page-header-left\">\n <IconButton variant=\"text gray\" className=\"back-button\">\n <ArrowLeftIcon />\n </IconButton>\n <Title2 className=\"page-title-desktop\">{title}</Title2>\n <Header2 className=\"page-title-mobile\">{title}</Header2>\n <div className=\"page-header-children\">\n <StyledProjectHeaderChildren>\n <span className=\"project-progress\">\n <ProgressPie\n radius={11}\n progress={64}\n progressColor=\"var(--color-secondary)\"\n backgroundColor=\"var(--color-theme-300)\"\n />\n </span>\n <Tooltip title=\"Project Info\">\n <IconButton variant=\"text gray\">\n <InfoIcon />\n </IconButton>\n </Tooltip>\n <PeoplePopover />\n <ProjectOptionsMenu sourceModuleLoaded={sourceModuleLoaded} />\n </StyledProjectHeaderChildren>\n </div>\n </div>\n <div className=\"page-header-spacer\" />\n </StyledPageHeader>\n);\n\nProjectPageHeader.displayName = \"ProjectPageHeader\";\n\n/* ------------------------------------------------------------------ */\n/* Tab bar (mirrors the <Header> with <Nav> on ProjectPage.js) */\n/* ------------------------------------------------------------------ */\n\nconst NAV_TABS = [\"Tasks\", \"Discussions\", \"Files\", \"Notes\", \"Activity\"];\n\nconst StyledTabHeader = styled(Header)`\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n min-height: 64px;\n flex-shrink: 0;\n`;\n\nconst StyledTabControls = styled.div`\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: 4px;\n\n .vertical-separator {\n width: 1px;\n height: 24px;\n background-color: var(--color-theme-400);\n margin: 0 8px;\n }\n\n .filter-button {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n`;\n\nexport interface TabHeaderProps {\n /** Which view-mode toggle is highlighted as active. */\n activeView?: \"list\" | \"column\" | \"timeline\";\n}\n\n/** The Tasks/Discussions/… tab bar plus the right-hand view toolbar. */\nexport const TabHeader = ({\n activeView = \"list\",\n}: TabHeaderProps): ReactElement => {\n const [active, setActive] = useState(0);\n return (\n <StyledTabHeader>\n <Nav onSelect={setActive}>\n {NAV_TABS.map((label, index) => (\n <Item active={index === active} key={label} name={label}>\n <Body2 color=\"secondary\" weight=\"medium\">\n {label}\n </Body2>\n </Item>\n ))}\n </Nav>\n <StyledTabControls>\n <Tooltip title=\"Batch Edit\">\n <IconButton variant=\"text gray\">\n <EditMultipleIcon />\n </IconButton>\n </Tooltip>\n <span className=\"vertical-separator\" />\n <Button variant=\"text gray\" className=\"filter-button\">\n <FilterIcon />\n Filter\n </Button>\n <Tooltip title=\"List view\">\n <IconButton variant=\"text gray\" active={activeView === \"list\"}>\n <ViewListIcon />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Column view\">\n <IconButton variant=\"text gray\" active={activeView === \"column\"}>\n <ViewListIcon style={{ transform: \"rotate(90deg)\" }} />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Timeline view\">\n <IconButton variant=\"text gray\" active={activeView === \"timeline\"}>\n <ViewTimelineIcon />\n </IconButton>\n </Tooltip>\n <span className=\"vertical-separator\" />\n <Tooltip title=\"Add New\">\n <GlobalAddButton />\n </Tooltip>\n </StyledTabControls>\n </StyledTabHeader>\n );\n};\n\nTabHeader.displayName = \"TabHeader\";\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"headers.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_ConnectRepositoryDialog","_RoundAvatar","_tokens","_Button","_GlobalAddButton","_CompleteCheckbox","_CounterButton","_Dialog","_Header","_IconButton","_Icons","_List","_Menu","_Nav","_ProgressPie","_Tooltip","_Transitions","_Typography","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","LEADER_GOLD","StyledPageHeader","styled","div","withConfig","displayName","componentId","SM","MD","PageHeader","exports","_ref","title","children","createElement","className","Title2","Header2","StyledProjectHeaderChildren","StyledProjectMenu","repositoryMenuLabel","repo","connection","CONNECTIONS","find","c","id","connectionId","concat","serviceLabel","service","PROJECT_MENU_WIDTH","ProjectMenuSliderStyle","createGlobalStyle","ProjectOptionsMenu","_ref2","_ref2$sourceModuleLoa","sourceModuleLoaded","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","view","setView","_useState5","_useState6","isLeft","setIsLeft","_useState7","_useState8","height","setHeight","_useState9","_useState0","connectedRepos","setConnectedRepos","_useState1","_useState10","connectOpen","setConnectOpen","_useState11","_useState12","infoOpen","setInfoOpen","connectableRepos","CONNECTABLE_REPOSITORIES","filter","some","sortedRepos","sort","b","localeCompare","measure","useCallback","node","offsetHeight","goToRepositories","backToIndex","handleClose","handleConnected","prev","handleConnect","handleOpenRepository","indexView","List","style","padding","tabIndex","ListItem","EditIcon","StarIcon","CompleteCheckbox","primary","completed","NotificationBellIcon","LabelsIcon","InsertLinkIcon","ListSeparator","CheckboxBlankTogglerIcon","DownloadIcon","Fragment","onClick","GitRepositoryIcon","CaretRightIcon","width","DuplicateIcon","ProjectTemplateIcon","ProjectTemplateConvertIcon","TrashIcon","Menu","onOpen","onClose","position","menuClassName","undefined","target","IconButton","type","variant","active","TreeDotsIcon","ResizeTransition","in","overflow","SlideLeftRightTransition","direction","ref","MenuHeader","leftElement","size","ArrowLeftIcon","map","key","GitRepositoryConnectIcon","ConnectRepositoryDialog","onConnect","repositories","connections","Dialog","enableBackgroundClick","Title","ContentDivider","Content","Body2","Actions","Button","PROJECT_MEMBERS","initials","color","AVATAR_COLORS","blue","leader","purple","orange","StyledPeopleMenu","TRANSITION","PeoplePopover","_useState13","_useState14","CounterButton","label","String","icon","PeopleIcon","onClearAll","rightElement","AddCrossTinyIcon","Caption1","weight","member","RoundAvatar","$bg","$bordered","CrownSelectedIcon","fill","Tooltip","CrownBlankIcon","CloseSmallIcon","ProjectPageHeader","_ref3","_ref3$title","_ref3$sourceModuleLoa","ProgressPie","radius","progress","progressColor","backgroundColor","InfoIcon","NAV_TABS","StyledTabHeader","Header","StyledTabControls","TabHeader","_ref4","_ref4$activeView","activeView","_useState15","_useState16","setActive","Nav","onSelect","index","Item","EditMultipleIcon","FilterIcon","ViewListIcon","transform","ViewTimelineIcon","GlobalAddButton"],"sources":["../../../../src/presentation/shared/headers.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode, useCallback, useState } from \"react\";\n\nimport styled, { createGlobalStyle } from \"styled-components\";\n\nimport {\n CONNECTABLE_REPOSITORIES,\n CONNECTIONS,\n ConnectRepositoryDialog,\n Repository,\n serviceLabel,\n} from \"./ConnectRepositoryDialog\";\nimport { RoundAvatar } from \"./RoundAvatar\";\nimport { AVATAR_COLORS, MD, SM, TRANSITION } from \"./tokens\";\nimport { Button } from \"../../components/Button\";\nimport { GlobalAddButton } from \"../../components/Button/GlobalAddButton\";\nimport { CompleteCheckbox } from \"../../components/CompleteCheckbox\";\nimport { CounterButton } from \"../../components/CounterButton\";\nimport { Dialog } from \"../../components/Dialog\";\nimport { Header } from \"../../components/Header\";\nimport { IconButton } from \"../../components/IconButton\";\nimport {\n AddCrossTinyIcon,\n ArrowLeftIcon,\n CaretRightIcon,\n CheckboxBlankTogglerIcon,\n CloseSmallIcon,\n CrownBlankIcon,\n CrownSelectedIcon,\n DownloadIcon,\n DuplicateIcon,\n EditIcon,\n EditMultipleIcon,\n FilterIcon,\n GitRepositoryConnectIcon,\n GitRepositoryIcon,\n InfoIcon,\n InsertLinkIcon,\n LabelsIcon,\n NotificationBellIcon,\n PeopleIcon,\n ProjectTemplateConvertIcon,\n ProjectTemplateIcon,\n StarIcon,\n TrashIcon,\n TreeDotsIcon,\n ViewListIcon,\n ViewTimelineIcon,\n} from \"../../components/Icons\";\nimport { List, ListItem, ListSeparator } from \"../../components/List\";\nimport { Menu, MenuHeader } from \"../../components/Menu\";\nimport { Item, Nav } from \"../../components/Nav\";\nimport { ProgressPie } from \"../../components/ProgressPie\";\nimport { Tooltip } from \"../../components/Tooltip\";\nimport {\n ResizeTransition,\n SlideLeftRightTransition,\n} from \"../../components/Transitions\";\nimport { Body2, Caption1, Header2, Title2 } from \"../../components/Typography\";\n\n/** Gold used for the project-leader cues (a data colour, not a theme token). */\nconst LEADER_GOLD = \"#FFCC6B\";\n\n/* ------------------------------------------------------------------ */\n/* Page header row (mirrors PageHeader.jsx) */\n/* ------------------------------------------------------------------ */\n\nconst StyledPageHeader = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 12px 0;\n width: 100%;\n height: 40px;\n flex-shrink: 0;\n\n .page-header-left {\n display: flex;\n align-items: center;\n width: 100%;\n max-width: 100%;\n\n @media (min-width: ${SM}) {\n min-width: 0;\n }\n }\n\n /* back button spacing (tw-shrink-0 tw-mr-1 md:tw-mr-2) */\n .back-button {\n flex-shrink: 0;\n margin-right: 4px;\n\n @media (min-width: ${MD}) {\n margin-right: 8px;\n }\n }\n\n .page-title-desktop {\n display: none;\n margin-right: 8px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n @media (min-width: ${MD}) {\n display: block;\n }\n }\n\n .page-title-mobile {\n display: block;\n margin-right: 8px;\n font-weight: 300;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n @media (min-width: ${MD}) {\n display: none;\n }\n }\n\n .page-header-children {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n }\n\n /* spacer that keeps the header clear of the absolutely positioned\n top-right controls, same as in the app (tw-w-52) */\n .page-header-spacer {\n display: none;\n height: 100%;\n width: 208px;\n flex-shrink: 0;\n\n @media (min-width: ${SM}) {\n display: flex;\n }\n }\n`;\n\nexport interface PageHeaderProps {\n title: string;\n children?: ReactNode;\n}\n\n/** Generic page header (title + optional controls), mirrors PageHeader.jsx. */\nexport const PageHeader = ({\n title,\n children,\n}: PageHeaderProps): ReactElement => (\n <StyledPageHeader>\n <div className=\"page-header-left\">\n <Title2 className=\"page-title-desktop\">{title}</Title2>\n <Header2 className=\"page-title-mobile\">{title}</Header2>\n <div className=\"page-header-children\">{children}</div>\n </div>\n <div className=\"page-header-spacer\" />\n </StyledPageHeader>\n);\n\nPageHeader.displayName = \"PageHeader\";\n\n/* ------------------------------------------------------------------ */\n/* Project page header (mirrors ProjectPage.js Page.Header children) */\n/* ------------------------------------------------------------------ */\n\nconst StyledProjectHeaderChildren = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n\n .project-progress {\n display: flex;\n align-items: center;\n margin-left: 4px;\n }\n`;\n\n/* Project \"...\" options menu (Menu + List with leading-icon items). Two items\n (Favorite, Subscribe) have a checkbox on the right. Clicks are no-ops. */\nconst StyledProjectMenu = styled.div`\n .toggle-item {\n justify-content: space-between;\n }\n\n .toggle-item .opt-left {\n display: flex;\n align-items: center;\n min-width: 0;\n }\n\n .toggle-item .opt-left svg {\n margin-right: 8px;\n flex-shrink: 0;\n }\n\n /* the app renders the toggle as a small rounded (not circular) CompleteCheckbox */\n .toggle-item .c-complete-checkbox {\n width: 16px;\n height: 16px;\n border-radius: 3px;\n align-self: center;\n flex-shrink: 0;\n }\n\n /* \"Repositories\" item: caret pushed to the right edge */\n .submenu-item {\n justify-content: space-between;\n }\n\n .submenu-item .repo-caret {\n flex-shrink: 0;\n fill: var(--color-theme-600);\n }\n\n /* a connected-repository row inside the submenu — long \"path (Connection,\n Type)\" labels truncate with an ellipsis rather than wrapping */\n .repo-row {\n min-width: 0;\n }\n\n .repo-row > svg {\n flex-shrink: 0;\n }\n\n .repo-name {\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n`;\n\n/** Submenu row label for a connected repository: \"path (Connection, Type)\",\n * matching the grouped picker headers in the Link Branch / Pull Request\n * dialog. */\nconst repositoryMenuLabel = (repo: Repository): string => {\n const connection = CONNECTIONS.find((c) => c.id === repo.connectionId);\n return connection\n ? `${repo.name} (${connection.name}, ${serviceLabel(connection.service)})`\n : repo.name;\n};\n\n/** Width of the project \"...\" menu (matches the DS \"normal\" menu mode). */\nconst PROJECT_MENU_WIDTH = 260;\n\n/* The menu drills in place (index → Repositories), so the paper must clip the\n sliding panels and give them a positioning context. */\nconst ProjectMenuSliderStyle = createGlobalStyle`\n .c-simple-menu__paper.project-options-menu {\n overflow: hidden;\n position: relative;\n }\n`;\n\nexport interface ProjectOptionsMenuProps {\n /** When the `source` module is loaded, show the Repositories section. */\n sourceModuleLoaded?: boolean;\n}\n\n/**\n * The project \"...\" options menu. When the `source` module is loaded it gains\n * a **Repositories** item that, instead of flying out to the side, **drills in\n * within the same menu** (the pattern used across the app — see `Filter`): the\n * index slides out to the left and the Repositories view (a back-arrow header,\n * the connected repositories sorted by name, and a **Connect Repository**\n * action) slides in. Connecting adds a repository to the list; clicking one\n * would, in production, open it in a new tab (surfaced here via a dialog).\n */\nconst ProjectOptionsMenu = ({\n sourceModuleLoaded = false,\n}: ProjectOptionsMenuProps): ReactElement => {\n const [open, setOpen] = useState(false);\n const [view, setView] = useState<\"index\" | \"repositories\">(\"index\");\n const [isLeft, setIsLeft] = useState(true);\n const [height, setHeight] = useState(0);\n const [connectedRepos, setConnectedRepos] = useState<Repository[]>([]);\n const [connectOpen, setConnectOpen] = useState(false);\n const [infoOpen, setInfoOpen] = useState(false);\n\n // Repositories still available to connect (not already on the project).\n const connectableRepos = CONNECTABLE_REPOSITORIES.filter(\n (r) => !connectedRepos.some((c) => c.id === r.id)\n );\n\n // Connected repositories are listed in the submenu sorted by name.\n const sortedRepos = [...connectedRepos].sort((a, b) =>\n a.name.localeCompare(b.name)\n );\n\n // Each view measures itself as it mounts so the paper can animate its height.\n const measure = useCallback((node: HTMLDivElement | null) => {\n if (node) {\n setHeight(node.offsetHeight);\n }\n }, []);\n\n const goToRepositories = (): void => {\n setView(\"repositories\");\n setIsLeft(true);\n };\n\n const backToIndex = (): void => {\n setView(\"index\");\n setIsLeft(false);\n };\n\n const handleClose = (): void => {\n setOpen(false);\n // Reset to the index so the next open starts at the top level.\n setView(\"index\");\n setIsLeft(true);\n };\n\n const handleConnected = (repo: Repository): void => {\n setConnectedRepos((prev) =>\n prev.some((r) => r.id === repo.id) ? prev : [...prev, repo]\n );\n };\n\n const handleConnect = (): void => {\n handleClose();\n setConnectOpen(true);\n };\n\n // In production this closes the menu and opens the repository in a new tab;\n // in the mock we surface that behaviour in a small dialog instead.\n const handleOpenRepository = (): void => {\n handleClose();\n setInfoOpen(true);\n };\n\n const indexView = (\n <StyledProjectMenu>\n <List style={{ padding: \"8px 0\" }} tabIndex={-1}>\n <ListItem>\n <EditIcon />\n Edit\n </ListItem>\n <ListItem className=\"toggle-item\">\n <span className=\"opt-left\">\n <StarIcon />\n Mark as Favorite\n </span>\n <CompleteCheckbox primary completed />\n </ListItem>\n <ListItem className=\"toggle-item\">\n <span className=\"opt-left\">\n <NotificationBellIcon />\n Subscribe to Everything\n </span>\n <CompleteCheckbox primary completed={false} />\n </ListItem>\n <ListItem>\n <LabelsIcon />\n Manage Task Labels\n </ListItem>\n <ListItem>\n <InsertLinkIcon />\n Copy Link\n </ListItem>\n <ListSeparator />\n <ListItem>\n <CheckboxBlankTogglerIcon />\n Complete\n </ListItem>\n <ListItem>\n <DownloadIcon />\n Export\n </ListItem>\n {sourceModuleLoaded ? (\n <>\n <ListSeparator />\n <ListItem\n className=\"toggle-item submenu-item\"\n onClick={goToRepositories}\n >\n <span className=\"opt-left\">\n <GitRepositoryIcon />\n Repositories\n </span>\n <CaretRightIcon className=\"repo-caret\" width={16} height={16} />\n </ListItem>\n </>\n ) : null}\n <ListSeparator />\n <ListItem>\n <DuplicateIcon />\n Duplicate\n </ListItem>\n <ListItem>\n <ProjectTemplateIcon />\n Apply Template\n </ListItem>\n <ListItem>\n <ProjectTemplateConvertIcon />\n Convert to Template\n </ListItem>\n <ListSeparator />\n <ListItem>\n <TrashIcon />\n Delete\n </ListItem>\n </List>\n </StyledProjectMenu>\n );\n\n return (\n <>\n <ProjectMenuSliderStyle />\n <Menu\n open={open}\n onOpen={() => setOpen(true)}\n onClose={handleClose}\n position=\"bottom-end\"\n menuClassName={sourceModuleLoaded ? \"project-options-menu\" : undefined}\n target={\n <IconButton type=\"button\" variant=\"text gray\" active={open}>\n <TreeDotsIcon />\n </IconButton>\n }\n >\n {sourceModuleLoaded ? (\n <ResizeTransition in style={{ height, width: PROJECT_MENU_WIDTH }}>\n <div style={{ position: \"relative\", overflow: \"hidden\" }}>\n <SlideLeftRightTransition\n in={view === \"index\"}\n direction={isLeft ? \"left\" : \"right\"}\n >\n <div ref={measure} style={{ width: PROJECT_MENU_WIDTH }}>\n {indexView}\n </div>\n </SlideLeftRightTransition>\n <SlideLeftRightTransition\n in={view === \"repositories\"}\n direction={isLeft ? \"left\" : \"right\"}\n >\n <div ref={measure} style={{ width: PROJECT_MENU_WIDTH }}>\n <MenuHeader\n title=\"Repositories\"\n leftElement={\n <IconButton\n type=\"button\"\n variant=\"text gray\"\n size=\"small\"\n onClick={backToIndex}\n aria-label=\"Back\"\n >\n <ArrowLeftIcon />\n </IconButton>\n }\n />\n <StyledProjectMenu>\n <List style={{ padding: \"8px 0\" }} tabIndex={-1}>\n {sortedRepos.map((repo) => (\n <ListItem\n key={repo.id}\n className=\"repo-row\"\n onClick={() => handleOpenRepository()}\n >\n <GitRepositoryIcon />\n <span className=\"repo-name\">\n {repositoryMenuLabel(repo)}\n </span>\n </ListItem>\n ))}\n {sortedRepos.length > 0 ? <ListSeparator /> : null}\n <ListItem onClick={handleConnect}>\n <GitRepositoryConnectIcon />\n Connect Repository\n </ListItem>\n </List>\n </StyledProjectMenu>\n </div>\n </SlideLeftRightTransition>\n </div>\n </ResizeTransition>\n ) : (\n indexView\n )}\n </Menu>\n\n <ConnectRepositoryDialog\n open={connectOpen}\n onClose={() => setConnectOpen(false)}\n onConnect={handleConnected}\n repositories={connectableRepos}\n connections={CONNECTIONS}\n />\n\n <Dialog\n open={infoOpen}\n onClose={() => setInfoOpen(false)}\n enableBackgroundClick\n >\n <Dialog.Title>Open Repository</Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <Body2>\n In production, this click would close the menu and open the\n repository in a new browser tab.\n </Body2>\n </Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <Button variant=\"primary\" onClick={() => setInfoOpen(false)}>\n Got it\n </Button>\n </Dialog.Actions>\n </Dialog>\n </>\n );\n};\n\n/* People popover (mirrors the project header People dropdown): a header row\n (\"People\" + add button), a \"Members\" section and a row per member. The\n project leader shows a gold crown; other members reveal a \"set as leader\"\n crown and a remove button on hover. Clicks are no-ops. */\ninterface ProjectMember {\n name: string;\n initials: string;\n color: string;\n leader?: boolean;\n}\n\nconst PROJECT_MEMBERS: ProjectMember[] = [\n {\n name: \"Theo Brandt\",\n initials: \"TB\",\n color: AVATAR_COLORS.blue,\n leader: true,\n },\n { name: \"Iris Calloway\", initials: \"IC\", color: AVATAR_COLORS.purple },\n { name: \"Account Director\", initials: \"AD\", color: \"#8A8F98\" },\n { name: \"Grace Bennett\", initials: \"GB\", color: AVATAR_COLORS.orange },\n];\n\nconst StyledPeopleMenu = styled.div`\n width: 256px;\n\n .members-label {\n display: block;\n margin: 8px 0;\n padding: 0 16px;\n }\n\n .member-row {\n position: relative;\n display: flex;\n align-items: center;\n min-height: 40px;\n margin: 0 8px;\n padding: 2px 8px;\n border-radius: 4px;\n cursor: default;\n transition: background-color ${TRANSITION};\n }\n\n .member-row:hover {\n background-color: var(--color-theme-200);\n }\n\n /* gold left bar on the project-leader row */\n .member-row.leader::before {\n content: \"\";\n position: absolute;\n top: 4px;\n bottom: 4px;\n left: 0;\n width: 4px;\n border-radius: 4px;\n background-color: ${LEADER_GOLD};\n }\n\n /* gold ring on the leader's avatar */\n .member-row.leader .member-avatar {\n outline: 2px solid ${LEADER_GOLD};\n outline-offset: -2px;\n }\n\n .member-name {\n flex: 1;\n margin-left: 12px;\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .member-right {\n display: flex;\n align-items: center;\n gap: 2px;\n flex-shrink: 0;\n margin-left: 8px;\n }\n\n .leader-crown {\n flex-shrink: 0;\n }\n\n /* member actions (set-as-leader / remove) appear on hover, like the app */\n .member-options {\n display: none;\n align-items: center;\n gap: 2px;\n }\n\n .member-row:hover .member-options {\n display: flex;\n }\n`;\n\nconst PeoplePopover = (): ReactElement => {\n const [open, setOpen] = useState(false);\n return (\n <Menu\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n position=\"bottom-end\"\n target={\n <CounterButton\n label={String(PROJECT_MEMBERS.length)}\n icon={<PeopleIcon />}\n active={open}\n onClearAll={() => undefined}\n />\n }\n >\n <StyledPeopleMenu>\n <MenuHeader\n title=\"People\"\n rightElement={\n <IconButton\n type=\"button\"\n variant=\"text gray\"\n size=\"small\"\n aria-label=\"Add People\"\n >\n <AddCrossTinyIcon />\n </IconButton>\n }\n />\n <Caption1 weight=\"bold\" className=\"members-label\">\n Members\n </Caption1>\n {PROJECT_MEMBERS.map((member) => (\n <div\n className={member.leader ? \"member-row leader\" : \"member-row\"}\n key={member.name}\n >\n <RoundAvatar\n className=\"member-avatar\"\n $bg={member.color}\n $bordered={false}\n >\n {member.initials}\n </RoundAvatar>\n <Body2 className=\"member-name\">{member.name}</Body2>\n <span className=\"member-right\">\n {member.leader && (\n <CrownSelectedIcon\n className=\"leader-crown\"\n style={{ fill: LEADER_GOLD }}\n />\n )}\n <span className=\"member-options\">\n {!member.leader && (\n <Tooltip title=\"Set as Project Leader\">\n <IconButton type=\"button\" variant=\"text gray\" size=\"small\">\n <CrownBlankIcon />\n </IconButton>\n </Tooltip>\n )}\n <Tooltip title=\"Remove from Project\">\n <IconButton type=\"button\" variant=\"text gray\" size=\"small\">\n <CloseSmallIcon />\n </IconButton>\n </Tooltip>\n </span>\n </span>\n </div>\n ))}\n </StyledPeopleMenu>\n </Menu>\n );\n};\n\nexport interface ProjectPageHeaderProps {\n title?: string;\n /** When the `source` module is loaded, the \"...\" menu shows a Repositories\n * section (connected repositories + Connect Repository). */\n sourceModuleLoaded?: boolean;\n}\n\n/** The project page header: back arrow, title, progress, info, people, options. */\nexport const ProjectPageHeader = ({\n title = \"#131: Ime projekta\",\n sourceModuleLoaded = false,\n}: ProjectPageHeaderProps): ReactElement => (\n <StyledPageHeader>\n <div className=\"page-header-left\">\n <IconButton variant=\"text gray\" className=\"back-button\">\n <ArrowLeftIcon />\n </IconButton>\n <Title2 className=\"page-title-desktop\">{title}</Title2>\n <Header2 className=\"page-title-mobile\">{title}</Header2>\n <div className=\"page-header-children\">\n <StyledProjectHeaderChildren>\n <span className=\"project-progress\">\n <ProgressPie\n radius={11}\n progress={64}\n progressColor=\"var(--color-secondary)\"\n backgroundColor=\"var(--color-theme-300)\"\n />\n </span>\n <Tooltip title=\"Project Info\">\n <IconButton variant=\"text gray\">\n <InfoIcon />\n </IconButton>\n </Tooltip>\n <PeoplePopover />\n <ProjectOptionsMenu sourceModuleLoaded={sourceModuleLoaded} />\n </StyledProjectHeaderChildren>\n </div>\n </div>\n <div className=\"page-header-spacer\" />\n </StyledPageHeader>\n);\n\nProjectPageHeader.displayName = \"ProjectPageHeader\";\n\n/* ------------------------------------------------------------------ */\n/* Tab bar (mirrors the <Header> with <Nav> on ProjectPage.js) */\n/* ------------------------------------------------------------------ */\n\nconst NAV_TABS = [\"Tasks\", \"Discussions\", \"Files\", \"Notes\", \"Activity\"];\n\nconst StyledTabHeader = styled(Header)`\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n min-height: 64px;\n flex-shrink: 0;\n`;\n\nconst StyledTabControls = styled.div`\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: 4px;\n\n .vertical-separator {\n width: 1px;\n height: 24px;\n background-color: var(--color-theme-400);\n margin: 0 8px;\n }\n\n .filter-button {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n`;\n\nexport interface TabHeaderProps {\n /** Which view-mode toggle is highlighted as active. */\n activeView?: \"list\" | \"column\" | \"timeline\";\n}\n\n/** The Tasks/Discussions/… tab bar plus the right-hand view toolbar. */\nexport const TabHeader = ({\n activeView = \"list\",\n}: TabHeaderProps): ReactElement => {\n const [active, setActive] = useState(0);\n return (\n <StyledTabHeader>\n <Nav onSelect={setActive}>\n {NAV_TABS.map((label, index) => (\n <Item active={index === active} key={label} name={label}>\n <Body2 color=\"secondary\" weight=\"medium\">\n {label}\n </Body2>\n </Item>\n ))}\n </Nav>\n <StyledTabControls>\n <Tooltip title=\"Batch Edit\">\n <IconButton variant=\"text gray\">\n <EditMultipleIcon />\n </IconButton>\n </Tooltip>\n <span className=\"vertical-separator\" />\n <Button variant=\"text gray\" className=\"filter-button\">\n <FilterIcon />\n Filter\n </Button>\n <Tooltip title=\"List view\">\n <IconButton variant=\"text gray\" active={activeView === \"list\"}>\n <ViewListIcon />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Column view\">\n <IconButton variant=\"text gray\" active={activeView === \"column\"}>\n <ViewListIcon style={{ transform: \"rotate(90deg)\" }} />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Timeline view\">\n <IconButton variant=\"text gray\" active={activeView === \"timeline\"}>\n <ViewTimelineIcon />\n </IconButton>\n </Tooltip>\n <span className=\"vertical-separator\" />\n <Tooltip title=\"Add New\">\n <GlobalAddButton />\n </Tooltip>\n </StyledTabControls>\n </StyledTabHeader>\n );\n};\n\nTabHeader.displayName = \"TabHeader\";\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAF,uBAAA,CAAAC,OAAA;AAEA,IAAAE,wBAAA,GAAAF,OAAA;AAOA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AA4BA,IAAAa,KAAA,GAAAb,OAAA;AACA,IAAAc,KAAA,GAAAd,OAAA;AACA,IAAAe,IAAA,GAAAf,OAAA;AACA,IAAAgB,YAAA,GAAAhB,OAAA;AACA,IAAAiB,QAAA,GAAAjB,OAAA;AACA,IAAAkB,YAAA,GAAAlB,OAAA;AAIA,IAAAmB,WAAA,GAAAnB,OAAA;AAA+E,SAAAD,wBAAAqB,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAvB,uBAAA,YAAAA,wBAAAqB,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAmB,eAAAjB,CAAA,EAAAH,CAAA,WAAAqB,eAAA,CAAAlB,CAAA,KAAAmB,qBAAA,CAAAnB,CAAA,EAAAH,CAAA,KAAAuB,2BAAA,CAAApB,CAAA,EAAAH,CAAA,KAAAwB,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAApB,CAAA,EAAAuB,CAAA,QAAAvB,CAAA,2BAAAA,CAAA,SAAAwB,iBAAA,CAAAxB,CAAA,EAAAuB,CAAA,OAAAzB,CAAA,MAAA2B,QAAA,CAAAZ,IAAA,CAAAb,CAAA,EAAA0B,KAAA,6BAAA5B,CAAA,IAAAE,CAAA,CAAA2B,WAAA,KAAA7B,CAAA,GAAAE,CAAA,CAAA2B,WAAA,CAAAC,IAAA,aAAA9B,CAAA,cAAAA,CAAA,GAAA+B,KAAA,CAAAC,IAAA,CAAA9B,CAAA,oBAAAF,CAAA,+CAAAiC,IAAA,CAAAjC,CAAA,IAAA0B,iBAAA,CAAAxB,CAAA,EAAAuB,CAAA;AAAA,SAAAC,kBAAAxB,CAAA,EAAAuB,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAvB,CAAA,CAAAgC,MAAA,MAAAT,CAAA,GAAAvB,CAAA,CAAAgC,MAAA,YAAAnC,CAAA,MAAAI,CAAA,GAAA4B,KAAA,CAAAN,CAAA,GAAA1B,CAAA,GAAA0B,CAAA,EAAA1B,CAAA,IAAAI,CAAA,CAAAJ,CAAA,IAAAG,CAAA,CAAAH,CAAA,UAAAI,CAAA;AAAA,SAAAkB,sBAAAnB,CAAA,EAAAiC,CAAA,QAAAnC,CAAA,WAAAE,CAAA,gCAAAkC,MAAA,IAAAlC,CAAA,CAAAkC,MAAA,CAAAC,QAAA,KAAAnC,CAAA,4BAAAF,CAAA,QAAAD,CAAA,EAAAI,CAAA,EAAAG,CAAA,EAAAgC,CAAA,EAAAb,CAAA,OAAAlB,CAAA,OAAAF,CAAA,iBAAAC,CAAA,IAAAN,CAAA,GAAAA,CAAA,CAAAe,IAAA,CAAAb,CAAA,GAAAqC,IAAA,QAAAJ,CAAA,QAAAnB,MAAA,CAAAhB,CAAA,MAAAA,CAAA,UAAAO,CAAA,uBAAAA,CAAA,IAAAR,CAAA,GAAAO,CAAA,CAAAS,IAAA,CAAAf,CAAA,GAAAwC,IAAA,MAAAf,CAAA,CAAAgB,IAAA,CAAA1C,CAAA,CAAA2C,KAAA,GAAAjB,CAAA,CAAAS,MAAA,KAAAC,CAAA,GAAA5B,CAAA,iBAAAL,CAAA,IAAAG,CAAA,OAAAF,CAAA,GAAAD,CAAA,yBAAAK,CAAA,YAAAP,CAAA,CAAA2C,MAAA,KAAAL,CAAA,GAAAtC,CAAA,CAAA2C,MAAA,IAAA3B,MAAA,CAAAsB,CAAA,MAAAA,CAAA,2BAAAjC,CAAA,QAAAF,CAAA,aAAAsB,CAAA;AAAA,SAAAL,gBAAAlB,CAAA,QAAA6B,KAAA,CAAAa,OAAA,CAAA1C,CAAA,UAAAA,CAAA;AAE/E;AACA,IAAM2C,WAAW,GAAG,SAAS;;AAE7B;AACA;AACA;;AAEA,IAAMC,gBAAgB,GAAGC,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,6yBAeVC,UAAE,EAUFC,UAAE,EAYFA,UAAE,EAaFA,UAAE,EAmBFD,UAAE,CAI1B;AAOD;AACO,IAAME,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,SAAbA,UAAUA,CAAAE,IAAA;EAAA,IACrBC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EAAA,oBAERjF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACb,gBAAgB,qBACfrE,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAKC,SAAS,EAAC;EAAkB,gBAC/BnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC7D,WAAA,CAAA+D,MAAM;IAACD,SAAS,EAAC;EAAoB,GAAEH,KAAc,CAAC,eACvDhF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC7D,WAAA,CAAAgE,OAAO;IAACF,SAAS,EAAC;EAAmB,GAAEH,KAAe,CAAC,eACxDhF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAKC,SAAS,EAAC;EAAsB,GAAEF,QAAc,CAClD,CAAC,eACNjF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAKC,SAAS,EAAC;EAAoB,CAAE,CACrB,CAAC;AAAA,CACpB;AAEDN,UAAU,CAACJ,WAAW,GAAG,YAAY;;AAErC;AACA;AACA;;AAEA,IAAMa,2BAA2B,GAAGhB,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,mHAU7C;;AAED;AACA;AACA,IAAMa,iBAAiB,GAAGjB,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yhBAmDnC;;AAED;AACA;AACA;AACA,IAAMc,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,IAAgB,EAAa;EACxD,IAAMC,UAAU,GAAGC,oCAAW,CAACC,IAAI,CAAC,UAACC,CAAC;IAAA,OAAKA,CAAC,CAACC,EAAE,KAAKL,IAAI,CAACM,YAAY;EAAA,EAAC;EACtE,OAAOL,UAAU,MAAAM,MAAA,CACVP,IAAI,CAACpC,IAAI,QAAA2C,MAAA,CAAKN,UAAU,CAACrC,IAAI,QAAA2C,MAAA,CAAK,IAAAC,qCAAY,EAACP,UAAU,CAACQ,OAAO,CAAC,SACrET,IAAI,CAACpC,IAAI;AACf,CAAC;;AAED;AACA,IAAM8C,kBAAkB,GAAG,GAAG;;AAE9B;AACA;AACA,IAAMC,sBAAsB,OAAGC,mCAAiB,qFAK/C;AAOD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,KAAA,EAEqB;EAAA,IAAAC,qBAAA,GAAAD,KAAA,CAD3CE,kBAAkB;IAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;EAE1B,IAAAE,SAAA,GAAwB,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,GAAAlE,cAAA,CAAAgE,SAAA;IAAhCG,IAAI,GAAAD,UAAA;IAAEE,OAAO,GAAAF,UAAA;EACpB,IAAAG,UAAA,GAAwB,IAAAJ,eAAQ,EAA2B,OAAO,CAAC;IAAAK,UAAA,GAAAtE,cAAA,CAAAqE,UAAA;IAA5DE,IAAI,GAAAD,UAAA;IAAEE,OAAO,GAAAF,UAAA;EACpB,IAAAG,UAAA,GAA4B,IAAAR,eAAQ,EAAC,IAAI,CAAC;IAAAS,UAAA,GAAA1E,cAAA,CAAAyE,UAAA;IAAnCE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAAG,UAAA,GAA4B,IAAAZ,eAAQ,EAAC,CAAC,CAAC;IAAAa,UAAA,GAAA9E,cAAA,CAAA6E,UAAA;IAAhCE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAAG,UAAA,GAA4C,IAAAhB,eAAQ,EAAe,EAAE,CAAC;IAAAiB,UAAA,GAAAlF,cAAA,CAAAiF,UAAA;IAA/DE,cAAc,GAAAD,UAAA;IAAEE,iBAAiB,GAAAF,UAAA;EACxC,IAAAG,UAAA,GAAsC,IAAApB,eAAQ,EAAC,KAAK,CAAC;IAAAqB,WAAA,GAAAtF,cAAA,CAAAqF,UAAA;IAA9CE,WAAW,GAAAD,WAAA;IAAEE,cAAc,GAAAF,WAAA;EAClC,IAAAG,WAAA,GAAgC,IAAAxB,eAAQ,EAAC,KAAK,CAAC;IAAAyB,WAAA,GAAA1F,cAAA,CAAAyF,WAAA;IAAxCE,QAAQ,GAAAD,WAAA;IAAEE,WAAW,GAAAF,WAAA;;EAE5B;EACA,IAAMG,gBAAgB,GAAGC,iDAAwB,CAACC,MAAM,CACtD,UAAChH,CAAC;IAAA,OAAK,CAACoG,cAAc,CAACa,IAAI,CAAC,UAAC7C,CAAC;MAAA,OAAKA,CAAC,CAACC,EAAE,KAAKrE,CAAC,CAACqE,EAAE;IAAA,EAAC;EAAA,CACnD,CAAC;;EAED;EACA,IAAM6C,WAAW,GAAG,CAAC,GAAGd,cAAc,CAAC,CAACe,IAAI,CAAC,UAAC5F,CAAC,EAAE6F,CAAC;IAAA,OAChD7F,CAAC,CAACK,IAAI,CAACyF,aAAa,CAACD,CAAC,CAACxF,IAAI,CAAC;EAAA,CAC9B,CAAC;;EAED;EACA,IAAM0F,OAAO,GAAG,IAAAC,kBAAW,EAAC,UAACC,IAA2B,EAAK;IAC3D,IAAIA,IAAI,EAAE;MACRvB,SAAS,CAACuB,IAAI,CAACC,YAAY,CAAC;IAC9B;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAe;IACnCjC,OAAO,CAAC,cAAc,CAAC;IACvBI,SAAS,CAAC,IAAI,CAAC;EACjB,CAAC;EAED,IAAM8B,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAe;IAC9BlC,OAAO,CAAC,OAAO,CAAC;IAChBI,SAAS,CAAC,KAAK,CAAC;EAClB,CAAC;EAED,IAAM+B,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAe;IAC9BvC,OAAO,CAAC,KAAK,CAAC;IACd;IACAI,OAAO,CAAC,OAAO,CAAC;IAChBI,SAAS,CAAC,IAAI,CAAC;EACjB,CAAC;EAED,IAAMgC,eAAe,GAAG,SAAlBA,eAAeA,CAAI7D,IAAgB,EAAW;IAClDqC,iBAAiB,CAAC,UAACyB,IAAI;MAAA,OACrBA,IAAI,CAACb,IAAI,CAAC,UAACjH,CAAC;QAAA,OAAKA,CAAC,CAACqE,EAAE,KAAKL,IAAI,CAACK,EAAE;MAAA,EAAC,GAAGyD,IAAI,GAAG,CAAC,GAAGA,IAAI,EAAE9D,IAAI,CAAC;IAAA,CAC7D,CAAC;EACH,CAAC;EAED,IAAM+D,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAe;IAChCH,WAAW,CAAC,CAAC;IACbnB,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;;EAED;EACA;EACA,IAAMuB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAe;IACvCJ,WAAW,CAAC,CAAC;IACbf,WAAW,CAAC,IAAI,CAAC;EACnB,CAAC;EAED,IAAMoB,SAAS,gBACb1J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACK,iBAAiB,qBAChBvF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAA4I,IAAI;IAACC,KAAK,EAAE;MAAEC,OAAO,EAAE;IAAQ,CAAE;IAACC,QAAQ,EAAE,CAAC;EAAE,gBAC9C9J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ,qBACP/J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAkJ,QAAQ,MAAE,CAAC,QAEJ,CAAC,eACXhK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ;IAAC5E,SAAS,EAAC;EAAa,gBAC/BnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAMC,SAAS,EAAC;EAAU,gBACxBnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAmJ,QAAQ,MAAE,CAAC,oBAER,CAAC,eACPjK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACzE,iBAAA,CAAAyJ,gBAAgB;IAACC,OAAO;IAACC,SAAS;EAAA,CAAE,CAC7B,CAAC,eACXpK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ;IAAC5E,SAAS,EAAC;EAAa,gBAC/BnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAMC,SAAS,EAAC;EAAU,gBACxBnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAuJ,oBAAoB,MAAE,CAAC,2BAEpB,CAAC,eACPrK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACzE,iBAAA,CAAAyJ,gBAAgB;IAACC,OAAO;IAACC,SAAS,EAAE;EAAM,CAAE,CACrC,CAAC,eACXpK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ,qBACP/J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAwJ,UAAU,MAAE,CAAC,sBAEN,CAAC,eACXtK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ,qBACP/J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAyJ,cAAc,MAAE,CAAC,aAEV,CAAC,eACXvK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAyJ,aAAa,MAAE,CAAC,eACjBxK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ,qBACP/J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAA2J,wBAAwB,MAAE,CAAC,YAEpB,CAAC,eACXzK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ,qBACP/J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAA4J,YAAY,MAAE,CAAC,UAER,CAAC,EACVjE,kBAAkB,gBACjBzG,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAAlF,MAAA,CAAAgC,OAAA,CAAA2I,QAAA,qBACE3K,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAyJ,aAAa,MAAE,CAAC,eACjBxK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ;IACP5E,SAAS,EAAC,0BAA0B;IACpCyF,OAAO,EAAEzB;EAAiB,gBAE1BnJ,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAMC,SAAS,EAAC;EAAU,gBACxBnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAA+J,iBAAiB,MAAE,CAAC,gBAEjB,CAAC,eACP7K,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAgK,cAAc;IAAC3F,SAAS,EAAC,YAAY;IAAC4F,KAAK,EAAE,EAAG;IAACtD,MAAM,EAAE;EAAG,CAAE,CACvD,CACV,CAAC,GACD,IAAI,eACRzH,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAyJ,aAAa,MAAE,CAAC,eACjBxK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ,qBACP/J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAkK,aAAa,MAAE,CAAC,aAET,CAAC,eACXhL,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ,qBACP/J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAmK,mBAAmB,MAAE,CAAC,kBAEf,CAAC,eACXjL,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ,qBACP/J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAoK,0BAA0B,MAAE,CAAC,uBAEtB,CAAC,eACXlL,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAyJ,aAAa,MAAE,CAAC,eACjBxK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ,qBACP/J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAqK,SAAS,MAAE,CAAC,UAEL,CACN,CACW,CACpB;EAED,oBACEnL,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAAlF,MAAA,CAAAgC,OAAA,CAAA2I,QAAA,qBACE3K,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACkB,sBAAsB,MAAE,CAAC,eAC1BpG,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAClE,KAAA,CAAAoK,IAAI;IACHvE,IAAI,EAAEA,IAAK;IACXwE,MAAM,EAAE,SAARA,MAAMA,CAAA;MAAA,OAAQvE,OAAO,CAAC,IAAI,CAAC;IAAA,CAAC;IAC5BwE,OAAO,EAAEjC,WAAY;IACrBkC,QAAQ,EAAC,YAAY;IACrBC,aAAa,EAAE/E,kBAAkB,GAAG,sBAAsB,GAAGgF,SAAU;IACvEC,MAAM,eACJ1L,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACrE,WAAA,CAAA8K,UAAU;MAACC,IAAI,EAAC,QAAQ;MAACC,OAAO,EAAC,WAAW;MAACC,MAAM,EAAEjF;IAAK,gBACzD7G,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAiL,YAAY,MAAE,CACL;EACb,GAEAtF,kBAAkB,gBACjBzG,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC9D,YAAA,CAAA4K,gBAAgB;IAACC,EAAE;IAACrC,KAAK,EAAE;MAAEnC,MAAM;MAAEsD,KAAK,EAAE5E;IAAmB;EAAE,gBAChEnG,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAK0E,KAAK,EAAE;MAAE2B,QAAQ,EAAE,UAAU;MAAEW,QAAQ,EAAE;IAAS;EAAE,gBACvDlM,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC9D,YAAA,CAAA+K,wBAAwB;IACvBF,EAAE,EAAEhF,IAAI,KAAK,OAAQ;IACrBmF,SAAS,EAAE/E,MAAM,GAAG,MAAM,GAAG;EAAQ,gBAErCrH,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAKmH,GAAG,EAAEtD,OAAQ;IAACa,KAAK,EAAE;MAAEmB,KAAK,EAAE5E;IAAmB;EAAE,GACrDuD,SACE,CACmB,CAAC,eAC3B1J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC9D,YAAA,CAAA+K,wBAAwB;IACvBF,EAAE,EAAEhF,IAAI,KAAK,cAAe;IAC5BmF,SAAS,EAAE/E,MAAM,GAAG,MAAM,GAAG;EAAQ,gBAErCrH,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAKmH,GAAG,EAAEtD,OAAQ;IAACa,KAAK,EAAE;MAAEmB,KAAK,EAAE5E;IAAmB;EAAE,gBACtDnG,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAClE,KAAA,CAAAsL,UAAU;IACTtH,KAAK,EAAC,cAAc;IACpBuH,WAAW,eACTvM,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACrE,WAAA,CAAA8K,UAAU;MACTC,IAAI,EAAC,QAAQ;MACbC,OAAO,EAAC,WAAW;MACnBW,IAAI,EAAC,OAAO;MACZ5B,OAAO,EAAExB,WAAY;MACrB,cAAW;IAAM,gBAEjBpJ,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAA2L,aAAa,MAAE,CACN;EACb,CACF,CAAC,eACFzM,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACK,iBAAiB,qBAChBvF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAA4I,IAAI;IAACC,KAAK,EAAE;MAAEC,OAAO,EAAE;IAAQ,CAAE;IAACC,QAAQ,EAAE,CAAC;EAAE,GAC7CnB,WAAW,CAAC+D,GAAG,CAAC,UAACjH,IAAI;IAAA,oBACpBzF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ;MACP4C,GAAG,EAAElH,IAAI,CAACK,EAAG;MACbX,SAAS,EAAC,UAAU;MACpByF,OAAO,EAAE,SAATA,OAAOA,CAAA;QAAA,OAAQnB,oBAAoB,CAAC,CAAC;MAAA;IAAC,gBAEtCzJ,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAA+J,iBAAiB,MAAE,CAAC,eACrB7K,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;MAAMC,SAAS,EAAC;IAAW,GACxBK,mBAAmB,CAACC,IAAI,CACrB,CACE,CAAC;EAAA,CACZ,CAAC,EACDkD,WAAW,CAAClF,MAAM,GAAG,CAAC,gBAAGzD,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAyJ,aAAa,MAAE,CAAC,GAAG,IAAI,eAClDxK,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACnE,KAAA,CAAAgJ,QAAQ;IAACa,OAAO,EAAEpB;EAAc,gBAC/BxJ,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAA8L,wBAAwB,MAAE,CAAC,sBAEpB,CACN,CACW,CAChB,CACmB,CACvB,CACW,CAAC,GAEnBlD,SAEE,CAAC,eAEP1J,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC9E,wBAAA,CAAAyM,uBAAuB;IACtBhG,IAAI,EAAEoB,WAAY;IAClBqD,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQpD,cAAc,CAAC,KAAK,CAAC;IAAA,CAAC;IACrC4E,SAAS,EAAExD,eAAgB;IAC3ByD,YAAY,EAAExE,gBAAiB;IAC/ByE,WAAW,EAAErH;EAAY,CAC1B,CAAC,eAEF3F,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACvE,OAAA,CAAAsM,MAAM;IACLpG,IAAI,EAAEwB,QAAS;IACfiD,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQhD,WAAW,CAAC,KAAK,CAAC;IAAA,CAAC;IAClC4E,qBAAqB;EAAA,gBAErBlN,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACvE,OAAA,CAAAsM,MAAM,CAACE,KAAK,QAAC,iBAA6B,CAAC,eAC5CnN,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACvE,OAAA,CAAAsM,MAAM,CAACG,cAAc,MAAE,CAAC,eACzBpN,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACvE,OAAA,CAAAsM,MAAM,CAACI,OAAO,qBACbrN,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC7D,WAAA,CAAAiM,KAAK,QAAC,8FAGA,CACO,CAAC,eACjBtN,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACvE,OAAA,CAAAsM,MAAM,CAACG,cAAc,MAAE,CAAC,eACzBpN,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACvE,OAAA,CAAAsM,MAAM,CAACM,OAAO,qBACbvN,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC3E,OAAA,CAAAiN,MAAM;IAAC3B,OAAO,EAAC,SAAS;IAACjB,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQtC,WAAW,CAAC,KAAK,CAAC;IAAA;EAAC,GAAC,QAErD,CACM,CACV,CACR,CAAC;AAEP,CAAC;;AAED;AACA;AACA;AACA;;AAQA,IAAMmF,eAAgC,GAAG,CACvC;EACEpK,IAAI,EAAE,aAAa;EACnBqK,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAEC,qBAAa,CAACC,IAAI;EACzBC,MAAM,EAAE;AACV,CAAC,EACD;EAAEzK,IAAI,EAAE,eAAe;EAAEqK,QAAQ,EAAE,IAAI;EAAEC,KAAK,EAAEC,qBAAa,CAACG;AAAO,CAAC,EACtE;EAAE1K,IAAI,EAAE,kBAAkB;EAAEqK,QAAQ,EAAE,IAAI;EAAEC,KAAK,EAAE;AAAU,CAAC,EAC9D;EAAEtK,IAAI,EAAE,eAAe;EAAEqK,QAAQ,EAAE,IAAI;EAAEC,KAAK,EAAEC,qBAAa,CAACI;AAAO,CAAC,CACvE;AAED,IAAMC,gBAAgB,GAAG3J,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,o1BAkBAwJ,kBAAU,EAgBrB9J,WAAW,EAKVA,WAAW,CAmCnC;AAED,IAAM+J,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAuB;EACxC,IAAAC,WAAA,GAAwB,IAAAzH,eAAQ,EAAC,KAAK,CAAC;IAAA0H,WAAA,GAAA3L,cAAA,CAAA0L,WAAA;IAAhCvH,IAAI,GAAAwH,WAAA;IAAEvH,OAAO,GAAAuH,WAAA;EACpB,oBACErO,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAClE,KAAA,CAAAoK,IAAI;IACHvE,IAAI,EAAEA,IAAK;IACXwE,MAAM,EAAE,SAARA,MAAMA,CAAA;MAAA,OAAQvE,OAAO,CAAC,IAAI,CAAC;IAAA,CAAC;IAC5BwE,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQxE,OAAO,CAAC,KAAK,CAAC;IAAA,CAAC;IAC9ByE,QAAQ,EAAC,YAAY;IACrBG,MAAM,eACJ1L,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACxE,cAAA,CAAA4N,aAAa;MACZC,KAAK,EAAEC,MAAM,CAACf,eAAe,CAAChK,MAAM,CAAE;MACtCgL,IAAI,eAAEzO,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAA4N,UAAU,MAAE,CAAE;MACrB5C,MAAM,EAAEjF,IAAK;MACb8H,UAAU,EAAE,SAAZA,UAAUA,CAAA;QAAA,OAAQlD,SAAS;MAAA;IAAC,CAC7B;EACF,gBAEDzL,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC+I,gBAAgB,qBACfjO,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAClE,KAAA,CAAAsL,UAAU;IACTtH,KAAK,EAAC,QAAQ;IACd4J,YAAY,eACV5O,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACrE,WAAA,CAAA8K,UAAU;MACTC,IAAI,EAAC,QAAQ;MACbC,OAAO,EAAC,WAAW;MACnBW,IAAI,EAAC,OAAO;MACZ,cAAW;IAAY,gBAEvBxM,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAA+N,gBAAgB,MAAE,CACT;EACb,CACF,CAAC,eACF7O,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC7D,WAAA,CAAAyN,QAAQ;IAACC,MAAM,EAAC,MAAM;IAAC5J,SAAS,EAAC;EAAe,GAAC,SAExC,CAAC,EACVsI,eAAe,CAACf,GAAG,CAAC,UAACsC,MAAM;IAAA,oBAC1BhP,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;MACEC,SAAS,EAAE6J,MAAM,CAAClB,MAAM,GAAG,mBAAmB,GAAG,YAAa;MAC9DnB,GAAG,EAAEqC,MAAM,CAAC3L;IAAK,gBAEjBrD,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC7E,YAAA,CAAA4O,WAAW;MACV9J,SAAS,EAAC,eAAe;MACzB+J,GAAG,EAAEF,MAAM,CAACrB,KAAM;MAClBwB,SAAS,EAAE;IAAM,GAEhBH,MAAM,CAACtB,QACG,CAAC,eACd1N,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC7D,WAAA,CAAAiM,KAAK;MAACnI,SAAS,EAAC;IAAa,GAAE6J,MAAM,CAAC3L,IAAY,CAAC,eACpDrD,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;MAAMC,SAAS,EAAC;IAAc,GAC3B6J,MAAM,CAAClB,MAAM,iBACZ9N,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAsO,iBAAiB;MAChBjK,SAAS,EAAC,cAAc;MACxByE,KAAK,EAAE;QAAEyF,IAAI,EAAEjL;MAAY;IAAE,CAC9B,CACF,eACDpE,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;MAAMC,SAAS,EAAC;IAAgB,GAC7B,CAAC6J,MAAM,CAAClB,MAAM,iBACb9N,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC/D,QAAA,CAAAmO,OAAO;MAACtK,KAAK,EAAC;IAAuB,gBACpChF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACrE,WAAA,CAAA8K,UAAU;MAACC,IAAI,EAAC,QAAQ;MAACC,OAAO,EAAC,WAAW;MAACW,IAAI,EAAC;IAAO,gBACxDxM,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAyO,cAAc,MAAE,CACP,CACL,CACV,eACDvP,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC/D,QAAA,CAAAmO,OAAO;MAACtK,KAAK,EAAC;IAAqB,gBAClChF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACrE,WAAA,CAAA8K,UAAU;MAACC,IAAI,EAAC,QAAQ;MAACC,OAAO,EAAC,WAAW;MAACW,IAAI,EAAC;IAAO,gBACxDxM,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAA0O,cAAc,MAAE,CACP,CACL,CACL,CACF,CACH,CAAC;EAAA,CACP,CACe,CACd,CAAC;AAEX,CAAC;AASD;AACO,IAAMC,iBAAiB,GAAA3K,OAAA,CAAA2K,iBAAA,GAAG,SAApBA,iBAAiBA,CAAAC,KAAA;EAAA,IAAAC,WAAA,GAAAD,KAAA,CAC5B1K,KAAK;IAALA,KAAK,GAAA2K,WAAA,cAAG,oBAAoB,GAAAA,WAAA;IAAAC,qBAAA,GAAAF,KAAA,CAC5BjJ,kBAAkB;IAAlBA,kBAAkB,GAAAmJ,qBAAA,cAAG,KAAK,GAAAA,qBAAA;EAAA,oBAE1B5P,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACb,gBAAgB,qBACfrE,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAKC,SAAS,EAAC;EAAkB,gBAC/BnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACrE,WAAA,CAAA8K,UAAU;IAACE,OAAO,EAAC,WAAW;IAAC1G,SAAS,EAAC;EAAa,gBACrDnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAA2L,aAAa,MAAE,CACN,CAAC,eACbzM,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC7D,WAAA,CAAA+D,MAAM;IAACD,SAAS,EAAC;EAAoB,GAAEH,KAAc,CAAC,eACvDhF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC7D,WAAA,CAAAgE,OAAO;IAACF,SAAS,EAAC;EAAmB,GAAEH,KAAe,CAAC,eACxDhF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAKC,SAAS,EAAC;EAAsB,gBACnCnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACI,2BAA2B,qBAC1BtF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAMC,SAAS,EAAC;EAAkB,gBAChCnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAChE,YAAA,CAAA2O,WAAW;IACVC,MAAM,EAAE,EAAG;IACXC,QAAQ,EAAE,EAAG;IACbC,aAAa,EAAC,wBAAwB;IACtCC,eAAe,EAAC;EAAwB,CACzC,CACG,CAAC,eACPjQ,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC/D,QAAA,CAAAmO,OAAO;IAACtK,KAAK,EAAC;EAAc,gBAC3BhF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACrE,WAAA,CAAA8K,UAAU;IAACE,OAAO,EAAC;EAAW,gBAC7B7L,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAoP,QAAQ,MAAE,CACD,CACL,CAAC,eACVlQ,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACiJ,aAAa,MAAE,CAAC,eACjBnO,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACoB,kBAAkB;IAACG,kBAAkB,EAAEA;EAAmB,CAAE,CAClC,CAC1B,CACF,CAAC,eACNzG,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAKC,SAAS,EAAC;EAAoB,CAAE,CACrB,CAAC;AAAA,CACpB;AAEDsK,iBAAiB,CAAChL,WAAW,GAAG,mBAAmB;;AAEnD;AACA;AACA;;AAEA,IAAM0L,QAAQ,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;AAEvE,IAAMC,eAAe,GAAG,IAAA9L,yBAAM,EAAC+L,cAAM,CAAC,CAAA7L,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0GAMrC;AAED,IAAM4L,iBAAiB,GAAGhM,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sNAkBnC;AAOD;AACO,IAAM6L,SAAS,GAAAzL,OAAA,CAAAyL,SAAA,GAAG,SAAZA,SAASA,CAAAC,KAAA,EAEc;EAAA,IAAAC,gBAAA,GAAAD,KAAA,CADlCE,UAAU;IAAVA,UAAU,GAAAD,gBAAA,cAAG,MAAM,GAAAA,gBAAA;EAEnB,IAAAE,WAAA,GAA4B,IAAAhK,eAAQ,EAAC,CAAC,CAAC;IAAAiK,WAAA,GAAAlO,cAAA,CAAAiO,WAAA;IAAhC7E,MAAM,GAAA8E,WAAA;IAAEC,SAAS,GAAAD,WAAA;EACxB,oBACE5Q,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACkL,eAAe,qBACdpQ,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACjE,IAAA,CAAA6P,GAAG;IAACC,QAAQ,EAAEF;EAAU,GACtBV,QAAQ,CAACzD,GAAG,CAAC,UAAC6B,KAAK,EAAEyC,KAAK;IAAA,oBACzBhR,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACjE,IAAA,CAAAgQ,IAAI;MAACnF,MAAM,EAAEkF,KAAK,KAAKlF,MAAO;MAACa,GAAG,EAAE4B,KAAM;MAAClL,IAAI,EAAEkL;IAAM,gBACtDvO,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC7D,WAAA,CAAAiM,KAAK;MAACK,KAAK,EAAC,WAAW;MAACoB,MAAM,EAAC;IAAQ,GACrCR,KACI,CACH,CAAC;EAAA,CACR,CACE,CAAC,eACNvO,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACoL,iBAAiB,qBAChBtQ,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC/D,QAAA,CAAAmO,OAAO;IAACtK,KAAK,EAAC;EAAY,gBACzBhF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACrE,WAAA,CAAA8K,UAAU;IAACE,OAAO,EAAC;EAAW,gBAC7B7L,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAoQ,gBAAgB,MAAE,CACT,CACL,CAAC,eACVlR,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAMC,SAAS,EAAC;EAAoB,CAAE,CAAC,eACvCnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC3E,OAAA,CAAAiN,MAAM;IAAC3B,OAAO,EAAC,WAAW;IAAC1G,SAAS,EAAC;EAAe,gBACnDnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAqQ,UAAU,MAAE,CAAC,UAER,CAAC,eACTnR,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC/D,QAAA,CAAAmO,OAAO;IAACtK,KAAK,EAAC;EAAW,gBACxBhF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACrE,WAAA,CAAA8K,UAAU;IAACE,OAAO,EAAC,WAAW;IAACC,MAAM,EAAE4E,UAAU,KAAK;EAAO,gBAC5D1Q,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAsQ,YAAY,MAAE,CACL,CACL,CAAC,eACVpR,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC/D,QAAA,CAAAmO,OAAO;IAACtK,KAAK,EAAC;EAAa,gBAC1BhF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACrE,WAAA,CAAA8K,UAAU;IAACE,OAAO,EAAC,WAAW;IAACC,MAAM,EAAE4E,UAAU,KAAK;EAAS,gBAC9D1Q,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAsQ,YAAY;IAACxH,KAAK,EAAE;MAAEyH,SAAS,EAAE;IAAgB;EAAE,CAAE,CAC5C,CACL,CAAC,eACVrR,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC/D,QAAA,CAAAmO,OAAO;IAACtK,KAAK,EAAC;EAAe,gBAC5BhF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACrE,WAAA,CAAA8K,UAAU;IAACE,OAAO,EAAC,WAAW;IAACC,MAAM,EAAE4E,UAAU,KAAK;EAAW,gBAChE1Q,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAACpE,MAAA,CAAAwQ,gBAAgB,MAAE,CACT,CACL,CAAC,eACVtR,MAAA,CAAAgC,OAAA,CAAAkD,aAAA;IAAMC,SAAS,EAAC;EAAoB,CAAE,CAAC,eACvCnF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC/D,QAAA,CAAAmO,OAAO;IAACtK,KAAK,EAAC;EAAS,gBACtBhF,MAAA,CAAAgC,OAAA,CAAAkD,aAAA,CAAC1E,gBAAA,CAAA+Q,eAAe,MAAE,CACX,CACQ,CACJ,CAAC;AAEtB,CAAC;AAEDhB,SAAS,CAAC9L,WAAW,GAAG,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* @component GitRepositoryConnectIcon
|
|
4
|
+
* @description
|
|
5
|
+
* Outline repository glyph (a stacked database cylinder) with a cutout in the
|
|
6
|
+
* upper-right corner holding a small plug badge — used to signify connecting /
|
|
7
|
+
* linking a repository.
|
|
8
|
+
*
|
|
9
|
+
* @prop {string} [gradient] - Optional CSS linear-gradient string applied to the stroke.
|
|
10
|
+
*
|
|
11
|
+
* @see https://design.activecollab.com/docs/foundations/icons
|
|
12
|
+
*/
|
|
13
|
+
declare const GitRepositoryConnectIcon: React.ForwardRefExoticComponent<Omit<React.SVGProps<SVGSVGElement> & {
|
|
14
|
+
gradient?: string;
|
|
15
|
+
}, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
16
|
+
export default GitRepositoryConnectIcon;
|
|
17
|
+
//# sourceMappingURL=GitRepositoryConnect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitRepositoryConnect.d.ts","sourceRoot":"","sources":["../../../../../src/components/Icons/collection/GitRepositoryConnect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC;;;;;;;;;;GAUG;AACH,QAAA,MAAM,wBAAwB;eAMb,MAAM;+CAyDtB,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|