@activecollab/components 2.0.364 → 2.0.365
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/presentation/shared/index.js +37 -1
- package/dist/cjs/presentation/shared/index.js.map +1 -1
- package/dist/cjs/presentation/shared/settings.js +91 -0
- package/dist/cjs/presentation/shared/settings.js.map +1 -0
- package/dist/esm/presentation/shared/index.d.ts +2 -0
- package/dist/esm/presentation/shared/index.d.ts.map +1 -1
- package/dist/esm/presentation/shared/index.js +1 -0
- package/dist/esm/presentation/shared/index.js.map +1 -1
- package/dist/esm/presentation/shared/settings.d.ts +33 -0
- package/dist/esm/presentation/shared/settings.d.ts.map +1 -0
- package/dist/esm/presentation/shared/settings.js +84 -0
- package/dist/esm/presentation/shared/settings.js.map +1 -0
- package/package.json +1 -1
|
@@ -36,7 +36,12 @@ var _exportNames = {
|
|
|
36
36
|
UserMenu: true,
|
|
37
37
|
TwoFactorShield: true,
|
|
38
38
|
BackupCodesDialogs: true,
|
|
39
|
-
CreateLoginCodeDialogs: true
|
|
39
|
+
CreateLoginCodeDialogs: true,
|
|
40
|
+
SettingsHeader: true,
|
|
41
|
+
SettingsContent: true,
|
|
42
|
+
StyledSettingRow: true,
|
|
43
|
+
RowText: true,
|
|
44
|
+
SettingRow: true
|
|
40
45
|
};
|
|
41
46
|
Object.defineProperty(exports, "BackupCodesDialogs", {
|
|
42
47
|
enumerable: true,
|
|
@@ -158,6 +163,30 @@ Object.defineProperty(exports, "RoundAvatar", {
|
|
|
158
163
|
return _RoundAvatar.RoundAvatar;
|
|
159
164
|
}
|
|
160
165
|
});
|
|
166
|
+
Object.defineProperty(exports, "RowText", {
|
|
167
|
+
enumerable: true,
|
|
168
|
+
get: function get() {
|
|
169
|
+
return _settings.RowText;
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
Object.defineProperty(exports, "SettingRow", {
|
|
173
|
+
enumerable: true,
|
|
174
|
+
get: function get() {
|
|
175
|
+
return _settings.SettingRow;
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
Object.defineProperty(exports, "SettingsContent", {
|
|
179
|
+
enumerable: true,
|
|
180
|
+
get: function get() {
|
|
181
|
+
return _settings.SettingsContent;
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
Object.defineProperty(exports, "SettingsHeader", {
|
|
185
|
+
enumerable: true,
|
|
186
|
+
get: function get() {
|
|
187
|
+
return _settings.SettingsHeader;
|
|
188
|
+
}
|
|
189
|
+
});
|
|
161
190
|
Object.defineProperty(exports, "SourceCodeSection", {
|
|
162
191
|
enumerable: true,
|
|
163
192
|
get: function get() {
|
|
@@ -176,6 +205,12 @@ Object.defineProperty(exports, "StyledPagePaper", {
|
|
|
176
205
|
return _PresentationShell.StyledPagePaper;
|
|
177
206
|
}
|
|
178
207
|
});
|
|
208
|
+
Object.defineProperty(exports, "StyledSettingRow", {
|
|
209
|
+
enumerable: true,
|
|
210
|
+
get: function get() {
|
|
211
|
+
return _settings.StyledSettingRow;
|
|
212
|
+
}
|
|
213
|
+
});
|
|
179
214
|
Object.defineProperty(exports, "SuggestSubtasksButton", {
|
|
180
215
|
enumerable: true,
|
|
181
216
|
get: function get() {
|
|
@@ -264,4 +299,5 @@ var _TaskOptionsMenu = require("./TaskOptionsMenu");
|
|
|
264
299
|
var _UserMenu = require("./UserMenu");
|
|
265
300
|
var _TwoFactorShield = require("./TwoFactorShield");
|
|
266
301
|
var _TwoFactorDialogs = require("./TwoFactorDialogs");
|
|
302
|
+
var _settings = require("./settings");
|
|
267
303
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_tokens","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_MainLogo","_RoundAvatar","_PresentationShell","_headers","_FloatingControls","_HelpAndSupportMenu","_LinkingCommandsButton","_LinkBranchOrPullRequestDialog","_ConnectRepositoryDialog","_WebhookLogsDialog","_SourceCodeSection","_SuggestSubtasksButton","_TaskOptionsMenu","_UserMenu","_TwoFactorShield","_TwoFactorDialogs"],"sources":["../../../../src/presentation/shared/index.ts"],"sourcesContent":["/**\n * Shared building blocks for the Presentation mock-ups (`Presentation/*`\n * stories). The application shell, page headers, tab bar and small widgets are\n * defined once here and reused by the List view, Column view, Task sheet and\n * empty-page stories so the chrome stays identical and in one place.\n */\nexport * from \"./tokens\";\nexport { MainLogo } from \"./MainLogo\";\nexport { RoundAvatar } from \"./RoundAvatar\";\nexport { PresentationShell, StyledPagePaper } from \"./PresentationShell\";\nexport type { PresentationShellProps } from \"./PresentationShell\";\nexport { PageHeader, ProjectPageHeader, TabHeader } from \"./headers\";\nexport type {\n PageHeaderProps,\n ProjectPageHeaderProps,\n TabHeaderProps,\n} from \"./headers\";\nexport { FloatingControls } from \"./FloatingControls\";\nexport { HelpAndSupportMenu } from \"./HelpAndSupportMenu\";\nexport type { HelpAndSupportMenuProps } from \"./HelpAndSupportMenu\";\nexport { LinkingCommandsButton } from \"./LinkingCommandsButton\";\nexport { LinkBranchOrPullRequestDialog } from \"./LinkBranchOrPullRequestDialog\";\nexport type { LinkBranchOrPullRequestDialogProps } from \"./LinkBranchOrPullRequestDialog\";\nexport {\n ConnectRepositoryDialog,\n RepositorySelect,\n buildRepoOptions,\n CONNECTIONS,\n PROJECT_REPOSITORIES,\n CONNECTABLE_REPOSITORIES,\n} from \"./ConnectRepositoryDialog\";\nexport type {\n ConnectRepositoryDialogProps,\n RepositorySelectProps,\n Connection,\n ConnectionService,\n Repository,\n} from \"./ConnectRepositoryDialog\";\nexport {\n WebhookLogsDialog,\n WEBHOOK_CONNECTIONS,\n WEBHOOK_REPOSITORIES,\n} from \"./WebhookLogsDialog\";\nexport type {\n WebhookLogsDialogProps,\n WebhookConnection,\n WebhookRepository,\n WebhookLog,\n} from \"./WebhookLogsDialog\";\nexport {\n SourceCodeSection,\n IssueRow,\n CodeRow,\n Spine,\n HistoryDialog,\n CompletedHeader,\n} from \"./SourceCodeSection\";\nexport type {\n IssueEntry,\n CodeEntry,\n Stage,\n HistoryEvent,\n StageState,\n CodeStatus,\n SectionVariant,\n} from \"./SourceCodeSection\";\nexport { SuggestSubtasksButton } from \"./SuggestSubtasksButton\";\nexport { TaskOptionsMenu, TaskListOptionsMenu } from \"./TaskOptionsMenu\";\nexport type {\n TaskOptionsMenuProps,\n TaskListOptionsMenuProps,\n} from \"./TaskOptionsMenu\";\nexport { UserMenu } from \"./UserMenu\";\nexport type { UserMenuProps, UserMenuVariant } from \"./UserMenu\";\nexport { TwoFactorShield } from \"./TwoFactorShield\";\nexport type { TwoFactorShieldProps } from \"./TwoFactorShield\";\nexport { BackupCodesDialogs, CreateLoginCodeDialogs } from \"./TwoFactorDialogs\";\nexport type {\n BackupCodesDialogsProps,\n CreateLoginCodeDialogsProps,\n} from \"./TwoFactorDialogs\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_tokens","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_MainLogo","_RoundAvatar","_PresentationShell","_headers","_FloatingControls","_HelpAndSupportMenu","_LinkingCommandsButton","_LinkBranchOrPullRequestDialog","_ConnectRepositoryDialog","_WebhookLogsDialog","_SourceCodeSection","_SuggestSubtasksButton","_TaskOptionsMenu","_UserMenu","_TwoFactorShield","_TwoFactorDialogs","_settings"],"sources":["../../../../src/presentation/shared/index.ts"],"sourcesContent":["/**\n * Shared building blocks for the Presentation mock-ups (`Presentation/*`\n * stories). The application shell, page headers, tab bar and small widgets are\n * defined once here and reused by the List view, Column view, Task sheet and\n * empty-page stories so the chrome stays identical and in one place.\n */\nexport * from \"./tokens\";\nexport { MainLogo } from \"./MainLogo\";\nexport { RoundAvatar } from \"./RoundAvatar\";\nexport { PresentationShell, StyledPagePaper } from \"./PresentationShell\";\nexport type { PresentationShellProps } from \"./PresentationShell\";\nexport { PageHeader, ProjectPageHeader, TabHeader } from \"./headers\";\nexport type {\n PageHeaderProps,\n ProjectPageHeaderProps,\n TabHeaderProps,\n} from \"./headers\";\nexport { FloatingControls } from \"./FloatingControls\";\nexport { HelpAndSupportMenu } from \"./HelpAndSupportMenu\";\nexport type { HelpAndSupportMenuProps } from \"./HelpAndSupportMenu\";\nexport { LinkingCommandsButton } from \"./LinkingCommandsButton\";\nexport { LinkBranchOrPullRequestDialog } from \"./LinkBranchOrPullRequestDialog\";\nexport type { LinkBranchOrPullRequestDialogProps } from \"./LinkBranchOrPullRequestDialog\";\nexport {\n ConnectRepositoryDialog,\n RepositorySelect,\n buildRepoOptions,\n CONNECTIONS,\n PROJECT_REPOSITORIES,\n CONNECTABLE_REPOSITORIES,\n} from \"./ConnectRepositoryDialog\";\nexport type {\n ConnectRepositoryDialogProps,\n RepositorySelectProps,\n Connection,\n ConnectionService,\n Repository,\n} from \"./ConnectRepositoryDialog\";\nexport {\n WebhookLogsDialog,\n WEBHOOK_CONNECTIONS,\n WEBHOOK_REPOSITORIES,\n} from \"./WebhookLogsDialog\";\nexport type {\n WebhookLogsDialogProps,\n WebhookConnection,\n WebhookRepository,\n WebhookLog,\n} from \"./WebhookLogsDialog\";\nexport {\n SourceCodeSection,\n IssueRow,\n CodeRow,\n Spine,\n HistoryDialog,\n CompletedHeader,\n} from \"./SourceCodeSection\";\nexport type {\n IssueEntry,\n CodeEntry,\n Stage,\n HistoryEvent,\n StageState,\n CodeStatus,\n SectionVariant,\n} from \"./SourceCodeSection\";\nexport { SuggestSubtasksButton } from \"./SuggestSubtasksButton\";\nexport { TaskOptionsMenu, TaskListOptionsMenu } from \"./TaskOptionsMenu\";\nexport type {\n TaskOptionsMenuProps,\n TaskListOptionsMenuProps,\n} from \"./TaskOptionsMenu\";\nexport { UserMenu } from \"./UserMenu\";\nexport type { UserMenuProps, UserMenuVariant } from \"./UserMenu\";\nexport { TwoFactorShield } from \"./TwoFactorShield\";\nexport type { TwoFactorShieldProps } from \"./TwoFactorShield\";\nexport { BackupCodesDialogs, CreateLoginCodeDialogs } from \"./TwoFactorDialogs\";\nexport type {\n BackupCodesDialogsProps,\n CreateLoginCodeDialogsProps,\n} from \"./TwoFactorDialogs\";\nexport {\n SettingsHeader,\n SettingsContent,\n StyledSettingRow,\n RowText,\n SettingRow,\n} from \"./settings\";\nexport type { SettingsHeaderProps, SettingRowProps } from \"./settings\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAb,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,SAAA,GAAAb,OAAA;AACA,IAAAc,YAAA,GAAAd,OAAA;AACA,IAAAe,kBAAA,GAAAf,OAAA;AAEA,IAAAgB,QAAA,GAAAhB,OAAA;AAMA,IAAAiB,iBAAA,GAAAjB,OAAA;AACA,IAAAkB,mBAAA,GAAAlB,OAAA;AAEA,IAAAmB,sBAAA,GAAAnB,OAAA;AACA,IAAAoB,8BAAA,GAAApB,OAAA;AAEA,IAAAqB,wBAAA,GAAArB,OAAA;AAeA,IAAAsB,kBAAA,GAAAtB,OAAA;AAWA,IAAAuB,kBAAA,GAAAvB,OAAA;AAiBA,IAAAwB,sBAAA,GAAAxB,OAAA;AACA,IAAAyB,gBAAA,GAAAzB,OAAA;AAKA,IAAA0B,SAAA,GAAA1B,OAAA;AAEA,IAAA2B,gBAAA,GAAA3B,OAAA;AAEA,IAAA4B,iBAAA,GAAA5B,OAAA;AAKA,IAAA6B,SAAA,GAAA7B,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StyledSettingRow = exports.SettingsHeader = exports.SettingsContent = exports.SettingRow = exports.RowText = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
|
+
var _tokens = require("./tokens");
|
|
10
|
+
var _Card = require("../../components/Card");
|
|
11
|
+
var _IconButton = require("../../components/IconButton");
|
|
12
|
+
var _Icons = require("../../components/Icons");
|
|
13
|
+
var _Typography = require("../../components/Typography");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
/**
|
|
16
|
+
* Shared building blocks for the System Settings presentation stories
|
|
17
|
+
* (`Presentation/System Settings/*`). The settings page header, the max-width
|
|
18
|
+
* body column and the "row" card (title + description on the left, a control on
|
|
19
|
+
* the right) are defined once here and reused by the Index, General and
|
|
20
|
+
* Security stories so the chrome stays identical and in one place.
|
|
21
|
+
*
|
|
22
|
+
* Mirrors the app: PageHeader.jsx + BackButton.js (header) and the repeated
|
|
23
|
+
* `Card variant="paper-2"` row pattern from the SystemSettings pages.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/* ------------------------------------------------------------------ */
|
|
27
|
+
/* Settings page header (mirrors PageHeader.jsx + BackButton.js) */
|
|
28
|
+
/* ------------------------------------------------------------------ */
|
|
29
|
+
|
|
30
|
+
var StyledSettingsHeader = _styledComponents.default.div.withConfig({
|
|
31
|
+
displayName: "settings__StyledSettingsHeader",
|
|
32
|
+
componentId: "sc-1el9eq3-0"
|
|
33
|
+
})(["display:flex;align-items:center;justify-content:space-between;margin:12px 0;width:100%;height:40px;flex-shrink:0;.header-left{display:flex;align-items:center;width:100%;max-width:100%;@media (min-width:", "){min-width:0;}}.back-button{flex-shrink:0;margin-right:4px;@media (min-width:", "){margin-right:8px;}}.page-title-desktop{display:none;margin-right:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;@media (min-width:", "){display:block;}}.page-title-mobile{display:block;margin-right:8px;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;@media (min-width:", "){display:none;}}.page-header-spacer{display:none;height:100%;width:208px;flex-shrink:0;@media (min-width:", "){display:flex;}}"], _tokens.SM, _tokens.MD, _tokens.MD, _tokens.MD, _tokens.SM);
|
|
34
|
+
var SettingsHeader = exports.SettingsHeader = function SettingsHeader(_ref) {
|
|
35
|
+
var title = _ref.title,
|
|
36
|
+
backTitle = _ref.backTitle;
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(StyledSettingsHeader, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
38
|
+
className: "header-left"
|
|
39
|
+
}, backTitle ? /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
|
|
40
|
+
variant: "text gray",
|
|
41
|
+
className: "back-button"
|
|
42
|
+
}, /*#__PURE__*/_react.default.createElement(_Icons.ArrowLeftIcon, null)) : null, /*#__PURE__*/_react.default.createElement(_Typography.Title2, {
|
|
43
|
+
className: "page-title-desktop"
|
|
44
|
+
}, title), /*#__PURE__*/_react.default.createElement(_Typography.Header2, {
|
|
45
|
+
className: "page-title-mobile"
|
|
46
|
+
}, title)), /*#__PURE__*/_react.default.createElement("div", {
|
|
47
|
+
className: "page-header-spacer"
|
|
48
|
+
}));
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/* ------------------------------------------------------------------ */
|
|
52
|
+
/* Shared layout pieces */
|
|
53
|
+
/* ------------------------------------------------------------------ */
|
|
54
|
+
|
|
55
|
+
/** The page body, max-width 850px and left-aligned (mirrors the app Page). */
|
|
56
|
+
var SettingsContent = exports.SettingsContent = _styledComponents.default.div.withConfig({
|
|
57
|
+
displayName: "settings__SettingsContent",
|
|
58
|
+
componentId: "sc-1el9eq3-1"
|
|
59
|
+
})(["display:flex;flex-direction:column;flex-grow:1;width:100%;max-width:850px;"]);
|
|
60
|
+
|
|
61
|
+
/** A settings row card: title + description on the left, control on the right. */
|
|
62
|
+
var StyledSettingRow = exports.StyledSettingRow = (0, _styledComponents.default)(_Card.Card).withConfig({
|
|
63
|
+
displayName: "settings__StyledSettingRow",
|
|
64
|
+
componentId: "sc-1el9eq3-2"
|
|
65
|
+
})(["box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:12px 16px 12px 20px;margin-bottom:4px;", ""], function (_ref2) {
|
|
66
|
+
var $clickable = _ref2.$clickable;
|
|
67
|
+
return $clickable ? "\n cursor: pointer;\n\n &:hover {\n background-color: var(--color-theme-200);\n }\n " : "";
|
|
68
|
+
});
|
|
69
|
+
var RowText = exports.RowText = _styledComponents.default.div.withConfig({
|
|
70
|
+
displayName: "settings__RowText",
|
|
71
|
+
componentId: "sc-1el9eq3-3"
|
|
72
|
+
})(["display:flex;flex-direction:column;flex:1 1 0%;min-width:0;padding-right:12px;.row-title{margin-bottom:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.row-description{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.row-description-wrap{white-space:normal;}"]);
|
|
73
|
+
var SettingRow = exports.SettingRow = function SettingRow(_ref3) {
|
|
74
|
+
var title = _ref3.title,
|
|
75
|
+
description = _ref3.description,
|
|
76
|
+
control = _ref3.control,
|
|
77
|
+
onClick = _ref3.onClick,
|
|
78
|
+
_ref3$wrapDescription = _ref3.wrapDescription,
|
|
79
|
+
wrapDescription = _ref3$wrapDescription === void 0 ? false : _ref3$wrapDescription;
|
|
80
|
+
return /*#__PURE__*/_react.default.createElement(StyledSettingRow, {
|
|
81
|
+
variant: "paper-2",
|
|
82
|
+
$clickable: Boolean(onClick),
|
|
83
|
+
onClick: onClick
|
|
84
|
+
}, /*#__PURE__*/_react.default.createElement(RowText, null, /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
|
|
85
|
+
className: "row-title"
|
|
86
|
+
}, title), description ? /*#__PURE__*/_react.default.createElement(_Typography.Caption1, {
|
|
87
|
+
className: wrapDescription ? "row-description-wrap" : "row-description",
|
|
88
|
+
color: "tertiary"
|
|
89
|
+
}, description) : null), control);
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","names":["_react","_interopRequireDefault","require","_styledComponents","_tokens","_Card","_IconButton","_Icons","_Typography","e","__esModule","default","StyledSettingsHeader","styled","div","withConfig","displayName","componentId","SM","MD","SettingsHeader","exports","_ref","title","backTitle","createElement","className","IconButton","variant","ArrowLeftIcon","Title2","Header2","SettingsContent","StyledSettingRow","Card","_ref2","$clickable","RowText","SettingRow","_ref3","description","control","onClick","_ref3$wrapDescription","wrapDescription","Boolean","Body2","Caption1","color"],"sources":["../../../../src/presentation/shared/settings.tsx"],"sourcesContent":["/**\n * Shared building blocks for the System Settings presentation stories\n * (`Presentation/System Settings/*`). The settings page header, the max-width\n * body column and the \"row\" card (title + description on the left, a control on\n * the right) are defined once here and reused by the Index, General and\n * Security stories so the chrome stays identical and in one place.\n *\n * Mirrors the app: PageHeader.jsx + BackButton.js (header) and the repeated\n * `Card variant=\"paper-2\"` row pattern from the SystemSettings pages.\n */\nimport React, { ReactElement, ReactNode } from \"react\";\n\nimport styled from \"styled-components\";\n\nimport { MD, SM } from \"./tokens\";\nimport { Card } from \"../../components/Card\";\nimport { IconButton } from \"../../components/IconButton\";\nimport { ArrowLeftIcon } from \"../../components/Icons\";\nimport { Body2, Caption1, Header2, Title2 } from \"../../components/Typography\";\n\n/* ------------------------------------------------------------------ */\n/* Settings page header (mirrors PageHeader.jsx + BackButton.js) */\n/* ------------------------------------------------------------------ */\n\nconst StyledSettingsHeader = 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 .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 {\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 /* keeps the title clear of the absolutely-positioned top-right controls */\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 SettingsHeaderProps {\n title: string;\n backTitle?: string;\n}\n\nexport const SettingsHeader = ({\n title,\n backTitle,\n}: SettingsHeaderProps): ReactElement => (\n <StyledSettingsHeader>\n <div className=\"header-left\">\n {backTitle ? (\n <IconButton variant=\"text gray\" className=\"back-button\">\n <ArrowLeftIcon />\n </IconButton>\n ) : null}\n <Title2 className=\"page-title-desktop\">{title}</Title2>\n <Header2 className=\"page-title-mobile\">{title}</Header2>\n </div>\n <div className=\"page-header-spacer\" />\n </StyledSettingsHeader>\n);\n\n/* ------------------------------------------------------------------ */\n/* Shared layout pieces */\n/* ------------------------------------------------------------------ */\n\n/** The page body, max-width 850px and left-aligned (mirrors the app Page). */\nexport const SettingsContent = styled.div`\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n width: 100%;\n max-width: 850px;\n`;\n\n/** A settings row card: title + description on the left, control on the right. */\nexport const StyledSettingRow = styled(Card)<{ $clickable?: boolean }>`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: 68px;\n padding: 12px 16px 12px 20px;\n margin-bottom: 4px;\n\n ${({ $clickable }) =>\n $clickable\n ? `\n cursor: pointer;\n\n &:hover {\n background-color: var(--color-theme-200);\n }\n `\n : \"\"}\n`;\n\nexport const RowText = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1 1 0%;\n min-width: 0;\n padding-right: 12px;\n\n .row-title {\n margin-bottom: 2px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .row-description {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n /* Long descriptions that are allowed to wrap onto multiple lines. */\n .row-description-wrap {\n white-space: normal;\n }\n`;\n\nexport interface SettingRowProps {\n title: string;\n description?: ReactNode;\n control?: ReactNode;\n onClick?: () => void;\n /** Let a long description wrap onto multiple lines instead of truncating. */\n wrapDescription?: boolean;\n}\n\nexport const SettingRow = ({\n title,\n description,\n control,\n onClick,\n wrapDescription = false,\n}: SettingRowProps): ReactElement => (\n <StyledSettingRow\n variant=\"paper-2\"\n $clickable={Boolean(onClick)}\n onClick={onClick}\n >\n <RowText>\n <Body2 className=\"row-title\">{title}</Body2>\n {description ? (\n <Caption1\n className={\n wrapDescription ? \"row-description-wrap\" : \"row-description\"\n }\n color=\"tertiary\"\n >\n {description}\n </Caption1>\n ) : null}\n </RowText>\n {control}\n </StyledSettingRow>\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,4 +32,6 @@ export { TwoFactorShield } from "./TwoFactorShield";
|
|
|
32
32
|
export type { TwoFactorShieldProps } from "./TwoFactorShield";
|
|
33
33
|
export { BackupCodesDialogs, CreateLoginCodeDialogs } from "./TwoFactorDialogs";
|
|
34
34
|
export type { BackupCodesDialogsProps, CreateLoginCodeDialogsProps, } from "./TwoFactorDialogs";
|
|
35
|
+
export { SettingsHeader, SettingsContent, StyledSettingRow, RowText, SettingRow, } from "./settings";
|
|
36
|
+
export type { SettingsHeaderProps, SettingRowProps } from "./settings";
|
|
35
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACrE,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,YAAY,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,4BAA4B,EAC5B,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,KAAK,EACL,aAAa,EACb,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,UAAU,EACV,SAAS,EACT,KAAK,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EACV,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAChF,YAAY,EACV,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACrE,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,YAAY,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,4BAA4B,EAC5B,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,KAAK,EACL,aAAa,EACb,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,UAAU,EACV,SAAS,EACT,KAAK,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EACV,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAChF,YAAY,EACV,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -21,4 +21,5 @@ export { TaskOptionsMenu, TaskListOptionsMenu } from "./TaskOptionsMenu";
|
|
|
21
21
|
export { UserMenu } from "./UserMenu";
|
|
22
22
|
export { TwoFactorShield } from "./TwoFactorShield";
|
|
23
23
|
export { BackupCodesDialogs, CreateLoginCodeDialogs } from "./TwoFactorDialogs";
|
|
24
|
+
export { SettingsHeader, SettingsContent, StyledSettingRow, RowText, SettingRow } from "./settings";
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["MainLogo","RoundAvatar","PresentationShell","StyledPagePaper","PageHeader","ProjectPageHeader","TabHeader","FloatingControls","HelpAndSupportMenu","LinkingCommandsButton","LinkBranchOrPullRequestDialog","ConnectRepositoryDialog","RepositorySelect","buildRepoOptions","CONNECTIONS","PROJECT_REPOSITORIES","CONNECTABLE_REPOSITORIES","WebhookLogsDialog","WEBHOOK_CONNECTIONS","WEBHOOK_REPOSITORIES","SourceCodeSection","IssueRow","CodeRow","Spine","HistoryDialog","CompletedHeader","SuggestSubtasksButton","TaskOptionsMenu","TaskListOptionsMenu","UserMenu","TwoFactorShield","BackupCodesDialogs","CreateLoginCodeDialogs"],"sources":["../../../../src/presentation/shared/index.ts"],"sourcesContent":["/**\n * Shared building blocks for the Presentation mock-ups (`Presentation/*`\n * stories). The application shell, page headers, tab bar and small widgets are\n * defined once here and reused by the List view, Column view, Task sheet and\n * empty-page stories so the chrome stays identical and in one place.\n */\nexport * from \"./tokens\";\nexport { MainLogo } from \"./MainLogo\";\nexport { RoundAvatar } from \"./RoundAvatar\";\nexport { PresentationShell, StyledPagePaper } from \"./PresentationShell\";\nexport type { PresentationShellProps } from \"./PresentationShell\";\nexport { PageHeader, ProjectPageHeader, TabHeader } from \"./headers\";\nexport type {\n PageHeaderProps,\n ProjectPageHeaderProps,\n TabHeaderProps,\n} from \"./headers\";\nexport { FloatingControls } from \"./FloatingControls\";\nexport { HelpAndSupportMenu } from \"./HelpAndSupportMenu\";\nexport type { HelpAndSupportMenuProps } from \"./HelpAndSupportMenu\";\nexport { LinkingCommandsButton } from \"./LinkingCommandsButton\";\nexport { LinkBranchOrPullRequestDialog } from \"./LinkBranchOrPullRequestDialog\";\nexport type { LinkBranchOrPullRequestDialogProps } from \"./LinkBranchOrPullRequestDialog\";\nexport {\n ConnectRepositoryDialog,\n RepositorySelect,\n buildRepoOptions,\n CONNECTIONS,\n PROJECT_REPOSITORIES,\n CONNECTABLE_REPOSITORIES,\n} from \"./ConnectRepositoryDialog\";\nexport type {\n ConnectRepositoryDialogProps,\n RepositorySelectProps,\n Connection,\n ConnectionService,\n Repository,\n} from \"./ConnectRepositoryDialog\";\nexport {\n WebhookLogsDialog,\n WEBHOOK_CONNECTIONS,\n WEBHOOK_REPOSITORIES,\n} from \"./WebhookLogsDialog\";\nexport type {\n WebhookLogsDialogProps,\n WebhookConnection,\n WebhookRepository,\n WebhookLog,\n} from \"./WebhookLogsDialog\";\nexport {\n SourceCodeSection,\n IssueRow,\n CodeRow,\n Spine,\n HistoryDialog,\n CompletedHeader,\n} from \"./SourceCodeSection\";\nexport type {\n IssueEntry,\n CodeEntry,\n Stage,\n HistoryEvent,\n StageState,\n CodeStatus,\n SectionVariant,\n} from \"./SourceCodeSection\";\nexport { SuggestSubtasksButton } from \"./SuggestSubtasksButton\";\nexport { TaskOptionsMenu, TaskListOptionsMenu } from \"./TaskOptionsMenu\";\nexport type {\n TaskOptionsMenuProps,\n TaskListOptionsMenuProps,\n} from \"./TaskOptionsMenu\";\nexport { UserMenu } from \"./UserMenu\";\nexport type { UserMenuProps, UserMenuVariant } from \"./UserMenu\";\nexport { TwoFactorShield } from \"./TwoFactorShield\";\nexport type { TwoFactorShieldProps } from \"./TwoFactorShield\";\nexport { BackupCodesDialogs, CreateLoginCodeDialogs } from \"./TwoFactorDialogs\";\nexport type {\n BackupCodesDialogsProps,\n CreateLoginCodeDialogsProps,\n} from \"./TwoFactorDialogs\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,SAASA,QAAQ,QAAQ,YAAY;AACrC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,iBAAiB,EAAEC,eAAe,QAAQ,qBAAqB;AAExE,SAASC,UAAU,EAAEC,iBAAiB,EAAEC,SAAS,QAAQ,WAAW;AAMpE,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,6BAA6B,QAAQ,iCAAiC;AAE/E,SACEC,uBAAuB,EACvBC,gBAAgB,EAChBC,gBAAgB,EAChBC,WAAW,EACXC,oBAAoB,EACpBC,wBAAwB,QACnB,2BAA2B;AAQlC,SACEC,iBAAiB,EACjBC,mBAAmB,EACnBC,oBAAoB,QACf,qBAAqB;AAO5B,SACEC,iBAAiB,EACjBC,QAAQ,EACRC,OAAO,EACPC,KAAK,EACLC,aAAa,EACbC,eAAe,QACV,qBAAqB;AAU5B,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,eAAe,EAAEC,mBAAmB,QAAQ,mBAAmB;AAKxE,SAASC,QAAQ,QAAQ,YAAY;AAErC,SAASC,eAAe,QAAQ,mBAAmB;AAEnD,SAASC,kBAAkB,EAAEC,sBAAsB,QAAQ,oBAAoB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["MainLogo","RoundAvatar","PresentationShell","StyledPagePaper","PageHeader","ProjectPageHeader","TabHeader","FloatingControls","HelpAndSupportMenu","LinkingCommandsButton","LinkBranchOrPullRequestDialog","ConnectRepositoryDialog","RepositorySelect","buildRepoOptions","CONNECTIONS","PROJECT_REPOSITORIES","CONNECTABLE_REPOSITORIES","WebhookLogsDialog","WEBHOOK_CONNECTIONS","WEBHOOK_REPOSITORIES","SourceCodeSection","IssueRow","CodeRow","Spine","HistoryDialog","CompletedHeader","SuggestSubtasksButton","TaskOptionsMenu","TaskListOptionsMenu","UserMenu","TwoFactorShield","BackupCodesDialogs","CreateLoginCodeDialogs","SettingsHeader","SettingsContent","StyledSettingRow","RowText","SettingRow"],"sources":["../../../../src/presentation/shared/index.ts"],"sourcesContent":["/**\n * Shared building blocks for the Presentation mock-ups (`Presentation/*`\n * stories). The application shell, page headers, tab bar and small widgets are\n * defined once here and reused by the List view, Column view, Task sheet and\n * empty-page stories so the chrome stays identical and in one place.\n */\nexport * from \"./tokens\";\nexport { MainLogo } from \"./MainLogo\";\nexport { RoundAvatar } from \"./RoundAvatar\";\nexport { PresentationShell, StyledPagePaper } from \"./PresentationShell\";\nexport type { PresentationShellProps } from \"./PresentationShell\";\nexport { PageHeader, ProjectPageHeader, TabHeader } from \"./headers\";\nexport type {\n PageHeaderProps,\n ProjectPageHeaderProps,\n TabHeaderProps,\n} from \"./headers\";\nexport { FloatingControls } from \"./FloatingControls\";\nexport { HelpAndSupportMenu } from \"./HelpAndSupportMenu\";\nexport type { HelpAndSupportMenuProps } from \"./HelpAndSupportMenu\";\nexport { LinkingCommandsButton } from \"./LinkingCommandsButton\";\nexport { LinkBranchOrPullRequestDialog } from \"./LinkBranchOrPullRequestDialog\";\nexport type { LinkBranchOrPullRequestDialogProps } from \"./LinkBranchOrPullRequestDialog\";\nexport {\n ConnectRepositoryDialog,\n RepositorySelect,\n buildRepoOptions,\n CONNECTIONS,\n PROJECT_REPOSITORIES,\n CONNECTABLE_REPOSITORIES,\n} from \"./ConnectRepositoryDialog\";\nexport type {\n ConnectRepositoryDialogProps,\n RepositorySelectProps,\n Connection,\n ConnectionService,\n Repository,\n} from \"./ConnectRepositoryDialog\";\nexport {\n WebhookLogsDialog,\n WEBHOOK_CONNECTIONS,\n WEBHOOK_REPOSITORIES,\n} from \"./WebhookLogsDialog\";\nexport type {\n WebhookLogsDialogProps,\n WebhookConnection,\n WebhookRepository,\n WebhookLog,\n} from \"./WebhookLogsDialog\";\nexport {\n SourceCodeSection,\n IssueRow,\n CodeRow,\n Spine,\n HistoryDialog,\n CompletedHeader,\n} from \"./SourceCodeSection\";\nexport type {\n IssueEntry,\n CodeEntry,\n Stage,\n HistoryEvent,\n StageState,\n CodeStatus,\n SectionVariant,\n} from \"./SourceCodeSection\";\nexport { SuggestSubtasksButton } from \"./SuggestSubtasksButton\";\nexport { TaskOptionsMenu, TaskListOptionsMenu } from \"./TaskOptionsMenu\";\nexport type {\n TaskOptionsMenuProps,\n TaskListOptionsMenuProps,\n} from \"./TaskOptionsMenu\";\nexport { UserMenu } from \"./UserMenu\";\nexport type { UserMenuProps, UserMenuVariant } from \"./UserMenu\";\nexport { TwoFactorShield } from \"./TwoFactorShield\";\nexport type { TwoFactorShieldProps } from \"./TwoFactorShield\";\nexport { BackupCodesDialogs, CreateLoginCodeDialogs } from \"./TwoFactorDialogs\";\nexport type {\n BackupCodesDialogsProps,\n CreateLoginCodeDialogsProps,\n} from \"./TwoFactorDialogs\";\nexport {\n SettingsHeader,\n SettingsContent,\n StyledSettingRow,\n RowText,\n SettingRow,\n} from \"./settings\";\nexport type { SettingsHeaderProps, SettingRowProps } from \"./settings\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,SAASA,QAAQ,QAAQ,YAAY;AACrC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,iBAAiB,EAAEC,eAAe,QAAQ,qBAAqB;AAExE,SAASC,UAAU,EAAEC,iBAAiB,EAAEC,SAAS,QAAQ,WAAW;AAMpE,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,6BAA6B,QAAQ,iCAAiC;AAE/E,SACEC,uBAAuB,EACvBC,gBAAgB,EAChBC,gBAAgB,EAChBC,WAAW,EACXC,oBAAoB,EACpBC,wBAAwB,QACnB,2BAA2B;AAQlC,SACEC,iBAAiB,EACjBC,mBAAmB,EACnBC,oBAAoB,QACf,qBAAqB;AAO5B,SACEC,iBAAiB,EACjBC,QAAQ,EACRC,OAAO,EACPC,KAAK,EACLC,aAAa,EACbC,eAAe,QACV,qBAAqB;AAU5B,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,eAAe,EAAEC,mBAAmB,QAAQ,mBAAmB;AAKxE,SAASC,QAAQ,QAAQ,YAAY;AAErC,SAASC,eAAe,QAAQ,mBAAmB;AAEnD,SAASC,kBAAkB,EAAEC,sBAAsB,QAAQ,oBAAoB;AAK/E,SACEC,cAAc,EACdC,eAAe,EACfC,gBAAgB,EAChBC,OAAO,EACPC,UAAU,QACL,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared building blocks for the System Settings presentation stories
|
|
3
|
+
* (`Presentation/System Settings/*`). The settings page header, the max-width
|
|
4
|
+
* body column and the "row" card (title + description on the left, a control on
|
|
5
|
+
* the right) are defined once here and reused by the Index, General and
|
|
6
|
+
* Security stories so the chrome stays identical and in one place.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors the app: PageHeader.jsx + BackButton.js (header) and the repeated
|
|
9
|
+
* `Card variant="paper-2"` row pattern from the SystemSettings pages.
|
|
10
|
+
*/
|
|
11
|
+
import React, { ReactElement, ReactNode } from "react";
|
|
12
|
+
export interface SettingsHeaderProps {
|
|
13
|
+
title: string;
|
|
14
|
+
backTitle?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const SettingsHeader: ({ title, backTitle, }: SettingsHeaderProps) => ReactElement;
|
|
17
|
+
/** The page body, max-width 850px and left-aligned (mirrors the app Page). */
|
|
18
|
+
export declare const SettingsContent: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
19
|
+
/** A settings row card: title + description on the left, control on the right. */
|
|
20
|
+
export declare const StyledSettingRow: import("styled-components").StyledComponent<React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement> & import("../..").ICardProps, "ref"> & React.RefAttributes<HTMLDivElement>>, any, {
|
|
21
|
+
$clickable?: boolean;
|
|
22
|
+
}, never>;
|
|
23
|
+
export declare const RowText: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
24
|
+
export interface SettingRowProps {
|
|
25
|
+
title: string;
|
|
26
|
+
description?: ReactNode;
|
|
27
|
+
control?: ReactNode;
|
|
28
|
+
onClick?: () => void;
|
|
29
|
+
/** Let a long description wrap onto multiple lines instead of truncating. */
|
|
30
|
+
wrapDescription?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare const SettingRow: ({ title, description, control, onClick, wrapDescription, }: SettingRowProps) => ReactElement;
|
|
33
|
+
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/settings.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAiFvD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,GAAI,uBAG5B,mBAAmB,KAAG,YAaxB,CAAC;AAMF,8EAA8E;AAC9E,eAAO,MAAM,eAAe,oEAM3B,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,gBAAgB;iBAA+B,OAAO;SAmBlE,CAAC;AAEF,eAAO,MAAM,OAAO,oEAwBnB,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,UAAU,GAAI,4DAMxB,eAAe,KAAG,YAqBpB,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared building blocks for the System Settings presentation stories
|
|
3
|
+
* (`Presentation/System Settings/*`). The settings page header, the max-width
|
|
4
|
+
* body column and the "row" card (title + description on the left, a control on
|
|
5
|
+
* the right) are defined once here and reused by the Index, General and
|
|
6
|
+
* Security stories so the chrome stays identical and in one place.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors the app: PageHeader.jsx + BackButton.js (header) and the repeated
|
|
9
|
+
* `Card variant="paper-2"` row pattern from the SystemSettings pages.
|
|
10
|
+
*/
|
|
11
|
+
import React from "react";
|
|
12
|
+
import styled from "styled-components";
|
|
13
|
+
import { MD, SM } from "./tokens";
|
|
14
|
+
import { Card } from "../../components/Card";
|
|
15
|
+
import { IconButton } from "../../components/IconButton";
|
|
16
|
+
import { ArrowLeftIcon } from "../../components/Icons";
|
|
17
|
+
import { Body2, Caption1, Header2, Title2 } from "../../components/Typography";
|
|
18
|
+
|
|
19
|
+
/* ------------------------------------------------------------------ */
|
|
20
|
+
/* Settings page header (mirrors PageHeader.jsx + BackButton.js) */
|
|
21
|
+
/* ------------------------------------------------------------------ */
|
|
22
|
+
|
|
23
|
+
const StyledSettingsHeader = styled.div.withConfig({
|
|
24
|
+
displayName: "settings__StyledSettingsHeader",
|
|
25
|
+
componentId: "sc-1el9eq3-0"
|
|
26
|
+
})(["display:flex;align-items:center;justify-content:space-between;margin:12px 0;width:100%;height:40px;flex-shrink:0;.header-left{display:flex;align-items:center;width:100%;max-width:100%;@media (min-width:", "){min-width:0;}}.back-button{flex-shrink:0;margin-right:4px;@media (min-width:", "){margin-right:8px;}}.page-title-desktop{display:none;margin-right:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;@media (min-width:", "){display:block;}}.page-title-mobile{display:block;margin-right:8px;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;@media (min-width:", "){display:none;}}.page-header-spacer{display:none;height:100%;width:208px;flex-shrink:0;@media (min-width:", "){display:flex;}}"], SM, MD, MD, MD, SM);
|
|
27
|
+
export const SettingsHeader = _ref => {
|
|
28
|
+
let title = _ref.title,
|
|
29
|
+
backTitle = _ref.backTitle;
|
|
30
|
+
return /*#__PURE__*/React.createElement(StyledSettingsHeader, null, /*#__PURE__*/React.createElement("div", {
|
|
31
|
+
className: "header-left"
|
|
32
|
+
}, backTitle ? /*#__PURE__*/React.createElement(IconButton, {
|
|
33
|
+
variant: "text gray",
|
|
34
|
+
className: "back-button"
|
|
35
|
+
}, /*#__PURE__*/React.createElement(ArrowLeftIcon, null)) : null, /*#__PURE__*/React.createElement(Title2, {
|
|
36
|
+
className: "page-title-desktop"
|
|
37
|
+
}, title), /*#__PURE__*/React.createElement(Header2, {
|
|
38
|
+
className: "page-title-mobile"
|
|
39
|
+
}, title)), /*#__PURE__*/React.createElement("div", {
|
|
40
|
+
className: "page-header-spacer"
|
|
41
|
+
}));
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/* ------------------------------------------------------------------ */
|
|
45
|
+
/* Shared layout pieces */
|
|
46
|
+
/* ------------------------------------------------------------------ */
|
|
47
|
+
|
|
48
|
+
/** The page body, max-width 850px and left-aligned (mirrors the app Page). */
|
|
49
|
+
export const SettingsContent = styled.div.withConfig({
|
|
50
|
+
displayName: "settings__SettingsContent",
|
|
51
|
+
componentId: "sc-1el9eq3-1"
|
|
52
|
+
})(["display:flex;flex-direction:column;flex-grow:1;width:100%;max-width:850px;"]);
|
|
53
|
+
|
|
54
|
+
/** A settings row card: title + description on the left, control on the right. */
|
|
55
|
+
export const StyledSettingRow = styled(Card).withConfig({
|
|
56
|
+
displayName: "settings__StyledSettingRow",
|
|
57
|
+
componentId: "sc-1el9eq3-2"
|
|
58
|
+
})(["box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:12px 16px 12px 20px;margin-bottom:4px;", ""], _ref2 => {
|
|
59
|
+
let $clickable = _ref2.$clickable;
|
|
60
|
+
return $clickable ? "\n cursor: pointer;\n\n &:hover {\n background-color: var(--color-theme-200);\n }\n " : "";
|
|
61
|
+
});
|
|
62
|
+
export const RowText = styled.div.withConfig({
|
|
63
|
+
displayName: "settings__RowText",
|
|
64
|
+
componentId: "sc-1el9eq3-3"
|
|
65
|
+
})(["display:flex;flex-direction:column;flex:1 1 0%;min-width:0;padding-right:12px;.row-title{margin-bottom:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.row-description{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.row-description-wrap{white-space:normal;}"]);
|
|
66
|
+
export const SettingRow = _ref3 => {
|
|
67
|
+
let title = _ref3.title,
|
|
68
|
+
description = _ref3.description,
|
|
69
|
+
control = _ref3.control,
|
|
70
|
+
onClick = _ref3.onClick,
|
|
71
|
+
_ref3$wrapDescription = _ref3.wrapDescription,
|
|
72
|
+
wrapDescription = _ref3$wrapDescription === void 0 ? false : _ref3$wrapDescription;
|
|
73
|
+
return /*#__PURE__*/React.createElement(StyledSettingRow, {
|
|
74
|
+
variant: "paper-2",
|
|
75
|
+
$clickable: Boolean(onClick),
|
|
76
|
+
onClick: onClick
|
|
77
|
+
}, /*#__PURE__*/React.createElement(RowText, null, /*#__PURE__*/React.createElement(Body2, {
|
|
78
|
+
className: "row-title"
|
|
79
|
+
}, title), description ? /*#__PURE__*/React.createElement(Caption1, {
|
|
80
|
+
className: wrapDescription ? "row-description-wrap" : "row-description",
|
|
81
|
+
color: "tertiary"
|
|
82
|
+
}, description) : null), control);
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","names":["React","styled","MD","SM","Card","IconButton","ArrowLeftIcon","Body2","Caption1","Header2","Title2","StyledSettingsHeader","div","withConfig","displayName","componentId","SettingsHeader","_ref","title","backTitle","createElement","className","variant","SettingsContent","StyledSettingRow","_ref2","$clickable","RowText","SettingRow","_ref3","description","control","onClick","_ref3$wrapDescription","wrapDescription","Boolean","color"],"sources":["../../../../src/presentation/shared/settings.tsx"],"sourcesContent":["/**\n * Shared building blocks for the System Settings presentation stories\n * (`Presentation/System Settings/*`). The settings page header, the max-width\n * body column and the \"row\" card (title + description on the left, a control on\n * the right) are defined once here and reused by the Index, General and\n * Security stories so the chrome stays identical and in one place.\n *\n * Mirrors the app: PageHeader.jsx + BackButton.js (header) and the repeated\n * `Card variant=\"paper-2\"` row pattern from the SystemSettings pages.\n */\nimport React, { ReactElement, ReactNode } from \"react\";\n\nimport styled from \"styled-components\";\n\nimport { MD, SM } from \"./tokens\";\nimport { Card } from \"../../components/Card\";\nimport { IconButton } from \"../../components/IconButton\";\nimport { ArrowLeftIcon } from \"../../components/Icons\";\nimport { Body2, Caption1, Header2, Title2 } from \"../../components/Typography\";\n\n/* ------------------------------------------------------------------ */\n/* Settings page header (mirrors PageHeader.jsx + BackButton.js) */\n/* ------------------------------------------------------------------ */\n\nconst StyledSettingsHeader = 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 .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 {\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 /* keeps the title clear of the absolutely-positioned top-right controls */\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 SettingsHeaderProps {\n title: string;\n backTitle?: string;\n}\n\nexport const SettingsHeader = ({\n title,\n backTitle,\n}: SettingsHeaderProps): ReactElement => (\n <StyledSettingsHeader>\n <div className=\"header-left\">\n {backTitle ? (\n <IconButton variant=\"text gray\" className=\"back-button\">\n <ArrowLeftIcon />\n </IconButton>\n ) : null}\n <Title2 className=\"page-title-desktop\">{title}</Title2>\n <Header2 className=\"page-title-mobile\">{title}</Header2>\n </div>\n <div className=\"page-header-spacer\" />\n </StyledSettingsHeader>\n);\n\n/* ------------------------------------------------------------------ */\n/* Shared layout pieces */\n/* ------------------------------------------------------------------ */\n\n/** The page body, max-width 850px and left-aligned (mirrors the app Page). */\nexport const SettingsContent = styled.div`\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n width: 100%;\n max-width: 850px;\n`;\n\n/** A settings row card: title + description on the left, control on the right. */\nexport const StyledSettingRow = styled(Card)<{ $clickable?: boolean }>`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: 68px;\n padding: 12px 16px 12px 20px;\n margin-bottom: 4px;\n\n ${({ $clickable }) =>\n $clickable\n ? `\n cursor: pointer;\n\n &:hover {\n background-color: var(--color-theme-200);\n }\n `\n : \"\"}\n`;\n\nexport const RowText = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1 1 0%;\n min-width: 0;\n padding-right: 12px;\n\n .row-title {\n margin-bottom: 2px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .row-description {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n /* Long descriptions that are allowed to wrap onto multiple lines. */\n .row-description-wrap {\n white-space: normal;\n }\n`;\n\nexport interface SettingRowProps {\n title: string;\n description?: ReactNode;\n control?: ReactNode;\n onClick?: () => void;\n /** Let a long description wrap onto multiple lines instead of truncating. */\n wrapDescription?: boolean;\n}\n\nexport const SettingRow = ({\n title,\n description,\n control,\n onClick,\n wrapDescription = false,\n}: SettingRowProps): ReactElement => (\n <StyledSettingRow\n variant=\"paper-2\"\n $clickable={Boolean(onClick)}\n onClick={onClick}\n >\n <RowText>\n <Body2 className=\"row-title\">{title}</Body2>\n {description ? (\n <Caption1\n className={\n wrapDescription ? \"row-description-wrap\" : \"row-description\"\n }\n color=\"tertiary\"\n >\n {description}\n </Caption1>\n ) : null}\n </RowText>\n {control}\n </StyledSettingRow>\n);\n"],"mappings":"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","ignoreList":[]}
|