@activecollab/components 2.0.416 → 2.0.418
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/PortableText/renderers.js +5 -2
- package/dist/cjs/components/PortableText/renderers.js.map +1 -1
- package/dist/cjs/components/PortableText/types.js +2 -1
- package/dist/cjs/components/PortableText/types.js.map +1 -1
- package/dist/cjs/components/PortableText/types.test.js +18 -0
- package/dist/cjs/components/PortableText/types.test.js.map +1 -1
- package/dist/cjs/components/TitledText/TitledText.js +5 -1
- package/dist/cjs/components/TitledText/TitledText.js.map +1 -1
- package/dist/cjs/presentation/shared/MessageDialog.js +62 -107
- package/dist/cjs/presentation/shared/MessageDialog.js.map +1 -1
- package/dist/cjs/presentation/shared/MessageFeedback.js +284 -0
- package/dist/cjs/presentation/shared/MessageFeedback.js.map +1 -0
- package/dist/cjs/presentation/shared/index.js +22 -0
- package/dist/cjs/presentation/shared/index.js.map +1 -1
- package/dist/esm/components/PortableText/renderers.js +5 -2
- package/dist/esm/components/PortableText/renderers.js.map +1 -1
- package/dist/esm/components/PortableText/types.d.ts +6 -0
- package/dist/esm/components/PortableText/types.d.ts.map +1 -1
- package/dist/esm/components/PortableText/types.js +2 -1
- package/dist/esm/components/PortableText/types.js.map +1 -1
- package/dist/esm/components/PortableText/types.test.js +18 -0
- package/dist/esm/components/PortableText/types.test.js.map +1 -1
- package/dist/esm/components/TitledText/TitledText.d.ts +7 -3
- package/dist/esm/components/TitledText/TitledText.d.ts.map +1 -1
- package/dist/esm/components/TitledText/TitledText.js +5 -1
- package/dist/esm/components/TitledText/TitledText.js.map +1 -1
- package/dist/esm/presentation/shared/MessageDialog.d.ts +8 -3
- package/dist/esm/presentation/shared/MessageDialog.d.ts.map +1 -1
- package/dist/esm/presentation/shared/MessageDialog.js +64 -98
- package/dist/esm/presentation/shared/MessageDialog.js.map +1 -1
- package/dist/esm/presentation/shared/MessageFeedback.d.ts +54 -0
- package/dist/esm/presentation/shared/MessageFeedback.d.ts.map +1 -0
- package/dist/esm/presentation/shared/MessageFeedback.js +252 -0
- package/dist/esm/presentation/shared/MessageFeedback.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/index.js +12 -4
- 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
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.messageComponents = exports.MessageDialog = exports.DocLinkContext = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
|
+
var _MessageFeedback = require("./MessageFeedback");
|
|
9
10
|
var _BreakPoints = require("../../components/BreakPoints");
|
|
10
11
|
var _Button = require("../../components/Button");
|
|
11
12
|
var _Columns = require("../../components/Columns");
|
|
@@ -24,12 +25,6 @@ var _Typography = require("../../components/Typography");
|
|
|
24
25
|
var _Typography2 = require("../../components/Typography/Typography");
|
|
25
26
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
26
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); }
|
|
27
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
28
|
-
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."); }
|
|
29
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
30
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
31
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
32
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
33
28
|
/**
|
|
34
29
|
* The in-app message dialog, as a Presentation mock.
|
|
35
30
|
*
|
|
@@ -53,68 +48,27 @@ var DIALOG_WIDTH = {
|
|
|
53
48
|
lg: "880px"
|
|
54
49
|
};
|
|
55
50
|
|
|
56
|
-
/* Feedback — the thumbs up / down slot. Down-vote reuses the up icon,
|
|
57
|
-
rotated (the DS set only ships ThumbUpOutlineIcon). */
|
|
58
|
-
var StyledFeedback = _styledComponents.default.div.withConfig({
|
|
59
|
-
displayName: "MessageDialog__StyledFeedback",
|
|
60
|
-
componentId: "sc-1kt5lil-0"
|
|
61
|
-
})(["display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 24px 28px;", "{padding:4px 24px 24px;}.fb-question{margin-right:4px;}.fb-btn svg{width:18px;height:18px;}.fb-down svg{transform:rotate(180deg);}"], _BreakPoints.screenBelow.sm);
|
|
62
|
-
var DialogFeedback = function DialogFeedback(_ref) {
|
|
63
|
-
var onVote = _ref.onVote;
|
|
64
|
-
var _useState = (0, _react.useState)(null),
|
|
65
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
66
|
-
voted = _useState2[0],
|
|
67
|
-
setVoted = _useState2[1];
|
|
68
|
-
var vote = (0, _react.useCallback)(function (value) {
|
|
69
|
-
setVoted(value);
|
|
70
|
-
onVote === null || onVote === void 0 || onVote(value);
|
|
71
|
-
}, [onVote]);
|
|
72
|
-
return /*#__PURE__*/_react.default.createElement(StyledFeedback, null, voted ? /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
|
|
73
|
-
color: "secondary"
|
|
74
|
-
}, "Thanks for your feedback!") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
|
|
75
|
-
color: "secondary",
|
|
76
|
-
className: "fb-question"
|
|
77
|
-
}, "Was this helpful?"), /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
78
|
-
title: "Yes, helpful"
|
|
79
|
-
}, /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
|
|
80
|
-
type: "button",
|
|
81
|
-
variant: "text gray",
|
|
82
|
-
className: "fb-btn",
|
|
83
|
-
"aria-label": "Yes, helpful",
|
|
84
|
-
onClick: function onClick() {
|
|
85
|
-
return vote("up");
|
|
86
|
-
}
|
|
87
|
-
}, /*#__PURE__*/_react.default.createElement(_Icons.ThumbUpOutlineIcon, null))), /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
88
|
-
title: "No, not helpful"
|
|
89
|
-
}, /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
|
|
90
|
-
type: "button",
|
|
91
|
-
variant: "text gray",
|
|
92
|
-
className: "fb-btn fb-down",
|
|
93
|
-
"aria-label": "No, not helpful",
|
|
94
|
-
onClick: function onClick() {
|
|
95
|
-
return vote("down");
|
|
96
|
-
}
|
|
97
|
-
}, /*#__PURE__*/_react.default.createElement(_Icons.ThumbUpOutlineIcon, null)))));
|
|
98
|
-
};
|
|
99
|
-
|
|
100
51
|
/* The shell is behaviour only: it sizes itself, closes on click-outside /
|
|
101
52
|
Esc (DS Modal) / the X, and shows the feedback slot when an onVote handler
|
|
102
53
|
is supplied. Content is whatever the caller renders as children — usually
|
|
103
54
|
the Portable Text engine with the demo catalog injected. */
|
|
104
55
|
var StyledDialog = _styledComponents.default.div.withConfig({
|
|
105
56
|
displayName: "MessageDialog__StyledDialog",
|
|
106
|
-
componentId: "sc-1kt5lil-
|
|
107
|
-
})(["position:relative;box-sizing:border-box;display:flex;flex-direction:column;width:calc(100% - 32px);max-width:", ";max-height:calc(100vh - 96px);margin:56px auto 40px;overflow-y:auto;background-color:var(--page-paper-main);color:var(--color-theme-900);border-radius:12px;box-shadow:var(--shadow-primary);", "{margin:16px auto;}.dlg-close{position:absolute;top:12px;right:12px;z-index:2;}.dlg-content{padding:40px;}", "{.dlg-content{padding:32px 20px 24px;}}"], function (
|
|
108
|
-
var $size =
|
|
57
|
+
componentId: "sc-1kt5lil-0"
|
|
58
|
+
})(["position:relative;box-sizing:border-box;display:flex;flex-direction:column;width:calc(100% - 32px);max-width:", ";max-height:calc(100vh - 96px);margin:56px auto 40px;overflow-y:auto;background-color:var(--page-paper-main);color:var(--color-theme-900);border-radius:12px;box-shadow:var(--shadow-primary);", "{margin:16px auto;}.dlg-close{position:absolute;top:12px;right:12px;z-index:2;}.dlg-content{padding:40px;}", "{.dlg-content{padding:32px 20px 24px;}}"], function (_ref) {
|
|
59
|
+
var $size = _ref.$size;
|
|
109
60
|
return DIALOG_WIDTH[$size];
|
|
110
61
|
}, _BreakPoints.screenBelow.sm, _BreakPoints.screenBelow.sm);
|
|
111
|
-
var MessageDialog = exports.MessageDialog = function MessageDialog(
|
|
112
|
-
var open =
|
|
113
|
-
onClose =
|
|
114
|
-
|
|
115
|
-
size =
|
|
116
|
-
|
|
117
|
-
|
|
62
|
+
var MessageDialog = exports.MessageDialog = function MessageDialog(_ref2) {
|
|
63
|
+
var open = _ref2.open,
|
|
64
|
+
onClose = _ref2.onClose,
|
|
65
|
+
_ref2$size = _ref2.size,
|
|
66
|
+
size = _ref2$size === void 0 ? "md" : _ref2$size,
|
|
67
|
+
_ref2$feedback = _ref2.feedback,
|
|
68
|
+
feedback = _ref2$feedback === void 0 ? false : _ref2$feedback,
|
|
69
|
+
onVote = _ref2.onVote,
|
|
70
|
+
onFeedbackSubmit = _ref2.onFeedbackSubmit,
|
|
71
|
+
children = _ref2.children;
|
|
118
72
|
return /*#__PURE__*/_react.default.createElement(_Modal.Modal, {
|
|
119
73
|
open: open,
|
|
120
74
|
onClose: onClose
|
|
@@ -131,8 +85,9 @@ var MessageDialog = exports.MessageDialog = function MessageDialog(_ref3) {
|
|
|
131
85
|
onClick: onClose
|
|
132
86
|
}, /*#__PURE__*/_react.default.createElement(_Icons.CancelCrossIcon, null)))), /*#__PURE__*/_react.default.createElement("div", {
|
|
133
87
|
className: "dlg-content"
|
|
134
|
-
}, children),
|
|
135
|
-
onVote: onVote
|
|
88
|
+
}, children), feedback ? /*#__PURE__*/_react.default.createElement(_MessageFeedback.MessageFeedback, {
|
|
89
|
+
onVote: onVote,
|
|
90
|
+
onSubmit: onFeedbackSubmit
|
|
136
91
|
}) : null));
|
|
137
92
|
};
|
|
138
93
|
|
|
@@ -153,20 +108,20 @@ var DocLinkContext = exports.DocLinkContext = /*#__PURE__*/_react.default.create
|
|
|
153
108
|
/* interface-name — the name of an interface element, e.g. the Security page. */
|
|
154
109
|
var StyledInterfaceName = _styledComponents.default.span.withConfig({
|
|
155
110
|
displayName: "MessageDialog__StyledInterfaceName",
|
|
156
|
-
componentId: "sc-1kt5lil-
|
|
111
|
+
componentId: "sc-1kt5lil-1"
|
|
157
112
|
})(["padding:0 4px;border-radius:4px;background-color:var(--color-theme-300);color:var(--color-theme-900);font-weight:600;white-space:nowrap;"]);
|
|
158
|
-
var InterfaceNameMark = function InterfaceNameMark(
|
|
159
|
-
var children =
|
|
113
|
+
var InterfaceNameMark = function InterfaceNameMark(_ref3) {
|
|
114
|
+
var children = _ref3.children;
|
|
160
115
|
return /*#__PURE__*/_react.default.createElement(StyledInterfaceName, null, children);
|
|
161
116
|
};
|
|
162
117
|
|
|
163
118
|
/* keyboard-key — a keyboard key cap. */
|
|
164
119
|
var StyledKeyboardKey = _styledComponents.default.kbd.withConfig({
|
|
165
120
|
displayName: "MessageDialog__StyledKeyboardKey",
|
|
166
|
-
componentId: "sc-1kt5lil-
|
|
121
|
+
componentId: "sc-1kt5lil-2"
|
|
167
122
|
})(["display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border:1px solid var(--border-primary);border-bottom-width:2px;border-radius:5px;background-color:var(--color-theme-200);color:var(--color-theme-900);font-family:ui-monospace,\"SFMono-Regular\",Menlo,Consolas,monospace;font-size:11px;font-weight:600;line-height:1;vertical-align:baseline;"]);
|
|
168
|
-
var KeyboardKeyMark = function KeyboardKeyMark(
|
|
169
|
-
var children =
|
|
123
|
+
var KeyboardKeyMark = function KeyboardKeyMark(_ref4) {
|
|
124
|
+
var children = _ref4.children;
|
|
170
125
|
return /*#__PURE__*/_react.default.createElement(StyledKeyboardKey, null, children);
|
|
171
126
|
};
|
|
172
127
|
|
|
@@ -178,11 +133,11 @@ var KeyboardKeyMark = function KeyboardKeyMark(_ref5) {
|
|
|
178
133
|
surrounding copy — just recoloured. */
|
|
179
134
|
var StyledDocLink = (0, _styledComponents.default)(_Styles.StyledLink).withConfig({
|
|
180
135
|
displayName: "MessageDialog__StyledDocLink",
|
|
181
|
-
componentId: "sc-1kt5lil-
|
|
136
|
+
componentId: "sc-1kt5lil-3"
|
|
182
137
|
})(["color:var(--color-secondary);text-decoration-color:var(--color-secondary);"]);
|
|
183
|
-
var DocLinkMark = function DocLinkMark(
|
|
184
|
-
var mark =
|
|
185
|
-
children =
|
|
138
|
+
var DocLinkMark = function DocLinkMark(_ref5) {
|
|
139
|
+
var mark = _ref5.mark,
|
|
140
|
+
children = _ref5.children;
|
|
186
141
|
var openArticle = (0, _react.useContext)(DocLinkContext);
|
|
187
142
|
return /*#__PURE__*/_react.default.createElement(StyledDocLink, {
|
|
188
143
|
href: "#",
|
|
@@ -203,12 +158,12 @@ var CALLOUT_TYPE = {
|
|
|
203
158
|
note: "note",
|
|
204
159
|
success: "success"
|
|
205
160
|
};
|
|
206
|
-
var CalloutObject = function CalloutObject(
|
|
207
|
-
var
|
|
208
|
-
var node =
|
|
209
|
-
children =
|
|
161
|
+
var CalloutObject = function CalloutObject(_ref6) {
|
|
162
|
+
var _ref7;
|
|
163
|
+
var node = _ref6.node,
|
|
164
|
+
children = _ref6.children;
|
|
210
165
|
return /*#__PURE__*/_react.default.createElement(_InfoBox.InfoBox, {
|
|
211
|
-
type: CALLOUT_TYPE[(
|
|
166
|
+
type: CALLOUT_TYPE[(_ref7 = node.tone) !== null && _ref7 !== void 0 ? _ref7 : "info"],
|
|
212
167
|
title: node.title,
|
|
213
168
|
showIcon: true
|
|
214
169
|
}, children);
|
|
@@ -219,18 +174,18 @@ var CalloutObject = function CalloutObject(_ref7) {
|
|
|
219
174
|
intentionally non-interactive. */
|
|
220
175
|
var StyledButtonReference = _styledComponents.default.div.withConfig({
|
|
221
176
|
displayName: "MessageDialog__StyledButtonReference",
|
|
222
|
-
componentId: "sc-1kt5lil-
|
|
177
|
+
componentId: "sc-1kt5lil-4"
|
|
223
178
|
})(["display:flex;.c-button{pointer-events:none;}"]);
|
|
224
|
-
var ButtonReferenceObject = function ButtonReferenceObject(
|
|
225
|
-
var
|
|
226
|
-
var node =
|
|
179
|
+
var ButtonReferenceObject = function ButtonReferenceObject(_ref8) {
|
|
180
|
+
var _ref9;
|
|
181
|
+
var node = _ref8.node;
|
|
227
182
|
if (typeof node.label !== "string") {
|
|
228
183
|
return null;
|
|
229
184
|
}
|
|
230
185
|
return /*#__PURE__*/_react.default.createElement(StyledButtonReference, {
|
|
231
186
|
"aria-hidden": "true"
|
|
232
187
|
}, /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
233
|
-
variant: (
|
|
188
|
+
variant: (_ref9 = node.variant) !== null && _ref9 !== void 0 ? _ref9 : "primary",
|
|
234
189
|
size: "small",
|
|
235
190
|
type: "button",
|
|
236
191
|
tabIndex: -1
|
|
@@ -238,22 +193,22 @@ var ButtonReferenceObject = function ButtonReferenceObject(_ref9) {
|
|
|
238
193
|
};
|
|
239
194
|
|
|
240
195
|
/* row — a horizontal run of blocks (e.g. two button references). */
|
|
241
|
-
var RowObject = function RowObject(
|
|
242
|
-
var
|
|
243
|
-
var node =
|
|
244
|
-
children =
|
|
196
|
+
var RowObject = function RowObject(_ref0) {
|
|
197
|
+
var _ref1;
|
|
198
|
+
var node = _ref0.node,
|
|
199
|
+
children = _ref0.children;
|
|
245
200
|
return /*#__PURE__*/_react.default.createElement(_Row.Row, {
|
|
246
|
-
space: (
|
|
201
|
+
space: (_ref1 = node.space) !== null && _ref1 !== void 0 ? _ref1 : "sm"
|
|
247
202
|
}, children);
|
|
248
203
|
};
|
|
249
204
|
|
|
250
205
|
/* tiles — an equal-size mosaic of blocks. */
|
|
251
|
-
var TilesObject = function TilesObject(
|
|
252
|
-
var
|
|
253
|
-
var node =
|
|
254
|
-
children =
|
|
206
|
+
var TilesObject = function TilesObject(_ref10) {
|
|
207
|
+
var _ref11;
|
|
208
|
+
var node = _ref10.node,
|
|
209
|
+
children = _ref10.children;
|
|
255
210
|
return /*#__PURE__*/_react.default.createElement(_Tiles.Tiles, {
|
|
256
|
-
columns: (
|
|
211
|
+
columns: (_ref11 = node.columns) !== null && _ref11 !== void 0 ? _ref11 : 3,
|
|
257
212
|
space: "md",
|
|
258
213
|
collapseBelow: "sm"
|
|
259
214
|
}, children);
|
|
@@ -263,12 +218,12 @@ var TilesObject = function TilesObject(_ref11) {
|
|
|
263
218
|
screenshots sit on the right, flat illustrations on the left. `widths` is
|
|
264
219
|
authored as [text, media] and reordered with the columns. */
|
|
265
220
|
|
|
266
|
-
var SplitObject = function SplitObject(
|
|
267
|
-
var
|
|
268
|
-
var node =
|
|
269
|
-
children =
|
|
221
|
+
var SplitObject = function SplitObject(_ref12) {
|
|
222
|
+
var _ref13;
|
|
223
|
+
var node = _ref12.node,
|
|
224
|
+
children = _ref12.children;
|
|
270
225
|
var media = node.media;
|
|
271
|
-
var widths = (
|
|
226
|
+
var widths = (_ref13 = node.widths) !== null && _ref13 !== void 0 ? _ref13 : [1, 1];
|
|
272
227
|
var textColumn = /*#__PURE__*/_react.default.createElement(_Stack.Stack, {
|
|
273
228
|
space: "lg"
|
|
274
229
|
}, children);
|
|
@@ -297,15 +252,15 @@ var SplitObject = function SplitObject(_ref13) {
|
|
|
297
252
|
/* The engine's defaults use Body 1 primary; the messages are designed on the
|
|
298
253
|
quieter Body 2 secondary voice, so the catalog overrides the text blocks —
|
|
299
254
|
demonstrating the `blocks` half of the injection contract. */
|
|
300
|
-
var ParagraphBlock = function ParagraphBlock(
|
|
301
|
-
var children =
|
|
255
|
+
var ParagraphBlock = function ParagraphBlock(_ref14) {
|
|
256
|
+
var children = _ref14.children;
|
|
302
257
|
return /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
|
|
303
258
|
color: "secondary",
|
|
304
259
|
lineHeight: "loose"
|
|
305
260
|
}, children);
|
|
306
261
|
};
|
|
307
|
-
var ListItemBlock = function ListItemBlock(
|
|
308
|
-
var children =
|
|
262
|
+
var ListItemBlock = function ListItemBlock(_ref15) {
|
|
263
|
+
var children = _ref15.children;
|
|
309
264
|
return /*#__PURE__*/_react.default.createElement(_Typography2.Typography, {
|
|
310
265
|
variant: "Body 2",
|
|
311
266
|
as: "li",
|
|
@@ -317,12 +272,12 @@ var ListItemBlock = function ListItemBlock(_ref16) {
|
|
|
317
272
|
/* Titled sections speak in the quiet Header2 subhead voice rather than the
|
|
318
273
|
engine's default Title2 for level 2, and keep a roomier rhythm between a
|
|
319
274
|
titled section's content nodes. */
|
|
320
|
-
var TitledTextBlock = function TitledTextBlock(
|
|
321
|
-
var block =
|
|
322
|
-
children =
|
|
323
|
-
var
|
|
324
|
-
title =
|
|
325
|
-
level =
|
|
275
|
+
var TitledTextBlock = function TitledTextBlock(_ref16) {
|
|
276
|
+
var block = _ref16.block,
|
|
277
|
+
children = _ref16.children;
|
|
278
|
+
var _ref17 = block,
|
|
279
|
+
title = _ref17.title,
|
|
280
|
+
level = _ref17.level;
|
|
326
281
|
return /*#__PURE__*/_react.default.createElement(_TitledText.TitledText, {
|
|
327
282
|
title: title,
|
|
328
283
|
variant: level === 1 ? "title1" : "header2"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageDialog.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_BreakPoints","_Button","_Columns","_IconButton","_Icons","_InfoBox","_Media","_Modal","_Styles","_Row","_Stack","_Tiles","_TitledText","_Tooltip","_Typography","_Typography2","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","DIALOG_WIDTH","sm","md","lg","StyledFeedback","styled","div","withConfig","displayName","componentId","screenBelow","DialogFeedback","_ref","onVote","_useState","useState","_useState2","voted","setVoted","vote","useCallback","createElement","Body2","color","Fragment","className","Tooltip","title","IconButton","type","variant","onClick","ThumbUpOutlineIcon","StyledDialog","_ref2","$size","MessageDialog","exports","_ref3","open","onClose","_ref3$size","size","children","Modal","CancelCrossIcon","DocLinkContext","React","createContext","undefined","StyledInterfaceName","span","InterfaceNameMark","_ref4","StyledKeyboardKey","kbd","KeyboardKeyMark","_ref5","StyledDocLink","InlineLink","DocLinkMark","_ref6","mark","openArticle","useContext","href","event","preventDefault","article","CALLOUT_TYPE","info","note","success","CalloutObject","_ref7","_ref8","node","InfoBox","tone","showIcon","StyledButtonReference","ButtonReferenceObject","_ref9","_ref0","label","Button","tabIndex","RowObject","_ref1","_ref10","Row","space","TilesObject","_ref11","_ref12","Tiles","columns","collapseBelow","SplitObject","_ref13","_ref14","media","widths","textColumn","Stack","src","screenshot","mediaColumn","Media","alt","caption","Columns","reverse","alignY","ParagraphBlock","_ref15","lineHeight","ListItemBlock","_ref16","Typography","as","TitledTextBlock","_ref17","block","_ref18","level","TitledText","messageComponents","marks","objects","callout","row","tiles","split","blocks","paragraph"],"sources":["../../../../src/presentation/shared/MessageDialog.tsx"],"sourcesContent":["import React, {\n ReactElement,\n ReactNode,\n useCallback,\n useContext,\n useState,\n} from \"react\";\n\nimport styled from \"styled-components\";\n\nimport { screenBelow } from \"../../components/BreakPoints\";\nimport { Button } from \"../../components/Button\";\nimport { Columns } from \"../../components/Columns\";\nimport { IconButton } from \"../../components/IconButton\";\nimport { CancelCrossIcon, ThumbUpOutlineIcon } from \"../../components/Icons\";\nimport { InfoBox, InfoBoxType } from \"../../components/InfoBox\";\nimport { Space } from \"../../components/LayoutTokens\";\nimport { Media } from \"../../components/Media\";\nimport { Modal } from \"../../components/Modal\";\nimport {\n PortableTextBlockRenderer,\n PortableTextComponents,\n PortableTextMarkRenderer,\n PortableTextMediaImageVariant,\n PortableTextObjectRenderer,\n PortableTextTitledTextBlock,\n} from \"../../components/PortableText\";\nimport { StyledLink as InlineLink } from \"../../components/PortableText/Styles\";\nimport { Row } from \"../../components/Row\";\nimport { Stack } from \"../../components/Stack\";\nimport { Tiles } from \"../../components/Tiles\";\nimport { TitledText } from \"../../components/TitledText\";\nimport { Tooltip } from \"../../components/Tooltip\";\nimport { Body2 } from \"../../components/Typography\";\nimport { Typography } from \"../../components/Typography/Typography\";\n\n/**\n * The in-app message dialog, as a Presentation mock.\n *\n * Two pieces, mirroring how the product is split:\n *\n * - {@link MessageDialog} — the hollow dialog shell (width, closing,\n * feedback), built only from design-system parts. In the product this shell\n * lives in the application as `InAppMessageDialog`.\n * - {@link messageComponents} — a demo message element catalog injected into\n * the design-system Portable Text engine, exactly like the typed cards\n * injected into the hollow StackedCard shell. In the product the catalog is\n * application code; the presentation ships this demo copy so the stories\n * need no app imports.\n */\n\n/* ---- the dialog shell ---------------------------------------------- */\n\nexport type MessageDialogSize = \"sm\" | \"md\" | \"lg\";\n\nconst DIALOG_WIDTH: Record<MessageDialogSize, string> = {\n sm: \"520px\",\n md: \"720px\",\n lg: \"880px\",\n};\n\n/* Feedback — the thumbs up / down slot. Down-vote reuses the up icon,\n rotated (the DS set only ships ThumbUpOutlineIcon). */\nconst StyledFeedback = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 8px 24px 28px;\n\n ${screenBelow.sm} {\n padding: 4px 24px 24px;\n }\n\n .fb-question {\n margin-right: 4px;\n }\n\n .fb-btn svg {\n width: 18px;\n height: 18px;\n }\n\n .fb-down svg {\n transform: rotate(180deg);\n }\n`;\n\nconst DialogFeedback = ({\n onVote,\n}: {\n onVote?: (vote: \"up\" | \"down\") => void;\n}): ReactElement => {\n const [voted, setVoted] = useState<\"up\" | \"down\" | null>(null);\n const vote = useCallback(\n (value: \"up\" | \"down\") => {\n setVoted(value);\n onVote?.(value);\n },\n [onVote]\n );\n\n return (\n <StyledFeedback>\n {voted ? (\n <Body2 color=\"secondary\">Thanks for your feedback!</Body2>\n ) : (\n <>\n <Body2 color=\"secondary\" className=\"fb-question\">\n Was this helpful?\n </Body2>\n <Tooltip title=\"Yes, helpful\">\n <IconButton\n type=\"button\"\n variant=\"text gray\"\n className=\"fb-btn\"\n aria-label=\"Yes, helpful\"\n onClick={() => vote(\"up\")}\n >\n <ThumbUpOutlineIcon />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"No, not helpful\">\n <IconButton\n type=\"button\"\n variant=\"text gray\"\n className=\"fb-btn fb-down\"\n aria-label=\"No, not helpful\"\n onClick={() => vote(\"down\")}\n >\n <ThumbUpOutlineIcon />\n </IconButton>\n </Tooltip>\n </>\n )}\n </StyledFeedback>\n );\n};\n\n/* The shell is behaviour only: it sizes itself, closes on click-outside /\n Esc (DS Modal) / the X, and shows the feedback slot when an onVote handler\n is supplied. Content is whatever the caller renders as children — usually\n the Portable Text engine with the demo catalog injected. */\nconst StyledDialog = styled.div<{ $size: MessageDialogSize }>`\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: calc(100% - 32px);\n max-width: ${({ $size }) => DIALOG_WIDTH[$size]};\n max-height: calc(100vh - 96px);\n margin: 56px auto 40px;\n overflow-y: auto;\n background-color: var(--page-paper-main);\n color: var(--color-theme-900);\n border-radius: 12px;\n box-shadow: var(--shadow-primary);\n\n ${screenBelow.sm} {\n margin: 16px auto;\n }\n\n /* X floats in the corner and overlaps the content padding — it does not\n reserve a row of its own. */\n .dlg-close {\n position: absolute;\n top: 12px;\n right: 12px;\n z-index: 2;\n }\n\n .dlg-content {\n padding: 40px;\n }\n\n ${screenBelow.sm} {\n .dlg-content {\n padding: 32px 20px 24px;\n }\n }\n`;\n\nexport interface MessageDialogProps {\n open: boolean;\n onClose: () => void;\n size?: MessageDialogSize;\n /** Supplying a handler shows the centred helpful / not-helpful vote. */\n onVote?: (vote: \"up\" | \"down\") => void;\n children: ReactNode;\n}\n\nexport const MessageDialog = ({\n open,\n onClose,\n size = \"md\",\n onVote,\n children,\n}: MessageDialogProps): ReactElement => (\n <Modal open={open} onClose={onClose}>\n <StyledDialog $size={size}>\n <div className=\"dlg-close\">\n <Tooltip title=\"Close\">\n <IconButton\n type=\"button\"\n variant=\"text gray\"\n aria-label=\"Close\"\n onClick={onClose}\n >\n <CancelCrossIcon />\n </IconButton>\n </Tooltip>\n </div>\n <div className=\"dlg-content\">{children}</div>\n {onVote ? <DialogFeedback onVote={onVote} /> : null}\n </StyledDialog>\n </Modal>\n);\n\n/* ---- doc-link wiring ------------------------------------------------ */\n\n/** How a doc-link mark opens its article (by a slug-like reference). The\n surface that renders the message supplies the handler — in the product it\n closes the dialog and opens the article Sheet. */\nexport type OpenArticleHandler = (article?: string) => void;\n\nexport const DocLinkContext = React.createContext<OpenArticleHandler>(\n () => undefined\n);\n\n/* ---- the demo message element catalog ------------------------------- */\n\n/* Inline marks ------------------------------------------------------- */\n\n/* interface-name — the name of an interface element, e.g. the Security page. */\nconst StyledInterfaceName = styled.span`\n padding: 0 4px;\n border-radius: 4px;\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n font-weight: 600;\n white-space: nowrap;\n`;\nconst InterfaceNameMark: PortableTextMarkRenderer = ({ children }) => (\n <StyledInterfaceName>{children}</StyledInterfaceName>\n);\n\n/* keyboard-key — a keyboard key cap. */\nconst StyledKeyboardKey = styled.kbd`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n border: 1px solid var(--border-primary);\n border-bottom-width: 2px;\n border-radius: 5px;\n background-color: var(--color-theme-200);\n color: var(--color-theme-900);\n font-family: ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace;\n font-size: 11px;\n font-weight: 600;\n line-height: 1;\n vertical-align: baseline;\n`;\nconst KeyboardKeyMark: PortableTextMarkRenderer = ({ children }) => (\n <StyledKeyboardKey>{children}</StyledKeyboardKey>\n);\n\n/* doc-link — an inline link that opens a full help article. The mark carries\n an article reference; the open behaviour comes from DocLinkContext, so the\n authored content stays declarative. */\n/* Built on the engine's inline anchor so a doc-link sits in the sentence\n exactly like a default link mark — same size, weight and line box as the\n surrounding copy — just recoloured. */\nconst StyledDocLink = styled(InlineLink)`\n color: var(--color-secondary);\n text-decoration-color: var(--color-secondary);\n`;\nconst DocLinkMark: PortableTextMarkRenderer = ({ mark, children }) => {\n const openArticle = useContext(DocLinkContext);\n return (\n <StyledDocLink\n href=\"#\"\n onClick={(event: React.MouseEvent) => {\n event.preventDefault();\n openArticle(mark?.article as string | undefined);\n }}\n >\n {children}\n </StyledDocLink>\n );\n};\n\n/* Component objects --------------------------------------------------- */\n\n/* callout — rendered with the DS InfoBox; the catalog keeps its own tone\n vocabulary and maps it to InfoBox types. */\ntype CalloutTone = \"info\" | \"note\" | \"success\";\nconst CALLOUT_TYPE: Record<CalloutTone, InfoBoxType> = {\n info: \"default\",\n note: \"note\",\n success: \"success\",\n};\nconst CalloutObject: PortableTextObjectRenderer = ({ node, children }) => (\n <InfoBox\n type={CALLOUT_TYPE[(node.tone as CalloutTone | undefined) ?? \"info\"]}\n title={node.title as string | undefined}\n showIcon\n >\n {children}\n </InfoBox>\n);\n\n/* button-reference — a real DS Button shown for reference as its own block,\n so a message can point at a button instead of screenshotting it. It is\n intentionally non-interactive. */\nconst StyledButtonReference = styled.div`\n display: flex;\n\n .c-button {\n pointer-events: none;\n }\n`;\ntype ButtonReferenceVariant =\n | \"primary\"\n | \"secondary\"\n | \"text colored\"\n | \"text gray\";\nconst ButtonReferenceObject: PortableTextObjectRenderer = ({ node }) => {\n if (typeof node.label !== \"string\") {\n return null;\n }\n\n return (\n <StyledButtonReference aria-hidden=\"true\">\n <Button\n variant={\n (node.variant as ButtonReferenceVariant | undefined) ?? \"primary\"\n }\n size=\"small\"\n type=\"button\"\n tabIndex={-1}\n >\n {node.label}\n </Button>\n </StyledButtonReference>\n );\n};\n\n/* row — a horizontal run of blocks (e.g. two button references). */\nconst RowObject: PortableTextObjectRenderer = ({ node, children }) => (\n <Row space={(node.space as Space | undefined) ?? \"sm\"}>{children}</Row>\n);\n\n/* tiles — an equal-size mosaic of blocks. */\nconst TilesObject: PortableTextObjectRenderer = ({ node, children }) => (\n <Tiles\n columns={(node.columns as number | undefined) ?? 3}\n space=\"md\"\n collapseBelow=\"sm\"\n >\n {children}\n </Tiles>\n);\n\n/* split — text beside media, with the one layout rule the messages follow:\n screenshots sit on the right, flat illustrations on the left. `widths` is\n authored as [text, media] and reordered with the columns. */\ninterface SplitMedia {\n src: string;\n alt?: string;\n // Split never carries a video: video media always stays in the vertical flow.\n variant?: PortableTextMediaImageVariant;\n caption?: string;\n}\nconst SplitObject: PortableTextObjectRenderer = ({ node, children }) => {\n const media = node.media as SplitMedia | undefined;\n const widths = (node.widths as number[] | undefined) ?? [1, 1];\n const textColumn = <Stack space=\"lg\">{children}</Stack>;\n\n // A split without media degrades to its text column instead of crashing.\n if (!media?.src) {\n return textColumn;\n }\n\n const screenshot = media.variant === \"screenshot\";\n\n const mediaColumn = (\n <Media\n src={media.src}\n alt={media.alt}\n variant={media.variant}\n caption={media.caption}\n />\n );\n\n return (\n <Columns\n widths={screenshot ? widths : [...widths].reverse()}\n space=\"xl\"\n alignY=\"center\"\n collapseBelow=\"md\"\n >\n {screenshot ? textColumn : mediaColumn}\n {screenshot ? mediaColumn : textColumn}\n </Columns>\n );\n};\n\n/* Default-block overrides --------------------------------------------- */\n\n/* The engine's defaults use Body 1 primary; the messages are designed on the\n quieter Body 2 secondary voice, so the catalog overrides the text blocks —\n demonstrating the `blocks` half of the injection contract. */\nconst ParagraphBlock: PortableTextBlockRenderer = ({ children }) => (\n <Body2 color=\"secondary\" lineHeight=\"loose\">\n {children}\n </Body2>\n);\n\nconst ListItemBlock: PortableTextBlockRenderer = ({ children }) => (\n <Typography variant=\"Body 2\" as=\"li\" color=\"secondary\" lineHeight=\"loose\">\n {children}\n </Typography>\n);\n\n/* Titled sections speak in the quiet Header2 subhead voice rather than the\n engine's default Title2 for level 2, and keep a roomier rhythm between a\n titled section's content nodes. */\nconst TitledTextBlock: PortableTextBlockRenderer = ({ block, children }) => {\n const { title, level } = block as PortableTextTitledTextBlock;\n\n return (\n <TitledText title={title} variant={level === 1 ? \"title1\" : \"header2\"}>\n {children ? <Stack space=\"sm\">{children}</Stack> : undefined}\n </TitledText>\n );\n};\n\n/** The demo catalog the presentations inject into the Portable Text engine —\n the stand-in for the application's `messageComponents` map. */\nexport const messageComponents: PortableTextComponents = {\n marks: {\n \"interface-name\": InterfaceNameMark,\n \"keyboard-key\": KeyboardKeyMark,\n \"doc-link\": DocLinkMark,\n },\n objects: {\n callout: CalloutObject,\n \"button-reference\": ButtonReferenceObject,\n row: RowObject,\n tiles: TilesObject,\n split: SplitObject,\n },\n blocks: {\n paragraph: ParagraphBlock,\n \"list-item\": ListItemBlock,\n \"titled-text\": TitledTextBlock,\n },\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MessageDialog.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_MessageFeedback","_BreakPoints","_Button","_Columns","_IconButton","_Icons","_InfoBox","_Media","_Modal","_Styles","_Row","_Stack","_Tiles","_TitledText","_Tooltip","_Typography","_Typography2","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DIALOG_WIDTH","sm","md","lg","StyledDialog","styled","div","withConfig","displayName","componentId","_ref","$size","screenBelow","MessageDialog","exports","_ref2","open","onClose","_ref2$size","size","_ref2$feedback","feedback","onVote","onFeedbackSubmit","children","createElement","Modal","className","Tooltip","title","IconButton","type","variant","onClick","CancelCrossIcon","MessageFeedback","onSubmit","DocLinkContext","React","createContext","undefined","StyledInterfaceName","span","InterfaceNameMark","_ref3","StyledKeyboardKey","kbd","KeyboardKeyMark","_ref4","StyledDocLink","InlineLink","DocLinkMark","_ref5","mark","openArticle","useContext","href","event","preventDefault","article","CALLOUT_TYPE","info","note","success","CalloutObject","_ref6","_ref7","node","InfoBox","tone","showIcon","StyledButtonReference","ButtonReferenceObject","_ref8","_ref9","label","Button","tabIndex","RowObject","_ref0","_ref1","Row","space","TilesObject","_ref10","_ref11","Tiles","columns","collapseBelow","SplitObject","_ref12","_ref13","media","widths","textColumn","Stack","src","screenshot","mediaColumn","Media","alt","caption","Columns","reverse","alignY","ParagraphBlock","_ref14","Body2","color","lineHeight","ListItemBlock","_ref15","Typography","as","TitledTextBlock","_ref16","block","_ref17","level","TitledText","messageComponents","marks","objects","callout","row","tiles","split","blocks","paragraph"],"sources":["../../../../src/presentation/shared/MessageDialog.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode, useContext } from \"react\";\n\nimport styled from \"styled-components\";\n\nimport { MessageFeedback } from \"./MessageFeedback\";\nimport type { MessageFeedbackResult } from \"./MessageFeedback\";\nimport { screenBelow } from \"../../components/BreakPoints\";\nimport { Button } from \"../../components/Button\";\nimport { Columns } from \"../../components/Columns\";\nimport { IconButton } from \"../../components/IconButton\";\nimport { CancelCrossIcon } from \"../../components/Icons\";\nimport { InfoBox, InfoBoxType } from \"../../components/InfoBox\";\nimport { Space } from \"../../components/LayoutTokens\";\nimport { Media } from \"../../components/Media\";\nimport { Modal } from \"../../components/Modal\";\nimport {\n PortableTextBlockRenderer,\n PortableTextComponents,\n PortableTextMarkRenderer,\n PortableTextMediaImageVariant,\n PortableTextObjectRenderer,\n PortableTextTitledTextBlock,\n} from \"../../components/PortableText\";\nimport { StyledLink as InlineLink } from \"../../components/PortableText/Styles\";\nimport { Row } from \"../../components/Row\";\nimport { Stack } from \"../../components/Stack\";\nimport { Tiles } from \"../../components/Tiles\";\nimport { TitledText } from \"../../components/TitledText\";\nimport { Tooltip } from \"../../components/Tooltip\";\nimport { Body2 } from \"../../components/Typography\";\nimport { Typography } from \"../../components/Typography/Typography\";\n\n/**\n * The in-app message dialog, as a Presentation mock.\n *\n * Two pieces, mirroring how the product is split:\n *\n * - {@link MessageDialog} — the hollow dialog shell (width, closing,\n * feedback), built only from design-system parts. In the product this shell\n * lives in the application as `InAppMessageDialog`.\n * - {@link messageComponents} — a demo message element catalog injected into\n * the design-system Portable Text engine, exactly like the typed cards\n * injected into the hollow StackedCard shell. In the product the catalog is\n * application code; the presentation ships this demo copy so the stories\n * need no app imports.\n */\n\n/* ---- the dialog shell ---------------------------------------------- */\n\nexport type MessageDialogSize = \"sm\" | \"md\" | \"lg\";\n\nconst DIALOG_WIDTH: Record<MessageDialogSize, string> = {\n sm: \"520px\",\n md: \"720px\",\n lg: \"880px\",\n};\n\n/* The shell is behaviour only: it sizes itself, closes on click-outside /\n Esc (DS Modal) / the X, and shows the feedback slot when an onVote handler\n is supplied. Content is whatever the caller renders as children — usually\n the Portable Text engine with the demo catalog injected. */\nconst StyledDialog = styled.div<{ $size: MessageDialogSize }>`\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: calc(100% - 32px);\n max-width: ${({ $size }) => DIALOG_WIDTH[$size]};\n max-height: calc(100vh - 96px);\n margin: 56px auto 40px;\n overflow-y: auto;\n background-color: var(--page-paper-main);\n color: var(--color-theme-900);\n border-radius: 12px;\n box-shadow: var(--shadow-primary);\n\n ${screenBelow.sm} {\n margin: 16px auto;\n }\n\n /* X floats in the corner and overlaps the content padding — it does not\n reserve a row of its own. */\n .dlg-close {\n position: absolute;\n top: 12px;\n right: 12px;\n z-index: 2;\n }\n\n .dlg-content {\n padding: 40px;\n }\n\n ${screenBelow.sm} {\n .dlg-content {\n padding: 32px 20px 24px;\n }\n }\n`;\n\nexport interface MessageDialogProps {\n open: boolean;\n onClose: () => void;\n size?: MessageDialogSize;\n /** Show the reusable helpful / not-helpful feedback flow. */\n feedback?: boolean;\n /** Fired when a thumb is pressed (the vote itself). */\n onVote?: (sentiment: \"up\" | \"down\") => void;\n /** Fired on Submit, with the chosen options and comment. */\n onFeedbackSubmit?: (result: MessageFeedbackResult) => void;\n children: ReactNode;\n}\n\nexport const MessageDialog = ({\n open,\n onClose,\n size = \"md\",\n feedback = false,\n onVote,\n onFeedbackSubmit,\n children,\n}: MessageDialogProps): ReactElement => (\n <Modal open={open} onClose={onClose}>\n <StyledDialog $size={size}>\n <div className=\"dlg-close\">\n <Tooltip title=\"Close\">\n <IconButton\n type=\"button\"\n variant=\"text gray\"\n aria-label=\"Close\"\n onClick={onClose}\n >\n <CancelCrossIcon />\n </IconButton>\n </Tooltip>\n </div>\n <div className=\"dlg-content\">{children}</div>\n {feedback ? (\n <MessageFeedback onVote={onVote} onSubmit={onFeedbackSubmit} />\n ) : null}\n </StyledDialog>\n </Modal>\n);\n\n/* ---- doc-link wiring ------------------------------------------------ */\n\n/** How a doc-link mark opens its article (by a slug-like reference). The\n surface that renders the message supplies the handler — in the product it\n closes the dialog and opens the article Sheet. */\nexport type OpenArticleHandler = (article?: string) => void;\n\nexport const DocLinkContext = React.createContext<OpenArticleHandler>(\n () => undefined\n);\n\n/* ---- the demo message element catalog ------------------------------- */\n\n/* Inline marks ------------------------------------------------------- */\n\n/* interface-name — the name of an interface element, e.g. the Security page. */\nconst StyledInterfaceName = styled.span`\n padding: 0 4px;\n border-radius: 4px;\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n font-weight: 600;\n white-space: nowrap;\n`;\nconst InterfaceNameMark: PortableTextMarkRenderer = ({ children }) => (\n <StyledInterfaceName>{children}</StyledInterfaceName>\n);\n\n/* keyboard-key — a keyboard key cap. */\nconst StyledKeyboardKey = styled.kbd`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n border: 1px solid var(--border-primary);\n border-bottom-width: 2px;\n border-radius: 5px;\n background-color: var(--color-theme-200);\n color: var(--color-theme-900);\n font-family: ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace;\n font-size: 11px;\n font-weight: 600;\n line-height: 1;\n vertical-align: baseline;\n`;\nconst KeyboardKeyMark: PortableTextMarkRenderer = ({ children }) => (\n <StyledKeyboardKey>{children}</StyledKeyboardKey>\n);\n\n/* doc-link — an inline link that opens a full help article. The mark carries\n an article reference; the open behaviour comes from DocLinkContext, so the\n authored content stays declarative. */\n/* Built on the engine's inline anchor so a doc-link sits in the sentence\n exactly like a default link mark — same size, weight and line box as the\n surrounding copy — just recoloured. */\nconst StyledDocLink = styled(InlineLink)`\n color: var(--color-secondary);\n text-decoration-color: var(--color-secondary);\n`;\nconst DocLinkMark: PortableTextMarkRenderer = ({ mark, children }) => {\n const openArticle = useContext(DocLinkContext);\n return (\n <StyledDocLink\n href=\"#\"\n onClick={(event: React.MouseEvent) => {\n event.preventDefault();\n openArticle(mark?.article as string | undefined);\n }}\n >\n {children}\n </StyledDocLink>\n );\n};\n\n/* Component objects --------------------------------------------------- */\n\n/* callout — rendered with the DS InfoBox; the catalog keeps its own tone\n vocabulary and maps it to InfoBox types. */\ntype CalloutTone = \"info\" | \"note\" | \"success\";\nconst CALLOUT_TYPE: Record<CalloutTone, InfoBoxType> = {\n info: \"default\",\n note: \"note\",\n success: \"success\",\n};\nconst CalloutObject: PortableTextObjectRenderer = ({ node, children }) => (\n <InfoBox\n type={CALLOUT_TYPE[(node.tone as CalloutTone | undefined) ?? \"info\"]}\n title={node.title as string | undefined}\n showIcon\n >\n {children}\n </InfoBox>\n);\n\n/* button-reference — a real DS Button shown for reference as its own block,\n so a message can point at a button instead of screenshotting it. It is\n intentionally non-interactive. */\nconst StyledButtonReference = styled.div`\n display: flex;\n\n .c-button {\n pointer-events: none;\n }\n`;\ntype ButtonReferenceVariant =\n | \"primary\"\n | \"secondary\"\n | \"text colored\"\n | \"text gray\";\nconst ButtonReferenceObject: PortableTextObjectRenderer = ({ node }) => {\n if (typeof node.label !== \"string\") {\n return null;\n }\n\n return (\n <StyledButtonReference aria-hidden=\"true\">\n <Button\n variant={\n (node.variant as ButtonReferenceVariant | undefined) ?? \"primary\"\n }\n size=\"small\"\n type=\"button\"\n tabIndex={-1}\n >\n {node.label}\n </Button>\n </StyledButtonReference>\n );\n};\n\n/* row — a horizontal run of blocks (e.g. two button references). */\nconst RowObject: PortableTextObjectRenderer = ({ node, children }) => (\n <Row space={(node.space as Space | undefined) ?? \"sm\"}>{children}</Row>\n);\n\n/* tiles — an equal-size mosaic of blocks. */\nconst TilesObject: PortableTextObjectRenderer = ({ node, children }) => (\n <Tiles\n columns={(node.columns as number | undefined) ?? 3}\n space=\"md\"\n collapseBelow=\"sm\"\n >\n {children}\n </Tiles>\n);\n\n/* split — text beside media, with the one layout rule the messages follow:\n screenshots sit on the right, flat illustrations on the left. `widths` is\n authored as [text, media] and reordered with the columns. */\ninterface SplitMedia {\n src: string;\n alt?: string;\n // Split never carries a video: video media always stays in the vertical flow.\n variant?: PortableTextMediaImageVariant;\n caption?: string;\n}\nconst SplitObject: PortableTextObjectRenderer = ({ node, children }) => {\n const media = node.media as SplitMedia | undefined;\n const widths = (node.widths as number[] | undefined) ?? [1, 1];\n const textColumn = <Stack space=\"lg\">{children}</Stack>;\n\n // A split without media degrades to its text column instead of crashing.\n if (!media?.src) {\n return textColumn;\n }\n\n const screenshot = media.variant === \"screenshot\";\n\n const mediaColumn = (\n <Media\n src={media.src}\n alt={media.alt}\n variant={media.variant}\n caption={media.caption}\n />\n );\n\n return (\n <Columns\n widths={screenshot ? widths : [...widths].reverse()}\n space=\"xl\"\n alignY=\"center\"\n collapseBelow=\"md\"\n >\n {screenshot ? textColumn : mediaColumn}\n {screenshot ? mediaColumn : textColumn}\n </Columns>\n );\n};\n\n/* Default-block overrides --------------------------------------------- */\n\n/* The engine's defaults use Body 1 primary; the messages are designed on the\n quieter Body 2 secondary voice, so the catalog overrides the text blocks —\n demonstrating the `blocks` half of the injection contract. */\nconst ParagraphBlock: PortableTextBlockRenderer = ({ children }) => (\n <Body2 color=\"secondary\" lineHeight=\"loose\">\n {children}\n </Body2>\n);\n\nconst ListItemBlock: PortableTextBlockRenderer = ({ children }) => (\n <Typography variant=\"Body 2\" as=\"li\" color=\"secondary\" lineHeight=\"loose\">\n {children}\n </Typography>\n);\n\n/* Titled sections speak in the quiet Header2 subhead voice rather than the\n engine's default Title2 for level 2, and keep a roomier rhythm between a\n titled section's content nodes. */\nconst TitledTextBlock: PortableTextBlockRenderer = ({ block, children }) => {\n const { title, level } = block as PortableTextTitledTextBlock;\n\n return (\n <TitledText title={title} variant={level === 1 ? \"title1\" : \"header2\"}>\n {children ? <Stack space=\"sm\">{children}</Stack> : undefined}\n </TitledText>\n );\n};\n\n/** The demo catalog the presentations inject into the Portable Text engine —\n the stand-in for the application's `messageComponents` map. */\nexport const messageComponents: PortableTextComponents = {\n marks: {\n \"interface-name\": InterfaceNameMark,\n \"keyboard-key\": KeyboardKeyMark,\n \"doc-link\": DocLinkMark,\n },\n objects: {\n callout: CalloutObject,\n \"button-reference\": ButtonReferenceObject,\n row: RowObject,\n tiles: TilesObject,\n split: SplitObject,\n },\n blocks: {\n paragraph: ParagraphBlock,\n \"list-item\": ListItemBlock,\n \"titled-text\": TitledTextBlock,\n },\n};\n"],"mappings":"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","ignoreList":[]}
|